[all-commits] [llvm/llvm-project] 72e242: [X86][AVX] canonicalizeShuffleMaskWithHorizOp - im...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed May 12 04:13:54 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 72e242a286be1c821c521fdc8a778517b193a59e
      https://github.com/llvm/llvm-project/commit/72e242a286be1c821c521fdc8a778517b193a59e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-05-12 (Wed, 12 May 2021)

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

  Log Message:
  -----------
  [X86][AVX] canonicalizeShuffleMaskWithHorizOp - improve support for 256/512-bit vectors

Extend the HOP(HOP(X,Y),HOP(Z,W)) and SHUFFLE(HOP(X,Y),HOP(Z,W)) folds to handle repeating 256/512-bit vector cases.

This allows us to drop the UNPACK(HOP(),HOP()) custom fold in combineTargetShuffle.

This required isRepeatedTargetShuffleMask to be tweaked to support target shuffle masks taking more than 2 inputs.




More information about the All-commits mailing list