diff options
-rw-r--r-- | cpu/ChangeLog | 8 | ||||
-rw-r--r-- | cpu/m32c.cpu | 19 |
2 files changed, 22 insertions, 5 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog index e96b74a..39739d5 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,11 @@ +2006-03-13 DJ Delorie <dj@redhat.com> + + * m32c.cpu (decimal-subtraction16-insn): Add second operand. + (btst): Add optional :G suffix for MACH32. + (or.b:S): New. + (pop.w:G): Add optional :G suffix for MACH16. + (push.b.imm): Fix syntax. + 2006-03-10 DJ Delorie <dj@redhat.com> * m32c.cpu (mul.l): New. diff --git a/cpu/m32c.cpu b/cpu/m32c.cpu index 3dcfcb9..538d25c 100644 --- a/cpu/m32c.cpu +++ b/cpu/m32c.cpu @@ -7243,7 +7243,7 @@ (dni (.sym op 16.b-imm8) (.str op ".b #imm8") ((machine 16)) - (.str op ".b #${Imm-16-QI}") + (.str op ".b #${Imm-16-QI},r0l") (+ (f-0-4 #x7) (f-4-4 #xC) (f-8-4 #xE) (f-12-4 opc1) Imm-16-QI) ((.sym op -sem) QI Imm-16-QI R0l) ()) @@ -7251,7 +7251,7 @@ (dni (.sym op 16.w-imm16) (.str op ".b #imm16") ((machine 16)) - (.str op ".w #${Imm-16-HI}") + (.str op ".w #${Imm-16-HI},r0") (+ (f-0-4 #x7) (f-4-4 #xD) (f-8-4 #xE) (f-12-4 opc1) Imm-16-HI) ((.sym op -sem) HI Imm-16-HI R0) ()) @@ -7562,7 +7562,13 @@ (set zbit (inv dst)) (set cbit dst) ) -(bitdst-insn btst (f-0-4 7) (f-4-4 #xE) (f-8-4 #xB) (f-0-2 1) (f-2-2 1) (f-4-1 1) #xD #x0 #x0 btst-sem) +(bitdst16-defn btst (f-0-4 7) (f-4-4 #xE) (f-8-4 #xB) (f-0-2 1) (f-2-2 1) (f-4-1 1) btst-sem) + +(bit-insn-defn 32 btst G bit32-16-Unprefixed + (+ (f-0-4 #xD) bit32-16-Unprefixed (f-7-1 #x0) (f-10-3 #x0)) + btst-sem) + +; fixme: add btst.s ;------------------------------------------------------------- ; btstc @@ -8554,6 +8560,7 @@ ; ??? semantics ; ldintb <==> ldc #imm,intbh ; ldc #imm,intbl + (dni ldipl16.imm "ldipl #imm" ((machine 16)) ("ldipl #${Imm-13-u3}") (+ (f-0-4 #x7) (f-4-4 #xD) (f-8-4 #xA) (f-12-1 0) Imm-13-u3) @@ -9032,6 +9039,8 @@ (binary-arith32-s-imm-dst HI .w 1 or #x1 #x2 or-sem) ; or.BW src,dst (m16 #3 m32 #3) (binary-arith-src-dst or G (f-0-4 #x9) (f-4-3 4) #x1 #x5 or-sem) +; or.b:S src,r0[lh] (m16) +(binary-arith16-b-S-src2 or (f-0-4 1) (f-4-1 1) or-sem) ;------------------------------------------------------------- ; pop - restore register/memory @@ -9057,7 +9066,7 @@ (define-pmacro (pop-sem32 mode dest) (pop-sem-mach 32 mode dest)) ; pop.BW:G (m16 #1) -(unary-insn-mach 16 pop (f-0-4 7) (f-4-3 2) (f-8-4 #xD) pop-sem16) +(unary-insn-mach-g 16 pop (f-0-4 7) (f-4-3 2) (f-8-4 #xD) pop-sem16 $G) ; pop.BW:G (m32 #1) (unary-insn-mach 32 pop #xB #x2 #xF pop-sem32) @@ -9368,7 +9377,7 @@ ()) (dni push32.b.imm "push.b #Imm-8-QI" ((machine 32)) - ("push.b #Imm-8-QI") + ("push.b #${Imm-8-QI}") (+ (f-0-4 #xA) (f-4-4 #xE) Imm-8-QI) (push-sem32 QI Imm-8-QI) ()) |