------- Comment #8 from rask at gcc dot gnu dot org  2007-11-22 13:54 -------
Created an attachment (id=14607)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14607&action=view)
patch v2 for GC 4.2.2

Weird. I don't understand why GCC 4.2.2 is having problems with that. This
patch tries to fix fr30_move_double(), which has been broken ever since it was
added seven and a half years ago. The instruction sequence now looks like this:

        ldi:32  a, r3   ; 13    movsi_internal/4        [length = 6]
        ldi:8   #248, r1        ; 52    movsi_internal/1        [length = 2]
        extsb   r1      ; 53    extendqisi2             [length = 2]
        addn    fp, r1  ; 16    addsi_regs              [length = 2]
        mov     r1, r2  ; 74    movsi_internal/5        [length = 2]
        ld      @r1, r1 ; 75    movsi_internal/7        [length = 2]
        addn    4, r2   ; 76    addsi_small_int/1       [length = 2]
        ld      @r2, r2 ; 77    movsi_internal/7        [length = 2]
        st      r1, @r3 ; 78    movsi_internal/6        [length = 2]
        mov     r3, r0  ; 79    movsi_internal/5        [length = 2]
        addn    4, r0   ; 80    addsi_small_int/1       [length = 2]
        st      r2, @r0 ; 81    movsi_internal/6        [length = 2]


-- 


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

Reply via email to