[all-commits] [llvm/llvm-project] f25d47: [X86][AVX] Fold CONCAT(HOP(X, Y), HOP(Z, W)) -> HOP(C...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Aug 16 07:01:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f25d47b7ed3e2e9ddb121471c5d4af76642cd48c
      https://github.com/llvm/llvm-project/commit/f25d47b7ed3e2e9ddb121471c5d4af76642cd48c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-08-16 (Sun, 16 Aug 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/haddsub-2.ll
    M llvm/test/CodeGen/X86/haddsub-shuf.ll
    M llvm/test/CodeGen/X86/haddsub-undef.ll

  Log Message:
  -----------
  [X86][AVX] Fold CONCAT(HOP(X,Y),HOP(Z,W)) -> HOP(CONCAT(X,Z),CONCAT(Y,W)) for float types

We can now enable this for AVX1 targets can now assist with canonicalizeShuffleMaskWithHorizOp cleanup.

There's still a few missed opportunities for merging subvector insert/extracts into shuffles, but they shouldn't cause any regressions now.




More information about the All-commits mailing list