Simon Pilgrim
4554e161be
[DAGCombiner] Add general constant vector support to (shl (sra x, c1), c1) -> (and x, (shl -1, c1))
...
We already supported scalar constant / splatted constant vector - now accepts any (non opaque) constant scalar / vector
llvm-svn: 284608
2016-10-19 16:15:30 +00:00
Simon Pilgrim
c2e9724909
[DAGCombiner] Add general constant vector support to (shl (mul x, c1), c2) -> (mul x, c1 << c2)
...
We already supported scalar constant / splatted constant vector - now accepts any (non opaque) constant scalar / vector
llvm-svn: 284607
2016-10-19 15:59:28 +00:00
Simon Pilgrim
b2ca2505cc
[DAGCombine] Generalize distributeTruncateThroughAnd to work with any non-opaque constant or constant vector
...
llvm-svn: 284574
2016-10-19 08:57:37 +00:00
Simon Pilgrim
476560aac4
[X86][SSE] Added vector lshr/shl combine tests
...
This doesn't cover all combines in DAGCombiner::visitSRL/visitSHL yet, but identifies several cases where we fail to combine vectors (or non-splatted) vectors
llvm-svn: 284518
2016-10-18 19:28:12 +00:00