llvm-project/llvm/test/Transforms/VectorCombine/X86
Sanjay Patel 66d22b4da4 [VectorCombine] fold shuffle-of-binops with common operand
shuf (bo X, Y), (bo X, W) --> bo (shuf X), (shuf Y, W)

This is motivated by an example in D111800
(although that patch avoids the problem for that particular example).

The pattern is shown in reduced form with:
https://llvm.org/PR52178
https://alive2.llvm.org/ce/z/d8zB4D

There is no difference on the PhaseOrdering test from D111800
because the aarch64 cost model says that the shuffle cost is 3 while
the fadd cost is 2.

Differential Revision: https://reviews.llvm.org/D111901
2021-10-21 12:37:54 -04:00
..
extract-binop-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
extract-binop.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
extract-cmp-binop.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
extract-cmp.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
insert-binop-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
insert-binop-with-constant-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
insert-binop-with-constant.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
insert-binop.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
lit.local.cfg
load-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
load-widening.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
load.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
no-sse-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
no-sse.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
scalarize-cmp-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
scalarize-cmp.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
scalarize-vector-gep.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
shuffle-inseltpoison.ll [NewPM][test] Use -passes syntax in VectorCombine lit tests 2021-10-20 15:16:17 +02:00
shuffle.ll [VectorCombine] fold shuffle-of-binops with common operand 2021-10-21 12:37:54 -04:00