Removes the prototype builtin and intrinsic for i64x2.eq and implements that
instruction as well as the other i64x2 comparison instructions in the final SIMD
spec. Unsigned comparisons were not included in the final spec, so they still
need to be scalarized via a custom lowering.
Details
- Reviewers
aheejin dschuff - Commits
- rG45783d0e8a36: [WebAssembly] Implement i64x2 comparisons
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Time | Test | |
---|---|---|
70 ms | x64 windows > LLVM.tools/dsymutil/X86::label2.test |
Event Timeline
clang/include/clang/Basic/BuiltinsWebAssembly.def | ||
---|---|---|
218 | Is the builtin/intrinsic wrong now? Or just not necessary because we can use builtin operators? | |
llvm/test/CodeGen/WebAssembly/simd-select.ll | ||
313 | pre-existing, but is there a reason why the CHECKs here are in the middle of the IR function signature? |
llvm/test/CodeGen/WebAssembly/simd-select.ll | ||
---|---|---|
313 | Aha, it's likely because the regex in update_llc_test_checks.py does not know how to recognize when the parameter list is continued on the next line. It only recognizes the first line of the function as the declaration line and places the checks immediately after it. I'll fix this before I land the patch. Better to have a long parameter declaration line than a split up parameter declaration line! |
Is the builtin/intrinsic wrong now? Or just not necessary because we can use builtin operators?