diff options
author | Manolis Tsamis <manolis.tsamis@vrull.eu> | 2023-02-17 19:32:07 +0100 |
---|---|---|
committer | Philipp Tomsich <philipp.tomsich@vrull.eu> | 2023-02-17 19:45:22 +0100 |
commit | 6774ba841145195c490531bcbfe334b338ec779b (patch) | |
tree | dae1397fd2810112422160d6c123ad3c7cc60f90 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 20cc23c708f04ca3fbc4289a68302a4b684ce448 (diff) | |
download | llvm-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