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

--- Comment #5 from Steven Bosscher <steven at gcc dot gnu.org> 2012-02-19 
17:48:16 UTC ---
With slightly modified test case (manually inlined apply_aa_coverage()):

BEFORE RELOAD:

(insn 142 133 314 9 (set (subreg:SI (reg:HI 283) 0)
        (unsigned_fix:SI (fix:SF (reg/v:SF 226 [ a ])))) besttry.c:73 682
{fixuns_truncsfsi2}
     (expr_list:REG_DEAD (reg/v:SF 226 [ a ])
        (nil)))


Reloads for insn # 142
Reload 0: reload_in (SI) = (plus:SI (reg/f:SI 11 fp)
                                                    (const_int -65536
[0xffffffffffff0000]))
        CORE_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0)
        reload_in_reg: (plus:SI (reg/f:SI 11 fp)
                                                    (const_int -65536
[0xffffffffffff0000]))
        reload_reg_rtx: (reg:SI 12 ip)
Reload 1: GENERAL_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0), can't combine,
secondary_reload_p
        reload_reg_rtx: (reg:DI 8 r8)
Reload 2: GENERAL_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0), can't combine,
secondary_reload_p
        reload_reg_rtx: (reg:SI 10 sl)
        secondary_out_reload = 1

        secondary_out_icode = reload_outhi
Reload 3: reload_out (SI) = (subreg:SI (mem/c:HI (plus:SI (plus:SI (reg/f:SI 11
fp)
                                                                (const_int
-65536 [0xffffffffffff0000]))
                                                            (const_int -52
[0xffffffffffffffcc])) [14 %sfp+-65544 S2 A64]) 0)
        VFP_LO_REGS, RELOAD_FOR_OUTPUT (opnum = 0)
        reload_out_reg: (subreg:SI (reg:HI 283) 0)
        reload_reg_rtx: (reg:SI 77 s14)
        secondary_out_reload = 2



AFTER RELOAD:

(insn 142 133 355 9 (set (reg:SI 77 s14)
        (unsigned_fix:SI (fix:SF (reg/v:SF 78 s15 [orig:226 a ] [226]))))
besttry.c:73 682 {fixuns_truncsfsi2}
     (nil))

(insn 355 142 356 9 (set (reg:SI 12 ip)
        (plus:SI (reg/f:SI 11 fp)
            (const_int -65536 [0xffffffffffff0000]))) besttry.c:73 4
{*arm_addsi3}
     (nil))

(insn 356 355 357 9 (set (reg:HI 10 sl)
        (reg:SI 77 s14)) besttry.c:73 -1
     (nil))

(insn 357 356 358 9 (set (mem:QI (plus:SI (reg:SI 12 ip)
                (const_int -52 [0xffffffffffffffcc])) [0 S1 A8])
        (reg:QI 10 sl)) besttry.c:73 -1
     (nil))

(insn 358 357 359 9 (set (reg:SI 8 r8)
        (lshiftrt:SI (subreg:SI (reg:HI 10 sl) 0)
            (const_int 8 [0x8]))) besttry.c:73 -1
     (nil))

(insn 359 358 314 9 (set (mem:QI (plus:SI (reg:SI 12 ip)
                (const_int -51 [0xffffffffffffffcd])) [0 S1 A8])
        (reg:QI 8 r8)) besttry.c:73 -1
     (nil))

besttry.c: In function ‘_swrast_write_rgba_span’:
besttry.c:108:1: error: unrecognizable insn:
(insn 356 355 357 9 (set (reg:HI 10 sl)
        (reg:SI 77 s14)) besttry.c:73 -1
     (nil))
besttry.c:108:1: internal compiler error: in extract_insn, at recog.c:2123


Looks like a secondary reload failed.

Reply via email to