On Mittwoch, 15. Mai 2024 04:20:51 MESZ Jiang, Haochen wrote:
> I am little concerned about the file size, but let me give a try if you can
> see the attachment.

Thank you. Since you only executed one test it's not that bad (it's hard to 
read without a few abbreviation substitutions).

Anyway, it's a clear pattern: all __vector(2) T where T is a 32-bit integral 
type conversions to _SimdWrapper don't compile. x86 -m32 needs some special 
care for these, because GCC happily starts emitting MMX instructions without 
cleaning up with EMMS. So these vector types are poison and need never be 
uttered. That's why the conversion is actually not well-formed with -m32.

But now that I established a theory of why this fails for you, I still need to 
figure out why I can't reproduce it. It's going to be hard to reliably fix 
this and to not repeat the issue if I can't get this to fail. I've tested 
x86_64 multilib with -m32 and even -mx32 locally and cannot find any issue. 😟

- Matthias

-- 
──────────────────────────────────────────────────────────────────────────
 Dr. Matthias Kretz                           https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research               https://gsi.de
 std::simd
──────────────────────────────────────────────────────────────────────────

Reply via email to