diff options
author | Tim Northover <tnorthover@apple.com> | 2013-05-31 09:57:13 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-05-31 09:57:13 +0000 |
commit | 43887bf3e62daab1c8571be8a73741c9275f866a (patch) | |
tree | 2eda3f1064130d09963fff6d35c9671baeb3ff9c /test/CodeGen/X86 | |
parent | 5434f123e9c3b31cc7783ab06be0358026212cd2 (diff) | |
download | external_llvm-43887bf3e62daab1c8571be8a73741c9275f866a.zip external_llvm-43887bf3e62daab1c8571be8a73741c9275f866a.tar.gz external_llvm-43887bf3e62daab1c8571be8a73741c9275f866a.tar.bz2 |
X86: change MOV64ri64i32 into MOV32ri64
The MOV64ri64i32 instruction required hacky MCInst lowering because it was
allocated as setting a GR64, but the eventual instruction ("movl") only set a
GR32. This converts it into a so-called "MOV32ri64" which still accepts a
(appropriate) 64-bit immediate but defines a GR32. This is then converted to
the full GR64 by a SUBREG_TO_REG operation, thus keeping everyone happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182991 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/abi-isel.ll | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/test/CodeGen/X86/abi-isel.ll b/test/CodeGen/X86/abi-isel.ll index 658ccaa..955fc62 100644 --- a/test/CodeGen/X86/abi-isel.ll +++ b/test/CodeGen/X86/abi-isel.ll @@ -6629,8 +6629,8 @@ entry: ; LINUX-32-PIC-NEXT: ret ; LINUX-64-PIC: bam02: -; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] -; LINUX-64-PIC-NEXT: movl $262144, %eax +; LINUX-64-PIC: movl $262144, %eax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] ; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax ; LINUX-64-PIC-NEXT: ret @@ -6655,20 +6655,20 @@ entry: ; DARWIN-32-PIC-NEXT: ret ; DARWIN-64-STATIC: _bam02: -; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] -; DARWIN-64-STATIC-NEXT: movl $262144, %eax +; DARWIN-64-STATIC: movl $262144, %eax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] ; DARWIN-64-STATIC-NEXT: addq ([[RCX]]), %rax ; DARWIN-64-STATIC-NEXT: ret ; DARWIN-64-DYNAMIC: _bam02: -; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] -; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax +; DARWIN-64-DYNAMIC: movl $262144, %eax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] ; DARWIN-64-DYNAMIC-NEXT: addq ([[RCX]]), %rax ; DARWIN-64-DYNAMIC-NEXT: ret ; DARWIN-64-PIC: _bam02: -; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] -; DARWIN-64-PIC-NEXT: movl $262144, %eax +; DARWIN-64-PIC: movl $262144, %eax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] ; DARWIN-64-PIC-NEXT: addq ([[RCX]]), %rax ; DARWIN-64-PIC-NEXT: ret } @@ -6791,8 +6791,8 @@ entry: ; LINUX-32-PIC-NEXT: ret ; LINUX-64-PIC: bam05: -; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] -; LINUX-64-PIC-NEXT: movl $262144, %eax +; LINUX-64-PIC: movl $262144, %eax +; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] ; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax ; LINUX-64-PIC-NEXT: ret |