[Development] Updating x86 SIMD support in Qt
Thiago Macieira
thiago.macieira at intel.com
Thu Jan 20 21:10:35 CET 2022
On Thursday, 20 January 2022 11:22:19 PST Lorn Potter wrote:
> It's like Jean-Michael says, 32 bit, but it's complicated.
Yeah, I can get that :)
>From what I've understood so far, WASM is not __x86_64__ but it might be
__i386__. So far, that's not a problem. I don't think we use any assembly or
non-vector intrinsic in general code (qnumeric.h would come to mind but those
functions need to be constexpr).
That means we could support WASM as i386 ABI version 0: no vector operation
support. We currently default to turning that on, so keeping an option to turn
it back off is in the plans.
Additionally, looks like Emscripten has an option to transform the SSE 128-bit
intrinsics into WASM 128-bit vector content. I don't personally have a problem
with that, but WASM users might if the translation / emulation isn't very
good. From a link that Morten provided, there are several operations we do use
in our code today that are emulated slowly.
I do have a problem if you prevent me from using the 256-bit intrinsics. This
this the whole point of this thread. I need the 256-bit intrinsics from AVX,
AVX2 and AVX512 to be available and compile.
So my request is that the CI not prevent me from using those intrinsics in
native x86. If they work with Emscripten, great; if they don't, then the
support gets disabled in the CI.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel DPG Cloud Engineering
More information about the Development
mailing list