The attached reduced test case derived from ac.f90 in the polyhedron benchmark suite gives and ICE when compiled with gfortran 4.5 using -O3 -mfma4. This ICE showed up in gcc 4.5 rev 154969 with the following check in:
2009-12-02 Richard Henderson <r...@redhat.com> * config/i386/i386.c (ix86_fixup_binary_operands): For FMA4, force all operands into registers. The ICE is as follows bug-red.f90: In function wolff: bug-red.f90:7:0: error: unrecognizable insn: (insn 16 15 17 3 bug-red.f90:1 (parallel [ (set (mem:SI (reg/v/f:DI 71 [ iclsiz ]) [2 S4 A32]) (plus:SI (reg:SI 72) (const_int 4 [0x4]))) (clobber (reg:CC 17 flags)) ]) -1 (expr_list:REG_EQUAL (plus:SI (mem:SI (reg/v/f:DI 71 [ iclsiz ]) [2 S4 A32]) (const_int 4 [0x4])) (nil))) bug-red.f90:7:0: internal compiler error: in extract_insn, at recog.c:2097 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE on compilation of polyhedron benchmarks with -mfma4 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: harsha dot jagasia at amd dot com GCC build triplet: x86_64-linux GCC host triplet: x86_64-linux GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42664