Bug 9301 – using XMM.PSHUFD results in an internal compiler error
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-01-12T07:03:00Z
Last change time
2013-11-23T12:36:44Z
Keywords
ice, pull, SIMD
Assigned to
nobody
Creator
jerro.public
Comments
Comment #0 by jerro.public — 2013-01-12T07:03:51Z
The following code causes an internal compiler error with DMD 2.061:
import core.simd;
void main()
{
int4 a;
__simd(XMM.PSHUFD, a, 0x0);
}
The compiler outputs:
Internal error: e2ir.c 3882
Comment #1 by jerro.public — 2013-01-12T07:55:56Z
This code probably shouldn't even compile, since pshufd needs to arguments, not one. But because the code results in an ICE, not an error message, I think this is a bug in the compiler.
Comment #2 by bugzilla — 2013-01-12T11:59:27Z
You are correct in that ICE's are always compiler bugs.
Comment #3 by yebblies — 2013-11-23T05:13:58Z
Reduced:
void main()
{
__vector(void[16]) x = 0x0;
}