[all-commits] [llvm/llvm-project] 219f32: [X86][SSE] Shuffle combine blends to OR(X, Y) if th...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Aug 3 10:33:17 PDT 2020


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/insertelement-ones.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll

  Log Message:
  -----------
  [X86][SSE] Shuffle combine blends to OR(X,Y) if the relevant elements are known zero.

This allows us to remove the (depth violating) code in getFauxShuffleMask where we were combining the OR(SHUFFLE,SHUFFLE) shuffle inputs as well, and not just the OR().

This is a minor step toward being able to shuffle combine from/to SELECT/BLENDV as a faux shuffle.




More information about the All-commits mailing list