diff options
author | Jack Carter <jcarter@mips.com> | 2012-08-06 23:29:06 +0000 |
---|---|---|
committer | Jack Carter <jcarter@mips.com> | 2012-08-06 23:29:06 +0000 |
commit | 61de70d98e1f752d5482b775f08827f799f4a53b (patch) | |
tree | 42d7abf6c4770a314c0eb8081119fa861a763714 /test | |
parent | eda3fc673450552808edfbf076d6bf26798acc64 (diff) | |
download | external_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.ll | 18 |
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 +} |