[all-commits] [llvm/llvm-project] 401cbe: [X86][AVX] Attempt to scale masked shuffles to mat...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Apr 13 06:57:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 401cbe373b078ff3325df3b41847713369d2132c
      https://github.com/llvm/llvm-project/commit/401cbe373b078ff3325df3b41847713369d2132c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-04-13 (Mon, 13 Apr 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll

  Log Message:
  -----------
  [X86][AVX] Attempt to scale masked shuffles to match the root type

Improve the chances of folding the writemask into the combined shuffle by scaling a wider shuffle mask to match the root's original type.

This creates a few minor issues with variable shuffles, preventing combines of shuffles because of the more limited support binary shuffle types. In most cases we're probably better off combining the shuffles and losing the writemask fold, but this isn't always going to be true.




More information about the All-commits mailing list