http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46610

           Summary: gcc.target/mips/save-restore-?.c ICEs on IRIX 6.5:
                    unrecognizable insn
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: r...@gcc.gnu.org
                CC: rdsandif...@googlemail.com
              Host: mips-sgi-irix6.5
            Target: mips-sgi-irix6.5
             Build: mips-sgi-irix6.5


The gcc.target/mips/save-restore-[1345].c tests ICE on IRIX 6.5 (both N32 and
N64
ABIs):

Executing on host: /var/gcc/regression/trunk/6.5-gcc/build/gcc/xgcc
-B/var/gcc/regression/trunk/6.5-gcc/build/gcc/
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/save-restore-1.c  
-DNOMIPS16=__attribute__((nomips16)) -mabi=32 -mips32 -mfp32 -mgp32 -mno-mips3d
-O2 -mno-dsp -mno-dspr2 -mno-paired-single -DMIPS16=__attribute__((mips16)) -S 
-o save-restore-1.s    (timeout = 300)
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/save-restore-1.c: In
function 'foo':

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/save-restore-1.c:18:1:
error: unrecognizable insn:

(insn/f 34 7 35 2 (parallel [

            (set/f (reg/f:SI 29 $sp)

                (plus:SI (reg/f:SI 29 $sp)

                    (const_int -40 [0xffffffffffffffd8])))

            (set/f (mem/c:SI (reg/f:SI 29 $sp) [3 S4 A32])

                (reg:SI 4 $4))

            (set/f (mem/c:SI (plus:SI (reg/f:SI 29 $sp)

                        (const_int 4 [0x4])) [3 S4 A32])

                (reg:SI 5 $5))

            (set/f (mem/c:SI (plus:SI (reg/f:SI 29 $sp)

                        (const_int 8 [0x8])) [3 S4 A32])

                (reg:SI 6 $6))

            (set/f (mem/c:SI (plus:SI (reg/f:SI 29 $sp)

                        (const_int 12 [0xc])) [3 S4 A32])

                (reg:SI 7 $7))

            (set/f (mem/c:SI (plus:SI (reg/f:SI 29 $sp)

                        (const_int -4 [0xfffffffffffffffc])) [3 S4 A32])

                (reg:SI 64 hi))

        ])
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/save-restore-1.c:10
-1

     (expr_list:REG_DEAD (reg:SI 64 hi)

        (expr_list:REG_DEAD (reg:SI 7 $7)

            (expr_list:REG_DEAD (reg:SI 6 $6)

                (expr_list:REG_DEAD (reg:SI 5 $5)

                    (nil))))))

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/save-restore-1.c:18:1:
internal compiler error: in extract_insn, at recog.c:2110


I could skip the tests on IRIX 6.5 where there's no O32 support, but the
failures also occur on the 4.4 and 4.5 branches where it still exists, and
the compiler shouldn't ICE nonetheless.

Reply via email to