July 11, 2020 [Issue 21037] New: AVX code sometimes fails to set VEX prefix | ||||
---|---|---|---|---|
| ||||
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. -- |
Copyright © 1999-2021 by the D Language Foundation