18582 – [3.4 Regression] Internal compiler error with arrays of type V2DF (original) (raw)
Description Steffen Boerm 2004-11-20 20:09:27 UTC
Using
gcc -c ice.c
with the following file "ice.c"
typedef double v2df attribute((mode(V2DF))); void sse_interpolate_kernel() { double x2[2]; v2df xs[2]; xs[0] = __builtin_ia32_loadupd(x2); }
leads to the following internal compiler error:
ice.c: In function `sse_interpolate_kernel': ice.c:11: internal compiler error: in instantiate_virtual_regs_lossage, at function.c:3756 Please submit a full bug report,
The error seems to disappear if I replace the array xs by simple variables or if I use "-O".
Comment 1 Drea Pinski 2004-11-20 20:21:56 UTC
: Search converges between 2003-01-27-trunk (#173) and 2003-02-03-trunk (#174). : Search converges between 2003-01-28-3.3 (#19) and 2003-02-04-3.3 (#20).
Fixed on the mainline by the merge of the tree-ssa: : Search converges between 2004-05-11-trunk (#454) and 2004-05-14-trunk (#455). Fixed on the tree-ssa branch: : Search converges between 2003-08-15-ssa (#58) and 2003-08-16-ssa (#59).
(note this does not make sense as usually the things are fixed by the tree-ssa when optimizing).
Comment 2 Richard Sandiford 2005-08-02 15:46:10 UTC
This is a bug in the i386 builtin expansion code. Testing a fix.
Comment 6 Richard Sandiford 2005-08-03 14🔞19 UTC
Patch applied to 3.4. Relevant parts of testcase also applied to HEAD and 4.0.