diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 8cb8b2f50..dc9156fc0 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,9 @@ +2008-01-08 Jeff Johnston + + * libc/machine/m68k/memcpy.S: Remove % from register references + as this is already handled by m68kasm.h. + * libc/machine/m68k/memset.S: Ditto. + 2008-01-07 Jeff Johnston * libc/machine/m68k/m68kasm.h: New file. diff --git a/newlib/libc/machine/m68k/memcpy.S b/newlib/libc/machine/m68k/memcpy.S index c7f3000a7..3badd58bf 100644 --- a/newlib/libc/machine/m68k/memcpy.S +++ b/newlib/libc/machine/m68k/memcpy.S @@ -34,63 +34,63 @@ */ SYM(memcpy): - move.l 4(%sp),%a0 | dest ptr - move.l 8(%sp),%a1 | src ptr - move.l 12(%sp),%d1 | len - cmp.l #8,%d1 | if fewer than 8 bytes to transfer, + move.l 4(sp),a0 | dest ptr + move.l 8(sp),a1 | src ptr + move.l 12(sp),d1 | len + cmp.l #8,d1 | if fewer than 8 bytes to transfer, blo .Lresidue | do not optimise /* align dest */ - move.l %a0,%d0 | copy of dest - neg.l %d0 - and.l #3,%d0 | look for the lower two only + move.l a0,d0 | copy of dest + neg.l d0 + and.l #3,d0 | look for the lower two only beq 2f | is aligned? - sub.l %d0,%d1 - lsr.l #1,%d0 | word align needed? + sub.l d0,d1 + lsr.l #1,d0 | word align needed? bcc 1f - move.b (%a1)+,(%a0)+ + move.b (a1)+,(a0)+ 1: - lsr.l #1,%d0 | long align needed? + lsr.l #1,d0 | long align needed? bcc 2f - move.w (%a1)+,(%a0)+ + move.w (a1)+,(a0)+ 2: /* long word transfers */ - move.l %d1,%d0 - and.l #3,%d1 | byte residue - lsr.l #3,%d0 + move.l d1,d0 + and.l #3,d1 | byte residue + lsr.l #3,d0 bcc 1f | carry set for 4-byte residue - move.l (%a1)+,(%a0)+ + move.l (a1)+,(a0)+ 1: - lsr.l #1,%d0 | number of 16-byte transfers + lsr.l #1,d0 | number of 16-byte transfers bcc .Lcopy | carry set for 8-byte residue bra .Lcopy8 1: - move.l (%a1)+,(%a0)+ - move.l (%a1)+,(%a0)+ + move.l (a1)+,(a0)+ + move.l (a1)+,(a0)+ .Lcopy8: - move.l (%a1)+,(%a0)+ - move.l (%a1)+,(%a0)+ + move.l (a1)+,(a0)+ + move.l (a1)+,(a0)+ .Lcopy: #if !defined (__mcoldfire__) - dbra %d0,1b - sub.l #0x10000,%d0 + dbra d0,1b + sub.l #0x10000,d0 #else - subq.l #1,%d0 + subq.l #1,d0 #endif bpl 1b bra .Lresidue 1: - move.b (%a1)+,(%a0)+ | move residue bytes + move.b (a1)+,(a0)+ | move residue bytes .Lresidue: #if !defined (__mcoldfire__) - dbra %d1,1b | loop until done + dbra d1,1b | loop until done #else - subq.l #1,%d1 + subq.l #1,d1 bpl 1b #endif - move.l 4(%sp),%d0 | return value + move.l 4(sp),d0 | return value rts diff --git a/newlib/libc/machine/m68k/memset.S b/newlib/libc/machine/m68k/memset.S index 98c5322e0..622cf014d 100644 --- a/newlib/libc/machine/m68k/memset.S +++ b/newlib/libc/machine/m68k/memset.S @@ -41,60 +41,60 @@ | VG, April 2007 | SYM(memset): - move.l 4(%sp),%a0 | dest ptr - move.l 8(%sp),%d0 | value - move.l 12(%sp),%d1 | len - cmp.l #16,%d1 + move.l 4(sp),a0 | dest ptr + move.l 8(sp),d0 | value + move.l 12(sp),d1 | len + cmp.l #16,d1 blo .Lbset | below, byte fills | - move.l %d2,-(%sp) | need a register - move.b %d0,%d2 | distribute low byte to all byte in word - lsl.l #8,%d0 - move.b %d2,%d0 - move.w %d0,%d2 - swap %d0 | rotate 16 - move.w %d2,%d0 + move.l d2,-(sp) | need a register + move.b d0,d2 | distribute low byte to all byte in word + lsl.l #8,d0 + move.b d2,d0 + move.w d0,d2 + swap d0 | rotate 16 + move.w d2,d0 | - move.l %a0,%d2 | copy of src - neg.l %d2 | 1 2 3 ==> 3 2 1 - and.l #3,%d2 + move.l a0,d2 | copy of src + neg.l d2 | 1 2 3 ==> 3 2 1 + and.l #3,d2 beq 2f | is aligned | - sub.l %d2,%d1 | fix length - lsr.l #1,%d2 | word align needed? + sub.l d2,d1 | fix length + lsr.l #1,d2 | word align needed? bcc 1f - move.b %d0,(%a0)+ | fill byte + move.b d0,(a0)+ | fill byte 1: - lsr.l #1,%d2 | long align needed? + lsr.l #1,d2 | long align needed? bcc 2f - move.w %d0,(%a0)+ | fill word + move.w d0,(a0)+ | fill word 2: - move.l %d1,%d2 | number of long transfers (at least 3) - lsr.l #2,%d2 - subq.l #1,%d2 + move.l d1,d2 | number of long transfers (at least 3) + lsr.l #2,d2 + subq.l #1,d2 1: - move.l %d0,(%a0)+ | fill long words + move.l d0,(a0)+ | fill long words .Llset: #if !defined (__mcoldfire__) - dbra %d2,1b | loop until done - sub.l #0x10000,%d2 + dbra d2,1b | loop until done + sub.l #0x10000,d2 #else - subq.l #1,%d2 + subq.l #1,d2 #endif bpl 1b - and.l #3,%d1 | residue byte transfers, fixed - move.l (%sp)+,%d2 | restore d2 + and.l #3,d1 | residue byte transfers, fixed + move.l (sp)+,d2 | restore d2 bra .Lbset 1: - move.b %d0,(%a0)+ | fill residue bytes + move.b d0,(a0)+ | fill residue bytes .Lbset: #if !defined (__mcoldfire__) - dbra %d1,1b | loop until done + dbra d1,1b | loop until done #else - subq.l #1,%d1 + subq.l #1,d1 bpl 1b #endif - move.l 4(%sp),%d0 | return value + move.l 4(sp),d0 | return value rts