Lower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant. This allows
authorChris Lattner <sabre@nondot.org>
Thu, 6 Apr 2006 19:19:17 +0000 (19:19 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 6 Apr 2006 19:19:17 +0000 (19:19 +0000)
commite2ed057562cb59b962ba0a9a77f2689d4e949e49
tree5f3b933647894a8568e2f26444330fef16792555
parentab0bbd1ec8c06244d0f874fefab7bf0c2d78e1ad
Lower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant.  This allows
us to compile oh-so-realistic stuff like this:

 vec_vperm(A, B, (vector unsigned char){14});

to:
        vspltb v0, v0, 14

instead of:

        vspltisb v0, 14
        vperm v0, v2, v1, v0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27452 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/InstructionCombining.cpp