[all-commits] [llvm/llvm-project] cb5072: [X86] Teach combineBitcastvxi1 to prefer movmsk on...

topperc via All-commits all-commits at lists.llvm.org
Sat Jun 13 14:51:17 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cb5072d1877b38c972f95092db2cedbcddb81da6
      https://github.com/llvm/llvm-project/commit/cb5072d1877b38c972f95092db2cedbcddb81da6
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-06-13 (Sat, 13 Jun 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/bitcast-setcc-256.ll
    M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
    M llvm/test/CodeGen/X86/movmsk-cmp.ll

  Log Message:
  -----------
  [X86] Teach combineBitcastvxi1 to prefer movmsk on avx512 in more cases

If the input to the bitcast is a sign bit test, it makes sense to
directly use vpmovmskb or vmovmskps/pd. This removes the need to
copy the sign bits to a k-register and then to a GPR.

Fixes PR46200.

Differential Revision: https://reviews.llvm.org/D81327




More information about the All-commits mailing list