llvm/test/CodeGen/X86/2008-08-17-UComiCodeGenBug.ll
Michael Kuperstein 664a3a9314 Recommit r274692 - [X86] Transform setcc + movzbl into xorl + setcc
xorl + setcc is generally the preferred sequence due to the partial register
stall setcc + movzbl suffers from. As a bonus, it also encodes one byte smaller.
This fixes PR28146.

The original commit tried inserting an 8bit-subreg into a GR32 (not GR32_ABCD)
which was not appreciated by fast regalloc on 32-bit.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274802 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-07 22:50:23 +00:00

10 lines
312 B
LLVM

; RUN: llc < %s -mtriple=x86_64-apple-darwin | grep xorl
define i32 @foo(<4 x float> %a, <4 x float> %b) nounwind {
entry:
tail call i32 @llvm.x86.sse.ucomige.ss( <4 x float> %a, <4 x float> %b ) nounwind readnone
ret i32 %0
}
declare i32 @llvm.x86.sse.ucomige.ss(<4 x float>, <4 x float>) nounwind readnone