Fix 64-bit atomic operations in Thumb mode.
authorTim Northover <Tim.Northover@arm.com>
Tue, 29 Jan 2013 09:06:13 +0000 (09:06 +0000)
committerTim Northover <Tim.Northover@arm.com>
Tue, 29 Jan 2013 09:06:13 +0000 (09:06 +0000)
commit0adfdedacbb87df8cc8b8311365a15fae004977e
treeba68cf55c56af38ca7f417b74ed06ced7a0a46c2
parente6482fabd20a2a5b4f81aff55812782f3b617514
Fix 64-bit atomic operations in Thumb mode.

The ARM and Thumb variants of LDREXD and STREXD have different constraints and
take different operands. Previously the code expanding atomic operations didn't
take this into account and asserted in Thumb mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173780 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/atomic-64bit.ll