diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2003-04-12 16:52:17 +0200 |
---|---|---|
committer | Stephane Carrez <ciceron@gcc.gnu.org> | 2003-04-12 16:52:17 +0200 |
commit | c364c3a60d307e78cba573820bfb31b07055d59d (patch) | |
tree | 584feddabcb11cb0b0afb7ce6c37d73165fecf72 | |
parent | 09501938ed571f2548b526f62da3ff548ee80012 (diff) | |
download | gcc-c364c3a60d307e78cba573820bfb31b07055d59d.zip gcc-c364c3a60d307e78cba573820bfb31b07055d59d.tar.gz gcc-c364c3a60d307e78cba573820bfb31b07055d59d.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/m68hc11/larith.asm | 40 |
2 files changed, 27 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05ca07c..dd01a08 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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> * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields. diff --git a/gcc/config/m68hc11/larith.asm b/gcc/config/m68hc11/larith.asm index 4d99fac..78b5885d 100644 --- a/gcc/config/m68hc11/larith.asm +++ b/gcc/config/m68hc11/larith.asm @@ -289,8 +289,8 @@ Done: #else xgdy tsx - ldd 4,x - ldx 2,x ; SRC = X, DST = Y + ldd ARG(4),x + ldx ARG(2),x ; SRC = X, DST = Y cpd #0 beq End pshy @@ -365,85 +365,85 @@ End: #endif #ifdef L_adddi3 - declare ___adddi3 + declare ___adddi3 tsx xgdy ldd ARG(8),x ; Add LSB addd ARG(16),x - std ARG(6),y ; Save (carry preserved) + std 6,y ; Save (carry preserved) ldd ARG(6),x adcb ARG(15),x adca ARG(14),x - std ARG(4),y + std 4,y ldd ARG(4),x adcb ARG(13),x adca ARG(12),x - std ARG(2),y + std 2,y ldd ARG(2),x adcb ARG(11),x ; Add MSB adca ARG(10),x - std ARG(0),y + std 0,y xgdy ret #endif #ifdef L_subdi3 - declare ___subdi3 + declare ___subdi3 tsx xgdy ldd ARG(8),x ; Subtract LSB subd ARG(16),x - std ARG(6),y ; Save, borrow preserved + std 6,y ; Save, borrow preserved ldd ARG(6),x sbcb ARG(15),x sbca ARG(14),x - std ARG(4),y + std 4,y ldd ARG(4),x sbcb ARG(13),x sbca ARG(12),x - std ARG(2),y + std 2,y ldd ARG(2),x ; Subtract MSB sbcb ARG(11),x sbca ARG(10),x - std ARG(0),y + std 0,y xgdy ; ret #endif #ifdef L_notdi2 - declare ___notdi2 + declare ___notdi2 tsy xgdx ldd ARG(8),y coma comb - std ARG(6),x + std 6,x ldd ARG(6),y coma comb - std ARG(4),x + std 4,x ldd ARG(4),y coma comb - std ARG(2),x + std 2,x ldd ARG(2),y coma comb - std ARG(0),x + std 0,x xgdx ret #endif @@ -966,8 +966,8 @@ Ret: exg d,y ret #else -B_low = 8 -B_high = 6 +B_low = ARG(8) +B_high = ARG(6) A_low = 0 A_high = 2 pshx @@ -1015,7 +1015,7 @@ Return: ins ins ins - rts + ret ; ; ; A_low_zero_non_optimized: |