Compile X << 1 (where X is a long-long) to:
authorChris Lattner <sabre@nondot.org>
Wed, 13 Sep 2006 03:50:39 +0000 (03:50 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 13 Sep 2006 03:50:39 +0000 (03:50 +0000)
commit79980b07dab50da1a8f572f9504674bfa853d484
tree634eee17798e46465fe388176cde49a8bc8ea80e
parentf95705163f45648fa58b1c481847b2c10bcb470f
Compile X << 1 (where X is a long-long) to:

        addl %ecx, %ecx
        adcl %eax, %eax

instead of:

        movl %ecx, %edx
        addl %edx, %edx
        shrl $31, %ecx
        addl %eax, %eax
        orl %ecx, %eax

and to:

        addc r5, r5, r5
        adde r4, r4, r4

instead of:

        slwi r2,r9,1
        srwi r0,r11,31
        slwi r3,r11,1
        or r2,r0,r2

on PPC.

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