[Issue 17337] New: SIGILL for AVX vector initialization

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri Apr 21 11:18:17 PDT 2017


https://issues.dlang.org/show_bug.cgi?id=17337

          Issue ID: 17337
           Summary: SIGILL for AVX vector initialization
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: code at dawg.eu

cat > bug.d << CODE
alias ubyte16 = __vector(ubyte[16]);

ubyte16 bug(ubyte val)
{
    immutable ubyte16 a = 0, b = val;
    return b;
}

void main()
{
    bug(12);
}
CODE

dmd -mcpu=avx -run bug
----
Error: program killed by signal 4 (SIGILL)
----

Turns out that dmd tries to encode a third operand into the vex.vvvv bits,
which ought to remain 0b1111 for the 2 operand VPUSHD instruction.

--


More information about the Digitalmars-d-bugs mailing list