[all-commits] [llvm/llvm-project] f0f978: [WebAssembly] Lower vselect to v128.bitselect

Thomas Lively via All-commits all-commits at lists.llvm.org
Thu Jul 16 11:11:41 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f0f97876469e7e0461ba3521f38bdb889cee05b7
      https://github.com/llvm/llvm-project/commit/f0f97876469e7e0461ba3521f38bdb889cee05b7
  Author: Thomas Lively <tlively at google.com>
  Date:   2020-07-16 (Thu, 16 Jul 2020)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/simd-select.ll

  Log Message:
  -----------
  [WebAssembly] Lower vselect to v128.bitselect

We were previously expanding vselect and matching on the expansion to
generate bitselects, but in some cases the expansion would be further
combined and a bitselect would not get generated. This patch improves
codegen in those cases by legalizing vselect and lowering it to
v128.bitselect. The old pattern that matches the expansion is still
useful for lowering IR that already uses the expansion rather than a
select operation.

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




More information about the All-commits mailing list