Improve code generation of long shifts by 32.
authorChris Lattner <sabre@nondot.org>
Tue, 6 Apr 2004 03:42:38 +0000 (03:42 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 6 Apr 2004 03:42:38 +0000 (03:42 +0000)
commit722070e0bad559b622ef50eb52216d05042a3904
treee0888ea8304a6b753bfe173eb4651064ddc2d57d
parent0652167bea9d00ac855ddf93883365f8f651f2f8
Improve code generation of long shifts by 32.
On this testcase:

long %test(long %X) {
        %Y = shr long %X, ubyte 32
        ret long %Y
}

instead of:
t:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%ESP + 8]
        sar %EAX, 0
        mov %EDX, 0
        ret

we now emit:
test:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%ESP + 8]
        mov %EDX, 0
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12688 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/InstSelectSimple.cpp
lib/Target/X86/X86ISelSimple.cpp