aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorManolis Tsamis <manolis.tsamis@vrull.eu>2023-02-17 19:32:07 +0100
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>2023-02-17 19:45:22 +0100
commit6774ba841145195c490531bcbfe334b338ec779b (patch)
treedae1397fd2810112422160d6c123ad3c7cc60f90 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parent20cc23c708f04ca3fbc4289a68302a4b684ce448 (diff)
downloadllvm-6774ba841145195c490531bcbfe334b338ec779b.zip
llvm-6774ba841145195c490531bcbfe334b338ec779b.tar.gz
llvm-6774ba841145195c490531bcbfe334b338ec779b.tar.bz2
[RISCV] xtheadmac: fix commutativity issue for the in/out register
The instructions in the XTHeadMac extension (multiply accumulate instructions) were marked as commutative but because the destination register was also an input (accumulate) register and was connected to the destination register with a register allocator constraint, all three operands (instead of two) were incorrectly considered commutative. To fix that an appropriate fixCommutedOpIndices call was added for these instructions in findCommutedOpIndices New test functions have been added to test the correct behaviour in xtheadmac.ll. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D144278
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions