summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/sibcall.ll
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2013-05-30 13:19:42 +0000
committerTim Northover <tnorthover@apple.com>2013-05-30 13:19:42 +0000
commit15983b80a0ceb224b74d2ee5ef53d3eed37dc03b (patch)
tree04df22eecc061cf808aa3a7a8a33ba02dc2b8ebf /test/CodeGen/X86/sibcall.ll
parent52d65ab72dcdb3b5de8b84743537355067819c31 (diff)
downloadllvm-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.ll4
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