Add i8x16 relaxed_swizzle instructions. These are only
exposed as builtins, and require user opt-in.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
---|---|---|
1365 | 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. |
@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.