[PATCH] D112022: [WebAssembly] Add prototype relaxed swizzle instructions

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 19 14:42:43 PDT 2021


tlively added inline comments.


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td:1365
+
+def wasm_relaxed_swizzle : SDNode<"WebAssemblyISD::RELAXED_SWIZZLE", wasm_swizzle_t>;
+
----------------
ngzhian wrote:
> @tlively i'm not 100% sure if this is needed or the right thing to do, i looked at what i8x16.swizzle currently does and just replaced the name and opcode. LMK if this needs to be changed.
`HANDLE_NODETYPE(RELAXED_SWIZZLE)`

and

`def wasm_relaxed_swizzle : SDNode<"WebAssemblyISD::RELAXED_SWIZZLE", wasm_swizzle_t>;`

Are both necessary when we do more interesting codegen optimizations from the C++, but in this case we want to just directly select the intrinsic, so they aren't necessary. For the pattern inside the definition of `RELAXED_SWIZZLE` below, you can just use `int_wasm_relaxed_swizzle` rather than defining and using the separate `wasm_relaxed_swizzle`. That will let you get rid of the separate `Pat` below as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112022/new/

https://reviews.llvm.org/D112022



More information about the llvm-commits mailing list