OSDN Git Service

(DUCR.M,DUC.M): Defined.
[pf3gnuchains/gcc-fork.git] / gcc / config / 1750a / ms1750.inc
index 1c4370c..cb41e95 100644 (file)
@@ -71,3 +71,88 @@ TWO  SET  `2` + 1
        NR    R`ONE`,R`TWO`
      ENDMACRO
 
        NR    R`ONE`,R`TWO`
      ENDMACRO
 
+; Unsigned Compare Immediate
+
+     MACRO UCIM.M
+LAST   SET   `1` + 3
+       PSHM  R`1`,R`LAST`
+LO     SET   `1` + 1
+       LR    R`LO`,R`1`
+       XORR  R`1`,R`1`
+HI     SET   `1` + 2
+       XORR  R`HI`,R`HI`
+       LIM   R`LAST`,`2`
+       DCR   R`1`,R`HI`
+       POPM  R`1`,R`LAST`
+     ENDMACRO
+
+
+; Unsigned Compare Register with register
+
+     MACRO UCR.M
+       PSHM  R10,R13    ; R12 and R13 are assumed not to be input parameters
+       LR    R13,R`2`
+       LR    R11,R`1`
+       XORR  R12,R12
+       XORR  R10,R10
+       DCR   R10,R12
+       POPM  R10,R13
+     ENDMACRO
+
+
+; Unsigned Compare register with memory
+
+     MACRO UC.M
+       PSHM  R10,R13
+       L     R13,`2`
+       LR    R11,R`1`
+       XORR  R12,R12
+       XORR  R10,R10
+       DCR   R10,R12
+       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
+