[all-commits] [llvm/llvm-project] 6f6d80: [VectorCombine] Fold insert(binop(x, y), binop(a, b), ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Jan 31 01:42:20 PST 2025


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/VectorCombine/X86/insert-binop-vector.ll

  Log Message:
  -----------
  [VectorCombine] Fold insert(binop(x,y),binop(a,b),idx) --> binop(insert(x,a,idx),insert(y,b,idx)) (#124909)

Add foldInsExtBinop fold to cleanup missed vectorization cases which can happen on targets with cheap insert/extract instructions which prevent foldExtractExtract (binop(extract(x),extract(y)) -> extract(binop(x,shuffle(y)))) from helping with the merge.



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