------- Comment #3 from ami_stuff at o2 dot pl  2009-09-02 15:32 -------
GCC 4.5.0 (20090827) - additional move.l compared to GCC 4.4.2 (20090825):

#NO_APP
        .text
        .even
        .globl  _MUL64
_MUL64:
        movem.l #16128,-(sp)
        move.l 28(sp),a0
        move.l 32(sp),a1
#APP
;# 45 "xxxx2.c" 1
        | Inlined umul_ppmm
    move.l a0,d0
    move.l a1,d1
    move.l d0,d2
    swap    d0
    move.l d1,d3
    swap    d1
    move.w d2,d4
    mulu    d3,d4
    mulu    d1,d2
    mulu    d0,d3
    mulu    d0,d1
    move.l d4,d0
    eor.w  d0,d0
    swap    d0
    add.l  d0,d2
    add.l  d3,d2
    jcc     1f
    add.l  #65536,d1
1:  swap    d2
    moveq   #0,d0
    move.w d2,d0
    move.w d4,d2
    move.l d2,d6
    add.l  d1,d0
    move.l d0,d5
#NO_APP
        move.l d5,d2
        tst.l a0
        jge L2
        sub.l a1,d2
L2:
        tst.l a1
        jge L3
        sub.l a0,d2
L3:
        move.l d2,d0
        clr.l d1
        move.l d0,d2
        move.l d1,d3
        or.l d6,d3
        move.l d2,d6
        move.l d3,d7
        move.l d2,d0
        move.l d7,d1
        movem.l (sp)+,#252
        rts


-- 


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

Reply via email to