Must use VOID expression in VOID context.
* xc16x.cpu (mov4): Fix mode of `sequence'. (mov9, mov10): Ditto. (movbsrr, moveb1, jmprel, jmpseg, jmps): Fix mode of `if'. (callr, callseg, calls, trap, rets, reti): Ditto. (jb, jbc, jnb, jnbs): Fix mode of `if'. Comment out no-op `sll'. (atomic, extr, extp, extp1, extpg1, extpr, extpr1): Fix mode of `cond'. (exts, exts1, extsr, extsr1, prior): Ditto.
This commit is contained in:
parent
8b3f93e7a1
commit
ec84cc2be7
@ -1,3 +1,14 @@
|
||||
2009-11-14 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
Must use VOID expression in VOID context.
|
||||
* xc16x.cpu (mov4): Fix mode of `sequence'.
|
||||
(mov9, mov10): Ditto.
|
||||
(movbsrr, moveb1, jmprel, jmpseg, jmps): Fix mode of `if'.
|
||||
(callr, callseg, calls, trap, rets, reti): Ditto.
|
||||
(jb, jbc, jnb, jnbs): Fix mode of `if'. Comment out no-op `sll'.
|
||||
(atomic, extr, extp, extp1, extpg1, extpr, extpr1): Fix mode of `cond'.
|
||||
(exts, exts1, extsr, extsr1, prior): Ditto.
|
||||
|
||||
2009-10-23 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
|
||||
|
196
cpu/xc16x.cpu
196
cpu/xc16x.cpu
@ -1476,7 +1476,7 @@
|
||||
((PIPE OS) (IDOC MOVE))
|
||||
(.str insn " [-$"op2 "],$"op1)
|
||||
(+ opc1 opc2 op1 op2)
|
||||
(sequence HI ()
|
||||
(sequence ()
|
||||
(set op1 (sub op2 (const HI 2)))
|
||||
(set HI (mem HI op2) op1)
|
||||
)
|
||||
@ -1558,7 +1558,7 @@
|
||||
((PIPE OS) (IDOC MOVE))
|
||||
(.str insn " $"op1 ",[$"op2"+$hash$"uimm16"]")
|
||||
(+ opc1 opc2 op1 op2 uimm16)
|
||||
(sequence mode ((mode tmp1))
|
||||
(sequence ((mode tmp1))
|
||||
(set mode tmp1 (add HI op2 uimm16))
|
||||
(set mode op1 (mem HI tmp1))
|
||||
)
|
||||
@ -1575,7 +1575,7 @@
|
||||
((PIPE OS) (IDOC MOVE))
|
||||
(.str insn " [$"op2"+$hash$"uimm16 "],$"op1)
|
||||
(+ opc1 opc2 op1 op2 uimm16)
|
||||
(sequence mode ((mode tmp1))
|
||||
(sequence ((mode tmp1))
|
||||
(set mode tmp1 (add HI op1 uimm16))
|
||||
(set mode (mem HI tmp1) op1)
|
||||
)
|
||||
@ -1722,8 +1722,8 @@
|
||||
"movbs $sr,$drb"
|
||||
(+ OP1_13 OP2_0 drb sr)
|
||||
(sequence ()
|
||||
(if QI (and QI drb (const 128))
|
||||
(set HI sr (or HI (const HI 65280) drb)))
|
||||
(if (and QI drb (const 128))
|
||||
(set HI sr (or HI (const HI 65280) drb)))
|
||||
(set HI sr (and HI (const HI 255) drb))
|
||||
)
|
||||
()
|
||||
@ -1815,8 +1815,8 @@
|
||||
(.str insn " $"op2 ",$"op1)
|
||||
(+ opc1 opc2 op1 op2)
|
||||
(sequence ()
|
||||
(if QI (and QI op1 (const 128))
|
||||
(set HI op2 (or HI (const HI 65280) op1)))
|
||||
(if (and QI op1 (const 128))
|
||||
(set HI op2 (or HI (const HI 65280) op1)))
|
||||
(set HI op2 (and HI (const HI 255) op1))
|
||||
)
|
||||
()
|
||||
@ -1896,13 +1896,13 @@
|
||||
(sequence ()
|
||||
(if (eq cond (const 1))
|
||||
(sequence ()
|
||||
(if QI (lt QI rel (const 0))
|
||||
(sequence ()
|
||||
;; FIXME: (neg QI rel)
|
||||
;; FIXME: (add QI rel (const 1))
|
||||
;; FIXME: (mul QI rel (const 2))
|
||||
(set HI pc (sub HI pc rel))
|
||||
))
|
||||
(if (lt QI rel (const 0))
|
||||
(sequence ()
|
||||
;; FIXME: (neg QI rel)
|
||||
;; FIXME: (add QI rel (const 1))
|
||||
;; FIXME: (mul QI rel (const 2))
|
||||
(set HI pc (sub HI pc rel))
|
||||
))
|
||||
(set HI pc (add HI pc (mul QI rel (const 2))))
|
||||
)
|
||||
)
|
||||
@ -1942,9 +1942,11 @@
|
||||
"jmps $hash$segm$useg8,$hash$sof$usof16"
|
||||
(+ OP1_15 OP2_10 seg usof16)
|
||||
(sequence ()
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) useg8))
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) useg8))
|
||||
;; FIXME: previous indentation suggested this nop was the `else'
|
||||
;; clause of the previous `if'.
|
||||
(nop)
|
||||
(set HI pc usof16)
|
||||
)
|
||||
()
|
||||
@ -1956,9 +1958,11 @@
|
||||
"jmps $seg,$caddr"
|
||||
(+ OP1_15 OP2_10 seg caddr)
|
||||
(sequence ()
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) seg))
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) seg))
|
||||
;; FIXME: previous indentation suggested this nop was the `else'
|
||||
;; clause of the previous `if'.
|
||||
(nop)
|
||||
(set HI pc caddr)
|
||||
)
|
||||
()
|
||||
@ -1974,14 +1978,14 @@
|
||||
(sequence ((HI tmp1) (HI tmp2))
|
||||
(set HI tmp1 genreg)
|
||||
(set HI tmp2 (const 1))
|
||||
(sll HI tmp2 qlobit)
|
||||
;;(sll HI tmp2 qlobit) - FIXME: missing (set ...)
|
||||
(set HI tmp2 (and tmp1 tmp2))
|
||||
(if (eq tmp2 (const 1))
|
||||
(if (eq tmp2 (const 1)) ;; FIXME: (ne tmp2 0)?
|
||||
(sequence ()
|
||||
(if QI (lt QI relhi (const 0))
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
(if (lt QI relhi (const 0))
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
))
|
||||
(set HI pc (add HI pc (const 4)))
|
||||
(set HI pc (add HI pc (const 4))) ;; FIXME: Is this right?
|
||||
)
|
||||
()
|
||||
)
|
||||
@ -1995,20 +1999,21 @@
|
||||
(sequence ((HI tmp1) (HI tmp2))
|
||||
(set HI tmp1 genreg)
|
||||
(set HI tmp2 (const 1))
|
||||
(sll HI tmp2 qlobit)
|
||||
;;(sll HI tmp2 qlobit) - FIXME: missing (set ...)
|
||||
(set HI tmp2 (and tmp1 tmp2))
|
||||
(if (eq tmp2 (const 1))
|
||||
(if (eq tmp2 (const 1)) ;; FIXME: (ne tmp2 0)?
|
||||
(sequence ()
|
||||
(if QI (lt QI relhi (const 0))
|
||||
(set tmp2 (const 1))
|
||||
(set tmp1 genreg)
|
||||
;; FIXME: (sll tmp2 qlobit)
|
||||
;; FIXME: (inv tmp2)
|
||||
(set HI tmp1(and tmp1 tmp2))
|
||||
(set HI genreg tmp1)
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
;; FIXME: The `else' clause has several statements.
|
||||
(if (lt QI relhi (const 0))
|
||||
(set tmp2 (const 1))
|
||||
(set tmp1 genreg)
|
||||
;; FIXME: (sll tmp2 qlobit)
|
||||
;; FIXME: (inv tmp2)
|
||||
(set HI tmp1 (and tmp1 tmp2))
|
||||
(set HI genreg tmp1)
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
))
|
||||
(set HI pc (add HI pc (const 4)))
|
||||
(set HI pc (add HI pc (const 4))) ;; FIXME: Is this right?
|
||||
)
|
||||
()
|
||||
)
|
||||
@ -2022,14 +2027,14 @@
|
||||
(sequence ((HI tmp1) (HI tmp2))
|
||||
(set HI tmp1 genreg)
|
||||
(set HI tmp2 (const 1))
|
||||
(sll HI tmp2 qlobit)
|
||||
;;(sll HI tmp2 qlobit) - FIXME: missing (set ...)
|
||||
(set HI tmp2 (and tmp1 tmp2))
|
||||
(if (eq tmp2 (const 0))
|
||||
(if (eq tmp2 (const 0)) ;; FIXME: (ne tmp2 0)?
|
||||
(sequence ()
|
||||
(if QI (lt QI relhi (const 0))
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
(if (lt QI relhi (const 0))
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
))
|
||||
(set HI pc (add HI pc (const 4)))
|
||||
(set HI pc (add HI pc (const 4))) ;; FIXME: Is this right?
|
||||
)
|
||||
()
|
||||
)
|
||||
@ -2043,19 +2048,20 @@
|
||||
(sequence ((HI tmp1) (HI tmp2))
|
||||
(set HI tmp1 genreg)
|
||||
(set HI tmp2 (const 1))
|
||||
(sll HI tmp2 qlobit)
|
||||
;;(sll HI tmp2 qlobit) - FIXME: missing (set ...)
|
||||
(set HI tmp2 (and tmp1 tmp2))
|
||||
(if (eq tmp2 (const 0))
|
||||
(sequence ()
|
||||
(if QI (lt QI relhi (const 0))
|
||||
(set tmp2 (const 1))
|
||||
(set tmp1 reg8)
|
||||
;; FIXME: (sll tmp2 qbit)
|
||||
(set BI tmp1(or tmp1 tmp2))
|
||||
(set HI reg8 tmp1)
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
;; FIXME: The `else' clause has several statements.
|
||||
(if (lt QI relhi (const 0))
|
||||
(set tmp2 (const 1))
|
||||
(set tmp1 reg8)
|
||||
;; FIXME: (sll tmp2 qbit)
|
||||
(set BI tmp1(or tmp1 tmp2))
|
||||
(set HI reg8 tmp1)
|
||||
(set HI pc (add HI pc (mul QI relhi (const 2)))))
|
||||
))
|
||||
(set HI pc (add HI pc (const 4)))
|
||||
(set HI pc (add HI pc (const 4))) ;; FIXME: Is this right?
|
||||
)
|
||||
()
|
||||
)
|
||||
@ -2127,13 +2133,13 @@
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) pc)
|
||||
(sequence ()
|
||||
(if QI (lt QI rel (const 0))
|
||||
(sequence ()
|
||||
;; FIXME: (neg QI rel)
|
||||
;; FIXME: (add QI rel (const 1))
|
||||
;; FIXME: (mul QI rel (const 2))
|
||||
(set HI pc (sub HI pc rel))
|
||||
))
|
||||
(if (lt QI rel (const 0))
|
||||
(sequence ()
|
||||
;; FIXME: (neg QI rel)
|
||||
;; FIXME: (add QI rel (const 1))
|
||||
;; FIXME: (mul QI rel (const 2))
|
||||
(set HI pc (sub HI pc rel))
|
||||
))
|
||||
(set HI pc (add HI pc (mul QI rel (const 2))))
|
||||
)
|
||||
)
|
||||
@ -2151,9 +2157,11 @@
|
||||
(set HI (mem HI (reg h-cr 9)) (reg h-cr 10))
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) pc)
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) useg8))
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) useg8))
|
||||
;; FIXME: previous indentation suggested this nop was the `else'
|
||||
;; clause of the previous `if'.
|
||||
(nop)
|
||||
(set HI pc usof16)
|
||||
)
|
||||
()
|
||||
@ -2169,9 +2177,11 @@
|
||||
(set HI (mem HI (reg h-cr 9)) (reg h-cr 10))
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) pc)
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) seg))
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set QI (reg h-cr 10) seg))
|
||||
;; FIXME: previous indentation suggested this nop was the `else'
|
||||
;; clause of the previous `if'.
|
||||
(nop)
|
||||
(set HI pc caddr)
|
||||
)
|
||||
()
|
||||
@ -2201,11 +2211,11 @@
|
||||
(sequence ()
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) (reg h-cr 4))
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) (reg h-cr 10) )
|
||||
)
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) (reg h-cr 10) )
|
||||
)
|
||||
(nop)
|
||||
(set HI (reg h-cr 10) (reg h-cr 11))
|
||||
(set (reg h-cr 9) (sub HI (reg h-cr 9) (const 2)))
|
||||
(set HI (mem HI (reg h-cr 9)) pc)
|
||||
@ -2235,10 +2245,10 @@
|
||||
(sequence ()
|
||||
(set HI pc (mem HI (reg h-cr 9)))
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(set HI (reg h-cr 10) (mem HI (reg h-cr 9)))
|
||||
)
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(set HI (reg h-cr 10) (mem HI (reg h-cr 9)))
|
||||
)
|
||||
(nop)
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
)
|
||||
()
|
||||
@ -2267,13 +2277,13 @@
|
||||
(sequence ()
|
||||
(set HI pc (mem HI (reg h-cr 9)))
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
(if QI (eq BI sgtdisbit (const BI 0))
|
||||
(sequence ()
|
||||
(set HI (reg h-cr 10) (mem HI (reg h-cr 9)))
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
(if (eq BI sgtdisbit (const BI 0))
|
||||
(sequence ()
|
||||
(set HI (reg h-cr 10) (mem HI (reg h-cr 9)))
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
(set HI (reg h-cr 4) (mem HI (reg h-cr 9)))
|
||||
(set (reg h-cr 9) (add HI (reg h-cr 9) (const 2)))
|
||||
)
|
||||
@ -2411,7 +2421,7 @@
|
||||
(+ OP1_13 OP2_1 (f-op-lbit2 0) uimm2 (f-op-bit4 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2431,7 +2441,7 @@
|
||||
(+ OP1_13 OP2_1 (f-op-lbit2 2) uimm2 (f-op-bit4 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2451,7 +2461,7 @@
|
||||
(+ OP1_13 OP2_12 (f-op-lbit2 1) uimm2 sr)
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2471,7 +2481,7 @@
|
||||
(+ OP1_13 OP2_7 (f-op-lbit2 1) uimm2 (f-op-bit4 0) pagenum (f-qlobit 0) (f-qlobit2 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2490,7 +2500,7 @@
|
||||
(+ OP1_13 OP2_7 (f-op-lbit2 1) uimm2 (f-op-bit4 0) upag16 )
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2510,7 +2520,7 @@
|
||||
(+ OP1_13 OP2_12 (f-op-lbit2 3) uimm2 sr)
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2530,7 +2540,7 @@
|
||||
(+ OP1_13 OP2_7 (f-op-lbit2 3) uimm2 (f-op-bit4 0) pagenum (f-qlobit 0) (f-qlobit2 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2550,7 +2560,7 @@
|
||||
(+ OP1_13 OP2_12 (f-op-lbit2 0) uimm2 sr)
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2570,7 +2580,7 @@
|
||||
(+ OP1_13 OP2_7 (f-op-lbit2 0) uimm2 (f-op-bit4 0) seghi8 (f-op-bit8 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2590,7 +2600,7 @@
|
||||
(+ OP1_13 OP2_12 (f-op-lbit2 2) uimm2 sr)
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2610,7 +2620,7 @@
|
||||
(+ OP1_13 OP2_7 (f-op-lbit2 2) uimm2 (f-op-bit4 0) seghi8 (f-op-bit8 0))
|
||||
(sequence ((HI count))
|
||||
(set HI count uimm2)
|
||||
(cond HI
|
||||
(cond
|
||||
((ne HI count (const 0))
|
||||
(sequence ()
|
||||
(set HI pc (add HI pc (const 2)))
|
||||
@ -2632,9 +2642,9 @@
|
||||
(set HI count (const 0))
|
||||
(set HI tmp1 sr)
|
||||
(set HI tmp2 (and tmp1 (const 32768)))
|
||||
(cond HI
|
||||
((ne HI tmp2 (const 1)) (ne HI sr (const 0))
|
||||
(sll HI tmp1 (const 1))
|
||||
(cond
|
||||
((ne HI tmp2 (const 1)) ;;(ne HI sr (const 0)) - FIXME: and? or?
|
||||
;;(sll HI tmp1 (const 1)) - FIXME: missing (set ...)
|
||||
(set HI tmp2 (and tmp1 (const 32768)))
|
||||
(set HI count (add HI count (const 1)))
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user