summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2018-01-29 09:18:37 +0000
committerOliver Stannard <oliver.stannard@arm.com>2018-01-29 09:18:37 +0000
commita9d2e004d20e0f8c010967cdd68d60f007bb8d51 (patch)
treee55974589bb3a75621e502af41c5a8c738e10e4d /lldb/packages/Python/lldbsuite/test
parenteaf5172ca6be291677f6f84cffae0c66656600a3 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud