diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2018-01-29 09:18:37 +0000 |
---|---|---|
committer | Oliver Stannard <oliver.stannard@arm.com> | 2018-01-29 09:18:37 +0000 |
commit | a9d2e004d20e0f8c010967cdd68d60f007bb8d51 (patch) | |
tree | e55974589bb3a75621e502af41c5a8c738e10e4d /lldb/packages/Python/lldbsuite/test | |
parent | eaf5172ca6be291677f6f84cffae0c66656600a3 (diff) | |
download | bcm5719-llvm-a9d2e004d20e0f8c010967cdd68d60f007bb8d51.tar.gz bcm5719-llvm-a9d2e004d20e0f8c010967cdd68d60f007bb8d51.zip |
[AArch64] Generate the CASP instruction for 128-bit cmpxchg
The Large System Extension added an atomic compare-and-swap instruction
that operates on a pair of 64-bit registers, which we can use to
implement a 128-bit cmpxchg.
Because i128 is not a legal type for AArch64 we have to do all of the
instruction selection in C++, and the instruction requires even/odd
register pairs, so we have to wrap it in REG_SEQUENCE and EXTRACT_SUBREG
nodes. This is very similar to what we do for 64-bit cmpxchg in the ARM
backend.
Differential revision: https://reviews.llvm.org/D42104
llvm-svn: 323634
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions