When I try to (cross-)compile the C source below, I get an internal compiler
error.

I am using (cross-)gcc version 4.3.2 (Debian 4.3.2-1.1).

Command line: 'arm-linux-gnu-gcc -march=armv7-a -mthumb -c opt.c'

--- C:
#define N 100000

float f(const float a[N], const float b[N])
{
    float r = 0;
    unsigned u;

    for(u = 0; u < N; u++)
        r += a[u] * b[u];

    return r;
}
---

--- Output:
opt.c: In function ‘f’:
opt.c:12: error: unable to generate reloads for:
(insn 24 23 25 3 opt.c:9 (set (reg:SF 2 r2 [orig:134 D.1187 ] [134])
        (mult:SF (reg:SF 1 r1 [orig:138 D.1183 ] [138])
            (reg:SF 3 r3 [orig:135 D.1186 ] [135]))) 350 {*mulsf3_fpa}
(expr_list:REG_DEAD (reg:SF 1 r1 [orig:138 D.1183 ] [138])
        (expr_list:REG_DEAD (reg:SF 3 r3 [orig:135 D.1186 ] [135])
            (nil))))
opt.c:12: internal compiler error: in find_reloads, at reload.c:3767
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions.
vinc...@clopinette:bug$ ./compile 
opt.c: In function ‘f’:
opt.c:12: error: unable to generate reloads for:
(insn 24 23 25 3 opt.c:9 (set (reg:SF 2 r2 [orig:134 D.1187 ] [134])
        (mult:SF (reg:SF 1 r1 [orig:138 D.1183 ] [138])
            (reg:SF 3 r3 [orig:135 D.1186 ] [135]))) 350 {*mulsf3_fpa}
(expr_list:REG_DEAD (reg:SF 1 r1 [orig:138 D.1183 ] [138])
        (expr_list:REG_DEAD (reg:SF 3 r3 [orig:135 D.1186 ] [135])
            (nil))))
opt.c:12: internal compiler error: in find_reloads, at reload.c:3767
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions.
---


-- 
           Summary: internal compiler error / unable to generate reloads
           Product: gcc
           Version: 4.3.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: vincent dot stehle at laposte dot net
  GCC host triplet: x86_64 linux gnu
GCC target triplet: arm-linux-gnu


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

Reply via email to