This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/37814] New: M68k/Coldfire ICE with -O: insn does not satisfy its constraints
- From: "jifl-bugzilla at jifvik dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Oct 2008 02:47:49 -0000
- Subject: [Bug target/37814] New: M68k/Coldfire ICE with -O: insn does not satisfy its constraints
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Compile the below (cut-down) testcase with:
m68k-elf-gcc -c fptest.c -mcpu=5282 -fomit-frame-pointer -O
(gcc 4.3.2) and you will get:
-=-=-=-=-=-
fptest.c: In function ?do_test?:
fptest.c:21: error: insn does not satisfy its constraints:
(insn 31 114 32 2 fptest.c:11 (set (reg:SI 8 %a0 [62])
(plus:SI (plus:SI (mult:SI (reg/f:SI 15 %sp)
(const_int 4 [0x4]))
(reg:SI 9 %a1))
(const_int 128 [0x80]))) 451 {*lea} (nil))
fptest.c:21: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:395
-=-=-=-=-=-
The testcase has been trimmed down such that just about any further change, or
change in the command line args, makes it disappear. An earlier (larger)
version closer to the original code would also fail at -O2 and -O3.
-=-=-=-=-=-=-=-=-=-=-=-
static double fpt3_values[100];
void do_test( void )
{
int count = 100;
int loops = 200;
double *values = fpt3_values;
unsigned int i, j;
volatile double sum = 0.0;
unsigned int seed;
seed = ((unsigned int)&i)*count;
for( i = 0; i < count; i++ )
values[i] = (double)seed;
for( j = 0; j < loops ; j++ )
{
for( i = 0; i < count; i++ )
sum += (((values[i%count])*(values[(i+1)%count])));
}
}
--
Summary: M68k/Coldfire ICE with -O: insn does not satisfy its
constraints
Product: gcc
Version: 4.3.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jifl-bugzilla at jifvik dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: m68k-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37814