[Bug target/46329] New: ICE on ARM for __attribute__ ((vector_size (8 * sizeof(int)))) operations

poenitz at htwm dot de gcc-bugzilla@gcc.gnu.org
Sat Nov 6 14:29:00 GMT 2010


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

           Summary: ICE on ARM for __attribute__ ((vector_size (8 *
                    sizeof(int)))) operations
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: poenitz@htwm.de


Running 

/opt/arm-toolchain/bin/arm-none-linux-gnueabi-gcc -mfloat-abi=softfp -mfpu=neon
-mcpu=cortex-a8 -march=armv7-a    -mtune=cortex-a8    -ffast-math
-ftree-vectorize -ftree-vectorizer-verbose=6 -fexpensive-optimizations
-fstrict-aliasing -Wstrict-aliasing -Wunsafe-loop-optimizations
-funsafe-loop-optimizations -funsafe-math-optimizations -save-temps
-fno-unroll-loops -fno-unroll-all-loops -fno-peel-loops -O3 -c testomap.c -o
testomap.o

on 

void add_i_up(int n, int *aa, int *bb)
{
  typedef int intN __attribute__ ((vector_size (8 * sizeof(int))));
  intN *a = (intN *) aa;
  intN *b = (intN *) bb;
  do {
    *a++ *= *b++;
    n -= sizeof(intN) / sizeof(int);
  } while (n);
}

yields

testomap.c:28:1: error: unable to find a register to spill in class
‘GENERAL_REGS’
testomap.c:28:1: error: this is the insn:
(insn 97 87 79 3 (set (reg:OI 248)
        (const_int 0 [0])) testomap.c:25 751 {*neon_movoi}
     (expr_list:REG_EQUAL (const_int 0 [0])
        (nil)))
testomap.c:28:1: internal compiler error: in spill_failure, at reload1.c:2105

with  r166390 | gccadmin | 2010-11-06 01:17:56 +0100 (Sat, 06 Nov 2010) | 1
line



More information about the Gcc-bugs mailing list