aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectExpression.cpp
diff options
context:
space:
mode:
authorDavid Tellenbach <dtellenbach@apple.com>2025-02-19 13:58:20 -0800
committerGitHub <noreply@github.com>2025-02-19 13:58:20 -0800
commit0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe (patch)
tree5789bd0e84a107bdd34ec623c54154a5367f1163 /lldb/source/Commands/CommandObjectExpression.cpp
parent8363b0a6bab041b54316962e3e8948098148baeb (diff)
downloadllvm-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