diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-04-23 09:48:57 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-04-23 09:48:57 -0400 |
commit | 263967e71dd4fff21dddb0cd8122a83091510843 (patch) | |
tree | 6a81683645c623b5773d1755a7b0daaaa2e86629 | |
parent | 36f94c9cb3618361343f5628367042efbfdcfe64 (diff) | |
download | gcc-263967e71dd4fff21dddb0cd8122a83091510843.zip gcc-263967e71dd4fff21dddb0cd8122a83091510843.tar.gz gcc-263967e71dd4fff21dddb0cd8122a83091510843.tar.bz2 |
(DUCR.M,DUC.M): Defined.
From-SVN: r13966
-rw-r--r-- | gcc/config/1750a/ms1750.inc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/config/1750a/ms1750.inc b/gcc/config/1750a/ms1750.inc index da2f5a5..cb41e95 100644 --- a/gcc/config/1750a/ms1750.inc +++ b/gcc/config/1750a/ms1750.inc @@ -112,3 +112,47 @@ HI SET `1` + 2 POPM R10,R13 ENDMACRO + +; Double Unsigned Compare Register with register + + MACRO DUCR.M + PSHM R13,R14 ; R13 and R14 are assumed not to be input parameters +LOW1 SET `1` + 1 +LOW2 SET `2` + 1 + PSHM R`1`,R`LOW1` + PSHM R`2`,R`LOW2` + LR R13,R`LOW1` + LR R14,R`LOW2` + DSRL R`1`,1 + DSRL R`2`,1 + DCR R`1`,R`2` + BNE +6 + ANDM R13,1 + ANDM R14,1 + CR R13,R14 + POPM R`2`,R`LOW2` + POPM R`1`,R`LOW1` + POPM R13,R14 + ENDMACRO + + +; Double Unsigned Compare register with memory + + MACRO DUC.M + PSHM R13,R14 ; R13 and R14 are assumed not to be input parameters +LOW1 SET `1` + 1 + PSHM R`1`,R`LOW1` + DL R13,`2` + DSRL R`1`,1 + DSRL R13,1 + DCR R`1`,R13 + BNE +10 ; done, go pop the saved regs + DL R13,`2` ; interested in the *low* word (R14) + L R13,1,R15 + ANDM R13,1 + ANDM R14,1 + CR R13,R14 + POPM R`1`,R`LOW1` + POPM R13,R14 + ENDMACRO + |