* m32c.cpu (decimal-subtraction16-insn): Add second operand.
authorDJ Delorie <dj@redhat.com>
Tue, 14 Mar 2006 00:29:59 +0000 (00:29 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 14 Mar 2006 00:29:59 +0000 (00:29 +0000)
(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
cpu/m32c.cpu

index e96b74a..39739d5 100644 (file)
@@ -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.
 2006-03-10  DJ Delorie  <dj@redhat.com>
 
        * m32c.cpu (mul.l): New.
index 3dcfcb9..538d25c 100644 (file)
     (dni (.sym op 16.b-imm8)
         (.str op ".b #imm8")
         ((machine 16))
     (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)
         ())
         (+ (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)
         ())
     (dni (.sym op 16.w-imm16)
         (.str op ".b #imm16")
         ((machine 16))
     (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)
         ())
         (+ (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)
         ())
   (set zbit (inv dst))
   (set cbit dst)
 )
   (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
 
 ;-------------------------------------------------------------
 ; btstc
 
 ; ??? semantics
 ; ldintb <==> ldc #imm,intbh ; ldc #imm,intbl
 
 ; ??? 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)
 (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)
 (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)
 (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
 
 ;-------------------------------------------------------------
 ; pop - restore register/memory
 (define-pmacro (pop-sem32 mode dest) (pop-sem-mach 32 mode dest))
 
 ; pop.BW:G (m16 #1)
 (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)
 
 ; pop.BW:G (m32 #1)
 (unary-insn-mach 32 pop #xB #x2 #xF pop-sem32)
 
      ())
 
 (dni push32.b.imm "push.b #Imm-8-QI" ((machine 32))
      ())
 
 (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)
      ())
      (+ (f-0-4 #xA) (f-4-4 #xE) Imm-8-QI)
      (push-sem32 QI Imm-8-QI)
      ())