[all-commits] [llvm/llvm-project] ce677e: [X86][AVX2] combineSetCCMOVMSK - handle all_of pat...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Jun 7 13:26:42 PDT 2020


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-compare-all_of.ll
    M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll

  Log Message:
  -----------
  [X86][AVX2] combineSetCCMOVMSK - handle all_of patterns for PMOVMSKB(PACKSSBW(LO(X), HI(X)))

In the sign splat case, we can fold PMOVMSKB(PACKSSBW(LO(X), HI(X))) -> PMOVMSKB(BITCAST_v32i8(X)) without introducing a signmask + comparison (which unlike for any_of won't fold into a single TEST).




More information about the All-commits mailing list