Confirmed in gcc-linaro-4.5-2011.03-0:
michaelh@ursa3:~/linaro/bugs$ /tools/toolchains/gcc-linaro-4.5-2011.03-0-armv7l-maverick-cbuild71-carina7-cortexa8r1/bin/gcc -mfpu=neon -O1 -c insn-unsat-constr.i insn-unsat-constr.c: In function 'test': insn-unsat-constr.c:19:1: error: insn does not satisfy its constraints: (insn 40 38 26 2 /usr/lib/gcc/arm-linux-gnueabi/4.5.2/include/arm_neon.h:10277 (set (reg:OI 95 d16 [orig:152 __b ] [152]) (mem/s/c:OI (pre_dec:SI (reg/f:SI 3 r3 [151])) [0 __b+0 S32 A64])) 786 {*neon_movoi} (expr_list:REG_INC (reg/f:SI 3 r3 [151]) (nil))) insn-unsat-constr.c:19:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:402
Does not occur in gcc-linaro-4.4-2010.10-0. Does not occur at -O0, but does at -O1, -O2, -O3.
The work around is to supply -fno-auto-inc-dec.
Confirmed in gcc-linaro- 4.5-2011. 03-0:
michaelh@ ursa3:~ /linaro/ bugs$ /tools/ toolchains/ gcc-linaro- 4.5-2011. 03-0-armv7l- maverick- cbuild71- carina7- cortexa8r1/ bin/gcc -mfpu=neon -O1 -c insn-unsat-constr.i constr. c: In function 'test': constr. c:19:1: error: insn does not satisfy its constraints: gcc/arm- linux-gnueabi/ 4.5.2/include/ arm_neon. h:10277 (set (reg:OI 95 d16 [orig:152 __b ] [152]) constr. c:19:1: internal compiler error: in reload_ cse_simplify_ operands, at postreload.c:402
insn-unsat-
insn-unsat-
(insn 40 38 26 2 /usr/lib/
(mem/s/c:OI (pre_dec:SI (reg/f:SI 3 r3 [151])) [0 __b+0 S32 A64])) 786 {*neon_movoi} (expr_list:REG_INC (reg/f:SI 3 r3 [151])
(nil)))
insn-unsat-
Does not occur in gcc-linaro- 4.4-2010. 10-0. Does not occur at -O0, but does at -O1, -O2, -O3.
The work around is to supply -fno-auto-inc-dec.