diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2024-12-06 09:46:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-06 08:46:56 +0000 |
commit | f893b475004fdea48288f329124817325e659792 (patch) | |
tree | ac01861b4f0c13fd613836c6721cf6eb4da16460 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
parent | efe4bfa623d40f8221f449c3dd38392101a53599 (diff) | |
download | llvm-f893b475004fdea48288f329124817325e659792.zip llvm-f893b475004fdea48288f329124817325e659792.tar.gz llvm-f893b475004fdea48288f329124817325e659792.tar.bz2 |
[ARM] Fix instruction selection for MVE vsbciq intrinsic (#118284)
There were two bugs in the implementation of the MVE vsbciq (subtract
with carry across vector, with initial carry value) intrinsics:
* The VSBCI instruction behaves as if the carry-in is always set, but we
were selecting it when the carry-in is clear.
* The vsbciq intrinsics should generate IR with the carry-in set, but
they were leaving it clear.
These two bugs almost cancelled each other out, but resulted in
incorrect code when the vsbcq intrinsics (with a carry-in) were used,
and the carry-in was a compile time constant.
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
0 files changed, 0 insertions, 0 deletions