[all-commits] [llvm/llvm-project] cbbfc8: [X86][SSE] canonicalizeShuffleMaskWithHorizOp - si...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Jan 13 09:24:41 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cbbfc8258615bc971a54c6287abe33c4215d2eac
      https://github.com/llvm/llvm-project/commit/cbbfc8258615bc971a54c6287abe33c4215d2eac
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/horizontal-sum.ll

  Log Message:
  -----------
  [X86][SSE] canonicalizeShuffleMaskWithHorizOp - simplify shuffle(HOP(HOP(X,Y),HOP(Z,W))) style chains.

See if we can remove the shuffle by resorting a HOP chain so that the HOP args are pre-shuffled.

This initial version just handles (the most common) v4i32/v4f32 hadd/hsub reduction patterns - future work can extend this to v8i16 types plus PACK chains (2f64 HADD/HSUB should already be handled in the half-lane combine code later on).


  Commit: efb6e45d2be8e3e0843bdc4c2766e6910083c08e
      https://github.com/llvm/llvm-project/commit/efb6e45d2be8e3e0843bdc4c2766e6910083c08e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-4.ll

  Log Message:
  -----------
  [X86][AVX] Add test for another 'reverse HADD' pattern mentioned in PR41813


  Commit: 993c488ed2b347011d9d71990af38a82aaf5bdf5
      https://github.com/llvm/llvm-project/commit/993c488ed2b347011d9d71990af38a82aaf5bdf5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitVECTOR_SHUFFLE - use all_of to check for all-undef shuffle mask. NFCI.


Compare: https://github.com/llvm/llvm-project/compare/48d2068fb738...993c488ed2b3


More information about the All-commits mailing list