[all-commits] [llvm/llvm-project] 178f47: [CostModel][X86] getShuffleCost - shuffles with on...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Jan 27 07:56:43 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 178f47143a3b3c547df6d1f07e9707792f5d9fd4
      https://github.com/llvm/llvm-project/commit/178f47143a3b3c547df6d1f07e9707792f5d9fd4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll

  Log Message:
  -----------
  [CostModel][X86] getShuffleCost - shuffles with only one defined element are always cheap (#124412)

If we're just moving a single element around inside a 128-bit lane (probably as an alternative to extracting it), we can assume this is cheap as a single PSRLDQ/PSHUFD/SHUFPS.

I've got the horrid feeling we're moving towards matching all SSE shuffle patterns inside the cost model, but I'm going to do my best to avoid this for now :|



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