[Issue 21037] New: AVX code sometimes fails to set VEX prefix
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Jul 11 10:32:19 UTC 2020
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 at puremagic.com
Reporter: bugzilla at 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.
--
More information about the Digitalmars-d-bugs
mailing list