digitalmars.D.bugs - [Issue 21037] New: AVX code sometimes fails to set VEX prefix
- d-bugmail puremagic.com (39/39) Jul 11 2020 https://issues.dlang.org/show_bug.cgi?id=21037
https://issues.dlang.org/show_bug.cgi?id=21037 Issue ID: 21037 Summary: AVX code sometimes fails to set VEX prefix Product: D Version: D2 Hardware: x86_64 OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: bugzilla digitalmars.com Suddenly this started failing in the test suite. The failing code is extracted from runnable/testxmm.d: ------------------------------------ import core.simd; import core.stdc.string; import core.stdc.stdio; version (D_AVX) { void foo_byte32(byte t, byte s) { byte32 f = s; (***) auto p = cast(byte*)&f; foreach (i; 0 .. 32) { printf("[%d]: %d\n", i, p[i]); assert(p[i] == s); } } void main() { foo_byte32(5, -10); } } The (***) is where the problem is, the MOVDQA instruction generated should be VMOVDQA. --
Jul 11 2020