diff options
author | Tim Northover <tnorthover@apple.com> | 2013-05-30 13:19:42 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-05-30 13:19:42 +0000 |
commit | 15983b80a0ceb224b74d2ee5ef53d3eed37dc03b (patch) | |
tree | 04df22eecc061cf808aa3a7a8a33ba02dc2b8ebf /test/CodeGen/X86/sibcall.ll | |
parent | 52d65ab72dcdb3b5de8b84743537355067819c31 (diff) | |
download | llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.gz llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.bz2 llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.xz |
X86: use sub-register sequences for MOV*r0 operations
Instead of having a bunch of separate MOV8r0, MOV16r0, ... pseudo-instructions,
it's better to use a single MOV32r0 (which will expand to "xorl %reg, %reg")
and obtain other sizes with EXTRACT_SUBREG and SUBREG_TO_REG. The encoding is
smaller and partial register updates can sometimes be avoided.
Until recently, this sequence was a barrier to rematerialization though. That
should now be fixed so it's an appropriate time to make the change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/sibcall.ll')
-rw-r--r-- | test/CodeGen/X86/sibcall.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGen/X86/sibcall.ll b/test/CodeGen/X86/sibcall.ll index ceb79ea927..de98cb4bb6 100644 --- a/test/CodeGen/X86/sibcall.ll +++ b/test/CodeGen/X86/sibcall.ll @@ -279,7 +279,7 @@ entry: ; 32: jmp {{_?}}bar5 ; 64: t17: -; 64: xorb %al, %al +; 64: xorl %eax, %eax ; 64: jmp {{_?}}bar5 tail call void (...)* @bar5() nounwind ret void @@ -295,7 +295,7 @@ entry: ; 32: fstp %st(0) ; 64: t18: -; 64: xorb %al, %al +; 64: xorl %eax, %eax ; 64: jmp {{_?}}bar6 %0 = tail call double (...)* @bar6() nounwind ret void |