Now that the WebAssembly SIMD specification is finalized and engines are
generally up-to-date, there is no need for a separate target feature for gating
SIMD instructions that engines have not implemented. With this change,
v128.const is now enabled by default with the simd128 target feature.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Time | Test | |
---|---|---|
50 ms | x64 debian > Flang.Semantics::resolve102.f90 |
Event Timeline
clang/docs/ClangCommandLineReference.rst | ||
---|---|---|
3801 | extraneous change? | |
clang/include/clang/Basic/BuiltinsWebAssembly.def | ||
191 | is QFMA actually in MVP simd? I thought it was non-deterministic? | |
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | ||
1712 | out of curiosity, are there any cases where a splat could be smaller than a v128 const, since the consts are pretty big? |
clang/docs/ClangCommandLineReference.rst | ||
---|---|---|
3801 | Yes, will revert, thanks. | |
clang/include/clang/Basic/BuiltinsWebAssembly.def | ||
191 | No, as you discovered, it's removed in the next patch. I kind of ended up with these patches in the wrong order, but I think it should be ok. | |
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | ||
1712 | Yes, for sure. In fact, this code used to find the const lowering that resulted in the fewest bytes emitted. Our users much prefer to have the fewest instructions emitted, though, since this lowering is often critical for performance. |
extraneous change?