http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52437

             Bug #: 52437
           Summary: internal compiler error: in spill_failure, at
                    reload1.c:2120
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: reg...@cs.utah.edu
                CC: cheny...@cs.utah.edu


[regehr@gamow 0]$ current-gcc -v

Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r184628-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r184628-install
--program-prefix=r184628- --enable-languages=c,c++
Thread model: posix
gcc version 4.7.0 20120228 (experimental) (GCC) 

[regehr@gamow 0]$ current-gcc small.c -c -O3

small.c: In function 'fn1':
small.c:13:1: error: unable to find a register to spill in class 'FLOAT_REGS'
small.c:13:1: error: this is the insn:
(insn 10 33 12 2 (set (reg:V4SI 76 [ vect_var_.17 ])
        (vec_merge:V4SI (vec_duplicate:V4SI (const_int 1 [0x1]))
            (reg:V4SI 76 [ vect_var_.17 ])
            (const_int 1 [0x1]))) small.c:10 1393 {vec_setv4si_0}
     (expr_list:REG_EQUAL (const_vector:V4SI [
                (const_int 1 [0x1])
                (const_int -1 [0xffffffffffffffff])
                (const_int -1 [0xffffffffffffffff])
                (const_int -1 [0xffffffffffffffff])
            ])
        (nil)))
small.c:13:1: internal compiler error: in spill_failure, at reload1.c:2120
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

[regehr@gamow 0]$ cat small.c
int **f, g, i, j;

void fn1 () {
  for (;;) {
    j = (fn2 (), 0) | 1;
    i = 0;
    for (; i <= 3; i += 1) {
      g = 1;
      for (; g >= 0; g -= 1)
        0 == (f = 0) & (j &= 0xB);
    }
  }
}

Reply via email to