* m32c.cpu (Bit3-S): New.
authorDJ Delorie <dj@redhat.com>
Tue, 14 Mar 2006 04:20:53 +0000 (04:20 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 14 Mar 2006 04:20:53 +0000 (04:20 +0000)
(btst:s): New.
* m32c.opc (parse_bit3_S): New.

cpu/ChangeLog
cpu/m32c.cpu
cpu/m32c.opc

index 39739d5c53ab8770bcfb2ab94e25ce1bb50c6861..2a888e0cf4e506b16b9f60856ee63de4cc44c33e 100644 (file)
@@ -1,5 +1,9 @@
 2006-03-13  DJ Delorie  <dj@redhat.com>
 
+       * m32c.cpu (Bit3-S): New.
+       (btst:s): New.
+       * m32c.opc (parse_bit3_S): New.
+
        * m32c.cpu (decimal-subtraction16-insn): Add second operand.
        (btst): Add optional :G suffix for MACH32.
        (or.b:S): New.
index 538d25c9eabe29b8715e7d6b405e6cade376cd2a..a645a48b59bb23397b6490ce3edd867e1927a59e 100644 (file)
   h-sint DFLT f-imm3-S
   ((parse "imm3_S")) () ()
 )
+(define-full-operand Bit3-S "3 bit bit number" (m32c-isa)
+  h-sint DFLT f-imm3-S
+  ((parse "bit3_S")) () ()
+)
 
 ;-------------------------------------------------------------
 ; Bit numbers
               (+ (f-0-4 #xD) bit32-16-Unprefixed (f-7-1 #x0) (f-10-3 #x0))
               btst-sem)
 
-; fixme: add btst.s
+(dni btst.s "btst:s" ((machine 32))
+     "btst:s ${Bit3-S},${Dsp-8-u16}"
+     (+ (f-0-2 #x0) (f-4-3 #x5) Bit3-S Dsp-8-u16)
+     () ())
 
 ;-------------------------------------------------------------
 ; btstc
index 62353267f4711ac85f90c226d9412855292af0ea..f664e9a2cdd9d3ceee39434cb5684bd1c510e046 100644 (file)
@@ -533,6 +533,24 @@ parse_imm3_S (CGEN_CPU_DESC cd, const char **strp,
   return 0;
 }
 
+static const char *
+parse_bit3_S (CGEN_CPU_DESC cd, const char **strp,
+            int opindex, signed long *valuep)
+{
+  const char *errmsg = 0;
+  signed long value;
+  
+  errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
+  if (errmsg)
+    return errmsg;
+
+  if (value < 0 || value > 7)
+    return _("immediate is out of range 0-7");
+
+  *valuep = value;
+  return 0;
+}
+
 static const char *
 parse_lab_5_3 (CGEN_CPU_DESC cd,
               const char **strp,