[SystemZ] Use interlocked-access 1 instructions for CodeGen
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Tue, 24 Dec 2013 15:18:04 +0000 (15:18 +0000)
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Tue, 24 Dec 2013 15:18:04 +0000 (15:18 +0000)
commit4c925c60eb87313e4aaa8f67bcffc10dab714923
tree2909ee5a2a115ac6b28130d74d1d740748f96633
parentf7e24324baf3dc493279ce39cadd85f5e55a5a99
[SystemZ] Use interlocked-access 1 instructions for CodeGen

...namely LOAD AND ADD, LOAD AND AND, LOAD AND OR and LOAD AND EXCLUSIVE OR.
LOAD AND ADD LOGICAL isn't really separately useful for LLVM.

I'll look at adding reusing the CC results in new year.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197985 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
lib/Target/SystemZ/SystemZISelLowering.cpp
lib/Target/SystemZ/SystemZISelLowering.h
lib/Target/SystemZ/SystemZInstrInfo.td
lib/Target/SystemZ/SystemZProcessors.td
test/CodeGen/SystemZ/atomicrmw-add-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-add-06.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-and-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-and-06.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-or-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-or-06.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-sub-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-sub-06.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-xor-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/atomicrmw-xor-06.ll [new file with mode: 0644]