Commit c364c3a6 by Stephane Carrez Committed by Stephane Carrez

larith.asm (memcpy): Use ARG macro to access stack parameters so that offsets are valid for far...

	* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
	parameters so that offsets are valid for far definition.
	(__mulsi3): Likewise and use ret to return.
	(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.

From-SVN: r65509
parent 09501938
2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
parameters so that offsets are valid for far definition.
(__mulsi3): Likewise and use ret to return.
(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
2003-04-12 David Edelsohn <edelsohn@gnu.org> 2003-04-12 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields. * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
......
...@@ -289,8 +289,8 @@ Done: ...@@ -289,8 +289,8 @@ Done:
#else #else
xgdy xgdy
tsx tsx
ldd 4,x ldd ARG(4),x
ldx 2,x ; SRC = X, DST = Y ldx ARG(2),x ; SRC = X, DST = Y
cpd #0 cpd #0
beq End beq End
pshy pshy
...@@ -365,85 +365,85 @@ End: ...@@ -365,85 +365,85 @@ End:
#endif #endif
#ifdef L_adddi3 #ifdef L_adddi3
declare ___adddi3 declare ___adddi3
tsx tsx
xgdy xgdy
ldd ARG(8),x ; Add LSB ldd ARG(8),x ; Add LSB
addd ARG(16),x addd ARG(16),x
std ARG(6),y ; Save (carry preserved) std 6,y ; Save (carry preserved)
ldd ARG(6),x ldd ARG(6),x
adcb ARG(15),x adcb ARG(15),x
adca ARG(14),x adca ARG(14),x
std ARG(4),y std 4,y
ldd ARG(4),x ldd ARG(4),x
adcb ARG(13),x adcb ARG(13),x
adca ARG(12),x adca ARG(12),x
std ARG(2),y std 2,y
ldd ARG(2),x ldd ARG(2),x
adcb ARG(11),x ; Add MSB adcb ARG(11),x ; Add MSB
adca ARG(10),x adca ARG(10),x
std ARG(0),y std 0,y
xgdy xgdy
ret ret
#endif #endif
#ifdef L_subdi3 #ifdef L_subdi3
declare ___subdi3 declare ___subdi3
tsx tsx
xgdy xgdy
ldd ARG(8),x ; Subtract LSB ldd ARG(8),x ; Subtract LSB
subd ARG(16),x subd ARG(16),x
std ARG(6),y ; Save, borrow preserved std 6,y ; Save, borrow preserved
ldd ARG(6),x ldd ARG(6),x
sbcb ARG(15),x sbcb ARG(15),x
sbca ARG(14),x sbca ARG(14),x
std ARG(4),y std 4,y
ldd ARG(4),x ldd ARG(4),x
sbcb ARG(13),x sbcb ARG(13),x
sbca ARG(12),x sbca ARG(12),x
std ARG(2),y std 2,y
ldd ARG(2),x ; Subtract MSB ldd ARG(2),x ; Subtract MSB
sbcb ARG(11),x sbcb ARG(11),x
sbca ARG(10),x sbca ARG(10),x
std ARG(0),y std 0,y
xgdy ; xgdy ;
ret ret
#endif #endif
#ifdef L_notdi2 #ifdef L_notdi2
declare ___notdi2 declare ___notdi2
tsy tsy
xgdx xgdx
ldd ARG(8),y ldd ARG(8),y
coma coma
comb comb
std ARG(6),x std 6,x
ldd ARG(6),y ldd ARG(6),y
coma coma
comb comb
std ARG(4),x std 4,x
ldd ARG(4),y ldd ARG(4),y
coma coma
comb comb
std ARG(2),x std 2,x
ldd ARG(2),y ldd ARG(2),y
coma coma
comb comb
std ARG(0),x std 0,x
xgdx xgdx
ret ret
#endif #endif
...@@ -966,8 +966,8 @@ Ret: ...@@ -966,8 +966,8 @@ Ret:
exg d,y exg d,y
ret ret
#else #else
B_low = 8 B_low = ARG(8)
B_high = 6 B_high = ARG(6)
A_low = 0 A_low = 0
A_high = 2 A_high = 2
pshx pshx
...@@ -1015,7 +1015,7 @@ Return: ...@@ -1015,7 +1015,7 @@ Return:
ins ins
ins ins
ins ins
rts ret
; ;
; ;
; A_low_zero_non_optimized: ; A_low_zero_non_optimized:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment