On Mon, Feb 18, 2013 at 9:21 PM, Steven Bosscher wrote:
> On Sat, Feb 16, 2013 at 1:55 AM, Vladimir Makarov wrote:
>> The branch was merged with trunk @ r196091.
>>
>> Successfully bootstrapped on x86-64.
>>
>> Committed as rev. 196099.
>
> Hello Vlad,
>
> It looks like this broke bootstrap on ia64 and
>
> /home/stevenb/lra_powerpc64_autotester/lra-branch/libgfortran/generated/pow_i8_i4.c:
> In function 'pow_i8_i4':
> /home/stevenb/lra_powerpc64_autotester/lra-branch/libgfortran/generated/pow_i8_i4.c:75:1:
> internal compiler error: in check_rtl, at lra.c:2009
This is:
$ ./xgcc --version
xgcc (GCC) 4.8.0 20130215 (experimental) [lra revision 196115]
...
$ cat t.c
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int uint32_t __attribute__ ((__mode__ (__SI__)));
int64_t pow_i8_i4 (int64_t a, int32_t b);
int64_t
pow_i8_i4 (int64_t a, int32_t b)
{
int64_t pow, x;
int32_t n;
uint32_t u;
n = b;
x = a;
pow = 1;
if (n != 0)
{
if (n < 0)
{
if (x == 1)
return 1;
if (x == -1)
return (n & 1) ? -1 : 1;
return (x == 0) ? 1 / x : 0;
}
else
u = n;
for (;;)
{
if (u & 1)
pow *= x;
u >>= 1;
if (u)
x *= x;
else
break;
}
}
return pow;
}
$ ./cc1 -quiet -O2 -m32 t.c
t.c: In function 'pow_i8_i4':
t.c:41:1: internal compiler error: in check_rtl, at lra.c:2009
}
^
0x106aa15b check_rtl
../../lra-branch/gcc/lra.c:2009
0x106ab387 lra(_IO_FILE*)
../../lra-branch/gcc/lra.c:2374
0x1063542b do_reload
../../lra-branch/gcc/ira.c:4619
0x106357df rest_of_handle_reload
../../lra-branch/gcc/ira.c:4731
Please submit a full bug report,
Ciao!
Steven