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