[all-commits] [llvm/llvm-project] f841ad: [WebAssembly] Replace LOAD_SPLAT with SPLAT_VECTOR

Luke Lau via All-commits all-commits at lists.llvm.org
Wed Jan 4 07:09:34 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f841ad30d77eeb4c51663e68efefdb734c7a3d07
      https://github.com/llvm/llvm-project/commit/f841ad30d77eeb4c51663e68efefdb734c7a3d07
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
    M llvm/test/CodeGen/WebAssembly/simd-build-vector.ll
    M llvm/test/CodeGen/WebAssembly/simd-load-splat.ll
    M llvm/test/CodeGen/WebAssembly/simd-pr51605.ll
    M llvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll

  Log Message:
  -----------
  [WebAssembly] Replace LOAD_SPLAT with SPLAT_VECTOR

Splats were selected by matching on uses of `build_vector` with
identical elements, but a while back a target independent node for
vector splatting was added.
This removes the WebAssembly specific LOAD_SPLAT intrinsic, and instead
makes SPLAT_VECTOR legal and adds patterns for splat loads.

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




More information about the All-commits mailing list