[all-commits] [llvm/llvm-project] 3d8149: [X86][SSE] Fold BITOP(MOVMSK(X), MOVMSK(Y)) -> MOVM...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Jun 14 13:44:56 PDT 2020


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-movmsk.ll

  Log Message:
  -----------
  [X86][SSE] Fold BITOP(MOVMSK(X),MOVMSK(Y)) -> MOVMSK(BITOP(X,Y))

Reduce XMM->GPR traffic by performing bitops on the vectors, and using a single MOVMSK call.

This requires us to use vectors of the same size and element width, but we can mix fp/int type equivalents with suitable bitcasting.




More information about the All-commits mailing list