Implements target-specific LLVM intrinsics and clang builtins for
these new SIMD operations, as described at https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 37986 Build 37985: arc lint + arc unit
Event Timeline
Comment Actions
LGTM.
- Maybe we can lower these to these new instructions later? (I'm not very sure what the difference between versions with and without VECTOR, because the versions without VECTOR seem to be able to take vector arguments as well.)
- Will this simplify the [[ https://github.com/llvm/llvm-project/blob/87baae85cdee84b43986f1d8d0fac469c7e9521b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp#L1241-L1279 | complicated lowering of SIGN_EXTEND_INREG ]]?
Comment Actions
Yes, good points. I will make a note to go back and clean these up once we are able to emit these instructions without explicit user opt-in.