summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcInstr64Bit.td
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2015-05-18 16:35:04 +0000
committerJames Y Knight <jyknight@google.com>2015-05-18 16:35:04 +0000
commit24060be73ac17046cdd05c384ed23aa346148f3c (patch)
treef87b278846bfada9c3ca517eda61b3cdf0562e48 /llvm/lib/Target/Sparc/SparcInstr64Bit.td
parent807563df227b4d9961d60adf73c26e571615a815 (diff)
downloadbcm5719-llvm-24060be73ac17046cdd05c384ed23aa346148f3c.tar.gz
bcm5719-llvm-24060be73ac17046cdd05c384ed23aa346148f3c.zip
Sparc: Add the "alternate address space" load/store instructions.
- Adds support for the asm syntax, which has an immediate integer "ASI" (address space identifier) appearing after an address, before a comma. - Adds the various-width load, store, and swap in alternate address space instructions. (ldsba, ldsha, lduba, lduha, lda, stba, stha, sta, swapa) This does not attempt to hook these instructions up to pointer address spaces in LLVM, although that would probably be a reasonable thing to do in the future. Differential Revision: http://reviews.llvm.org/D8904 llvm-svn: 237581
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcInstr64Bit.td')
-rw-r--r--llvm/lib/Target/Sparc/SparcInstr64Bit.td4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/Sparc/SparcInstr64Bit.td b/llvm/lib/Target/Sparc/SparcInstr64Bit.td
index 0eb6f08c8f3..419e8ccb102 100644
--- a/llvm/lib/Target/Sparc/SparcInstr64Bit.td
+++ b/llvm/lib/Target/Sparc/SparcInstr64Bit.td
@@ -486,8 +486,8 @@ def SETHIXi : F2_1<0b100,
}
// ATOMICS.
-let Predicates = [Is64Bit], Constraints = "$swap = $rd" in {
- def CASXrr: F3_1_asi<3, 0b111110, 0b10000000,
+let Predicates = [Is64Bit], Constraints = "$swap = $rd", asi = 0b10000000 in {
+ def CASXrr: F3_1_asi<3, 0b111110,
(outs I64Regs:$rd), (ins I64Regs:$rs1, I64Regs:$rs2,
I64Regs:$swap),
"casx [$rs1], $rs2, $rd",
OpenPOWER on IntegriCloud