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

Reply via email to