[all-commits] [llvm/llvm-project] 358df0: [X86] Improve `matchBinaryShuffle()`'s `BLEND` low...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Fri Sep 17 09:15:23 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 358df06f4e8d64ba5ad3e80c8f0d763cbb8c0065
      https://github.com/llvm/llvm-project/commit/358df06f4e8d64ba5ad3e80c8f0d763cbb8c0065
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-09-17 (Fri, 17 Sep 2021)

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

  Log Message:
  -----------
  [X86] Improve `matchBinaryShuffle()`'s `BLEND` lowering with per-element all-zero/all-ones knowledge

We can use `OR` instead of `BLEND` if either the element we are not picking is zero (or masked away);
or the element we are picking overwhelms (e.g. it's all-ones) whatever the element we are not picking:
https://alive2.llvm.org/ce/z/RKejao

Reviewed By: RKSimon

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




More information about the All-commits mailing list