From 8d0e267915c0a376e2aa3604ec7cb5810efac901 Mon Sep 17 00:00:00 2001
From: DJ Delorie <dj@redhat.com>
Date: Tue, 14 Mar 2006 00:29:59 +0000
Subject: [PATCH] * 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.

---
 cpu/ChangeLog |  8 ++++++++
 cpu/m32c.cpu  | 19 ++++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index e96b74ac00b..39739d5c53a 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 3dcfcb91fc3..538d25c9eab 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)
      ())
-- 
GitLab