llvm-project/llvm/test/Transforms/PhaseOrdering/X86
Simon Pilgrim 5dc4e7c2b9 [VectorCombine] scalarizeBinop - support an all-constant src vector operand
scalarizeBinop currently folds

  vec_bo((inselt VecC0, V0, Index), (inselt VecC1, V1, Index))
  ->
  inselt(vec_bo(VecC0, VecC1), scl_bo(V0,V1), Index)

This patch extends this to account for cases where one of the vec_bo operands is already all-constant and performs similar cost checks to determine if the scalar binop with a constant still makes sense:

  vec_bo((inselt VecC0, V0, Index), VecC1)
  ->
  inselt(vec_bo(VecC0, VecC1), scl_bo(V0,extractelt(V1,Index)), Index)

Fixes PR42174

Differential Revision: https://reviews.llvm.org/D80885
2020-06-09 19:02:05 +01:00
..
addsub.ll [PhaseOrdering] adjust test to use default alias analysis with new pass manager; NFC 2020-05-24 11:28:15 -04:00
horiz-math.ll [VectorCombine] position pass after SLP in the optimization pipeline rather than before 2020-05-22 12:22:44 -04:00
lit.local.cfg [PhaseOrdering] add test for missing vector/CSE transforms (PR45015); NFC 2020-02-25 09:13:49 -05:00
scalarization.ll [VectorCombine] scalarizeBinop - support an all-constant src vector operand 2020-06-09 19:02:05 +01:00
shuffle.ll [VectorCombine] transform bitcasted shuffle to wider elements 2020-04-19 08:24:38 -04:00
vdiv.ll [PhaseOrdering] add test for hoisting/CSE (PR46115); NFC 2020-05-31 10:34:18 -04:00
vector-reductions-expanded.ll [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00
vector-reductions.ll [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00