[all-commits] [llvm/llvm-project] 359b99: [SLP] Use constant 64-bit indices for Extract/Inse...

Andreas Jonson via All-commits all-commits at lists.llvm.org
Sun Jul 12 00:27:37 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 359b99c85332edc17ab5cdbcfb7d272d24509f60
      https://github.com/llvm/llvm-project/commit/359b99c85332edc17ab5cdbcfb7d272d24509f60
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-07-12 (Sun, 12 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/div-like-mixed-with-undefs.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extract-subvector-long-input.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fma-conversion-multi-use-guard.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fma-reduce-regression.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadi8.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/long-non-power-of-2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/non-inst-abs-sub-copyable-value.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/phi-node-bitwidt-op-not.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/shuffle-vectors-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/slp-extval-struct-operand-no-scalar-reuse.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-loop-backedge.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-noreturn-block.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-with-constants.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s352.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/unique_values.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/uselistorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/horizontal-store.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/notriviallyvectorizableintrinsicoperands.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/gather-insert-point-restore.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/gather-node-with-no-users.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/loads-ordering.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/mixed-extracts-types.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/non-commutative-second-arg-only-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-interleaved-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/runtime-strided-stores.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/select-profitability.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/smax-reduction-unsigned-missing-sign.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/split-vectorize-parent-for-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-unsupported-type.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/cmp-ptr-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/ext-alt-node-must-ext.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/ext-not-resized-op-resized.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reuse-non-power-of-2-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/WebAssembly/or-reduction-zero-test.ll
    M llvm/test/Transforms/SLPVectorizer/WebAssembly/simd-splat-shuffle-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
    M llvm/test/Transforms/SLPVectorizer/X86/add-sub-nsw-intmin.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-strict-bitwidth-than-main.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ashr-main-opcode-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/broadcast-load-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/broadcast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/broadcast_long.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-reused-with-bv-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-same-lane-insert.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle-with-root.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-store-chains.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-with-reuses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-with-same-parents.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-root-part-of-graph.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/call.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-as-alternate-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutable-member-in-non-commutable-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutable-node-with-non-sched-parent.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutative-copyable-external-phi-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
    M llvm/test/Transforms/SLPVectorizer/X86/compare-node-with-reuses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
    M llvm/test/Transforms/SLPVectorizer/X86/complex-fma-combine.ll
    M llvm/test/Transforms/SLPVectorizer/X86/control-dependence.ll
    M llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-child-node-used-outside.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-non-inst-in-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-operand-non-scheduled-parent-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-scheduled-non-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-reduced-erased.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-used-outside-with-immediate-op.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-with-non-scheduled-parent-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-with-used-outside-bb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyables-with-parent-scalars-in-phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_scheduling-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_sim4b1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/debug-counter.ll
    M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-inst-reduction-attempt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-node-with-copyable-operands.ll
    M llvm/test/Transforms/SLPVectorizer/X86/diamond.ll
    M llvm/test/Transforms/SLPVectorizer/X86/diamond_broadcast_extra_shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
    M llvm/test/Transforms/SLPVectorizer/X86/expanded-binop-doesnotneedschedule-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/expanded-operand-already-scheduled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/expected-prof-consecutive-access.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ext-used-scalar-different-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-reduced-value-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external_user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-used-in-many-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multiple-uses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-subnodes-same-index.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-with-undef-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fabs-cost-softfp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
    M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
    M llvm/test/Transforms/SLPVectorizer/X86/full-non-schedulable-overlap.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
    M llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-after-bundle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insertelement-with-copyable-args.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insertvalue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing-pad-for-split-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loopinvariant.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/many-uses-parent-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-gather-part-of-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matching-insert-point-for-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-cast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbw-bitcast-to-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/mul-shl-nsw-intmin.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-node-for-copyable-parent.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-nodes-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi_user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-commutative-op-in-commutative-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-power-2-num-elems-reused.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-order-detection.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-reduced-select-of-bits.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-before-main.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-split-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-user-different-bb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-extern-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-vectorizable-inst-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
    M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-root-deleted.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/original-inst-scheduled-after-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/parent-node-schedulable-with-multi-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/parent-phi-node-reordered.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi3.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi_landingpad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phis-different-order.ll
    M llvm/test/Transforms/SLPVectorizer/X86/poor-throughput-seeds.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr27163.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr40522.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr42022-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr44067-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr44067.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate-mmra.ll
    M llvm/test/Transforms/SLPVectorizer/X86/recalc-copyable-operand-deps-non-scheduled-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/recalc-copyable-operand-deps-shared-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-bswap-with-larger-reduced-type.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-across-different-bb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-bool-logic-op-inside.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-copyable-reused-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reschedule-only-scheduled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resized-bv-values-non-power-of2-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-extract-scalar-lanes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-extracts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-last-instruction-in-split-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-scalars-in-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-replace-extractelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-scalar-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-last-instruction-different-parents.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-operands-but-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/saxpy.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/schedule_budget.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-logical-or-and-i1-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-compatible-with-add.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sibling-loops-mismatched-tripcount.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/small-graph-diff-block-instructions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-full-match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-reduce-root.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-reused-in-later-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-throttled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-vector-operand-with-reuses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-load-forward-conflict.ll
    M llvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
    M llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
    M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
    M llvm/test/Transforms/SLPVectorizer/X86/uitofp-with-signed-value-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
    M llvm/test/Transforms/SLPVectorizer/X86/user-node-with-same-last-instr.ll
    M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/whole-registers-compare.ll
    M llvm/test/Transforms/SLPVectorizer/X86/xor-combined-opcode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/xor-with-zero-and-incompat.ll
    M llvm/test/Transforms/SLPVectorizer/abs-overflow-incorrect-minbws.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
    M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
    M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/call-arg-reduced-by-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/consecutive-access.ll
    M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/crash_extractelement_poison.ll
    M llvm/test/Transforms/SLPVectorizer/diamond_broadcast.ll
    M llvm/test/Transforms/SLPVectorizer/ext-after-phi-node.ll
    M llvm/test/Transforms/SLPVectorizer/ext-int-reduced-not-operand.ll
    M llvm/test/Transforms/SLPVectorizer/extended-vectorized-gathered-inst.ll
    M llvm/test/Transforms/SLPVectorizer/external-user-instruction-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/extractelement-insertpoint.ll
    M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
    M llvm/test/Transforms/SLPVectorizer/freeze-signedness-missed.ll
    M llvm/test/Transforms/SLPVectorizer/gather_extract_from_vectorbuild.ll
    M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
    M llvm/test/Transforms/SLPVectorizer/insert-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/insertelement-across-zero.ll
    M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
    M llvm/test/Transforms/SLPVectorizer/insertelement-uses-vectorized-index.ll
    M llvm/test/Transforms/SLPVectorizer/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
    M llvm/test/Transforms/SLPVectorizer/last-buildvector-node.ll
    M llvm/test/Transforms/SLPVectorizer/materialize-vector-of-consts.ll
    M llvm/test/Transforms/SLPVectorizer/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/minbitwidth-user-not-min.ll
    M llvm/test/Transforms/SLPVectorizer/multi-node-vectorized-insts.ll
    M llvm/test/Transforms/SLPVectorizer/multi-uses-with-deps-in-first.ll
    M llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/postponed_gathers.ll
    M llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/reordered-top-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/reordering-single-phi.ll
    M llvm/test/Transforms/SLPVectorizer/reschedule.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/return.ll
    M llvm/test/Transforms/SLPVectorizer/reudction-or-non-poisoned.ll
    M llvm/test/Transforms/SLPVectorizer/reused-buildvector-matching-vectorized-node.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll
    M llvm/test/Transforms/SLPVectorizer/root-trunc-extract-reuse.ll
    M llvm/test/Transforms/SLPVectorizer/same-scalar-in-same-phi-extract.ll
    M llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
    M llvm/test/Transforms/SLPVectorizer/shrink_after_reorder2.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-multivector.ll
    M llvm/test/Transforms/SLPVectorizer/shufflebuilder-bug.ll
    M llvm/test/Transforms/SLPVectorizer/slp-deleted-inst.ll
    M llvm/test/Transforms/SLPVectorizer/slp-max-phi-size.ll
    M llvm/test/Transforms/SLPVectorizer/splat-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/stores-non-ordered.ll
    M llvm/test/Transforms/SLPVectorizer/unknown-entries.ll
    M llvm/test/Transforms/SLPVectorizer/vectorize-reorder-alt-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll

  Log Message:
  -----------
  [SLP] Use constant 64-bit indices for Extract/InsertElement (#208957)

The canonical form preferred by instCombine is to use 64-bit values for
constant index in ExtractElement and InsertElement.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list