Bug 17337 – SIGILL for AVX vector initialization

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2017-04-21T18:18:00Z
Last change time
2017-08-07T13:15:49Z
Assigned to
nobody
Creator
code

Comments

Comment #0 by code — 2017-04-21T18:18:17Z
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.
Comment #1 by github-bugzilla — 2017-04-22T01:14:39Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/3a2b76115bb7727652b6505898594b8c8e6a57d7 fix Issue 17337 - SIGILL for AVX vector initialization https://github.com/dlang/dmd/commit/e84e711be771bce8156512f6af2ac5cd02f606b3 Merge pull request #6714 from MartinNowak/fix17337 fix Issue 17337 - SIGILL for AVX vector initialization
Comment #2 by github-bugzilla — 2017-06-17T11:33:59Z
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/3a2b76115bb7727652b6505898594b8c8e6a57d7 fix Issue 17337 - SIGILL for AVX vector initialization https://github.com/dlang/dmd/commit/e84e711be771bce8156512f6af2ac5cd02f606b3 Merge pull request #6714 from MartinNowak/fix17337
Comment #3 by github-bugzilla — 2017-08-07T13:15:49Z
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/3a2b76115bb7727652b6505898594b8c8e6a57d7 fix Issue 17337 - SIGILL for AVX vector initialization https://github.com/dlang/dmd/commit/e84e711be771bce8156512f6af2ac5cd02f606b3 Merge pull request #6714 from MartinNowak/fix17337