-
Notifications
You must be signed in to change notification settings - Fork 43
Double-precision SIMD conversions #348
Comments
Can you clarify what you mean by "to be usable?" Are there real-world applications that would require these conversions for which scalarizing them would be insufficient? |
Without these instructions SIMD specification is functionally incomplete: it doesn't cover many basic C/C++ operations (conversions between
|
What have you been doing intrinsics wise in the absence of these instructions? Are you scalarizing them? I took a quick peek at the suggested conversions, it looks like on x86 they map to pretty straightforward instructions (cvt* family), and also we have the scalar instructions in Wasm already. So symmetry wise and codegen wise they seem pretty okay. |
XNNPACK doesn't use double-precision, so I didn't need to find a work-around. The emmintrin.h header in Emscripten implements these functions through scalarization. |
+1 for these being useful, the math library being built for Highway requires these. |
Currently WebAssembly SIMD specification is missing all kinds of double-precision
f64x2
conversions. The instruction set needs at least the following conversions to be usable:The text was updated successfully, but these errors were encountered: