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)
commita0edd3ee66a7c884c0205658e6e5544e9ec7e1a2
tree0388bdd41e83ec9b844f9f4c883e6c30f7a36a0a
parent1dba27cd49427a935d6f74b5cb1c4cf497438261
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.

llvm-svn: 173780
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/atomic-64bit.ll