OSDN Git Service

[cgen]
authordj <dj>
Sat, 18 Apr 2009 02:56:42 +0000 (02:56 +0000)
committerdj <dj>
Sat, 18 Apr 2009 02:56:42 +0000 (02:56 +0000)
* cpu/mep-c5.cpu (f-12s20): Change to signed.
(lhucpm1): Limit to C5 mach.
(dsp0,dsp1): Rewrite as aliases so that intrinsics are generated.
* cpu/mep-core.cpu (extend-cdisp10): New.
(f-cdisp10): Change to signed, use extend-cdisp10 to sign extend.

[opcodes]
* mep-desc.c: Regenerate.
* mep-ibld.c: Regenerate.
* mep-opc.c: Regenerate.
* mep-opc.h: Regenerate.

[sid/component/cgen-cpu/mep]
* mep-core1-decode.cxx: Regenerate.
* mep-core1-decode.h: Regenerate.
* mep-decode.cxx: Regenerate.
* mep-decode.h: Regenerate.

13 files changed:
cgen/ChangeLog
cgen/cpu/mep-c5.cpu
cgen/cpu/mep-core.cpu
opcodes/ChangeLog
opcodes/mep-desc.c
opcodes/mep-ibld.c
opcodes/mep-opc.c
opcodes/mep-opc.h
sid/component/cgen-cpu/mep/ChangeLog
sid/component/cgen-cpu/mep/mep-core1-decode.cxx
sid/component/cgen-cpu/mep/mep-core1-decode.h
sid/component/cgen-cpu/mep/mep-decode.cxx
sid/component/cgen-cpu/mep/mep-decode.h

index a2a5515..3070638 100644 (file)
@@ -1,3 +1,11 @@
+2009-04-17  DJ Delorie  <dj@redhat.com>
+
+       * cpu/mep-c5.cpu (f-12s20): Change to signed.
+       (lhucpm1): Limit to C5 mach.
+       (dsp0,dsp1): Rewrite as aliases so that intrinsics are generated.
+       * cpu/mep-core.cpu (extend-cdisp10): New.
+       (f-cdisp10): Change to signed, use extend-cdisp10 to sign extend.
+       
 2009-04-08  DJ Delorie  <dj@redhat.com>
 
        * cpu/mep-c5.cpu: New.
index b52c92c..e70cee8 100644 (file)
@@ -6,7 +6,7 @@
 (dnf f-c5n6     "extended field"     (all-mep-core-isas)   24  4)
 (dnf f-c5n7     "extended field"     (all-mep-core-isas)   28  4)
 (dnf f-rl5      "register l c5"      (all-mep-core-isas)   20  4)
-(dnf f-12s20    "extended field"     (all-mep-core-isas)   20  12)
+(df  f-12s20    "extended field"     (all-mep-core-isas)   20  12  INT #f #f)
 
 (dnop rl5       "register Rl c5"     (all-mep-core-isas) h-gpr   f-rl5)
 (dnop cdisp12   "copro addend (12 bits)" (all-mep-core-isas) h-sint  f-12s20)
      ((mep (unit u-use-gpr (in usereg rma))
           (unit u-exec))))
 
