[Bug rtl-optimization/58668] [4.8, 4.9 regression][arm]: internal compiler error: in cond_exec_process_insns, at ifcvt.c:339

rearnsha at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 10 09:48:00 GMT 2013


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

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |rtl-optimization
      Known to work|                            |4.7.4
            Summary|[arm with hardfp ABI]:      |[4.8, 4.9 regression][arm]:
                   |internal compiler error: in |internal compiler error: in
                   |cond_exec_process_insns, at |cond_exec_process_insns, at
                   |ifcvt.c:339                 |ifcvt.c:339

--- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
cond_exec_process_insns is throwing a wobbly, since it is not expecting to
handle a jump insn (in this case a return).

(jump_insn 62 61 51 4 (parallel [
            (return)
            (set/f (reg/f:SI 13 sp)
                (plus:SI (reg/f:SI 13 sp)
                    (const_int 16 [0x10])))
            (set/f (reg:SI 3 r3)
                (mem/c:SI (reg/f:SI 13 sp) [25 S4 A32]))
            (set/f (reg:SI 4 r4)
                (mem/c:SI (plus:SI (reg/f:SI 13 sp)
                        (const_int 4 [0x4])) [25 S4 A32]))
            (set/f (reg:SI 5 r5)
                (mem/c:SI (plus:SI (reg/f:SI 13 sp)
                        (const_int 8 [0x8])) [25 S4 A32]))
            (set/f (reg:SI 15 pc)
                (mem/c:SI (plus:SI (reg/f:SI 13 sp)
                        (const_int 12 [0xc])) [25 S4 A32]))
        ]) image.c:1709 -1
     (expr_list:REG_UNUSED (reg:SI 15 pc)
        (expr_list:REG_UNUSED (reg:SI 3 r3)
            (expr_list:REG_CFA_RESTORE (reg:SI 5 r5)
                (expr_list:REG_CFA_RESTORE (reg:SI 4 r4)
                    (expr_list:REG_CFA_RESTORE (reg:SI 3 r3)
                        (nil))))))
 -> return)

Seems to work with 4.7, so a regression.



More information about the Gcc-bugs mailing list