diff options
author | David Tellenbach <dtellenbach@apple.com> | 2025-02-19 13:58:20 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-19 13:58:20 -0800 |
commit | 0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe (patch) | |
tree | 5789bd0e84a107bdd34ec623c54154a5367f1163 /lldb/source/Commands/CommandObjectExpression.cpp | |
parent | 8363b0a6bab041b54316962e3e8948098148baeb (diff) | |
download | llvm-0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe.zip llvm-0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe.tar.gz llvm-0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe.tar.bz2 |
[AArch64][FEAT_CMPBR] Codegen for Armv9.6-a compare-and-branch (#116465)
This patch adds codegen for all Arm9.6-a compare-and-branch
instructions, that operate on full w or x registers. The instruction
variants operating on half-words (cbh) and bytes (cbb) are added in a
subsequent patch.
Since CB doesn't use standard 4-bit Arm condition codes but a reduced
set of conditions, encoded in 3 bits, some conditions are expressed by
modifying operands, namely incrementing or decrementing immediate
operands and swapping register operands. To invert a CB instruction it's
therefore not enough to just modify the condition code which doesn't
play particularly well with how the backend is currently organized. We
therefore introduce a number of pseudos which operate on the standard
4-bit condition codes and lower them late during codegen.
Diffstat (limited to 'lldb/source/Commands/CommandObjectExpression.cpp')
0 files changed, 0 insertions, 0 deletions