-(dnci lhucpm1 "lhucpm1" (OPTIONAL_CP_INSN)
+(dnci lhucpm1 "lhucpm1" (OPTIONAL_CP_INSN (MACH c5))
      "lhucpm1 $crn,($rma+),$cdisp10a2"
      (+ MAJ_15 crn rma (f-sub4 5) (f-ext4 #xd) (f-ext62 #x3) cdisp10a2)
      (sequence ()
           (unit u-use-gpr (in usereg rn))
           (unit u-exec))))
 
-(dncmi dsp0 "dsp0" ((MACH c5) NO-DIS VOLATILE)
+(dnci dsp0 "dsp0" ((MACH c5) VOLATILE NO-DIS ALIAS)
      "dsp0 $c5rnmuimm24"
-     (emit dsp
-          (rn (sll c5rnmuimm24 20))
-          (rm (and (sll c5rnmuimm24 16) #xf))
-          (uimm16 (and c5rnmuimm24 #xffff)))
-     )
+     (+ MAJ_15 c5rnmuimm24 (f-sub4 0))
+     (c-call VOID "do_DSP" (zext SI c5rnmuimm24) pc)
+     ((mep (unit u-exec))))
 
-(dncmi dsp1 "dsp1" ((MACH c5) NO-DIS VOLATILE)
+(dnci dsp1 "dsp1" ((MACH c5) VOLATILE NO-DIS ALIAS)
      "dsp1 $rn,$c5rmuimm20"
-     (emit dsp
-          rn
-          (rm (sll c5rnmuimm24 16))
-          (uimm16 (and c5rnmuimm24 #xffff)))
-     )
+     (+ MAJ_15 rn (f-sub4 0) c5rmuimm20)
+     (set rn (c-call SI "do_DSP" rn (zext SI c5rmuimm20) pc))
+     ((mep (unit u-use-gpr (in usereg rn))
+          (unit u-exec))))
index 2ea98d6..57856cd 100644 (file)
         (cond SI ((and SI val #x80) (xor SI val #x300)) (else val)))
        )
   )
+(define-pmacro (extend-cdisp10 val)
+  (cond SI
+       ((and SI (compute-cdisp10 val) #x200)
+        (sub (and SI (compute-cdisp10 val) #x3ff) #x400))
+       (else
+        (and SI (compute-cdisp10 val) #x3ff))
+       )
+  )
 
-(df f-cdisp10    "cop imm10"          (all-mep-core-isas)   22  10 UINT
-    ((value pc) (compute-cdisp10 value))
-    ((value pc) (compute-cdisp10 value))
+(df f-cdisp10    "cop imm10"          (all-mep-core-isas)   22  10 INT
+    ((value pc) (extend-cdisp10 value))
+    ((value pc) (extend-cdisp10 value))
     )
 
 ; Non-contiguous fields.
index 36f08e0..9d4794f 100644 (file)
@@ -1,3 +1,10 @@
+2009-04-17  DJ Delorie  <dj@redhat.com
+
+       * mep-desc.c: Regenerate.
+       * mep-ibld.c: Regenerate.
+       * mep-opc.c: Regenerate.
+       * mep-opc.h: Regenerate.
+
 2009-04-15  Anthony Green  <green@moxielogic.com>
 
        * moxie-opc.c, moxie-dis.c: Created.
index a210bda..9225cad 100644 (file)
@@ -1122,7 +1122,7 @@ static const CGEN_IBASE mep_cgen_insn_table[MAX_INSNS] =
 /* lhucpm1 $crn,($rma+),$cdisp10a2 */
   {
     MEP_INSN_LHUCPM1, "lhucpm1", "lhucpm1", 32,
-    { 0|A(OPTIONAL_CP_INSN), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
+    { 0|A(OPTIONAL_CP_INSN), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
   },
 /* uci $rn,$rm,$uimm16 */
   {
@@ -1134,6 +1134,16 @@ static const CGEN_IBASE mep_cgen_insn_table[MAX_INSNS] =
     MEP_INSN_DSP, "dsp", "dsp", 32,
     { 0|A(VOLATILE), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
   },
+/* dsp0 $c5rnmuimm24 */
+  {
+    -1, "dsp0", "dsp0", 32,
+    { 0|A(ALIAS)|A(NO_DIS)|A(VOLATILE), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
+  },
+/* dsp1 $rn,$c5rmuimm20 */
+  {
+    -1, "dsp1", "dsp1", 32,
+    { 0|A(ALIAS)|A(NO_DIS)|A(VOLATILE), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
+  },
 /* sb $rnc,($rma) */
   {
     MEP_INSN_SB, "sb", "sb", 16,
index 9473906..422a90d 100644 (file)
@@ -649,33 +649,33 @@ mep_cgen_insert_operand (CGEN_CPU_DESC cd,
     case MEP_OPERAND_CDISP10 :
       {
         long value = fields->f_cdisp10;
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
-        errmsg = insert_normal (cd, value, 0, 0, 22, 10, 32, total_length, buffer);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
+        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, buffer);
       }
       break;
     case MEP_OPERAND_CDISP10A2 :
       {
         long value = fields->f_cdisp10;
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
-        errmsg = insert_normal (cd, value, 0, 0, 22, 10, 32, total_length, buffer);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
+        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, buffer);
       }
       break;
     case MEP_OPERAND_CDISP10A4 :
       {
         long value = fields->f_cdisp10;
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
-        errmsg = insert_normal (cd, value, 0, 0, 22, 10, 32, total_length, buffer);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
+        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, buffer);
       }
       break;
     case MEP_OPERAND_CDISP10A8 :
       {
         long value = fields->f_cdisp10;
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
-        errmsg = insert_normal (cd, value, 0, 0, 22, 10, 32, total_length, buffer);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
+        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, buffer);
       }
       break;
     case MEP_OPERAND_CDISP12 :
-      errmsg = insert_normal (cd, fields->f_12s20, 0, 0, 20, 12, 32, total_length, buffer);
+      errmsg = insert_normal (cd, fields->f_12s20, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 12, 32, total_length, buffer);
       break;
     case MEP_OPERAND_CIMM4 :
       errmsg = insert_normal (cd, fields->f_rn, 0, 0, 4, 4, 32, total_length, buffer);
@@ -1082,37 +1082,37 @@ mep_cgen_extract_operand (CGEN_CPU_DESC cd,
     case MEP_OPERAND_CDISP10 :
       {
         long value;
-        length = extract_normal (cd, ex_info, insn_value, 0, 0, 22, 10, 32, total_length, pc, & value);
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
+        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, pc, & value);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
         fields->f_cdisp10 = value;
       }
       break;
     case MEP_OPERAND_CDISP10A2 :
       {
         long value;
-        length = extract_normal (cd, ex_info, insn_value, 0, 0, 22, 10, 32, total_length, pc, & value);
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
+        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, pc, & value);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
         fields->f_cdisp10 = value;
       }
       break;
     case MEP_OPERAND_CDISP10A4 :
       {
         long value;
-        length = extract_normal (cd, ex_info, insn_value, 0, 0, 22, 10, 32, total_length, pc, & value);
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
+        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, pc, & value);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
         fields->f_cdisp10 = value;
       }
       break;
     case MEP_OPERAND_CDISP10A8 :
       {
         long value;
-        length = extract_normal (cd, ex_info, insn_value, 0, 0, 22, 10, 32, total_length, pc, & value);
-        value = ((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value));
+        length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 22, 10, 32, total_length, pc, & value);
+        value = (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (512))) ? (((((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023))) - (1024))) : (((((((((value) & (128))) ? (((value) ^ (768))) : (value)) & (512))) ? ((((((value) & (128))) ? (((value) ^ (768))) : (value)) - (1024))) : ((((value) & (128))) ? (((value) ^ (768))) : (value))) & (1023)));
         fields->f_cdisp10 = value;
       }
       break;
     case MEP_OPERAND_CDISP12 :
-      length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 12, 32, total_length, pc, & fields->f_12s20);
+      length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 20, 12, 32, total_length, pc, & fields->f_12s20);
       break;
     case MEP_OPERAND_CIMM4 :
       length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_rn);
index bd298cb..e2711e7 100644 (file)
@@ -212,6 +212,14 @@ static const CGEN_IFMT ifmt_dsp ATTRIBUTE_UNUSED = {
   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
 };
 
+static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = {
+  32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_C5_RNMUIMM24) }, { F (F_SUB4) }, { 0 } }
+};
+
+static const CGEN_IFMT ifmt_dsp1 ATTRIBUTE_UNUSED = {
+  32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_C5_RMUIMM20) }, { F (F_SUB4) }, { 0 } }
+};
+
 static const CGEN_IFMT ifmt_sb ATTRIBUTE_UNUSED = {
   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
 };
@@ -569,6 +577,18 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] =
     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
     & ifmt_dsp, { 0xf0000000 }
   },
+/* dsp0 $c5rnmuimm24 */
+  {
+    { 0, 0, 0, 0 },
+    { { MNEM, ' ', OP (C5RNMUIMM24), 0 } },
+    & ifmt_dsp0, { 0xf0000000 }
+  },
+/* dsp1 $rn,$c5rmuimm20 */
+  {
+    { 0, 0, 0, 0 },
+    { { MNEM, ' ', OP (RN), ',', OP (C5RMUIMM20), 0 } },
+    & ifmt_dsp1, { 0xf0000000 }
+  },
 /* sb $rnc,($rma) */
   {
     { 0, 0, 0, 0 },
@@ -1795,14 +1815,6 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] =
 #else
 #define F(f) & mep_cgen_ifld_table[MEP_/**/f]
 #endif
-static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = {
-  32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
-};
-
-static const CGEN_IFMT ifmt_dsp1 ATTRIBUTE_UNUSED = {
-  32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
-};
-
 static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
 };
@@ -1876,16 +1888,6 @@ static const CGEN_IFMT ifmt_lmcp16_0 ATTRIBUTE_UNUSED = {
 
 static const CGEN_IBASE mep_cgen_macro_insn_table[] =
 {
-/* dsp0 $c5rnmuimm24 */
-  {
-    -1, "dsp0", "dsp0", 32,
-    { 0|A(VOLATILE)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
-  },
-/* dsp1 $rn,$c5rmuimm20 */
-  {
-    -1, "dsp1", "dsp1", 32,
-    { 0|A(VOLATILE)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } }
-  },
 /* nop */
   {
     -1, "nop", "nop", 16,
@@ -1957,18 +1959,6 @@ static const CGEN_IBASE mep_cgen_macro_insn_table[] =
 
 static const CGEN_OPCODE mep_cgen_macro_insn_opcode_table[] =
 {
-/* dsp0 $c5rnmuimm24 */
-  {
-    { 0, 0, 0, 0 },
-    { { MNEM, ' ', OP (C5RNMUIMM24), 0 } },
-    & ifmt_dsp0, { 0xf0000000 }
-  },
-/* dsp1 $rn,$c5rmuimm20 */
-  {
-    { 0, 0, 0, 0 },
-    { { MNEM, ' ', OP (RN), ',', OP (C5RMUIMM20), 0 } },
-    & ifmt_dsp1, { 0xf0000000 }
-  },
 /* nop */
   {
     { 0, 0, 0, 0 },
index 5e56923..3e89249 100644 (file)
@@ -101,57 +101,58 @@ typedef enum cgen_insn_type {
  , MEP_INSN_SBCP, MEP_INSN_LBCP, MEP_INSN_LBUCP, MEP_INSN_SHCP
  , MEP_INSN_LHCP, MEP_INSN_LHUCP, MEP_INSN_LBUCPA, MEP_INSN_LHUCPA
  , MEP_INSN_LBUCPM0, MEP_INSN_LHUCPM0, MEP_INSN_LBUCPM1, MEP_INSN_LHUCPM1
- , MEP_INSN_UCI, MEP_INSN_DSP, MEP_INSN_SB, MEP_INSN_SH
- , MEP_INSN_SW, MEP_INSN_LB, MEP_INSN_LH, MEP_INSN_LW
- , MEP_INSN_LBU, MEP_INSN_LHU, MEP_INSN_SW_SP, MEP_INSN_LW_SP
- , MEP_INSN_SB_TP, MEP_INSN_SH_TP, MEP_INSN_SW_TP, MEP_INSN_LB_TP
- , MEP_INSN_LH_TP, MEP_INSN_LW_TP, MEP_INSN_LBU_TP, MEP_INSN_LHU_TP
- , MEP_INSN_SB16, MEP_INSN_SH16, MEP_INSN_SW16, MEP_INSN_LB16
- , MEP_INSN_LH16, MEP_INSN_LW16, MEP_INSN_LBU16, MEP_INSN_LHU16
- , MEP_INSN_SW24, MEP_INSN_LW24, MEP_INSN_EXTB, MEP_INSN_EXTH
- , MEP_INSN_EXTUB, MEP_INSN_EXTUH, MEP_INSN_SSARB, MEP_INSN_MOV
- , MEP_INSN_MOVI8, MEP_INSN_MOVI16, MEP_INSN_MOVU24, MEP_INSN_MOVU16
- , MEP_INSN_MOVH, MEP_INSN_ADD3, MEP_INSN_ADD, MEP_INSN_ADD3I
- , MEP_INSN_ADVCK3, MEP_INSN_SUB, MEP_INSN_SBVCK3, MEP_INSN_NEG
- , MEP_INSN_SLT3, MEP_INSN_SLTU3, MEP_INSN_SLT3I, MEP_INSN_SLTU3I
- , MEP_INSN_SL1AD3, MEP_INSN_SL2AD3, MEP_INSN_ADD3X, MEP_INSN_SLT3X
- , MEP_INSN_SLTU3X, MEP_INSN_OR, MEP_INSN_AND, MEP_INSN_XOR
- , MEP_INSN_NOR, MEP_INSN_OR3, MEP_INSN_AND3, MEP_INSN_XOR3
- , MEP_INSN_SRA, MEP_INSN_SRL, MEP_INSN_SLL, MEP_INSN_SRAI
- , MEP_INSN_SRLI, MEP_INSN_SLLI, MEP_INSN_SLL3, MEP_INSN_FSFT
- , MEP_INSN_BRA, MEP_INSN_BEQZ, MEP_INSN_BNEZ, MEP_INSN_BEQI
- , MEP_INSN_BNEI, MEP_INSN_BLTI, MEP_INSN_BGEI, MEP_INSN_BEQ
- , MEP_INSN_BNE, MEP_INSN_BSR12, MEP_INSN_BSR24, MEP_INSN_JMP
- , MEP_INSN_JMP24, MEP_INSN_JSR, MEP_INSN_RET, MEP_INSN_REPEAT
- , MEP_INSN_EREPEAT, MEP_INSN_STC_LP, MEP_INSN_STC_HI, MEP_INSN_STC_LO
- , MEP_INSN_STC, MEP_INSN_LDC_LP, MEP_INSN_LDC_HI, MEP_INSN_LDC_LO
- , MEP_INSN_LDC, MEP_INSN_DI, MEP_INSN_EI, MEP_INSN_RETI
- , MEP_INSN_HALT, MEP_INSN_SLEEP, MEP_INSN_SWI, MEP_INSN_BREAK
- , MEP_INSN_SYNCM, MEP_INSN_STCB, MEP_INSN_LDCB, MEP_INSN_BSETM
- , MEP_INSN_BCLRM, MEP_INSN_BNOTM, MEP_INSN_BTSTM, MEP_INSN_TAS
- , MEP_INSN_CACHE, MEP_INSN_MUL, MEP_INSN_MULU, MEP_INSN_MULR
- , MEP_INSN_MULRU, MEP_INSN_MADD, MEP_INSN_MADDU, MEP_INSN_MADDR
- , MEP_INSN_MADDRU, MEP_INSN_DIV, MEP_INSN_DIVU, MEP_INSN_DRET
- , MEP_INSN_DBREAK, MEP_INSN_LDZ, MEP_INSN_ABS, MEP_INSN_AVE
- , MEP_INSN_MIN, MEP_INSN_MAX, MEP_INSN_MINU, MEP_INSN_MAXU
- , MEP_INSN_CLIP, MEP_INSN_CLIPU, MEP_INSN_SADD, MEP_INSN_SSUB
- , MEP_INSN_SADDU, MEP_INSN_SSUBU, MEP_INSN_SWCP, MEP_INSN_LWCP
- , MEP_INSN_SMCP, MEP_INSN_LMCP, MEP_INSN_SWCPI, MEP_INSN_LWCPI
- , MEP_INSN_SMCPI, MEP_INSN_LMCPI, MEP_INSN_SWCP16, MEP_INSN_LWCP16
- , MEP_INSN_SMCP16, MEP_INSN_LMCP16, MEP_INSN_SBCPA, MEP_INSN_LBCPA
- , MEP_INSN_SHCPA, MEP_INSN_LHCPA, MEP_INSN_SWCPA, MEP_INSN_LWCPA
- , MEP_INSN_SMCPA, MEP_INSN_LMCPA, MEP_INSN_SBCPM0, MEP_INSN_LBCPM0
- , MEP_INSN_SHCPM0, MEP_INSN_LHCPM0, MEP_INSN_SWCPM0, MEP_INSN_LWCPM0
- , MEP_INSN_SMCPM0, MEP_INSN_LMCPM0, MEP_INSN_SBCPM1, MEP_INSN_LBCPM1
- , MEP_INSN_SHCPM1, MEP_INSN_LHCPM1, MEP_INSN_SWCPM1, MEP_INSN_LWCPM1
- , MEP_INSN_SMCPM1, MEP_INSN_LMCPM1, MEP_INSN_BCPEQ, MEP_INSN_BCPNE
- , MEP_INSN_BCPAT, MEP_INSN_BCPAF, MEP_INSN_SYNCCP, MEP_INSN_JSRV
- , MEP_INSN_BSRV, MEP_INSN_SIM_SYSCALL, MEP_INSN_RI_0, MEP_INSN_RI_1
- , MEP_INSN_RI_2, MEP_INSN_RI_3, MEP_INSN_RI_4, MEP_INSN_RI_5
- , MEP_INSN_RI_6, MEP_INSN_RI_7, MEP_INSN_RI_8, MEP_INSN_RI_9
- , MEP_INSN_RI_10, MEP_INSN_RI_11, MEP_INSN_RI_12, MEP_INSN_RI_13
- , MEP_INSN_RI_14, MEP_INSN_RI_15, MEP_INSN_RI_17, MEP_INSN_RI_20
- , MEP_INSN_RI_21, MEP_INSN_RI_22, MEP_INSN_RI_23, MEP_INSN_RI_26
+ , MEP_INSN_UCI, MEP_INSN_DSP, MEP_INSN_DSP0, MEP_INSN_DSP1
+ , MEP_INSN_SB, MEP_INSN_SH, MEP_INSN_SW, MEP_INSN_LB
+ , MEP_INSN_LH, MEP_INSN_LW, MEP_INSN_LBU, MEP_INSN_LHU
+ , MEP_INSN_SW_SP, MEP_INSN_LW_SP, MEP_INSN_SB_TP, MEP_INSN_SH_TP
+ , MEP_INSN_SW_TP, MEP_INSN_LB_TP, MEP_INSN_LH_TP, MEP_INSN_LW_TP
+ , MEP_INSN_LBU_TP, MEP_INSN_LHU_TP, MEP_INSN_SB16, MEP_INSN_SH16
+ , MEP_INSN_SW16, MEP_INSN_LB16, MEP_INSN_LH16, MEP_INSN_LW16
+ , MEP_INSN_LBU16, MEP_INSN_LHU16, MEP_INSN_SW24, MEP_INSN_LW24
+ , MEP_INSN_EXTB, MEP_INSN_EXTH, MEP_INSN_EXTUB, MEP_INSN_EXTUH
+ , MEP_INSN_SSARB, MEP_INSN_MOV, MEP_INSN_MOVI8, MEP_INSN_MOVI16
+ , MEP_INSN_MOVU24, MEP_INSN_MOVU16, MEP_INSN_MOVH, MEP_INSN_ADD3
+ , MEP_INSN_ADD, MEP_INSN_ADD3I, MEP_INSN_ADVCK3, MEP_INSN_SUB
+ , MEP_INSN_SBVCK3, MEP_INSN_NEG, MEP_INSN_SLT3, MEP_INSN_SLTU3
+ , MEP_INSN_SLT3I, MEP_INSN_SLTU3I, MEP_INSN_SL1AD3, MEP_INSN_SL2AD3
+ , MEP_INSN_ADD3X, MEP_INSN_SLT3X, MEP_INSN_SLTU3X, MEP_INSN_OR
+ , MEP_INSN_AND, MEP_INSN_XOR, MEP_INSN_NOR, MEP_INSN_OR3
+ , MEP_INSN_AND3, MEP_INSN_XOR3, MEP_INSN_SRA, MEP_INSN_SRL
+ , MEP_INSN_SLL, MEP_INSN_SRAI, MEP_INSN_SRLI, MEP_INSN_SLLI
+ , MEP_INSN_SLL3, MEP_INSN_FSFT, MEP_INSN_BRA, MEP_INSN_BEQZ
+ , MEP_INSN_BNEZ, MEP_INSN_BEQI, MEP_INSN_BNEI, MEP_INSN_BLTI
+ , MEP_INSN_BGEI, MEP_INSN_BEQ, MEP_INSN_BNE, MEP_INSN_BSR12
+ , MEP_INSN_BSR24, MEP_INSN_JMP, MEP_INSN_JMP24, MEP_INSN_JSR
+ , MEP_INSN_RET, MEP_INSN_REPEAT, MEP_INSN_EREPEAT, MEP_INSN_STC_LP
+ , MEP_INSN_STC_HI, MEP_INSN_STC_LO, MEP_INSN_STC, MEP_INSN_LDC_LP
+ , MEP_INSN_LDC_HI, MEP_INSN_LDC_LO, MEP_INSN_LDC, MEP_INSN_DI
+ , MEP_INSN_EI, MEP_INSN_RETI, MEP_INSN_HALT, MEP_INSN_SLEEP
+ , MEP_INSN_SWI, MEP_INSN_BREAK, MEP_INSN_SYNCM, MEP_INSN_STCB
+ , MEP_INSN_LDCB, MEP_INSN_BSETM, MEP_INSN_BCLRM, MEP_INSN_BNOTM
+ , MEP_INSN_BTSTM, MEP_INSN_TAS, MEP_INSN_CACHE, MEP_INSN_MUL
+ , MEP_INSN_MULU, MEP_INSN_MULR, MEP_INSN_MULRU, MEP_INSN_MADD
+ , MEP_INSN_MADDU, MEP_INSN_MADDR, MEP_INSN_MADDRU, MEP_INSN_DIV
+ , MEP_INSN_DIVU, MEP_INSN_DRET, MEP_INSN_DBREAK, MEP_INSN_LDZ
+ , MEP_INSN_ABS, MEP_INSN_AVE, MEP_INSN_MIN, MEP_INSN_MAX
+ , MEP_INSN_MINU, MEP_INSN_MAXU, MEP_INSN_CLIP, MEP_INSN_CLIPU
+ , MEP_INSN_SADD, MEP_INSN_SSUB, MEP_INSN_SADDU, MEP_INSN_SSUBU
+ , MEP_INSN_SWCP, MEP_INSN_LWCP, MEP_INSN_SMCP, MEP_INSN_LMCP
+ , MEP_INSN_SWCPI, MEP_INSN_LWCPI, MEP_INSN_SMCPI, MEP_INSN_LMCPI
+ , MEP_INSN_SWCP16, MEP_INSN_LWCP16, MEP_INSN_SMCP16, MEP_INSN_LMCP16
+ , MEP_INSN_SBCPA, MEP_INSN_LBCPA, MEP_INSN_SHCPA, MEP_INSN_LHCPA
+ , MEP_INSN_SWCPA, MEP_INSN_LWCPA, MEP_INSN_SMCPA, MEP_INSN_LMCPA
+ , MEP_INSN_SBCPM0, MEP_INSN_LBCPM0, MEP_INSN_SHCPM0, MEP_INSN_LHCPM0
+ , MEP_INSN_SWCPM0, MEP_INSN_LWCPM0, MEP_INSN_SMCPM0, MEP_INSN_LMCPM0
+ , MEP_INSN_SBCPM1, MEP_INSN_LBCPM1, MEP_INSN_SHCPM1, MEP_INSN_LHCPM1
+ , MEP_INSN_SWCPM1, MEP_INSN_LWCPM1, MEP_INSN_SMCPM1, MEP_INSN_LMCPM1
+ , MEP_INSN_BCPEQ, MEP_INSN_BCPNE, MEP_INSN_BCPAT, MEP_INSN_BCPAF
+ , MEP_INSN_SYNCCP, MEP_INSN_JSRV, MEP_INSN_BSRV, MEP_INSN_SIM_SYSCALL
+ , MEP_INSN_RI_0, MEP_INSN_RI_1, MEP_INSN_RI_2, MEP_INSN_RI_3
+ , MEP_INSN_RI_4, MEP_INSN_RI_5, MEP_INSN_RI_6, MEP_INSN_RI_7
+ , MEP_INSN_RI_8, MEP_INSN_RI_9, MEP_INSN_RI_10, MEP_INSN_RI_11
+ , MEP_INSN_RI_12, MEP_INSN_RI_13, MEP_INSN_RI_14, MEP_INSN_RI_15
+ , MEP_INSN_RI_17, MEP_INSN_RI_20, MEP_INSN_RI_21, MEP_INSN_RI_22
+ , MEP_INSN_RI_23, MEP_INSN_RI_26
 } CGEN_INSN_TYPE;
 
 /* Index of `invalid' insn place holder.  */
index 83d88ee..31f662b 100644 (file)
@@ -1,3 +1,10 @@
+2009-04-17  DJ Delorie  <dj@redhat.com>
+       
+       * mep-core1-decode.cxx: Regenerate.
+       * mep-core1-decode.h: Regenerate.
+       * mep-decode.cxx: Regenerate.
+       * mep-decode.h: Regenerate.
+
 2009-04-08  DJ Delorie  <dj@redhat.com>
 
        * Makefile.am: Regenerate.
index 5ca97fa..9ee8b88 100644 (file)
@@ -41,7 +41,7 @@ mepcore1_idesc mepcore1_idesc::idesc_table[MEPCORE1_INSN_RI_26 + 1] =
   { mepcore1_sem_lbucpm0, "LBUCPM0", MEPCORE1_INSN_LBUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mepcore1_sem_lhucpm0, "LHUCPM0", MEPCORE1_INSN_LHUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mepcore1_sem_lbucpm1, "LBUCPM1", MEPCORE1_INSN_LBUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
-  { mepcore1_sem_lhucpm1, "LHUCPM1", MEPCORE1_INSN_LHUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, 0, CONFIG_NONE } },
+  { mepcore1_sem_lhucpm1, "LHUCPM1", MEPCORE1_INSN_LHUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mepcore1_sem_uci, "UCI", MEPCORE1_INSN_UCI, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mepcore1_sem_dsp, "DSP", MEPCORE1_INSN_DSP, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mepcore1_sem_sb, "SB", MEPCORE1_INSN_SB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, 0, CONFIG_NONE } },
@@ -2199,11 +2199,11 @@ mepcore1_extract_sfmt_sbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2234,11 +2234,11 @@ mepcore1_extract_sfmt_lbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2269,11 +2269,11 @@ mepcore1_extract_sfmt_shcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2304,11 +2304,11 @@ mepcore1_extract_sfmt_lhcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2343,7 +2343,7 @@ mepcore1_extract_sfmt_lbucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2379,7 +2379,7 @@ mepcore1_extract_sfmt_lhucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2415,7 +2415,7 @@ mepcore1_extract_sfmt_lbucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2453,7 +2453,7 @@ mepcore1_extract_sfmt_lhucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2491,7 +2491,7 @@ mepcore1_extract_sfmt_lbucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2529,7 +2529,7 @@ mepcore1_extract_sfmt_lhucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -5981,7 +5981,7 @@ mepcore1_extract_sfmt_sbcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6017,7 +6017,7 @@ mepcore1_extract_sfmt_shcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6053,7 +6053,7 @@ mepcore1_extract_sfmt_swcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6089,7 +6089,7 @@ mepcore1_extract_sfmt_lwcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6125,7 +6125,7 @@ mepcore1_extract_sfmt_smcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6161,7 +6161,7 @@ mepcore1_extract_sfmt_lmcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, P
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6197,7 +6197,7 @@ mepcore1_extract_sfmt_sbcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6235,7 +6235,7 @@ mepcore1_extract_sfmt_shcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6273,7 +6273,7 @@ mepcore1_extract_sfmt_swcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6311,7 +6311,7 @@ mepcore1_extract_sfmt_lwcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6349,7 +6349,7 @@ mepcore1_extract_sfmt_smcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6387,7 +6387,7 @@ mepcore1_extract_sfmt_lmcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6425,7 +6425,7 @@ mepcore1_extract_sfmt_sbcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6463,7 +6463,7 @@ mepcore1_extract_sfmt_shcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6501,7 +6501,7 @@ mepcore1_extract_sfmt_swcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6539,7 +6539,7 @@ mepcore1_extract_sfmt_lwcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6577,7 +6577,7 @@ mepcore1_extract_sfmt_smcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6615,7 +6615,7 @@ mepcore1_extract_sfmt_lmcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
index e3eab84..5b24384 100644 (file)
@@ -325,7 +325,7 @@ union mepcore1_sem_fields {
   } sfmt_sw_sp;
   struct { /*  */
     SI* i_rma;
-    UINT f_12s20;
+    INT f_12s20;
     UINT f_crn;
     UINT f_rm;
     unsigned char in_rma;
index 7197ae9..d441a67 100644 (file)
@@ -41,7 +41,7 @@ mep_idesc mep_idesc::idesc_table[MEP_INSN_RI_26 + 1] =
   { mep_sem_lbucpm0, "LBUCPM0", MEP_INSN_LBUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mep_sem_lhucpm0, "LHUCPM0", MEP_INSN_LHUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mep_sem_lbucpm1, "LBUCPM1", MEP_INSN_LBUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
-  { mep_sem_lhucpm1, "LHUCPM1", MEP_INSN_LHUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, 0, CONFIG_NONE } },
+  { mep_sem_lhucpm1, "LHUCPM1", MEP_INSN_LHUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mep_sem_uci, "UCI", MEP_INSN_UCI, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mep_sem_dsp, "DSP", MEP_INSN_DSP, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, 0, CONFIG_NONE } },
   { mep_sem_sb, "SB", MEP_INSN_SB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, 0, CONFIG_NONE } },
@@ -2199,11 +2199,11 @@ mep_extract_sfmt_sbcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2234,11 +2234,11 @@ mep_extract_sfmt_lbcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2269,11 +2269,11 @@ mep_extract_sfmt_shcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2304,11 +2304,11 @@ mep_extract_sfmt_lhcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 #define FLD(f) abuf->fields.sfmt_sbcp.f
     UINT f_crn;
     UINT f_rm;
-    UINT f_12s20;
+    INT f_12s20;
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_12s20 = EXTRACT_MSB0_UINT (insn, 32, 20, 12);
+    f_12s20 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_12s20) = f_12s20;
@@ -2343,7 +2343,7 @@ mep_extract_sfmt_lbucpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2379,7 +2379,7 @@ mep_extract_sfmt_lhucpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2415,7 +2415,7 @@ mep_extract_sfmt_lbucpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR p
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2453,7 +2453,7 @@ mep_extract_sfmt_lhucpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR p
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2491,7 +2491,7 @@ mep_extract_sfmt_lbucpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR p
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -2529,7 +2529,7 @@ mep_extract_sfmt_lhucpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR p
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -5981,7 +5981,7 @@ mep_extract_sfmt_sbcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6017,7 +6017,7 @@ mep_extract_sfmt_shcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6053,7 +6053,7 @@ mep_extract_sfmt_swcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6089,7 +6089,7 @@ mep_extract_sfmt_lwcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6125,7 +6125,7 @@ mep_extract_sfmt_smcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6161,7 +6161,7 @@ mep_extract_sfmt_lmcpa (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc,
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6197,7 +6197,7 @@ mep_extract_sfmt_sbcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6235,7 +6235,7 @@ mep_extract_sfmt_shcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6273,7 +6273,7 @@ mep_extract_sfmt_swcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6311,7 +6311,7 @@ mep_extract_sfmt_lwcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6349,7 +6349,7 @@ mep_extract_sfmt_smcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6387,7 +6387,7 @@ mep_extract_sfmt_lmcpm0 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6425,7 +6425,7 @@ mep_extract_sfmt_sbcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6463,7 +6463,7 @@ mep_extract_sfmt_shcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6501,7 +6501,7 @@ mep_extract_sfmt_swcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6539,7 +6539,7 @@ mep_extract_sfmt_lwcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6577,7 +6577,7 @@ mep_extract_sfmt_smcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
@@ -6615,7 +6615,7 @@ mep_extract_sfmt_lmcpm1 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc
 
     f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_cdisp10 = ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_UINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_UINT (insn, 32, 22, 10)));
+    f_cdisp10 = (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_INT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_INT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_INT (insn, 32, 22, 10)))) & (1023)));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_cdisp10) = f_cdisp10;
index 97b04a5..1b81fb7 100644 (file)
@@ -325,7 +325,7 @@ union mep_sem_fields {
   } sfmt_sw_sp;
   struct { /*  */
     SI* i_rma;
-    UINT f_12s20;
+    INT f_12s20;
     UINT f_crn;
     UINT f_rm;
     unsigned char in_rma;