[InstCombine][x86] Constant fold psll intrinsics.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 24 Apr 2014 00:58:18 +0000 (00:58 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 24 Apr 2014 00:58:18 +0000 (00:58 +0000)
commit96363d50018da6e9cfa549695f01aa0d4d2d6a31
treed635c6136ee4443868323391f2e16e4e707433ae
parentb53610141c15b6004a6bc8ac060b970ce9da2f50
[InstCombine][x86] Constant fold psll intrinsics.

This excludes avx512 as I don't have hardware to verify. It excludes _dq
variants because they are represented in the IR as <{2,4} x i64> when it's
actually a byte shift of the entire i{128,265}.

This also excludes _dq_bs as they aren't at all supported by the backend.
There are also no corresponding instructions in the ISA. I have no idea why
they exist...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207058 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/Transforms/InstCombine/vec_demanded_elts.ll