aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJack Carter <jcarter@mips.com>2012-08-06 23:29:06 +0000
committerJack Carter <jcarter@mips.com>2012-08-06 23:29:06 +0000
commit61de70d98e1f752d5482b775f08827f799f4a53b (patch)
tree42d7abf6c4770a314c0eb8081119fa861a763714 /test
parenteda3fc673450552808edfbf076d6bf26798acc64 (diff)
downloadexternal_llvm-61de70d98e1f752d5482b775f08827f799f4a53b.zip
external_llvm-61de70d98e1f752d5482b775f08827f799f4a53b.tar.gz
external_llvm-61de70d98e1f752d5482b775f08827f799f4a53b.tar.bz2
The Mips64InstrInfo.td definitions DynAlloc64 LEA_ADDiu64
were using a class defined for 32 bit instructions and thus the instruction was for addiu instead of daddiu. This was corrected by adding the instruction opcode as a field in the base class to be filled in by the defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/Mips/lea_64.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/MC/Mips/lea_64.ll b/test/MC/Mips/lea_64.ll
new file mode 100644
index 0000000..2e7a37b
--- /dev/null
+++ b/test/MC/Mips/lea_64.ll
@@ -0,0 +1,18 @@
+; RUN: llc -march=mips64el -filetype=obj -mcpu=mips64r2 %s -o - \
+; RUN: | llvm-objdump -disassemble -triple mips64el - \
+; RUN: | FileCheck %s
+
+@p = external global i32*
+
+define void @f1() nounwind {
+entry:
+; CHECK: .text:
+; CHECK-NOT: addiu {{[0-9,a-f]+}}, {{[0-9,a-f]+}}, {{[0-9]+}}
+
+ %a = alloca [10 x i32], align 4
+ %arraydecay = getelementptr inbounds [10 x i32]* %a, i64 0, i64 0
+ store i32* %arraydecay, i32** @p, align 8
+ ret void
+
+; CHECK: jr $ra
+}