summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2015-08-10 23:47:22 +0000
committerJoerg Sonnenberger <joerg@bec.de>2015-08-10 23:47:22 +0000
commitebe7bf44ecd468735d280af22bf4e1d1ca31f93e (patch)
tree4191e9ebfada6179f4817c0e556644f589ebc7e2 /llvm
parent1d9a3031421b98d19948370366963ee30d71d0a6 (diff)
downloadbcm5719-llvm-ebe7bf44ecd468735d280af22bf4e1d1ca31f93e.tar.gz
bcm5719-llvm-ebe7bf44ecd468735d280af22bf4e1d1ca31f93e.zip
Add lduw and lwua aliases for SPARCv9.
llvm-svn: 244535
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/Sparc/SparcInstrAliases.td3
-rw-r--r--llvm/test/MC/Sparc/sparcv9-instructions.s17
2 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcInstrAliases.td b/llvm/lib/Target/Sparc/SparcInstrAliases.td
index 41a6fca75a5..ee202311d35 100644
--- a/llvm/lib/Target/Sparc/SparcInstrAliases.td
+++ b/llvm/lib/Target/Sparc/SparcInstrAliases.td
@@ -429,6 +429,9 @@ def : InstAlias<"wr $simm13, %tbr", (WRTBRri G0, i32imm:$simm13), 0>;
def : InstAlias<"flush", (FLUSH), 0>;
+def : MnemonicAlias<"lduw", "ld">, Requires<[HasV9]>;
+def : MnemonicAlias<"lduwa", "lda">, Requires<[HasV9]>;
+
def : MnemonicAlias<"return", "rett">, Requires<[HasV9]>;
def : MnemonicAlias<"addc", "addx">, Requires<[HasV9]>;
diff --git a/llvm/test/MC/Sparc/sparcv9-instructions.s b/llvm/test/MC/Sparc/sparcv9-instructions.s
index 6125469b8e8..f9877dd1107 100644
--- a/llvm/test/MC/Sparc/sparcv9-instructions.s
+++ b/llvm/test/MC/Sparc/sparcv9-instructions.s
@@ -35,3 +35,20 @@
! V8-NEXT: signx %g1
! V9: sra %g1, %g0, %g1 ! encoding: [0x83,0x38,0x40,0x00]
signx %g1
+
+ ! V8: error: invalid instruction mnemonic
+ ! V8-NEXT: lduw [%i0 + %l6], %o2
+ ! V9: ld [%i0+%l6], %o2 ! encoding: [0xd4,0x06,0x00,0x16]
+ lduw [%i0 + %l6], %o2
+ ! V8: error: invalid instruction mnemonic
+ ! V8-NEXT: lduw [%i0 + 32], %o2
+ ! V9: ld [%i0+32], %o2 ! encoding: [0xd4,0x06,0x20,0x20]
+ lduw [%i0 + 32], %o2
+ ! V8: error: invalid instruction mnemonic
+ ! V8-NEXT: lduw [%g1], %o2
+ ! V9: ld [%g1], %o2 ! encoding: [0xd4,0x00,0x40,0x00]
+ lduw [%g1], %o2
+ ! V8: error: invalid instruction mnemonic
+ ! V8-NEXT: lduwa [%i0 + %l6] 131, %o2
+ ! V9: lda [%i0+%l6] 131, %o2 ! encoding: [0xd4,0x86,0x10,0x76]
+ lduwa [%i0 + %l6] 131, %o2
OpenPOWER on IntegriCloud