[all-commits] [llvm/llvm-project] 016ceb: [X86][SSE] combineSetCCMOVMSK - allow comparison w...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Apr 14 03:02:49 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 016ceb838231a717e889f7ceb38c56575e82aead
      https://github.com/llvm/llvm-project/commit/016ceb838231a717e889f7ceb38c56575e82aead
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86][SSE] combineSetCCMOVMSK - allow comparison with upper (known zero) bits in MOVMSK(SHUFFLE(X,u)) -> MOVMSK(X) fold

Extension to rG74f98391a7a4, we can also include any of the upper (known zero) bits in the comparison in the shuffle removal fold, just as long as we demand all the elements of the movmsk source vector.


  Commit: 62af2af85daf79471c15a23f1b4f81a83a8bdd19
      https://github.com/llvm/llvm-project/commit/62af2af85daf79471c15a23f1b4f81a83a8bdd19
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M llvm/test/CodeGen/X86/pr32284.ll

  Log Message:
  -----------
  [X86] Regenerate PR32284.ll test case prefixes. NFC.

Use X64 for 64-bit targets and X86 for 32-bit targets


  Commit: 73737fe9900dae6a7e766043477d646b43d7f284
      https://github.com/llvm/llvm-project/commit/73737fe9900dae6a7e766043477d646b43d7f284
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
    M llvm/test/CodeGen/X86/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
    M llvm/test/CodeGen/X86/movmsk-cmp.ll
    M llvm/test/CodeGen/X86/pr32284.ll
    M llvm/test/CodeGen/X86/setcc-lowering.ll
    M llvm/test/CodeGen/X86/vector-compare-any_of.ll
    M llvm/test/CodeGen/X86/vector-reduce-or-bool.ll

  Log Message:
  -----------
  [X86] Fold cmpeq/ne(trunc(x),0) --> cmpeq/ne(x,0)

Relax the fold from rGbaadbe04bf75 to compare any op, not just logic ops, now that the movmsk regressions have been handled.


Compare: https://github.com/llvm/llvm-project/compare/8be3181df6f1...73737fe9900d


More information about the All-commits mailing list