http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47551
Summary: ICE when reloading neon registers from out-of-range offsets Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: richard.sandif...@linaro.org The ref_vldX.c test from: http://gitorious.org/arm-neon-tests/arm-neon-tests fails when compiled with -O0 -marm: (insn 1817 1816 1818 2 /home/export/usr/gcc-linaro/H-x86_64-unknown-linux-gnu/bin/../lib/gcc/arm-linux-gnueabi/4.5.2/include/arm_neon.h:921 5 (parallel [ (set (reg:CI 303 [ D.14795 ]) (unspec:CI [ (mem:CI (reg:SI 3 r3 [1023]) [0 S48 A64]) (reg:CI 303 [ D.14795 ]) (unspec:V8HI [ (const_int 0 [0x0]) ] 191) ] 106)) (set (reg:SI 3 r3 [1023]) (plus:SI (reg:SI 3 r3 [1023]) (const_int 24 [0x18]))) ]) 1614 {neon_vld3qav8hi} (nil)) ref_vldX.c:157: confused by earlier errors, bailing out This is due to a bug in the ARM secondary_reload code.