Emit comparisons against the sign bit better. Codegen this:
authorChris Lattner <sabre@nondot.org>
Tue, 12 Apr 2005 02:19:10 +0000 (02:19 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 12 Apr 2005 02:19:10 +0000 (02:19 +0000)
commit5b95ed652fcfe578aa8af4e21318fca989164e21
treeb1791d6b9cf62d61986587863e5b69e1b482b49c
parent08b698e38db5ab5db44c0472e2a7f4f780887629
Emit comparisons against the sign bit better.  Codegen this:

bool %test1(long %X) {
        %A = setlt long %X, 0
        ret bool %A
}

like this:

test1:
        cmpl $0, 8(%esp)
        setl %al
        movzbl %al, %eax
        ret

instead of:

test1:
        movl 8(%esp), %ecx
        cmpl $0, %ecx
        setl %al
        movzbw %al, %ax
        cmpl $0, 4(%esp)
        setb %dl
        movzbw %dl, %dx
        cmpl $0, %ecx
        cmove %dx, %ax
        movzbl %al, %eax
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21243 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp