]> sourceware.org Git - cgen.git/commitdiff
[cgen]
authorDJ Delorie <dj@redhat.com>
Wed, 24 Jun 2009 03:06:40 +0000 (03:06 +0000)
committerDJ Delorie <dj@redhat.com>
Wed, 24 Jun 2009 03:06:40 +0000 (03:06 +0000)
* intrinsics.scm: Updates to support IVC2.
(belongs-to-group?): Check IVC2 slots.
(-slots-attribute): New.
(targets::attributes): Add SLOTS.
(target:add-well-known-intrinsics): Add CPMOV.
(md-insn): Add CPTYPE and CRET?.
(add-md-insn): Likewise.
(add-intrinsic-for-isa): Disable the duplicate tests, as IVC2 has
duplicate insns with different bit patterns.
(write-cgen-insn?): Add cret? support.
(intrinsics.h): Add vector types.
(runtime-op): Add vector support.
(intrinsic-protos.h): Let GCC define its types.  Add cret? support.

* cpu/mep-core.cpu: Add CPTYPE and CRET attributes.
* cpu/mep-ivc2.cpu: Update all insns to include type information.
(h-cr-ivc2): Default to typeless.
(h-ccr-ivc2): Fix register width.
(SLOTS): Fix values and default.
(ivc2_*): Add control register names.
(crop, crqp, crpp, croc, crqc, crpc): Default to typeless.

[opcodes]

* mep-desc.c: Regenerate.
* mep-desc.h: Regenerate.
* mep-dis.c: Regenerate.
* mep-ibld.c: Regenerate.
* mep-opc.c: Regenerate.

[sid/component/cgen-cpu/mep]

* ivc2-cop.cxx (ivc2_cphadd_w): Change to return value.
(ivc2_cpsubaca0u_b): Remove debug line.
* ivc2-cpu.h (ivc2_cpccadd_b): Change to return value.
* mep-cop1-16-decode.cxx: Regenerate.
* mep-cop1-16-sem.cxx: Regenerate.
* mep-cop1-32-decode.cxx: Regenerate.
* mep-cop1-32-sem.cxx: Regenerate.
* mep-cop1-48-decode.cxx: Regenerate.
* mep-cop1-48-sem.cxx: Regenerate.
* mep-cop1-64-decode.cxx: Regenerate.
* mep-cop1-64-sem.cxx: Regenerate.
* mep-core1-decode.cxx: Regenerate.
* mep-cpu.h: Regenerate.
* mep-decode.cxx: Regenerate.
* mep-desc.h: Regenerate.

ChangeLog
cpu/mep-core.cpu
cpu/mep-ivc2.cpu
intrinsics.scm

index b3d6ba1db486609d40adf891861e7918b26bf2d9..f01be531945510f14b2fa6ba671dca359ca6704d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,27 @@
 2009-06-23  DJ Delorie  <dj@redhat.com>
 
+       * intrinsics.scm: Updates to support IVC2.
+       (belongs-to-group?): Check IVC2 slots.
+       (-slots-attribute): New.
+       (targets::attributes): Add SLOTS.
+       (target:add-well-known-intrinsics): Add CPMOV.
+       (md-insn): Add CPTYPE and CRET?.
+       (add-md-insn): Likewise.
+       (add-intrinsic-for-isa): Disable the duplicate tests, as IVC2 has
+       duplicate insns with different bit patterns.
+       (write-cgen-insn?): Add cret? support.
+       (intrinsics.h): Add vector types.
+       (runtime-op): Add vector support.
+       (intrinsic-protos.h): Let GCC define its types.  Add cret? support.
+
+       * cpu/mep-core.cpu: Add CPTYPE and CRET attributes.
+       * cpu/mep-ivc2.cpu: Update all insns to include type information.
+       (h-cr-ivc2): Default to typeless.
+       (h-ccr-ivc2): Fix register width.
+       (SLOTS): Fix values and default.
+       (ivc2_*): Add control register names.
+       (crop, crqp, crpp, croc, crqc, crpc): Default to typeless.
+
        * cpu/mep.opc (mep_cgen_insn_supported_asm): New, skip the short
        version of BSR when assembling VLIW bundles.  Use it in mep-asm.c
 
index 2816009321e70a6aae95b8ba856ca414ea6ef502..f66aa6c8446197478aedd7f843e1f490eee3e318 100644 (file)
          POINTER LONG ULONG SHORT USHORT CHAR UCHAR CP_DATA_BUS_INT)
   (default LONG))
 
+(define-attr
+  (type enum)
+  (for insn)
+  (name CPTYPE)
+  (comment "datatype to use for coprocessor values")
+  (values CP_DATA_BUS_INT VECT V2SI V4HI V8QI V2USI V4UHI V8UQI)
+  (default CP_DATA_BUS_INT))
+
+(define-attr
+  (type enum)
+  (for insn)
+  (name CRET)
+  ;; VOID - all arguments are passed as parameters; if any are written, pointers to them are passed.
+  ;; FIRST - the first argument is the return value.
+  ;; FIRSTCOPY - the first argument is the return value, but a copy is also the first parameter.
+  (values VOID FIRST FIRSTCOPY)
+  (default VOID)
+  (comment "Insn's intrinsic returns void, or the first argument rather than (or in addition to) passing it."))
+
 (define-attr
   (type integer)
   (for operand)
index 6a9f9a43e87efdc99658389b67629243e92279b1..815abfdfd36180eab1826c480739a5546b6c4fd9 100644 (file)
@@ -40,7 +40,7 @@
 (define-hardware
   (name h-cr-ivc2)
   (comment "64-bit coprocessor registers for ivc2 coprocessor")
-  (attrs VIRTUAL all-mep-core-isas)
+  (attrs VIRTUAL all-mep-core-isas (CDATA CP_DATA_BUS_INT))
   (type register DI (64))
   (set (index newval) (c-call VOID "h_cr64_set" index newval))
   (get (index) (c-call DI "h_cr64_get" index))
@@ -56,9 +56,9 @@
   (name h-ccr-ivc2)
   (comment "Coprocessor control registers for ivc2 coprocessor")
   (attrs VIRTUAL all-mep-isas)
-  (type register DI (64))
+  (type register SI (32))
   (set (index newval) (c-call VOID "h_ccr_set" index newval))
-  (get (index) (c-call DI "h_ccr_get" index))
+  (get (index) (c-call SI "h_ccr_get" index))
   (indices keyword ""
        (.splice
 
@@ -98,7 +98,8 @@
   (for insn)
   (name SLOTS)
   (comment "slots for which this opcode is valid - c3, p0s, p0, p1")
-  (values core c3 p0s p0 p1)
+  (values CORE C3 P0S P0 P1)
+  (default CORE)
   )
 
 ;-----------------------------------------------------------------------------
                )
       )
 
-(dnop croc "$CRo C3" (all-mep-isas) h-cr64 f-ivc2-5u7)
-(dnop crqc "$CRq C3" (all-mep-isas) h-cr64 f-ivc2-5u21)
-(dnop crpc "$CRp C3" (all-mep-isas) h-cr64 f-ivc2-5u26)
+(dnop ivc2_csar0  "ivc2_csar0" (all-ivc2-isas) h-ccr-ivc2 0)
+(dnop ivc2_cc     "ivc2_cc"    (all-ivc2-isas) h-ccr-ivc2 1)
+(dnop ivc2_cofr0  "ivc2_cofr0" (all-ivc2-isas) h-ccr-ivc2 4)
+(dnop ivc2_cofr1  "ivc2_cofr1" (all-ivc2-isas) h-ccr-ivc2 5)
+(dnop ivc2_cofa0  "ivc2_cofa0" (all-ivc2-isas) h-ccr-ivc2 6)
+(dnop ivc2_cofa1  "ivc2_cofa1" (all-ivc2-isas) h-ccr-ivc2 7)
+
+(dnop ivc2_csar1  "ivc2_csar1" (all-ivc2-isas) h-ccr-ivc2 15)
+
+(dnop ivc2_acc0_0      "acc0_0"     (all-ivc2-isas) h-ccr-ivc2 16)
+(dnop ivc2_acc0_1      "acc0_1"     (all-ivc2-isas) h-ccr-ivc2 17)
+(dnop ivc2_acc0_2      "acc0_2"     (all-ivc2-isas) h-ccr-ivc2 18)
+(dnop ivc2_acc0_3      "acc0_3"     (all-ivc2-isas) h-ccr-ivc2 19)
+(dnop ivc2_acc0_4      "acc0_4"     (all-ivc2-isas) h-ccr-ivc2 20)
+(dnop ivc2_acc0_5      "acc0_5"     (all-ivc2-isas) h-ccr-ivc2 21)
+(dnop ivc2_acc0_6      "acc0_6"     (all-ivc2-isas) h-ccr-ivc2 22)
+(dnop ivc2_acc0_7      "acc0_7"     (all-ivc2-isas) h-ccr-ivc2 23)
+
+(dnop ivc2_acc1_0      "acc1_0"     (all-ivc2-isas) h-ccr-ivc2 24)
+(dnop ivc2_acc1_1      "acc1_1"     (all-ivc2-isas) h-ccr-ivc2 25)
+(dnop ivc2_acc1_2      "acc1_2"     (all-ivc2-isas) h-ccr-ivc2 26)
+(dnop ivc2_acc1_3      "acc1_3"     (all-ivc2-isas) h-ccr-ivc2 27)
+(dnop ivc2_acc1_4      "acc1_4"     (all-ivc2-isas) h-ccr-ivc2 28)
+(dnop ivc2_acc1_5      "acc1_5"     (all-ivc2-isas) h-ccr-ivc2 29)
+(dnop ivc2_acc1_6      "acc1_6"     (all-ivc2-isas) h-ccr-ivc2 30)
+(dnop ivc2_acc1_7      "acc1_7"     (all-ivc2-isas) h-ccr-ivc2 31)
+
+(dnop croc "$CRo C3" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u7)
+(dnop crqc "$CRq C3" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u21)
+(dnop crpc "$CRp C3" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u26)
 
 (dnop ivc-x-6-1 "filler" (all-mep-isas) h-uint f-ivc2-1u6)
 (dnop ivc-x-6-2 "filler" (all-mep-isas) h-uint f-ivc2-2u6)
 (dnop simm8p20 "sImm8p20" (all-mep-isas) h-sint f-ivc2-8s20)
 (dnop imm8p20 "Imm8p20" (all-mep-isas) h-uint f-ivc2-8u20)
 
-(dnop crop "$CRo Pn" (all-mep-isas) h-cr64 f-ivc2-5u23)
-(dnop crqp "$CRq Pn" (all-mep-isas) h-cr64 f-ivc2-5u13)
-(dnop crpp "$CRp Pn" (all-mep-isas) h-cr64 f-ivc2-5u18)
+(dnop crop "$CRo Pn" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u23)
+(dnop crqp "$CRq Pn" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u13)
+(dnop crpp "$CRp Pn" (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-5u18)
 
 (dnop ivc-x-0-2 "filler" (all-mep-isas) h-uint f-ivc2-2u0)
 (dnop ivc-x-0-3 "filler" (all-mep-isas) h-uint f-ivc2-3u0)
 
 ; 1111 000 ooooo 0111 00000 qqqqq ppppp 0   cpadd3.b =croc,crqc,crpc (c3_1)
 (dni cpadd3_b_C3 "cpadd3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpadd3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00000 qqqqq ppppp 0   cpadd3.h =croc,crqc,crpc (c3_1)
 (dni cpadd3_h_C3 "cpadd3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpadd3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00000 qqqqq ppppp 0   cpadd3.w =croc,crqc,crpc (c3_1)
 (dni cpadd3_w_C3 "cpadd3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadd3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpadd3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 00000 qqqqq ppppp 0   cdadd3 =croc,crqc,crpc (c3_1)
 (dni cdadd3_C3 "cdadd3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdadd3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdadd3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdadd3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00000 qqqqq ppppp 0   cpsub3.b =croc,crqc,crpc (c3_1)
 (dni cpsub3_b_C3 "cpsub3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsub3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00000 qqqqq ppppp 0   cpsub3.h =croc,crqc,crpc (c3_1)
 (dni cpsub3_h_C3 "cpsub3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsub3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00000 qqqqq ppppp 0   cpsub3.w =croc,crqc,crpc (c3_1)
 (dni cpsub3_w_C3 "cpsub3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsub3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsub3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 111 ooooo 0111 00000 qqqqq ppppp 0   cdsub3 =croc,crqc,crpc (c3_1)
 (dni cdsub3_C3 "cdsub3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsub3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsub3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsub3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 00001 qqqqq ppppp 0   cpand3 =croc,crqc,crpc (c3_1)
 (dni cpand3_C3 "cpand3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpand3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpand3") (CPTYPE VECT) (CRET FIRST))
   "cpand3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00001 qqqqq ppppp 0   cpor3 =croc,crqc,crpc (c3_1)
 (dni cpor3_C3 "cpor3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpor3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpor3") (CPTYPE VECT) (CRET FIRST))
   "cpor3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00001 qqqqq ppppp 0   cpnor3 =croc,crqc,crpc (c3_1)
 (dni cpnor3_C3 "cpnor3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnor3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnor3") (CPTYPE VECT) (CRET FIRST))
   "cpnor3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 00001 qqqqq ppppp 0   cpxor3 =croc,crqc,crpc (c3_1)
 (dni cpxor3_C3 "cpxor3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpxor3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpxor3") (CPTYPE VECT) (CRET FIRST))
   "cpxor3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00001 qqqqq ppppp 0   cpsel =croc,crqc,crpc (c3_1)
 (dni cpsel_C3 "cpsel $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsel"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsel") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpsel $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 iii ooooo 0111 11101 qqqqq ppppp 0   cpfsftbi =croc,crqc,crpc,imm3p4 (c3_1)
 (dni cpfsftbi_C3 "cpfsftbi $croc,$crqc,$crpc,imm3p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbi"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbi") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbi $croc,$crqc,$crpc,$imm3p4"
   (+ MAJ_15 imm3p4 croc (f-sub4 7)
        (f-ivc2-5u16 #x1d) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00001 qqqqq ppppp 0   cpfsftbs0 =croc,crqc,crpc (c3_1)
 (dni cpfsftbs0_C3 "cpfsftbs0 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbs0"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbs0") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbs0 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 111 ooooo 0111 00001 qqqqq ppppp 0   cpfsftbs1 =croc,crqc,crpc (c3_1)
 (dni cpfsftbs1_C3 "cpfsftbs1 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbs1"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpfsftbs1") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbs1 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 00010 qqqqq ppppp 0   cpunpacku.b =croc,crqc,crpc (c3_1)
 (dni cpunpacku_b_C3 "cpunpacku.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpunpacku.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00010 qqqqq ppppp 0   cpunpacku.h =croc,crqc,crpc (c3_1)
 (dni cpunpacku_h_C3 "cpunpacku.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpunpacku.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00010 qqqqq ppppp 0   cpunpacku.w =croc,crqc,crpc (c3_1)
 (dni cpunpacku_w_C3 "cpunpacku.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpacku_w") (CPTYPE V2USI) (CRET FIRST))
   "cpunpacku.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00010 qqqqq ppppp 0   cpunpackl.b =croc,crqc,crpc (c3_1)
 (dni cpunpackl_b_C3 "cpunpackl.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_b") (CPTYPE V8QI) (CRET FIRST))
   "cpunpackl.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00010 qqqqq ppppp 0   cpunpackl.h =croc,crqc,crpc (c3_1)
 (dni cpunpackl_h_C3 "cpunpackl.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_h") (CPTYPE V4HI) (CRET FIRST))
   "cpunpackl.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00010 qqqqq ppppp 0   cpunpackl.w =croc,crqc,crpc (c3_1)
 (dni cpunpackl_w_C3 "cpunpackl.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpunpackl_w") (CPTYPE V2SI) (CRET FIRST))
   "cpunpackl.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x2) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00011 qqqqq ppppp 0   cppacku.b =croc,crqc,crpc (c3_1)
 (dni cppacku_b_C3 "cppacku.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacku_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacku_b") (CPTYPE V8UQI) (CRET FIRST))
   "cppacku.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x3) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00011 qqqqq ppppp 0   cppack.b =croc,crqc,crpc (c3_1)
 (dni cppack_b_C3 "cppack.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppack_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppack_b") (CPTYPE V8QI) (CRET FIRST))
   "cppack.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x3) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 111 ooooo 0111 00011 qqqqq ppppp 0   cppack.h =croc,crqc,crpc (c3_1)
 (dni cppack_h_C3 "cppack.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppack_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppack_h") (CPTYPE V4HI) (CRET FIRST))
   "cppack.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #x3) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 00100 qqqqq ppppp 0   cpsrl3.b =croc,crqc,crpc (c3_1)
 (dni cpsrl3_b_C3 "cpsrl3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrl3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00100 qqqqq ppppp 0   cpssrl3.b =croc,crqc,crpc (c3_1)
 (dni cpssrl3_b_C3 "cpssrl3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssrl3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00100 qqqqq ppppp 0   cpsrl3.h =croc,crqc,crpc (c3_1)
 (dni cpsrl3_h_C3 "cpsrl3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrl3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 00100 qqqqq ppppp 0   cpssrl3.h =croc,crqc,crpc (c3_1)
 (dni cpssrl3_h_C3 "cpssrl3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssrl3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00100 qqqqq ppppp 0   cpsrl3.w =croc,crqc,crpc (c3_1)
 (dni cpsrl3_w_C3 "cpsrl3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrl3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrl3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00100 qqqqq ppppp 0   cpssrl3.w =croc,crqc,crpc (c3_1)
 (dni cpssrl3_w_C3 "cpssrl3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssrl3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssrl3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00100 qqqqq ppppp 0   cdsrl3 =croc,crqc,crpc (c3_1)
 (dni cdsrl3_C3 "cdsrl3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrl3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrl3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrl3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 00101 qqqqq ppppp 0   cpsra3.b =croc,crqc,crpc (c3_1)
 (dni cpsra3_b_C3 "cpsra3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsra3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00101 qqqqq ppppp 0   cpssra3.b =croc,crqc,crpc (c3_1)
 (dni cpssra3_b_C3 "cpssra3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssra3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00101 qqqqq ppppp 0   cpsra3.h =croc,crqc,crpc (c3_1)
 (dni cpsra3_h_C3 "cpsra3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsra3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 00101 qqqqq ppppp 0   cpssra3.h =croc,crqc,crpc (c3_1)
 (dni cpssra3_h_C3 "cpssra3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssra3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00101 qqqqq ppppp 0   cpsra3.w =croc,crqc,crpc (c3_1)
 (dni cpsra3_w_C3 "cpsra3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsra3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsra3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00101 qqqqq ppppp 0   cpssra3.w =croc,crqc,crpc (c3_1)
 (dni cpssra3_w_C3 "cpssra3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssra3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssra3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00101 qqqqq ppppp 0   cdsra3 =croc,crqc,crpc (c3_1)
 (dni cdsra3_C3 "cdsra3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsra3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsra3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsra3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x5) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 00110 qqqqq ppppp 0   cpsll3.b =croc,crqc,crpc (c3_1)
 (dni cpsll3_b_C3 "cpsll3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsll3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 00110 qqqqq ppppp 0   cpssll3.b =croc,crqc,crpc (c3_1)
 (dni cpssll3_b_C3 "cpssll3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssll3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00110 qqqqq ppppp 0   cpsll3.h =croc,crqc,crpc (c3_1)
 (dni cpsll3_h_C3 "cpsll3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsll3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 00110 qqqqq ppppp 0   cpssll3.h =croc,crqc,crpc (c3_1)
 (dni cpssll3_h_C3 "cpssll3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssll3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00110 qqqqq ppppp 0   cpsll3.w =croc,crqc,crpc (c3_1)
 (dni cpsll3_w_C3 "cpsll3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsll3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsll3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 00110 qqqqq ppppp 0   cpssll3.w =croc,crqc,crpc (c3_1)
 (dni cpssll3_w_C3 "cpssll3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssll3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssll3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 00110 qqqqq ppppp 0   cdsll3 =croc,crqc,crpc (c3_1)
 (dni cdsll3_C3 "cdsll3 $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsll3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsll3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsll3 $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x6) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 00111 qqqqq ppppp 0   cpsla3.h =croc,crqc,crpc (c3_1)
 (dni cpsla3_h_C3 "cpsla3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsla3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsla3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsla3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x7) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 00111 qqqqq ppppp 0   cpsla3.w =croc,crqc,crpc (c3_1)
 (dni cpsla3_w_C3 "cpsla3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsla3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsla3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsla3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x7) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 01000 qqqqq ppppp 0   cpsadd3.h =croc,crqc,crpc (c3_1)
 (dni cpsadd3_h_C3 "cpsadd3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadd3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadd3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsadd3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x8) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 01000 qqqqq ppppp 0   cpsadd3.w =croc,crqc,crpc (c3_1)
 (dni cpsadd3_w_C3 "cpsadd3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadd3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadd3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsadd3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x8) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 01000 qqqqq ppppp 0   cpssub3.h =croc,crqc,crpc (c3_1)
 (dni cpssub3_h_C3 "cpssub3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssub3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssub3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssub3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x8) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cofr0 0)
        (set croc (c-call DI "ivc2_cpssub3_h" pc crqc crpc)) )
   ()
   )
 
 ; 1111 111 ooooo 0111 01000 qqqqq ppppp 0   cpssub3.w =croc,crqc,crpc (c3_1)
 (dni cpssub3_w_C3 "cpssub3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssub3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssub3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssub3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #x8) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cofr0 0)
        (set croc (c-call DI "ivc2_cpssub3_w" pc crqc crpc)) )
   ()
   )
 
 ; 1111 000 ooooo 0111 01001 qqqqq ppppp 0   cpextuaddu3.b =croc,crqc,crpc (c3_1)
 (dni cpextuaddu3_b_C3 "cpextuaddu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuaddu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuaddu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextuaddu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 01001 qqqqq ppppp 0   cpextuadd3.b =croc,crqc,crpc (c3_1)
 (dni cpextuadd3_b_C3 "cpextuadd3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuadd3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuadd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextuadd3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 01001 qqqqq ppppp 0   cpextladdu3.b =croc,crqc,crpc (c3_1)
 (dni cpextladdu3_b_C3 "cpextladdu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextladdu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextladdu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextladdu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 01001 qqqqq ppppp 0   cpextladd3.b =croc,crqc,crpc (c3_1)
 (dni cpextladd3_b_C3 "cpextladd3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextladd3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextladd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextladd3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 01001 qqqqq ppppp 0   cpextusubu3.b =croc,crqc,crpc (c3_1)
 (dni cpextusubu3_b_C3 "cpextusubu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextusubu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextusubu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextusubu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 01001 qqqqq ppppp 0   cpextusub3.b =croc,crqc,crpc (c3_1)
 (dni cpextusub3_b_C3 "cpextusub3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextusub3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextusub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextusub3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 01001 qqqqq ppppp 0   cpextlsubu3.b =croc,crqc,crpc (c3_1)
 (dni cpextlsubu3_b_C3 "cpextlsubu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlsubu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlsubu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextlsubu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 111 ooooo 0111 01001 qqqqq ppppp 0   cpextlsub3.b =croc,crqc,crpc (c3_1)
 (dni cpextlsub3_b_C3 "cpextlsub3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlsub3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlsub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextlsub3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #x9) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 01010 qqqqq ppppp 0   cpaveu3.b =croc,crqc,crpc (c3_1)
 (dni cpaveu3_b_C3 "cpaveu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaveu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaveu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaveu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 01010 qqqqq ppppp 0   cpave3.b =croc,crqc,crpc (c3_1)
 (dni cpave3_b_C3 "cpave3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpave3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 01010 qqqqq ppppp 0   cpave3.h =croc,crqc,crpc (c3_1)
 (dni cpave3_h_C3 "cpave3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpave3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 01010 qqqqq ppppp 0   cpave3.w =croc,crqc,crpc (c3_1)
 (dni cpave3_w_C3 "cpave3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpave3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpave3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 01010 qqqqq ppppp 0   cpaddsru3.b =croc,crqc,crpc (c3_1)
 (dni cpaddsru3_b_C3 "cpaddsru3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsru3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsru3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaddsru3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 01010 qqqqq ppppp 0   cpaddsr3.b =croc,crqc,crpc (c3_1)
 (dni cpaddsr3_b_C3 "cpaddsr3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaddsr3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 110 ooooo 0111 01010 qqqqq ppppp 0   cpaddsr3.h =croc,crqc,crpc (c3_1)
 (dni cpaddsr3_h_C3 "cpaddsr3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpaddsr3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 111 ooooo 0111 01010 qqqqq ppppp 0   cpaddsr3.w =croc,crqc,crpc (c3_1)
 (dni cpaddsr3_w_C3 "cpaddsr3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddsr3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpaddsr3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
        (f-ivc2-5u16 #xa) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 01011 qqqqq ppppp 0   cpabsu3.b =croc,crqc,crpc (c3_1)
 (dni cpabsu3_b_C3 "cpabsu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabsu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #xb) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 01011 qqqqq ppppp 0   cpabs3.b =croc,crqc,crpc (c3_1)
 (dni cpabs3_b_C3 "cpabs3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabs3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabs3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabs3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #xb) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 010 ooooo 0111 01011 qqqqq ppppp 0   cpabs3.h =croc,crqc,crpc (c3_1)
 (dni cpabs3_h_C3 "cpabs3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabs3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabs3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpabs3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) croc (f-sub4 7)
        (f-ivc2-5u16 #xb) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 01100 qqqqq ppppp 0   cpmaxu3.b =croc,crqc,crpc (c3_1)
 (dni cpmaxu3_b_C3 "cpmaxu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmaxu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmaxu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmaxu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #xc) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 01100 qqqqq ppppp 0   cpmax3.b =croc,crqc,crpc (c3_1)
 (dni cpmax3_b_C3 "cpmax3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmax3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #xc) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 01100 qqqqq ppppp 0   cpmax3.h =croc,crqc,crpc (c3_1)
 (dni cpmax3_h_C3 "cpmax3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmax3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #xc) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 01100 qqqqq ppppp 0   cpmaxu3.w =croc,crqc,crpc (c3_1)
 (dni cpmaxu3_w_C3 "cpmaxu3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmaxu3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmaxu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmaxu3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #xc) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 01100 qqqqq ppppp 0   cpmax3.w =croc,crqc,crpc (c3_1)
 (dni cpmax3_w_C3 "cpmax3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmax3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmax3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #xc) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 01101 qqqqq ppppp 0   cpminu3.b =croc,crqc,crpc (c3_1)
 (dni cpminu3_b_C3 "cpminu3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpminu3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpminu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpminu3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #xd) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 001 ooooo 0111 01101 qqqqq ppppp 0   cpmin3.b =croc,crqc,crpc (c3_1)
 (dni cpmin3_b_C3 "cpmin3.b $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmin3.b $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) croc (f-sub4 7)
        (f-ivc2-5u16 #xd) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 011 ooooo 0111 01101 qqqqq ppppp 0   cpmin3.h =croc,crqc,crpc (c3_1)
 (dni cpmin3_h_C3 "cpmin3.h $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmin3.h $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) croc (f-sub4 7)
        (f-ivc2-5u16 #xd) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 100 ooooo 0111 01101 qqqqq ppppp 0   cpminu3.w =croc,crqc,crpc (c3_1)
 (dni cpminu3_w_C3 "cpminu3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpminu3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpminu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpminu3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
        (f-ivc2-5u16 #xd) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 101 ooooo 0111 01101 qqqqq ppppp 0   cpmin3.w =croc,crqc,crpc (c3_1)
 (dni cpmin3_w_C3 "cpmin3.w $croc,$crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmin3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmin3.w $croc,$crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x5) croc (f-sub4 7)
        (f-ivc2-5u16 #xd) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10000 00000 00000 0   cpmovfrcsar0 =croc (c3_1)
 (dni cpmovfrcsar0_C3 "cpmovfrcsar0 $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcsar0"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcsar0") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcsar0 $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x10) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10000 00000 01111 0   cpmovfrcsar1 =croc (c3_1)
 (dni cpmovfrcsar1_C3 "cpmovfrcsar1 $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcsar1"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcsar1") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcsar1 $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x10) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #xf) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10000 00000 00001 0   cpmovfrcc =croc (c3_1)
 (dni cpmovfrcc_C3 "cpmovfrcc $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcc"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovfrcc") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcc $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x10) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x1) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00000 0   cpmov =croc,crqc (c3_1)
 (dni cpmov_C3 "cpmov $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmov"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmov") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmov $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00001 0   cpabsz.b =croc,crqc (c3_1)
 (dni cpabsz_b_C3 "cpabsz.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabsz.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00010 0   cpabsz.h =croc,crqc (c3_1)
 (dni cpabsz_h_C3 "cpabsz.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_h") (CPTYPE V4HI) (CRET FIRST))
   "cpabsz.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x2) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00011 0   cpabsz.w =croc,crqc (c3_1)
 (dni cpabsz_w_C3 "cpabsz.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsz_w") (CPTYPE V2SI) (CRET FIRST))
   "cpabsz.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x3) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00100 0   cpldz.h =croc,crqc (c3_1)
 (dni cpldz_h_C3 "cpldz.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpldz_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpldz_h") (CPTYPE V4HI) (CRET FIRST))
   "cpldz.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x4) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00101 0   cpldz.w =croc,crqc (c3_1)
 (dni cpldz_w_C3 "cpldz.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpldz_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpldz_w") (CPTYPE V2SI) (CRET FIRST))
   "cpldz.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x5) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00110 0   cpnorm.h =croc,crqc (c3_1)
 (dni cpnorm_h_C3 "cpnorm.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnorm_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnorm_h") (CPTYPE V4HI) (CRET FIRST))
   "cpnorm.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x6) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 00111 0   cpnorm.w =croc,crqc (c3_1)
 (dni cpnorm_w_C3 "cpnorm.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnorm_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpnorm_w") (CPTYPE V2SI) (CRET FIRST))
   "cpnorm.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x7) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01000 0   cphaddu.b =croc,crqc (c3_1)
 (dni cphaddu_b_C3 "cphaddu.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphaddu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphaddu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cphaddu.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x8) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01001 0   cphadd.b =croc,crqc (c3_1)
 (dni cphadd_b_C3 "cphadd.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_b") (CPTYPE V8QI) (CRET FIRST))
   "cphadd.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x9) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01010 0   cphadd.h =croc,crqc (c3_1)
 (dni cphadd_h_C3 "cphadd.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_h") (CPTYPE V4HI) (CRET FIRST))
   "cphadd.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xa) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01011 0   cphadd.w =croc,crqc (c3_1)
 (dni cphadd_w_C3 "cphadd.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cphadd_w") (CPTYPE V2SI) (CRET FIRST))
   "cphadd.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xb) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01100 0   cpccadd.b +crqc (c3_1)
 (dni cpccadd_b_C3 "cpccadd.b $crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpccadd_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpccadd_b") (CPTYPE V8QI) (CRET FIRSTCOPY))
   "cpccadd.b $crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xc) (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
-       (c-call "ivc2_cpccadd_b" pc (index-of crqc)) )
+       (set crqc (c-call DI "ivc2_cpccadd_b" pc crqc)) )
   ()
   )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01101 0   cpbcast.b =croc,crqc (c3_1)
 (dni cpbcast_b_C3 "cpbcast.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_b") (CPTYPE V8QI) (CRET FIRST))
   "cpbcast.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xd) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01110 0   cpbcast.h =croc,crqc (c3_1)
 (dni cpbcast_h_C3 "cpbcast.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_h") (CPTYPE V4HI) (CRET FIRST))
   "cpbcast.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xe) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 01111 0   cpbcast.w =croc,crqc (c3_1)
 (dni cpbcast_w_C3 "cpbcast.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpbcast_w") (CPTYPE V2SI) (CRET FIRST))
   "cpbcast.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #xf) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10000 0   cpextuu.b =croc,crqc (c3_1)
 (dni cpextuu_b_C3 "cpextuu.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextuu.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x10) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10001 0   cpextu.b =croc,crqc (c3_1)
 (dni cpextu_b_C3 "cpextu.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextu.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x11) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10010 0   cpextuu.h =croc,crqc (c3_1)
 (dni cpextuu_h_C3 "cpextuu.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuu_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextuu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextuu.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x12) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10011 0   cpextu.h =croc,crqc (c3_1)
 (dni cpextu_h_C3 "cpextu.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextu_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextu.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x13) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10100 0   cpextlu.b =croc,crqc (c3_1)
 (dni cpextlu_b_C3 "cpextlu.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextlu.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x14) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10101 0   cpextl.b =croc,crqc (c3_1)
 (dni cpextl_b_C3 "cpextl.b $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextl_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextl_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextl.b $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x15) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10110 0   cpextlu.h =croc,crqc (c3_1)
 (dni cpextlu_h_C3 "cpextlu.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlu_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextlu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextlu.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x16) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 10111 0   cpextl.h =croc,crqc (c3_1)
 (dni cpextl_h_C3 "cpextl.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextl_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpextl_h") (CPTYPE V4HI) (CRET FIRST))
   "cpextl.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x17) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11000 0   cpcastub.h =croc,crqc (c3_1)
 (dni cpcastub_h_C3 "cpcastub.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastub_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastub_h") (CPTYPE V4HI) (CRET FIRST))
   "cpcastub.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x18) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11001 0   cpcastb.h =croc,crqc (c3_1)
 (dni cpcastb_h_C3 "cpcastb.h $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastb_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastb_h") (CPTYPE V4HI) (CRET FIRST))
   "cpcastb.h $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x19) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11100 0   cpcastub.w =croc,crqc (c3_1)
 (dni cpcastub_w_C3 "cpcastub.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastub_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastub_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastub.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1c) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11101 0   cpcastb.w =croc,crqc (c3_1)
 (dni cpcastb_w_C3 "cpcastb.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastb_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastb_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastb.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1d) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11110 0   cpcastuh.w =croc,crqc (c3_1)
 (dni cpcastuh_w_C3 "cpcastuh.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastuh_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcastuh_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastuh.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1e) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11111 0   cpcasth.w =croc,crqc (c3_1)
 (dni cpcasth_w_C3 "cpcasth.w $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcasth_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcasth_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcasth.w $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1f) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11010 0   cdcastuw =croc,crqc (c3_1)
 (dni cdcastuw_C3 "cdcastuw $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdcastuw"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdcastuw") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdcastuw $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1a) (f-ivc2-1u31 #x0) )
 
 ; 1111 000 ooooo 0111 10001 qqqqq 11011 0   cdcastw =croc,crqc (c3_1)
 (dni cdcastw_C3 "cdcastw $croc,$crqc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdcastw"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdcastw") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdcastw $croc,$crqc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x11) crqc (f-ivc2-5u26 #x1b) (f-ivc2-1u31 #x0) )
 
 ; 1111 0000 0000 0111 10010 qqqqq ppppp 0   cpcmpeqz.b crqc,crpc (c3_1)
 (dni cpcmpeqz_b_C3 "cpcmpeqz.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeqz_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeqz_b") (CPTYPE V8QI))
   "cpcmpeqz.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeqz_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0001 0111 10010 qqqqq ppppp 0   cpcmpeq.b crqc,crpc (c3_1)
 (dni cpcmpeq_b_C3 "cpcmpeq.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_b") (CPTYPE V8QI))
   "cpcmpeq.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0011 0111 10010 qqqqq ppppp 0   cpcmpeq.h crqc,crpc (c3_1)
 (dni cpcmpeq_h_C3 "cpcmpeq.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_h") (CPTYPE V4HI))
   "cpcmpeq.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x3) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0101 0111 10010 qqqqq ppppp 0   cpcmpeq.w crqc,crpc (c3_1)
 (dni cpcmpeq_w_C3 "cpcmpeq.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpeq_w") (CPTYPE V2SI))
   "cpcmpeq.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x5) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1001 0111 10010 qqqqq ppppp 0   cpcmpne.b crqc,crpc (c3_1)
 (dni cpcmpne_b_C3 "cpcmpne.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_b") (CPTYPE V8QI))
   "cpcmpne.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x9) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1011 0111 10010 qqqqq ppppp 0   cpcmpne.h crqc,crpc (c3_1)
 (dni cpcmpne_h_C3 "cpcmpne.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_h") (CPTYPE V4HI))
   "cpcmpne.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1101 0111 10010 qqqqq ppppp 0   cpcmpne.w crqc,crpc (c3_1)
 (dni cpcmpne_w_C3 "cpcmpne.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpne_w") (CPTYPE V2SI))
   "cpcmpne.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xd) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0000 0111 10010 qqqqq ppppp 0   cpcmpgtu.b crqc,crpc (c3_1)
 (dni cpcmpgtu_b_C3 "cpcmpgtu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgtu_b") (CPTYPE V8UQI))
   "cpcmpgtu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x10) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgtu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0001 0111 10010 qqqqq ppppp 0   cpcmpgt.b crqc,crpc (c3_1)
 (dni cpcmpgt_b_C3 "cpcmpgt.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_b") (CPTYPE V8QI))
   "cpcmpgt.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x11) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0011 0111 10010 qqqqq ppppp 0   cpcmpgt.h crqc,crpc (c3_1)
 (dni cpcmpgt_h_C3 "cpcmpgt.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_h") (CPTYPE V4HI))
   "cpcmpgt.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0100 0111 10010 qqqqq ppppp 0   cpcmpgtu.w crqc,crpc (c3_1)
 (dni cpcmpgtu_w_C3 "cpcmpgtu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgtu_w") (CPTYPE V2USI))
   "cpcmpgtu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x14) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgtu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0101 0111 10010 qqqqq ppppp 0   cpcmpgt.w crqc,crpc (c3_1)
 (dni cpcmpgt_w_C3 "cpcmpgt.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgt_w") (CPTYPE V2SI))
   "cpcmpgt.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x15) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1000 0111 10010 qqqqq ppppp 0   cpcmpgeu.b crqc,crpc (c3_1)
 (dni cpcmpgeu_b_C3 "cpcmpgeu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgeu_b") (CPTYPE V8UQI))
   "cpcmpgeu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x18) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgeu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1001 0111 10010 qqqqq ppppp 0   cpcmpge.b crqc,crpc (c3_1)
 (dni cpcmpge_b_C3 "cpcmpge.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_b") (CPTYPE V8QI))
   "cpcmpge.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x19) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1011 0111 10010 qqqqq ppppp 0   cpcmpge.h crqc,crpc (c3_1)
 (dni cpcmpge_h_C3 "cpcmpge.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_h") (CPTYPE V4HI))
   "cpcmpge.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1100 0111 10010 qqqqq ppppp 0   cpcmpgeu.w crqc,crpc (c3_1)
 (dni cpcmpgeu_w_C3 "cpcmpgeu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpgeu_w") (CPTYPE V2USI))
   "cpcmpgeu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1c) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgeu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1101 0111 10010 qqqqq ppppp 0   cpcmpge.w crqc,crpc (c3_1)
 (dni cpcmpge_w_C3 "cpcmpge.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpcmpge_w") (CPTYPE V2SI))
   "cpcmpge.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1d) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0001 0111 10010 qqqqq ppppp 0   cpacmpeq.b crqc,crpc (c3_1)
 (dni cpacmpeq_b_C3 "cpacmpeq.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_b") (CPTYPE V8QI))
   "cpacmpeq.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpeq_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0011 0111 10010 qqqqq ppppp 0   cpacmpeq.h crqc,crpc (c3_1)
 (dni cpacmpeq_h_C3 "cpacmpeq.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_h") (CPTYPE V4HI))
   "cpacmpeq.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x3) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpeq_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0101 0111 10010 qqqqq ppppp 0   cpacmpeq.w crqc,crpc (c3_1)
 (dni cpacmpeq_w_C3 "cpacmpeq.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpeq_w") (CPTYPE V2SI))
   "cpacmpeq.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x5) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpeq_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 1001 0111 10010 qqqqq ppppp 0   cpacmpne.b crqc,crpc (c3_1)
 (dni cpacmpne_b_C3 "cpacmpne.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_b") (CPTYPE V8QI))
   "cpacmpne.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x9) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpne_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 1011 0111 10010 qqqqq ppppp 0   cpacmpne.h crqc,crpc (c3_1)
 (dni cpacmpne_h_C3 "cpacmpne.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_h") (CPTYPE V4HI))
   "cpacmpne.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpne_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 1101 0111 10010 qqqqq ppppp 0   cpacmpne.w crqc,crpc (c3_1)
 (dni cpacmpne_w_C3 "cpacmpne.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpne_w") (CPTYPE V2SI))
   "cpacmpne.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #xd) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpne_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0000 0111 10010 qqqqq ppppp 0   cpacmpgtu.b crqc,crpc (c3_1)
 (dni cpacmpgtu_b_C3 "cpacmpgtu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgtu_b") (CPTYPE V8UQI))
   "cpacmpgtu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x10) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgtu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0001 0111 10010 qqqqq ppppp 0   cpacmpgt.b crqc,crpc (c3_1)
 (dni cpacmpgt_b_C3 "cpacmpgt.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_b") (CPTYPE V8QI))
   "cpacmpgt.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x11) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgt_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0011 0111 10010 qqqqq ppppp 0   cpacmpgt.h crqc,crpc (c3_1)
 (dni cpacmpgt_h_C3 "cpacmpgt.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_h") (CPTYPE V4HI))
   "cpacmpgt.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgt_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0100 0111 10010 qqqqq ppppp 0   cpacmpgtu.w crqc,crpc (c3_1)
 (dni cpacmpgtu_w_C3 "cpacmpgtu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgtu_w") (CPTYPE V2USI))
   "cpacmpgtu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x14) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgtu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0101 0111 10010 qqqqq ppppp 0   cpacmpgt.w crqc,crpc (c3_1)
 (dni cpacmpgt_w_C3 "cpacmpgt.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgt_w") (CPTYPE V2SI))
   "cpacmpgt.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x15) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgt_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1000 0111 10010 qqqqq ppppp 0   cpacmpgeu.b crqc,crpc (c3_1)
 (dni cpacmpgeu_b_C3 "cpacmpgeu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgeu_b") (CPTYPE V8UQI))
   "cpacmpgeu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x18) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgeu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1001 0111 10010 qqqqq ppppp 0   cpacmpge.b crqc,crpc (c3_1)
 (dni cpacmpge_b_C3 "cpacmpge.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_b") (CPTYPE V8QI))
   "cpacmpge.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x19) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpge_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1011 0111 10010 qqqqq ppppp 0   cpacmpge.h crqc,crpc (c3_1)
 (dni cpacmpge_h_C3 "cpacmpge.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_h") (CPTYPE V4HI))
   "cpacmpge.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpge_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1100 0111 10010 qqqqq ppppp 0   cpacmpgeu.w crqc,crpc (c3_1)
 (dni cpacmpgeu_w_C3 "cpacmpgeu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpgeu_w") (CPTYPE V2USI))
   "cpacmpgeu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1c) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpgeu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1101 0111 10010 qqqqq ppppp 0   cpacmpge.w crqc,crpc (c3_1)
 (dni cpacmpge_w_C3 "cpacmpge.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpacmpge_w") (CPTYPE V2SI))
   "cpacmpge.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1d) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpacmpge_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 0001 0111 10010 qqqqq ppppp 0   cpocmpeq.b crqc,crpc (c3_1)
 (dni cpocmpeq_b_C3 "cpocmpeq.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_b") (CPTYPE V8QI))
   "cpocmpeq.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x1) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpeq_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 0011 0111 10010 qqqqq ppppp 0   cpocmpeq.h crqc,crpc (c3_1)
 (dni cpocmpeq_h_C3 "cpocmpeq.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_h") (CPTYPE V4HI))
   "cpocmpeq.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x3) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpeq_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 0101 0111 10010 qqqqq ppppp 0   cpocmpeq.w crqc,crpc (c3_1)
 (dni cpocmpeq_w_C3 "cpocmpeq.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpeq_w") (CPTYPE V2SI))
   "cpocmpeq.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x5) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpeq_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1001 0111 10010 qqqqq ppppp 0   cpocmpne.b crqc,crpc (c3_1)
 (dni cpocmpne_b_C3 "cpocmpne.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_b") (CPTYPE V8QI))
   "cpocmpne.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x9) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpne_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1011 0111 10010 qqqqq ppppp 0   cpocmpne.h crqc,crpc (c3_1)
 (dni cpocmpne_h_C3 "cpocmpne.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_h") (CPTYPE V4HI))
   "cpocmpne.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpne_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1101 0111 10010 qqqqq ppppp 0   cpocmpne.w crqc,crpc (c3_1)
 (dni cpocmpne_w_C3 "cpocmpne.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpne_w") (CPTYPE V2SI))
   "cpocmpne.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xd) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpne_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 0000 0111 10010 qqqqq ppppp 0   cpocmpgtu.b crqc,crpc (c3_1)
 (dni cpocmpgtu_b_C3 "cpocmpgtu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgtu_b") (CPTYPE V8UQI))
   "cpocmpgtu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x10) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgtu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 0001 0111 10010 qqqqq ppppp 0   cpocmpgt.b crqc,crpc (c3_1)
 (dni cpocmpgt_b_C3 "cpocmpgt.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_b") (CPTYPE V8QI))
   "cpocmpgt.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x11) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgt_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 0011 0111 10010 qqqqq ppppp 0   cpocmpgt.h crqc,crpc (c3_1)
 (dni cpocmpgt_h_C3 "cpocmpgt.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_h") (CPTYPE V4HI))
   "cpocmpgt.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgt_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 0100 0111 10010 qqqqq ppppp 0   cpocmpgtu.w crqc,crpc (c3_1)
 (dni cpocmpgtu_w_C3 "cpocmpgtu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgtu_w") (CPTYPE V2USI))
   "cpocmpgtu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x14) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgtu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 0101 0111 10010 qqqqq ppppp 0   cpocmpgt.w crqc,crpc (c3_1)
 (dni cpocmpgt_w_C3 "cpocmpgt.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgt_w") (CPTYPE V2SI))
   "cpocmpgt.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x15) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgt_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 1000 0111 10010 qqqqq ppppp 0   cpocmpgeu.b crqc,crpc (c3_1)
 (dni cpocmpgeu_b_C3 "cpocmpgeu.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgeu_b") (CPTYPE V8UQI))
   "cpocmpgeu.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x18) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgeu_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 1001 0111 10010 qqqqq ppppp 0   cpocmpge.b crqc,crpc (c3_1)
 (dni cpocmpge_b_C3 "cpocmpge.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_b") (CPTYPE V8QI))
   "cpocmpge.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x19) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpge_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 1011 0111 10010 qqqqq ppppp 0   cpocmpge.h crqc,crpc (c3_1)
 (dni cpocmpge_h_C3 "cpocmpge.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_h") (CPTYPE V4HI))
   "cpocmpge.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpge_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 1100 0111 10010 qqqqq ppppp 0   cpocmpgeu.w crqc,crpc (c3_1)
 (dni cpocmpgeu_w_C3 "cpocmpgeu.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpgeu_w") (CPTYPE V2USI))
   "cpocmpgeu.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x1c) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpgeu_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0101 1101 0111 10010 qqqqq ppppp 0   cpocmpge.w crqc,crpc (c3_1)
 (dni cpocmpge_w_C3 "cpocmpge.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpocmpge_w") (CPTYPE V2SI))
   "cpocmpge.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #x1d) (f-sub4 7)
        (f-ivc2-5u16 #x12) crqc crpc (f-ivc2-1u31 #x0) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpocmpge_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 00xx xiii 0111 10100 qqqqq ppppp 0   cpsrli3.b =crqc,crpc,imm3p9 (c3_imm)
 (dni cpsrli3_b_C3 "cpsrli3.b $crqc,$crpc,imm3p9 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrli3.b $crqc,$crpc,$imm3p9"
   (+ MAJ_15 ivc-x-6-3 (f-ivc2-2u4 #x0) imm3p9 (f-sub4 7)
        (f-ivc2-5u16 #x14) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 01xx iiii 0111 10100 qqqqq ppppp 0   cpsrli3.h =crqc,crpc,imm4p8 (c3_imm)
 (dni cpsrli3_h_C3 "cpsrli3.h $crqc,$crpc,imm4p8 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrli3.h $crqc,$crpc,$imm4p8"
   (+ MAJ_15 ivc-x-6-2 (f-ivc2-2u4 #x1) imm4p8 (f-sub4 7)
        (f-ivc2-5u16 #x14) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 10xi iiii 0111 10100 qqqqq ppppp 0   cpsrli3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpsrli3_w_C3 "cpsrli3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrli3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrli3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x2) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x14) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 11ii iiii 0111 10100 qqqqq ppppp 0   cdsrli3 =crqc,crpc,imm6p6 (c3_imm)
 (dni cdsrli3_C3 "cdsrli3 $crqc,$crpc,imm6p6 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrli3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrli3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrli3 $crqc,$crpc,$imm6p6"
   (+ MAJ_15 (f-ivc2-2u4 #x3) imm6p6 (f-sub4 7)
        (f-ivc2-5u16 #x14) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 00xx xiii 0111 10101 qqqqq ppppp 0   cpsrai3.b =crqc,crpc,imm3p9 (c3_imm)
 (dni cpsrai3_b_C3 "cpsrai3.b $crqc,$crpc,imm3p9 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrai3.b $crqc,$crpc,$imm3p9"
   (+ MAJ_15 ivc-x-6-3 (f-ivc2-2u4 #x0) imm3p9 (f-sub4 7)
        (f-ivc2-5u16 #x15) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 01xx iiii 0111 10101 qqqqq ppppp 0   cpsrai3.h =crqc,crpc,imm4p8 (c3_imm)
 (dni cpsrai3_h_C3 "cpsrai3.h $crqc,$crpc,imm4p8 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrai3.h $crqc,$crpc,$imm4p8"
   (+ MAJ_15 ivc-x-6-2 (f-ivc2-2u4 #x1) imm4p8 (f-sub4 7)
        (f-ivc2-5u16 #x15) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 10xi iiii 0111 10101 qqqqq ppppp 0   cpsrai3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpsrai3_w_C3 "cpsrai3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrai3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrai3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x2) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x15) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 11ii iiii 0111 10101 qqqqq ppppp 0   cdsrai3 =crqc,crpc,imm6p6 (c3_imm)
 (dni cdsrai3_C3 "cdsrai3 $crqc,$crpc,imm6p6 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrai3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdsrai3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrai3 $crqc,$crpc,$imm6p6"
   (+ MAJ_15 (f-ivc2-2u4 #x3) imm6p6 (f-sub4 7)
        (f-ivc2-5u16 #x15) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 00xx xiii 0111 10110 qqqqq ppppp 0   cpslli3.b =crqc,crpc,imm3p9 (c3_imm)
 (dni cpslli3_b_C3 "cpslli3.b $crqc,$crpc,imm3p9 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpslli3.b $crqc,$crpc,$imm3p9"
   (+ MAJ_15 ivc-x-6-3 (f-ivc2-2u4 #x0) imm3p9 (f-sub4 7)
        (f-ivc2-5u16 #x16) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 01xx iiii 0111 10110 qqqqq ppppp 0   cpslli3.h =crqc,crpc,imm4p8 (c3_imm)
 (dni cpslli3_h_C3 "cpslli3.h $crqc,$crpc,imm4p8 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpslli3.h $crqc,$crpc,$imm4p8"
   (+ MAJ_15 ivc-x-6-2 (f-ivc2-2u4 #x1) imm4p8 (f-sub4 7)
        (f-ivc2-5u16 #x16) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 10xi iiii 0111 10110 qqqqq ppppp 0   cpslli3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpslli3_w_C3 "cpslli3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslli3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpslli3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x2) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x16) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 11ii iiii 0111 10110 qqqqq ppppp 0   cdslli3 =crqc,crpc,imm6p6 (c3_imm)
 (dni cdslli3_C3 "cdslli3 $crqc,$crpc,imm6p6 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdslli3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdslli3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdslli3 $crqc,$crpc,$imm6p6"
   (+ MAJ_15 (f-ivc2-2u4 #x3) imm6p6 (f-sub4 7)
        (f-ivc2-5u16 #x16) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 01xx iiii 0111 10111 qqqqq ppppp 0   cpslai3.h =crqc,crpc,imm4p8 (c3_imm)
 (dni cpslai3_h_C3 "cpslai3.h $crqc,$crpc,imm4p8 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslai3_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslai3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpslai3.h $crqc,$crpc,$imm4p8"
   (+ MAJ_15 ivc-x-6-2 (f-ivc2-2u4 #x1) imm4p8 (f-sub4 7)
        (f-ivc2-5u16 #x17) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 10xi iiii 0111 10111 qqqqq ppppp 0   cpslai3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpslai3_w_C3 "cpslai3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslai3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslai3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpslai3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x2) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x17) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 00xi iiii 0111 11000 qqqqq ppppp 0   cpclipiu3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpclipiu3_w_C3 "cpclipiu3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpclipiu3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpclipiu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpclipiu3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x0) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x18) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 01xi iiii 0111 11000 qqqqq ppppp 0   cpclipi3.w =crqc,crpc,imm5p7 (c3_imm)
 (dni cpclipi3_w_C3 "cpclipi3.w $crqc,$crpc,imm5p7 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpclipi3_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpclipi3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpclipi3.w $crqc,$crpc,$imm5p7"
   (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x1) imm5p7 (f-sub4 7)
        (f-ivc2-5u16 #x18) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 10ii iiii 0111 11000 qqqqq ppppp 0   cdclipiu3 =crqc,crpc,imm6p6 (c3_imm)
 (dni cdclipiu3_C3 "cdclipiu3 $crqc,$crpc,imm6p6 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdclipiu3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdclipiu3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdclipiu3 $crqc,$crpc,$imm6p6"
   (+ MAJ_15 (f-ivc2-2u4 #x2) imm6p6 (f-sub4 7)
        (f-ivc2-5u16 #x18) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 11ii iiii 0111 11000 qqqqq ppppp 0   cdclipi3 =crqc,crpc,imm6p6 (c3_imm)
 (dni cdclipi3_C3 "cdclipi3 $crqc,$crpc,imm6p6 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdclipi3"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdclipi3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdclipi3 $crqc,$crpc,$imm6p6"
   (+ MAJ_15 (f-ivc2-2u4 #x3) imm6p6 (f-sub4 7)
        (f-ivc2-5u16 #x18) crqc crpc (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00000 0   cpmovi.b =crqc,simm8p4 (c3_imm)
 (dni cpmovi_b_C3 "cpmovi.b $crqc,simm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmovi.b $crqc,$simm8p4"
   (+ MAJ_15 simm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00010 0   cpmoviu.h =crqc,imm8p4 (c3_imm)
 (dni cpmoviu_h_C3 "cpmoviu.h $crqc,imm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmoviu_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmoviu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpmoviu.h $crqc,$imm8p4"
   (+ MAJ_15 imm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x2) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00011 0   cpmovi.h =crqc,simm8p4 (c3_imm)
 (dni cpmovi_h_C3 "cpmovi.h $crqc,simm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovi.h $crqc,$simm8p4"
   (+ MAJ_15 simm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x3) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00100 0   cpmoviu.w =crqc,imm8p4 (c3_imm)
 (dni cpmoviu_w_C3 "cpmoviu.w $crqc,imm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmoviu_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmoviu_w") (CPTYPE V2USI) (CRET FIRST))
   "cpmoviu.w $crqc,$imm8p4"
   (+ MAJ_15 imm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x4) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00101 0   cpmovi.w =crqc,simm8p4 (c3_imm)
 (dni cpmovi_w_C3 "cpmovi.w $crqc,simm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovi_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovi.w $crqc,$simm8p4"
   (+ MAJ_15 simm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x5) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00110 0   cdmoviu =crqc,imm8p4 (c3_imm)
 (dni cdmoviu_C3 "cdmoviu $crqc,imm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdmoviu"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdmoviu") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdmoviu $crqc,$imm8p4"
   (+ MAJ_15 imm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x6) (f-ivc2-1u31 #x0) )
 
 ; 1111 iiii iiii 0111 11001 qqqqq 00111 0   cdmovi =crqc,simm8p4 (c3_imm)
 (dni cdmovi_C3 "cdmovi $crqc,simm8p4 C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdmovi"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cdmovi") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdmovi $crqc,$simm8p4"
   (+ MAJ_15 simm8p4 (f-sub4 7)
        (f-ivc2-5u16 #x19) crqc (f-ivc2-5u26 #x7) (f-ivc2-1u31 #x0) )
 
 ; 1111 0000 0000 0111 00000 qqqqq ppppp 1   cpadda1u.b crqc,crpc (c3_1)
 (dni cpadda1u_b_C3 "cpadda1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadda1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadda1u_b") (CPTYPE V8UQI))
   "cpadda1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpadda1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0001 0111 00000 qqqqq ppppp 1   cpadda1.b crqc,crpc (c3_1)
 (dni cpadda1_b_C3 "cpadda1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadda1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpadda1_b") (CPTYPE V8QI))
   "cpadda1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpadda1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0010 0111 00000 qqqqq ppppp 1   cpaddua1.h crqc,crpc (c3_1)
 (dni cpaddua1_h_C3 "cpaddua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddua1_h") (CPTYPE V4HI))
   "cpaddua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x2) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpaddua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0011 0111 00000 qqqqq ppppp 1   cpaddla1.h crqc,crpc (c3_1)
 (dni cpaddla1_h_C3 "cpaddla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddla1_h") (CPTYPE V4HI))
   "cpaddla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x3) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpaddla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0100 0111 00000 qqqqq ppppp 1   cpaddaca1u.b crqc,crpc (c3_1)
 (dni cpaddaca1u_b_C3 "cpaddaca1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddaca1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddaca1u_b") (CPTYPE V8UQI))
   "cpaddaca1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x4) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddaca1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0101 0111 00000 qqqqq ppppp 1   cpaddaca1.b crqc,crpc (c3_1)
 (dni cpaddaca1_b_C3 "cpaddaca1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddaca1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddaca1_b") (CPTYPE V8QI))
   "cpaddaca1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x5) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddaca1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0110 0111 00000 qqqqq ppppp 1   cpaddacua1.h crqc,crpc (c3_1)
 (dni cpaddacua1_h_C3 "cpaddacua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddacua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddacua1_h") (CPTYPE V4HI))
   "cpaddacua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x6) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddacua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0111 0111 00000 qqqqq ppppp 1   cpaddacla1.h crqc,crpc (c3_1)
 (dni cpaddacla1_h_C3 "cpaddacla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddacla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpaddacla1_h") (CPTYPE V4HI))
   "cpaddacla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x7) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddacla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1000 0111 00000 qqqqq ppppp 1   cpsuba1u.b crqc,crpc (c3_1)
 (dni cpsuba1u_b_C3 "cpsuba1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsuba1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsuba1u_b") (CPTYPE V8UQI))
   "cpsuba1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x8) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsuba1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1001 0111 00000 qqqqq ppppp 1   cpsuba1.b crqc,crpc (c3_1)
 (dni cpsuba1_b_C3 "cpsuba1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsuba1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsuba1_b") (CPTYPE V8QI))
   "cpsuba1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x9) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsuba1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1010 0111 00000 qqqqq ppppp 1   cpsubua1.h crqc,crpc (c3_1)
 (dni cpsubua1_h_C3 "cpsubua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubua1_h") (CPTYPE V4HI))
   "cpsubua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xa) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsubua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1011 0111 00000 qqqqq ppppp 1   cpsubla1.h crqc,crpc (c3_1)
 (dni cpsubla1_h_C3 "cpsubla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubla1_h") (CPTYPE V4HI))
   "cpsubla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpsubla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1100 0111 00000 qqqqq ppppp 1   cpsubaca1u.b crqc,crpc (c3_1)
 (dni cpsubaca1u_b_C3 "cpsubaca1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubaca1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubaca1u_b") (CPTYPE V8UQI))
   "cpsubaca1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xc) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubaca1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1101 0111 00000 qqqqq ppppp 1   cpsubaca1.b crqc,crpc (c3_1)
 (dni cpsubaca1_b_C3 "cpsubaca1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubaca1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubaca1_b") (CPTYPE V8QI))
   "cpsubaca1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xd) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubaca1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1110 0111 00000 qqqqq ppppp 1   cpsubacua1.h crqc,crpc (c3_1)
 (dni cpsubacua1_h_C3 "cpsubacua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubacua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubacua1_h") (CPTYPE V4HI))
   "cpsubacua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xe) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubacua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1111 0111 00000 qqqqq ppppp 1   cpsubacla1.h crqc,crpc (c3_1)
 (dni cpsubacla1_h_C3 "cpsubacla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubacla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsubacla1_h") (CPTYPE V4HI))
   "cpsubacla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xf) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubacla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0000 0111 00000 qqqqq ppppp 1   cpabsa1u.b crqc,crpc (c3_1)
 (dni cpabsa1u_b_C3 "cpabsa1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsa1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsa1u_b") (CPTYPE V8UQI))
   "cpabsa1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x10) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsa1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0001 0111 00000 qqqqq ppppp 1   cpabsa1.b crqc,crpc (c3_1)
 (dni cpabsa1_b_C3 "cpabsa1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsa1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsa1_b") (CPTYPE V8QI))
   "cpabsa1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x11) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsa1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0010 0111 00000 qqqqq ppppp 1   cpabsua1.h crqc,crpc (c3_1)
 (dni cpabsua1_h_C3 "cpabsua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsua1_h") (CPTYPE V4HI))
   "cpabsua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x12) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0011 0111 00000 qqqqq ppppp 1   cpabsla1.h crqc,crpc (c3_1)
 (dni cpabsla1_h_C3 "cpabsla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpabsla1_h") (CPTYPE V4HI))
   "cpabsla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpabsla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0100 0111 00000 qqqqq ppppp 1   cpsada1u.b crqc,crpc (c3_1)
 (dni cpsada1u_b_C3 "cpsada1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsada1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsada1u_b") (CPTYPE V8UQI))
   "cpsada1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x14) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsada1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0101 0111 00000 qqqqq ppppp 1   cpsada1.b crqc,crpc (c3_1)
 (dni cpsada1_b_C3 "cpsada1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsada1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsada1_b") (CPTYPE V8QI))
   "cpsada1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x15) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsada1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0110 0111 00000 qqqqq ppppp 1   cpsadua1.h crqc,crpc (c3_1)
 (dni cpsadua1_h_C3 "cpsadua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadua1_h") (CPTYPE V4HI))
   "cpsadua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x16) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsadua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0111 0111 00000 qqqqq ppppp 1   cpsadla1.h crqc,crpc (c3_1)
 (dni cpsadla1_h_C3 "cpsadla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsadla1_h") (CPTYPE V4HI))
   "cpsadla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x17) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsadla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0000 0111 00000 qqqqq ppppp 1   cpseta1.h crqc,crpc (c3_1)
 (dni cpseta1_h_C3 "cpseta1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpseta1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpseta1_h") (CPTYPE V4HI))
   "cpseta1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x0) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpseta1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0010 0111 00000 qqqqq ppppp 1   cpsetua1.w crqc,crpc (c3_1)
 (dni cpsetua1_w_C3 "cpsetua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsetua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsetua1_w") (CPTYPE V2SI))
   "cpsetua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x2) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsetua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0010 0011 0111 00000 qqqqq ppppp 1   cpsetla1.w crqc,crpc (c3_1)
 (dni cpsetla1_w_C3 "cpsetla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsetla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsetla1_w") (CPTYPE V2SI))
   "cpsetla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x3) (f-sub4 7)
        (f-ivc2-5u16 #x0) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpsetla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 000 ooooo 0111 00100 00000 00000 1   cpmova1.b =croc (c3_1)
 (dni cpmova1_b_C3 "cpmova1.b $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmova1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmova1_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmova1.b $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00010 1   cpmovua1.h =croc (c3_1)
 (dni cpmovua1_h_C3 "cpmovua1.h $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovua1_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovua1.h $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x2) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00011 1   cpmovla1.h =croc (c3_1)
 (dni cpmovla1_h_C3 "cpmovla1.h $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovla1_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovla1.h $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x3) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00100 1   cpmovuua1.w =croc (c3_1)
 (dni cpmovuua1_w_C3 "cpmovuua1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovuua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovuua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovuua1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x4) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00101 1   cpmovula1.w =croc (c3_1)
 (dni cpmovula1_w_C3 "cpmovula1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovula1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovula1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovula1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x5) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00110 1   cpmovlua1.w =croc (c3_1)
 (dni cpmovlua1_w_C3 "cpmovlua1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovlua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovlua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlua1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x6) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 00111 1   cpmovlla1.w =croc (c3_1)
 (dni cpmovlla1_w_C3 "cpmovlla1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovlla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovlla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlla1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x7) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10000 1   cppacka1u.b =croc (c3_1)
 (dni cppacka1u_b_C3 "cppacka1u.b $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacka1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacka1u_b") (CPTYPE V8UQI) (CRET FIRST))
   "cppacka1u.b $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x10) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10001 1   cppacka1.b =croc (c3_1)
 (dni cppacka1_b_C3 "cppacka1.b $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacka1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppacka1_b") (CPTYPE V8QI) (CRET FIRST))
   "cppacka1.b $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x11) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10010 1   cppackua1.h =croc (c3_1)
 (dni cppackua1_h_C3 "cppackua1.h $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackua1_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackua1.h $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x12) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10011 1   cppackla1.h =croc (c3_1)
 (dni cppackla1_h_C3 "cppackla1.h $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackla1_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackla1.h $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x13) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10100 1   cppackua1.w =croc (c3_1)
 (dni cppackua1_w_C3 "cppackua1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackua1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x14) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10101 1   cppackla1.w =croc (c3_1)
 (dni cppackla1_w_C3 "cppackla1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cppackla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackla1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x15) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10110 1   cpmovhua1.w =croc (c3_1)
 (dni cpmovhua1_w_C3 "cpmovhua1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovhua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovhua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhua1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x16) (f-ivc2-1u31 #x1) )
 
 ; 1111 000 ooooo 0111 00100 00000 10111 1   cpmovhla1.w =croc (c3_1)
 (dni cpmovhla1_w_C3 "cpmovhla1.w $croc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovhla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovhla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhla1.w $croc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) croc (f-sub4 7)
        (f-ivc2-5u16 #x4) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x17) (f-ivc2-1u31 #x1) )
        (f-ivc2-5u16 #x2) crqc (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsrla1" pc crqc) )
   ()
   )
        (f-ivc2-5u16 #x2) crqc (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsraa1" pc crqc) )
   ()
   )
        (f-ivc2-5u16 #x2) crqc (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpslla1" pc crqc) )
   ()
   )
        (f-ivc2-5u16 #x3) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsrlia1" pc imm5p7) )
   ()
   )
        (f-ivc2-5u16 #x3) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsraia1" pc imm5p7) )
   ()
   )
        (f-ivc2-5u16 #x3) (f-ivc2-5u21 #x0) (f-ivc2-5u26 #x0) (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsllia1" pc imm5p7) )
   ()
   )
 
 ; 1111 0000 0000 0111 00001 qqqqq ppppp 1   cpssqa1u.b crqc,crpc (c3_1)
 (dni cpssqa1u_b_C3 "cpssqa1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssqa1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssqa1u_b") (CPTYPE V8UQI))
   "cpssqa1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssqa1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0001 0111 00001 qqqqq ppppp 1   cpssqa1.b crqc,crpc (c3_1)
 (dni cpssqa1_b_C3 "cpssqa1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssqa1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssqa1_b") (CPTYPE V8QI))
   "cpssqa1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssqa1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0100 0111 00001 qqqqq ppppp 1   cpssda1u.b crqc,crpc (c3_1)
 (dni cpssda1u_b_C3 "cpssda1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssda1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssda1u_b") (CPTYPE V8UQI))
   "cpssda1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x4) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpssda1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 0101 0111 00001 qqqqq ppppp 1   cpssda1.b crqc,crpc (c3_1)
 (dni cpssda1_b_C3 "cpssda1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssda1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpssda1_b") (CPTYPE V8QI))
   "cpssda1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x5) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpssda1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1000 0111 00001 qqqqq ppppp 1   cpmula1u.b crqc,crpc (c3_1)
 (dni cpmula1u_b_C3 "cpmula1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmula1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmula1u_b") (CPTYPE V8UQI))
   "cpmula1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x8) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmula1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1001 0111 00001 qqqqq ppppp 1   cpmula1.b crqc,crpc (c3_1)
 (dni cpmula1_b_C3 "cpmula1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmula1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmula1_b") (CPTYPE V8QI))
   "cpmula1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x9) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmula1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1010 0111 00001 qqqqq ppppp 1   cpmulua1.h crqc,crpc (c3_1)
 (dni cpmulua1_h_C3 "cpmulua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1_h") (CPTYPE V4HI))
   "cpmulua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xa) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1011 0111 00001 qqqqq ppppp 1   cpmulla1.h crqc,crpc (c3_1)
 (dni cpmulla1_h_C3 "cpmulla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1_h") (CPTYPE V4HI))
   "cpmulla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1100 0111 00001 qqqqq ppppp 1   cpmulua1u.w crqc,crpc (c3_1)
 (dni cpmulua1u_w_C3 "cpmulua1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1u_w") (CPTYPE V2USI))
   "cpmulua1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xc) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1101 0111 00001 qqqqq ppppp 1   cpmulla1u.w crqc,crpc (c3_1)
 (dni cpmulla1u_w_C3 "cpmulla1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1u_w") (CPTYPE V2USI))
   "cpmulla1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xd) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1110 0111 00001 qqqqq ppppp 1   cpmulua1.w crqc,crpc (c3_1)
 (dni cpmulua1_w_C3 "cpmulua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulua1_w") (CPTYPE V2SI))
   "cpmulua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xe) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0000 1111 0111 00001 qqqqq ppppp 1   cpmulla1.w crqc,crpc (c3_1)
 (dni cpmulla1_w_C3 "cpmulla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulla1_w") (CPTYPE V2SI))
   "cpmulla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #xf) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0000 0111 00001 qqqqq ppppp 1   cpmada1u.b crqc,crpc (c3_1)
 (dni cpmada1u_b_C3 "cpmada1u.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmada1u_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmada1u_b") (CPTYPE V8UQI))
   "cpmada1u.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x10) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmada1u_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0001 0111 00001 qqqqq ppppp 1   cpmada1.b crqc,crpc (c3_1)
 (dni cpmada1_b_C3 "cpmada1.b $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmada1_b"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmada1_b") (CPTYPE V8QI))
   "cpmada1.b $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x11) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmada1_b" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0010 0111 00001 qqqqq ppppp 1   cpmadua1.h crqc,crpc (c3_1)
 (dni cpmadua1_h_C3 "cpmadua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1_h") (CPTYPE V4HI))
   "cpmadua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x12) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0011 0111 00001 qqqqq ppppp 1   cpmadla1.h crqc,crpc (c3_1)
 (dni cpmadla1_h_C3 "cpmadla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1_h") (CPTYPE V4HI))
   "cpmadla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0100 0111 00001 qqqqq ppppp 1   cpmadua1u.w crqc,crpc (c3_1)
 (dni cpmadua1u_w_C3 "cpmadua1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1u_w") (CPTYPE V2USI))
   "cpmadua1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x14) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0101 0111 00001 qqqqq ppppp 1   cpmadla1u.w crqc,crpc (c3_1)
 (dni cpmadla1u_w_C3 "cpmadla1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1u_w") (CPTYPE V2USI))
   "cpmadla1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x15) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0110 0111 00001 qqqqq ppppp 1   cpmadua1.w crqc,crpc (c3_1)
 (dni cpmadua1_w_C3 "cpmadua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadua1_w") (CPTYPE V2SI))
   "cpmadua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x16) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 0111 0111 00001 qqqqq ppppp 1   cpmadla1.w crqc,crpc (c3_1)
 (dni cpmadla1_w_C3 "cpmadla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmadla1_w") (CPTYPE V2SI))
   "cpmadla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x17) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1010 0111 00001 qqqqq ppppp 1   cpmsbua1.h crqc,crpc (c3_1)
 (dni cpmsbua1_h_C3 "cpmsbua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1_h") (CPTYPE V4HI))
   "cpmsbua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1a) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1011 0111 00001 qqqqq ppppp 1   cpmsbla1.h crqc,crpc (c3_1)
 (dni cpmsbla1_h_C3 "cpmsbla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1_h") (CPTYPE V4HI))
   "cpmsbla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1100 0111 00001 qqqqq ppppp 1   cpmsbua1u.w crqc,crpc (c3_1)
 (dni cpmsbua1u_w_C3 "cpmsbua1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1u_w") (CPTYPE V2USI))
   "cpmsbua1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1c) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1101 0111 00001 qqqqq ppppp 1   cpmsbla1u.w crqc,crpc (c3_1)
 (dni cpmsbla1u_w_C3 "cpmsbla1u.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1u_w") (CPTYPE V2USI))
   "cpmsbla1u.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1d) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1u_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1110 0111 00001 qqqqq ppppp 1   cpmsbua1.w crqc,crpc (c3_1)
 (dni cpmsbua1_w_C3 "cpmsbua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbua1_w") (CPTYPE V2SI))
   "cpmsbua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1e) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0001 1111 0111 00001 qqqqq ppppp 1   cpmsbla1.w crqc,crpc (c3_1)
 (dni cpmsbla1_w_C3 "cpmsbla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmsbla1_w") (CPTYPE V2SI))
   "cpmsbla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1f) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0010 0111 00001 qqqqq ppppp 1   cpsmadua1.h crqc,crpc (c3_1)
 (dni cpsmadua1_h_C3 "cpsmadua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadua1_h") (CPTYPE V4HI))
   "cpsmadua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x12) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0011 0111 00001 qqqqq ppppp 1   cpsmadla1.h crqc,crpc (c3_1)
 (dni cpsmadla1_h_C3 "cpsmadla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadla1_h") (CPTYPE V4HI))
   "cpsmadla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0110 0111 00001 qqqqq ppppp 1   cpsmadua1.w crqc,crpc (c3_1)
 (dni cpsmadua1_w_C3 "cpsmadua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadua1_w") (CPTYPE V2SI))
   "cpsmadua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x16) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 0111 0111 00001 qqqqq ppppp 1   cpsmadla1.w crqc,crpc (c3_1)
 (dni cpsmadla1_w_C3 "cpsmadla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadla1_w") (CPTYPE V2SI))
   "cpsmadla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x17) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1010 0111 00001 qqqqq ppppp 1   cpsmsbua1.h crqc,crpc (c3_1)
 (dni cpsmsbua1_h_C3 "cpsmsbua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbua1_h") (CPTYPE V4HI))
   "cpsmsbua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1a) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1011 0111 00001 qqqqq ppppp 1   cpsmsbla1.h crqc,crpc (c3_1)
 (dni cpsmsbla1_h_C3 "cpsmsbla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbla1_h") (CPTYPE V4HI))
   "cpsmsbla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1110 0111 00001 qqqqq ppppp 1   cpsmsbua1.w crqc,crpc (c3_1)
 (dni cpsmsbua1_w_C3 "cpsmsbua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbua1_w") (CPTYPE V2SI))
   "cpsmsbua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1e) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0011 1111 0111 00001 qqqqq ppppp 1   cpsmsbla1.w crqc,crpc (c3_1)
 (dni cpsmsbla1_w_C3 "cpsmsbla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbla1_w") (CPTYPE V2SI))
   "cpsmsbla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x1) (f-ivc2-5u7 #x1f) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1010 0111 00001 qqqqq ppppp 1   cpmulslua1.h crqc,crpc (c3_1)
 (dni cpmulslua1_h_C3 "cpmulslua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslua1_h") (CPTYPE V4HI))
   "cpmulslua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xa) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1011 0111 00001 qqqqq ppppp 1   cpmulslla1.h crqc,crpc (c3_1)
 (dni cpmulslla1_h_C3 "cpmulslla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslla1_h") (CPTYPE V4HI))
   "cpmulslla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xb) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1110 0111 00001 qqqqq ppppp 1   cpmulslua1.w crqc,crpc (c3_1)
 (dni cpmulslua1_w_C3 "cpmulslua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslua1_w") (CPTYPE V2SI))
   "cpmulslua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xe) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0100 1111 0111 00001 qqqqq ppppp 1   cpmulslla1.w crqc,crpc (c3_1)
 (dni cpmulslla1_w_C3 "cpmulslla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmulslla1_w") (CPTYPE V2SI))
   "cpmulslla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x2) (f-ivc2-5u7 #xf) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 0010 0111 00001 qqqqq ppppp 1   cpsmadslua1.h crqc,crpc (c3_1)
 (dni cpsmadslua1_h_C3 "cpsmadslua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslua1_h") (CPTYPE V4HI))
   "cpsmadslua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x12) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 0011 0111 00001 qqqqq ppppp 1   cpsmadslla1.h crqc,crpc (c3_1)
 (dni cpsmadslla1_h_C3 "cpsmadslla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslla1_h") (CPTYPE V4HI))
   "cpsmadslla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x13) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 0110 0111 00001 qqqqq ppppp 1   cpsmadslua1.w crqc,crpc (c3_1)
 (dni cpsmadslua1_w_C3 "cpsmadslua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslua1_w") (CPTYPE V2SI))
   "cpsmadslua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x16) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 0111 0111 00001 qqqqq ppppp 1   cpsmadslla1.w crqc,crpc (c3_1)
 (dni cpsmadslla1_w_C3 "cpsmadslla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmadslla1_w") (CPTYPE V2SI))
   "cpsmadslla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x17) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslla1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 1010 0111 00001 qqqqq ppppp 1   cpsmsbslua1.h crqc,crpc (c3_1)
 (dni cpsmsbslua1_h_C3 "cpsmsbslua1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslua1_h") (CPTYPE V4HI))
   "cpsmsbslua1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x1a) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslua1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 1011 0111 00001 qqqqq ppppp 1   cpsmsbslla1.h crqc,crpc (c3_1)
 (dni cpsmsbslla1_h_C3 "cpsmsbslla1.h $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslla1_h") (CPTYPE V4HI))
   "cpsmsbslla1.h $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x1b) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslla1_h" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 1110 0111 00001 qqqqq ppppp 1   cpsmsbslua1.w crqc,crpc (c3_1)
 (dni cpsmsbslua1_w_C3 "cpsmsbslua1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslua1_w") (CPTYPE V2SI))
   "cpsmsbslua1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x1e) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslua1_w" pc crqc crpc) )
   ()
   )
 
 ; 1111 0111 1111 0111 00001 qqqqq ppppp 1   cpsmsbslla1.w crqc,crpc (c3_1)
 (dni cpsmsbslla1_w_C3 "cpsmsbslla1.w $crqc,$crpc C3"
-  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsmsbslla1_w") (CPTYPE V2SI))
   "cpsmsbslla1.w $crqc,$crpc"
   (+ MAJ_15 (f-ivc2-3u4 #x3) (f-ivc2-5u7 #x1f) (f-sub4 7)
        (f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x1) )
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslla1_w" pc crqc crpc) )
   ()
   )
 
 ; 00001 qqqqq ppppp ooooo   cpadd3.b =crop,crqp,crpp (p0_1)
 (dni cpadd3_b_P0S_P1 "cpadd3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpadd3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010 qqqqq ppppp ooooo   cpadd3.h =crop,crqp,crpp (p0_1)
 (dni cpadd3_h_P0S_P1 "cpadd3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpadd3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x2) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011 qqqqq ppppp ooooo   cpadd3.w =crop,crqp,crpp (p0_1)
 (dni cpadd3_w_P0S_P1 "cpadd3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpadd3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpadd3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x3) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00101 qqqqq ppppp ooooo   cpunpacku.b =crop,crqp,crpp (p0_1)
 (dni cpunpacku_b_P0S_P1 "cpunpacku.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpunpacku.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x5) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110 qqqqq ppppp ooooo   cpunpacku.h =crop,crqp,crpp (p0_1)
 (dni cpunpacku_h_P0S_P1 "cpunpacku.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpunpacku.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x6) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111 qqqqq ppppp ooooo   cpunpacku.w =crop,crqp,crpp (p0_1)
 (dni cpunpacku_w_P0S_P1 "cpunpacku.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpacku_w") (CPTYPE V2USI) (CRET FIRST))
   "cpunpacku.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x7) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001 qqqqq ppppp ooooo   cpunpackl.b =crop,crqp,crpp (p0_1)
 (dni cpunpackl_b_P0S_P1 "cpunpackl.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_b") (CPTYPE V8QI) (CRET FIRST))
   "cpunpackl.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x9) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010 qqqqq ppppp ooooo   cpunpackl.h =crop,crqp,crpp (p0_1)
 (dni cpunpackl_h_P0S_P1 "cpunpackl.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_h") (CPTYPE V4HI) (CRET FIRST))
   "cpunpackl.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xa) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01011 qqqqq ppppp ooooo   cpunpackl.w =crop,crqp,crpp (p0_1)
 (dni cpunpackl_w_P0S_P1 "cpunpackl.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpunpackl_w") (CPTYPE V2SI) (CRET FIRST))
   "cpunpackl.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xb) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100 qqqqq ppppp ooooo   cpsel =crop,crqp,crpp (p0_1)
 (dni cpsel_P0S_P1 "cpsel $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpsel"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpsel") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpsel $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x4) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01100 qqqqq ppppp ooooo   cpfsftbs0 =crop,crqp,crpp (p0_1)
 (dni cpfsftbs0_P0S_P1 "cpfsftbs0 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpfsftbs0"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpfsftbs0") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbs0 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xc) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01101 qqqqq ppppp ooooo   cpfsftbs1 =crop,crqp,crpp (p0_1)
 (dni cpfsftbs1_P0S_P1 "cpfsftbs1 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpfsftbs1"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpfsftbs1") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbs1 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xd) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00000 ooooo   cpmov =crop,crqp (p0_1)
 (dni cpmov_P0S_P1 "cpmov $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmov"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmov") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmov $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x0) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00001 ooooo   cpabsz.b =crop,crqp (p0_1)
 (dni cpabsz_b_P0S_P1 "cpabsz.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabsz.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00010 ooooo   cpabsz.h =crop,crqp (p0_1)
 (dni cpabsz_h_P0S_P1 "cpabsz.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_h") (CPTYPE V4HI) (CRET FIRST))
   "cpabsz.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x2) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00011 ooooo   cpabsz.w =crop,crqp (p0_1)
 (dni cpabsz_w_P0S_P1 "cpabsz.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpabsz_w") (CPTYPE V2SI) (CRET FIRST))
   "cpabsz.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x3) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00100 ooooo   cpldz.h =crop,crqp (p0_1)
 (dni cpldz_h_P0S_P1 "cpldz.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpldz_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpldz_h") (CPTYPE V4HI) (CRET FIRST))
   "cpldz.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x4) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00101 ooooo   cpldz.w =crop,crqp (p0_1)
 (dni cpldz_w_P0S_P1 "cpldz.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpldz_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpldz_w") (CPTYPE V2SI) (CRET FIRST))
   "cpldz.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x5) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00110 ooooo   cpnorm.h =crop,crqp (p0_1)
 (dni cpnorm_h_P0S_P1 "cpnorm.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpnorm_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpnorm_h") (CPTYPE V4HI) (CRET FIRST))
   "cpnorm.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x6) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 00111 ooooo   cpnorm.w =crop,crqp (p0_1)
 (dni cpnorm_w_P0S_P1 "cpnorm.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpnorm_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpnorm_w") (CPTYPE V2SI) (CRET FIRST))
   "cpnorm.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x7) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01000 ooooo   cphaddu.b =crop,crqp (p0_1)
 (dni cphaddu_b_P0S_P1 "cphaddu.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphaddu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphaddu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cphaddu.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x8) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01001 ooooo   cphadd.b =crop,crqp (p0_1)
 (dni cphadd_b_P0S_P1 "cphadd.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_b") (CPTYPE V8QI) (CRET FIRST))
   "cphadd.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x9) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01010 ooooo   cphadd.h =crop,crqp (p0_1)
 (dni cphadd_h_P0S_P1 "cphadd.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_h") (CPTYPE V4HI) (CRET FIRST))
   "cphadd.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xa) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01011 ooooo   cphadd.w =crop,crqp (p0_1)
 (dni cphadd_w_P0S_P1 "cphadd.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cphadd_w") (CPTYPE V2SI) (CRET FIRST))
   "cphadd.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xb) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01100 00000   cpccadd.b +crqp (p0_1)
 (dni cpccadd_b_P0S_P1 "cpccadd.b $crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpccadd_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpccadd_b") (CPTYPE V8QI) (CRET FIRSTCOPY))
   "cpccadd.b $crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xc) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
-       (c-call "ivc2_cpccadd_b" pc (index-of crqp)) )
+       (set crqp (c-call DI "ivc2_cpccadd_b" pc crqp)) )
   ()
   )
 
 ; 10000 qqqqq 01101 ooooo   cpbcast.b =crop,crqp (p0_1)
 (dni cpbcast_b_P0S_P1 "cpbcast.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_b") (CPTYPE V8QI) (CRET FIRST))
   "cpbcast.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xd) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01110 ooooo   cpbcast.h =crop,crqp (p0_1)
 (dni cpbcast_h_P0S_P1 "cpbcast.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_h") (CPTYPE V4HI) (CRET FIRST))
   "cpbcast.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xe) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 01111 ooooo   cpbcast.w =crop,crqp (p0_1)
 (dni cpbcast_w_P0S_P1 "cpbcast.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpbcast_w") (CPTYPE V2SI) (CRET FIRST))
   "cpbcast.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #xf) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10000 ooooo   cpextuu.b =crop,crqp (p0_1)
 (dni cpextuu_b_P0S_P1 "cpextuu.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextuu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextuu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextuu.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x10) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10001 ooooo   cpextu.b =crop,crqp (p0_1)
 (dni cpextu_b_P0S_P1 "cpextu.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextu.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x11) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10010 ooooo   cpextuu.h =crop,crqp (p0_1)
 (dni cpextuu_h_P0S_P1 "cpextuu.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextuu_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextuu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextuu.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x12) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10011 ooooo   cpextu.h =crop,crqp (p0_1)
 (dni cpextu_h_P0S_P1 "cpextu.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextu_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextu.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x13) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10100 ooooo   cpextlu.b =crop,crqp (p0_1)
 (dni cpextlu_b_P0S_P1 "cpextlu.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextlu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextlu_b") (CPTYPE V8UQI) (CRET FIRST))
   "cpextlu.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x14) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10101 ooooo   cpextl.b =crop,crqp (p0_1)
 (dni cpextl_b_P0S_P1 "cpextl.b $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextl_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextl_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextl.b $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x15) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10110 ooooo   cpextlu.h =crop,crqp (p0_1)
 (dni cpextlu_h_P0S_P1 "cpextlu.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextlu_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextlu_h") (CPTYPE V4UHI) (CRET FIRST))
   "cpextlu.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x16) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 10111 ooooo   cpextl.h =crop,crqp (p0_1)
 (dni cpextl_h_P0S_P1 "cpextl.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextl_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpextl_h") (CPTYPE V4HI) (CRET FIRST))
   "cpextl.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x17) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11000 ooooo   cpcastub.h =crop,crqp (p0_1)
 (dni cpcastub_h_P0S_P1 "cpcastub.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastub_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastub_h") (CPTYPE V4HI) (CRET FIRST))
   "cpcastub.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x18) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11001 ooooo   cpcastb.h =crop,crqp (p0_1)
 (dni cpcastb_h_P0S_P1 "cpcastb.h $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastb_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastb_h") (CPTYPE V4HI) (CRET FIRST))
   "cpcastb.h $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x19) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11100 ooooo   cpcastub.w =crop,crqp (p0_1)
 (dni cpcastub_w_P0S_P1 "cpcastub.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastub_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastub_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastub.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1c) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11101 ooooo   cpcastb.w =crop,crqp (p0_1)
 (dni cpcastb_w_P0S_P1 "cpcastb.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastb_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastb_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastb.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1d) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11110 ooooo   cpcastuh.w =crop,crqp (p0_1)
 (dni cpcastuh_w_P0S_P1 "cpcastuh.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastuh_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcastuh_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcastuh.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1e) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11111 ooooo   cpcasth.w =crop,crqp (p0_1)
 (dni cpcasth_w_P0S_P1 "cpcasth.w $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcasth_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcasth_w") (CPTYPE V2SI) (CRET FIRST))
   "cpcasth.w $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1f) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11010 ooooo   cdcastuw =crop,crqp (p0_1)
 (dni cdcastuw_P0S_P1 "cdcastuw $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cdcastuw"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cdcastuw") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdcastuw $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1a) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10000 qqqqq 11011 ooooo   cdcastw =crop,crqp (p0_1)
 (dni cdcastw_P0S_P1 "cdcastw $crop,$crqp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cdcastw"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cdcastw") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdcastw $crop,$crqp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x10) crqp (f-ivc2-5u18 #x1b) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10001 00000 00000 ooooo   cpmovfrcsar0 =crop (p0_1)
 (dni cpmovfrcsar0_P0S_P1 "cpmovfrcsar0 $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcsar0"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcsar0") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcsar0 $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x0) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10001 00000 01111 ooooo   cpmovfrcsar1 =crop (p0_1)
 (dni cpmovfrcsar1_P0S_P1 "cpmovfrcsar1 $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcsar1"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcsar1") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcsar1 $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xf) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10001 00000 00001 ooooo   cpmovfrcc =crop (p0_1)
 (dni cpmovfrcc_P0S_P1 "cpmovfrcc $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcc"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovfrcc") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpmovfrcc $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 10010 qqqqq ppppp 00000   cpcmpeqz.b crqp,crpp (p0_1)
 (dni cpcmpeqz_b_P0S_P1 "cpcmpeqz.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeqz_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeqz_b") (CPTYPE V8QI))
   "cpcmpeqz.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeqz_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 00001   cpcmpeq.b crqp,crpp (p0_1)
 (dni cpcmpeq_b_P0S_P1 "cpcmpeq.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_b") (CPTYPE V8QI))
   "cpcmpeq.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 00011   cpcmpeq.h crqp,crpp (p0_1)
 (dni cpcmpeq_h_P0S_P1 "cpcmpeq.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_h") (CPTYPE V4HI))
   "cpcmpeq.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_h" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 00101   cpcmpeq.w crqp,crpp (p0_1)
 (dni cpcmpeq_w_P0S_P1 "cpcmpeq.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpeq_w") (CPTYPE V2SI))
   "cpcmpeq.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpeq_w" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 01001   cpcmpne.b crqp,crpp (p0_1)
 (dni cpcmpne_b_P0S_P1 "cpcmpne.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_b") (CPTYPE V8QI))
   "cpcmpne.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 01011   cpcmpne.h crqp,crpp (p0_1)
 (dni cpcmpne_h_P0S_P1 "cpcmpne.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_h") (CPTYPE V4HI))
   "cpcmpne.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_h" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 01101   cpcmpne.w crqp,crpp (p0_1)
 (dni cpcmpne_w_P0S_P1 "cpcmpne.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpne_w") (CPTYPE V2SI))
   "cpcmpne.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpne_w" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 10000   cpcmpgtu.b crqp,crpp (p0_1)
 (dni cpcmpgtu_b_P0S_P1 "cpcmpgtu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgtu_b") (CPTYPE V8UQI))
   "cpcmpgtu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgtu_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 10001   cpcmpgt.b crqp,crpp (p0_1)
 (dni cpcmpgt_b_P0S_P1 "cpcmpgt.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_b") (CPTYPE V8QI))
   "cpcmpgt.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 10011   cpcmpgt.h crqp,crpp (p0_1)
 (dni cpcmpgt_h_P0S_P1 "cpcmpgt.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_h") (CPTYPE V4HI))
   "cpcmpgt.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_h" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 10100   cpcmpgtu.w crqp,crpp (p0_1)
 (dni cpcmpgtu_w_P0S_P1 "cpcmpgtu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgtu_w") (CPTYPE V2USI))
   "cpcmpgtu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgtu_w" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 10101   cpcmpgt.w crqp,crpp (p0_1)
 (dni cpcmpgt_w_P0S_P1 "cpcmpgt.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgt_w") (CPTYPE V2SI))
   "cpcmpgt.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgt_w" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 11000   cpcmpgeu.b crqp,crpp (p0_1)
 (dni cpcmpgeu_b_P0S_P1 "cpcmpgeu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgeu_b") (CPTYPE V8UQI))
   "cpcmpgeu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x18) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgeu_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 11001   cpcmpge.b crqp,crpp (p0_1)
 (dni cpcmpge_b_P0S_P1 "cpcmpge.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_b") (CPTYPE V8QI))
   "cpcmpge.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x19) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_b" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 11011   cpcmpge.h crqp,crpp (p0_1)
 (dni cpcmpge_h_P0S_P1 "cpcmpge.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_h") (CPTYPE V4HI))
   "cpcmpge.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_h" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 11100   cpcmpgeu.w crqp,crpp (p0_1)
 (dni cpcmpgeu_w_P0S_P1 "cpcmpgeu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpgeu_w") (CPTYPE V2USI))
   "cpcmpgeu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpgeu_w" pc crqp crpp) )
   ()
   )
 
 ; 10010 qqqqq ppppp 11101   cpcmpge.w crqp,crpp (p0_1)
 (dni cpcmpge_w_P0S_P1 "cpcmpge.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpcmpge_w") (CPTYPE V2SI))
   "cpcmpge.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x12) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cc 0)
        (c-call "ivc2_cpcmpge_w" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00000   cpadda0u.b crqp,crpp (p0_1)
 (dni cpadda0u_b_P0S "cpadda0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpadda0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpadda0u_b") (CPTYPE V8UQI))
   "cpadda0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpadda0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00001   cpadda0.b crqp,crpp (p0_1)
 (dni cpadda0_b_P0S "cpadda0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpadda0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpadda0_b") (CPTYPE V8QI))
   "cpadda0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpadda0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00010   cpaddua0.h crqp,crpp (p0_1)
 (dni cpaddua0_h_P0S "cpaddua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddua0_h") (CPTYPE V4HI))
   "cpaddua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x2) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpaddua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00011   cpaddla0.h crqp,crpp (p0_1)
 (dni cpaddla0_h_P0S "cpaddla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddla0_h") (CPTYPE V4HI))
   "cpaddla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpaddla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00100   cpaddaca0u.b crqp,crpp (p0_1)
 (dni cpaddaca0u_b_P0S "cpaddaca0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddaca0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddaca0u_b") (CPTYPE V8UQI))
   "cpaddaca0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x4) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpaddaca0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00101   cpaddaca0.b crqp,crpp (p0_1)
 (dni cpaddaca0_b_P0S "cpaddaca0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddaca0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddaca0_b") (CPTYPE V8QI))
   "cpaddaca0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpaddaca0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00110   cpaddacua0.h crqp,crpp (p0_1)
 (dni cpaddacua0_h_P0S "cpaddacua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddacua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddacua0_h") (CPTYPE V4HI))
   "cpaddacua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x6) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpaddacua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 00111   cpaddacla0.h crqp,crpp (p0_1)
 (dni cpaddacla0_h_P0S "cpaddacla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddacla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaddacla0_h") (CPTYPE V4HI))
   "cpaddacla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x7) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpaddacla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01000   cpsuba0u.b crqp,crpp (p0_1)
 (dni cpsuba0u_b_P0S "cpsuba0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsuba0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsuba0u_b") (CPTYPE V8UQI))
   "cpsuba0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x8) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsuba0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01001   cpsuba0.b crqp,crpp (p0_1)
 (dni cpsuba0_b_P0S "cpsuba0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsuba0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsuba0_b") (CPTYPE V8QI))
   "cpsuba0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsuba0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01010   cpsubua0.h crqp,crpp (p0_1)
 (dni cpsubua0_h_P0S "cpsubua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubua0_h") (CPTYPE V4HI))
   "cpsubua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsubua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01011   cpsubla0.h crqp,crpp (p0_1)
 (dni cpsubla0_h_P0S "cpsubla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubla0_h") (CPTYPE V4HI))
   "cpsubla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpsubla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01100   cpsubaca0u.b crqp,crpp (p0_1)
 (dni cpsubaca0u_b_P0S "cpsubaca0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubaca0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubaca0u_b") (CPTYPE V8UQI))
   "cpsubaca0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xc) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsubaca0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01101   cpsubaca0.b crqp,crpp (p0_1)
 (dni cpsubaca0_b_P0S "cpsubaca0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubaca0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubaca0_b") (CPTYPE V8QI))
   "cpsubaca0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsubaca0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01110   cpsubacua0.h crqp,crpp (p0_1)
 (dni cpsubacua0_h_P0S "cpsubacua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubacua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubacua0_h") (CPTYPE V4HI))
   "cpsubacua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsubacua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 01111   cpsubacla0.h crqp,crpp (p0_1)
 (dni cpsubacla0_h_P0S "cpsubacla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubacla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsubacla0_h") (CPTYPE V4HI))
   "cpsubacla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsubacla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10000   cpabsa0u.b crqp,crpp (p0_1)
 (dni cpabsa0u_b_P0S "cpabsa0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsa0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsa0u_b") (CPTYPE V8UQI))
   "cpabsa0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpabsa0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10001   cpabsa0.b crqp,crpp (p0_1)
 (dni cpabsa0_b_P0S "cpabsa0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsa0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsa0_b") (CPTYPE V8QI))
   "cpabsa0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpabsa0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10010   cpabsua0.h crqp,crpp (p0_1)
 (dni cpabsua0_h_P0S "cpabsua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsua0_h") (CPTYPE V4HI))
   "cpabsua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpabsua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10011   cpabsla0.h crqp,crpp (p0_1)
 (dni cpabsla0_h_P0S "cpabsla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpabsla0_h") (CPTYPE V4HI))
   "cpabsla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpabsla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10100   cpsada0u.b crqp,crpp (p0_1)
 (dni cpsada0u_b_P0S "cpsada0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsada0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsada0u_b") (CPTYPE V8UQI))
   "cpsada0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsada0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10101   cpsada0.b crqp,crpp (p0_1)
 (dni cpsada0_b_P0S "cpsada0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsada0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsada0_b") (CPTYPE V8QI))
   "cpsada0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsada0_b" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10110   cpsadua0.h crqp,crpp (p0_1)
 (dni cpsadua0_h_P0S "cpsadua0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsadua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsadua0_h") (CPTYPE V4HI))
   "cpsadua0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsadua0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 10111   cpsadla0.h crqp,crpp (p0_1)
 (dni cpsadla0_h_P0S "cpsadla0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsadla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsadla0_h") (CPTYPE V4HI))
   "cpsadla0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpsadla0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 11011   cpseta0.h crqp,crpp (p0_1)
 (dni cpseta0_h_P0S "cpseta0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpseta0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpseta0_h") (CPTYPE V4HI))
   "cpseta0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpseta0_h" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 11100   cpsetua0.w crqp,crpp (p0_1)
 (dni cpsetua0_w_P0S "cpsetua0.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsetua0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsetua0_w") (CPTYPE V2SI))
   "cpsetua0.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsetua0_w" pc crqp crpp) )
   ()
   )
 
 ; 11000 qqqqq ppppp 11101   cpsetla0.w crqp,crpp (p0_1)
 (dni cpsetla0_w_P0S "cpsetla0.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsetla0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsetla0_w") (CPTYPE V2SI))
   "cpsetla0.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpsetla0_w" pc crqp crpp) )
   ()
   )
 
 ; 11001 00000 00001 ooooo   cpmova0.b =crop (p0_1)
 (dni cpmova0_b_P0S "cpmova0.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmova0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmova0_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmova0.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00010 ooooo   cpmovua0.h =crop (p0_1)
 (dni cpmovua0_h_P0S "cpmovua0.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovua0_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovua0.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x2) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00011 ooooo   cpmovla0.h =crop (p0_1)
 (dni cpmovla0_h_P0S "cpmovla0.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovla0_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovla0.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x3) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00100 ooooo   cpmovuua0.w =crop (p0_1)
 (dni cpmovuua0_w_P0S "cpmovuua0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovuua0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovuua0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovuua0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x4) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00101 ooooo   cpmovula0.w =crop (p0_1)
 (dni cpmovula0_w_P0S "cpmovula0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovula0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovula0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovula0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x5) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00110 ooooo   cpmovlua0.w =crop (p0_1)
 (dni cpmovlua0_w_P0S "cpmovlua0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovlua0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovlua0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlua0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x6) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 00111 ooooo   cpmovlla0.w =crop (p0_1)
 (dni cpmovlla0_w_P0S "cpmovlla0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovlla0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovlla0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlla0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x7) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01000 ooooo   cppacka0u.b =crop (p0_1)
 (dni cppacka0u_b_P0S "cppacka0u.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppacka0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppacka0u_b") (CPTYPE V8UQI) (CRET FIRST))
   "cppacka0u.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x8) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01001 ooooo   cppacka0.b =crop (p0_1)
 (dni cppacka0_b_P0S "cppacka0.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppacka0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppacka0_b") (CPTYPE V8QI) (CRET FIRST))
   "cppacka0.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x9) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01010 ooooo   cppackua0.h =crop (p0_1)
 (dni cppackua0_h_P0S "cppackua0.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackua0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackua0_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackua0.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xa) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01011 ooooo   cppackla0.h =crop (p0_1)
 (dni cppackla0_h_P0S "cppackla0.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackla0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackla0_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackla0.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xb) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01100 ooooo   cppackua0.w =crop (p0_1)
 (dni cppackua0_w_P0S "cppackua0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackua0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackua0_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackua0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xc) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01101 ooooo   cppackla0.w =crop (p0_1)
 (dni cppackla0_w_P0S "cppackla0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackla0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cppackla0_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackla0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xd) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01110 ooooo   cpmovhua0.w =crop (p0_1)
 (dni cpmovhua0_w_P0S "cpmovhua0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovhua0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovhua0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhua0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xe) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 11001 00000 01111 ooooo   cpmovhla0.w =crop (p0_1)
 (dni cpmovhla0_w_P0S "cpmovhla0.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovhla0_w"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpmovhla0_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhla0.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xf) crop (f-ivc2-4u28 0))
   (sequence ()
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x10) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpacsuma0" pc) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x11) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpaccpa0" pc) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x18) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsrla0" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x19) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsraa0" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x1a) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpslla0" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1c) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsrlia0" pc imm5p23) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1d) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsraia0" pc imm5p23) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1e) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpsllia0" pc imm5p23) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00000   cpfsftba0s0u.b crqp,crpp (p0_1)
 (dni cpfsftba0s0u_b_P0S "cpfsftba0s0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s0u_b") (CPTYPE V8UQI))
   "cpfsftba0s0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftba0s0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00001   cpfsftba0s0.b crqp,crpp (p0_1)
 (dni cpfsftba0s0_b_P0S "cpfsftba0s0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s0_b") (CPTYPE V8QI))
   "cpfsftba0s0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftba0s0_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00010   cpfsftbua0s0.h crqp,crpp (p0_1)
 (dni cpfsftbua0s0_h_P0S "cpfsftbua0s0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbua0s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbua0s0_h") (CPTYPE V4HI))
   "cpfsftbua0s0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x2) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftbua0s0_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00011   cpfsftbla0s0.h crqp,crpp (p0_1)
 (dni cpfsftbla0s0_h_P0S "cpfsftbla0s0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbla0s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbla0s0_h") (CPTYPE V4HI))
   "cpfsftbla0s0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpfsftbla0s0_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00100   cpfaca0s0u.b crqp,crpp (p0_1)
 (dni cpfaca0s0u_b_P0S "cpfaca0s0u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s0u_b") (CPTYPE V8UQI))
   "cpfaca0s0u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x4) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfaca0s0u_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00101   cpfaca0s0.b crqp,crpp (p0_1)
 (dni cpfaca0s0_b_P0S "cpfaca0s0.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s0_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s0_b") (CPTYPE V8QI))
   "cpfaca0s0.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfaca0s0_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00110   cpfacua0s0.h crqp,crpp (p0_1)
 (dni cpfacua0s0_h_P0S "cpfacua0s0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacua0s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacua0s0_h") (CPTYPE V4HI))
   "cpfacua0s0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x6) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfacua0s0_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 00111   cpfacla0s0.h crqp,crpp (p0_1)
 (dni cpfacla0s0_h_P0S "cpfacla0s0.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacla0s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacla0s0_h") (CPTYPE V4HI))
   "cpfacla0s0.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x7) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfacla0s0_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01000   cpfsftba0s1u.b crqp,crpp (p0_1)
 (dni cpfsftba0s1u_b_P0S "cpfsftba0s1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s1u_b") (CPTYPE V8UQI))
   "cpfsftba0s1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x8) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftba0s1u_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01001   cpfsftba0s1.b crqp,crpp (p0_1)
 (dni cpfsftba0s1_b_P0S "cpfsftba0s1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s1_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftba0s1_b") (CPTYPE V8QI))
   "cpfsftba0s1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftba0s1_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01010   cpfsftbua0s1.h crqp,crpp (p0_1)
 (dni cpfsftbua0s1_h_P0S "cpfsftbua0s1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbua0s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbua0s1_h") (CPTYPE V4HI))
   "cpfsftbua0s1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
        (c-call "ivc2_cpfsftbua0s1_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01011   cpfsftbla0s1.h crqp,crpp (p0_1)
 (dni cpfsftbla0s1_h_P0S "cpfsftbla0s1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbla0s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfsftbla0s1_h") (CPTYPE V4HI))
   "cpfsftbla0s1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
        (c-call "ivc2_cpfsftbla0s1_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01100   cpfaca0s1u.b crqp,crpp (p0_1)
 (dni cpfaca0s1u_b_P0S "cpfaca0s1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s1u_b") (CPTYPE V8UQI))
   "cpfaca0s1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xc) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfaca0s1u_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01101   cpfaca0s1.b crqp,crpp (p0_1)
 (dni cpfaca0s1_b_P0S "cpfaca0s1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s1_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfaca0s1_b") (CPTYPE V8QI))
   "cpfaca0s1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfaca0s1_b" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01110   cpfacua0s1.h crqp,crpp (p0_1)
 (dni cpfacua0s1_h_P0S "cpfacua0s1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacua0s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacua0s1_h") (CPTYPE V4HI))
   "cpfacua0s1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfacua0s1_h" pc crqp crpp) )
   ()
   )
 
 ; 11111 qqqqq ppppp 01111   cpfacla0s1.h crqp,crpp (p0_1)
 (dni cpfacla0s1_h_P0S "cpfacla0s1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacla0s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpfacla0s1_h") (CPTYPE V4HI))
   "cpfacla0s1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_cofa0 0)
        (c-call "ivc2_cpfacla0s1_h" pc crqp crpp) )
   ()
   )
 
 ; xxxxxiii 01000 qqqqq ppppp ooooo   cpfsftbi =crop,crqp,crpp,imm3p5 (p0_1)
 (dni cpfsftbi_P0_P1 "cpfsftbi $crop,$crqp,$crpp,imm3p5 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpfsftbi"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpfsftbi") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cpfsftbi $crop,$crqp,$crpp,$imm3p5"
   (+ ivc-x-0-5 imm3p5 (f-ivc2-5u8 #x8) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 00001   cpacmpeq.b crqp,crpp (p0_1)
 (dni cpacmpeq_b_P0_P1 "cpacmpeq.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_b") (CPTYPE V8QI))
   "cpacmpeq.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 00011   cpacmpeq.h crqp,crpp (p0_1)
 (dni cpacmpeq_h_P0_P1 "cpacmpeq.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_h") (CPTYPE V4HI))
   "cpacmpeq.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 00101   cpacmpeq.w crqp,crpp (p0_1)
 (dni cpacmpeq_w_P0_P1 "cpacmpeq.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpeq_w") (CPTYPE V2SI))
   "cpacmpeq.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 01001   cpacmpne.b crqp,crpp (p0_1)
 (dni cpacmpne_b_P0_P1 "cpacmpne.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_b") (CPTYPE V8QI))
   "cpacmpne.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 01011   cpacmpne.h crqp,crpp (p0_1)
 (dni cpacmpne_h_P0_P1 "cpacmpne.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_h") (CPTYPE V4HI))
   "cpacmpne.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 01101   cpacmpne.w crqp,crpp (p0_1)
 (dni cpacmpne_w_P0_P1 "cpacmpne.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpne_w") (CPTYPE V2SI))
   "cpacmpne.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 10000   cpacmpgtu.b crqp,crpp (p0_1)
 (dni cpacmpgtu_b_P0_P1 "cpacmpgtu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgtu_b") (CPTYPE V8UQI))
   "cpacmpgtu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 10001   cpacmpgt.b crqp,crpp (p0_1)
 (dni cpacmpgt_b_P0_P1 "cpacmpgt.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_b") (CPTYPE V8QI))
   "cpacmpgt.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 10011   cpacmpgt.h crqp,crpp (p0_1)
 (dni cpacmpgt_h_P0_P1 "cpacmpgt.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_h") (CPTYPE V4HI))
   "cpacmpgt.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 10100   cpacmpgtu.w crqp,crpp (p0_1)
 (dni cpacmpgtu_w_P0_P1 "cpacmpgtu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgtu_w") (CPTYPE V2USI))
   "cpacmpgtu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 10101   cpacmpgt.w crqp,crpp (p0_1)
 (dni cpacmpgt_w_P0_P1 "cpacmpgt.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgt_w") (CPTYPE V2SI))
   "cpacmpgt.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 11000   cpacmpgeu.b crqp,crpp (p0_1)
 (dni cpacmpgeu_b_P0_P1 "cpacmpgeu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgeu_b") (CPTYPE V8UQI))
   "cpacmpgeu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x18) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 11001   cpacmpge.b crqp,crpp (p0_1)
 (dni cpacmpge_b_P0_P1 "cpacmpge.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_b") (CPTYPE V8QI))
   "cpacmpge.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x19) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 11011   cpacmpge.h crqp,crpp (p0_1)
 (dni cpacmpge_h_P0_P1 "cpacmpge.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_h") (CPTYPE V4HI))
   "cpacmpge.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 11100   cpacmpgeu.w crqp,crpp (p0_1)
 (dni cpacmpgeu_w_P0_P1 "cpacmpgeu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpgeu_w") (CPTYPE V2USI))
   "cpacmpgeu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10011 qqqqq ppppp 11101   cpacmpge.w crqp,crpp (p0_1)
 (dni cpacmpge_w_P0_P1 "cpacmpge.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpacmpge_w") (CPTYPE V2SI))
   "cpacmpge.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 00001   cpocmpeq.b crqp,crpp (p0_1)
 (dni cpocmpeq_b_P0_P1 "cpocmpeq.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_b") (CPTYPE V8QI))
   "cpocmpeq.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 00011   cpocmpeq.h crqp,crpp (p0_1)
 (dni cpocmpeq_h_P0_P1 "cpocmpeq.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_h") (CPTYPE V4HI))
   "cpocmpeq.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 00101   cpocmpeq.w crqp,crpp (p0_1)
 (dni cpocmpeq_w_P0_P1 "cpocmpeq.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpeq_w") (CPTYPE V2SI))
   "cpocmpeq.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 01001   cpocmpne.b crqp,crpp (p0_1)
 (dni cpocmpne_b_P0_P1 "cpocmpne.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_b") (CPTYPE V8QI))
   "cpocmpne.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 01011   cpocmpne.h crqp,crpp (p0_1)
 (dni cpocmpne_h_P0_P1 "cpocmpne.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_h") (CPTYPE V4HI))
   "cpocmpne.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 01101   cpocmpne.w crqp,crpp (p0_1)
 (dni cpocmpne_w_P0_P1 "cpocmpne.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpne_w") (CPTYPE V2SI))
   "cpocmpne.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 10000   cpocmpgtu.b crqp,crpp (p0_1)
 (dni cpocmpgtu_b_P0_P1 "cpocmpgtu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgtu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgtu_b") (CPTYPE V8UQI))
   "cpocmpgtu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 10001   cpocmpgt.b crqp,crpp (p0_1)
 (dni cpocmpgt_b_P0_P1 "cpocmpgt.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_b") (CPTYPE V8QI))
   "cpocmpgt.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 10011   cpocmpgt.h crqp,crpp (p0_1)
 (dni cpocmpgt_h_P0_P1 "cpocmpgt.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_h") (CPTYPE V4HI))
   "cpocmpgt.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 10100   cpocmpgtu.w crqp,crpp (p0_1)
 (dni cpocmpgtu_w_P0_P1 "cpocmpgtu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgtu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgtu_w") (CPTYPE V2USI))
   "cpocmpgtu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 10101   cpocmpgt.w crqp,crpp (p0_1)
 (dni cpocmpgt_w_P0_P1 "cpocmpgt.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgt_w") (CPTYPE V2SI))
   "cpocmpgt.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 11000   cpocmpgeu.b crqp,crpp (p0_1)
 (dni cpocmpgeu_b_P0_P1 "cpocmpgeu.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgeu_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgeu_b") (CPTYPE V8UQI))
   "cpocmpgeu.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x18) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 11001   cpocmpge.b crqp,crpp (p0_1)
 (dni cpocmpge_b_P0_P1 "cpocmpge.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_b") (CPTYPE V8QI))
   "cpocmpge.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x19) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 11011   cpocmpge.h crqp,crpp (p0_1)
 (dni cpocmpge_h_P0_P1 "cpocmpge.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_h") (CPTYPE V4HI))
   "cpocmpge.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 11100   cpocmpgeu.w crqp,crpp (p0_1)
 (dni cpocmpgeu_w_P0_P1 "cpocmpgeu.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgeu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpgeu_w") (CPTYPE V2USI))
   "cpocmpgeu.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000001 10011 qqqqq ppppp 11101   cpocmpge.w crqp,crpp (p0_1)
 (dni cpocmpge_w_P0_P1 "cpocmpge.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpocmpge_w") (CPTYPE V2SI))
   "cpocmpge.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x13) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000011 10100 qqqqq ppppp ooooo   cdadd3 =crop,crqp,crpp (p0_1)
 (dni cdadd3_P0_P1 "cdadd3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdadd3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdadd3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdadd3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000100 10100 qqqqq ppppp ooooo   cpsub3.b =crop,crqp,crpp (p0_1)
 (dni cpsub3_b_P0_P1 "cpsub3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsub3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000101 10100 qqqqq ppppp ooooo   cpsub3.h =crop,crqp,crpp (p0_1)
 (dni cpsub3_h_P0_P1 "cpsub3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsub3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x5) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000110 10100 qqqqq ppppp ooooo   cpsub3.w =crop,crqp,crpp (p0_1)
 (dni cpsub3_w_P0_P1 "cpsub3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsub3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsub3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x6) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000111 10100 qqqqq ppppp ooooo   cdsub3 =crop,crqp,crpp (p0_1)
 (dni cdsub3_P0_P1 "cdsub3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsub3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsub3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsub3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x7) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00001010 10100 qqqqq ppppp ooooo   cpsadd3.h =crop,crqp,crpp (p0_1)
 (dni cpsadd3_h_P0_P1 "cpsadd3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsadd3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsadd3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsadd3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #xa) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00001011 10100 qqqqq ppppp ooooo   cpsadd3.w =crop,crqp,crpp (p0_1)
 (dni cpsadd3_w_P0_P1 "cpsadd3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsadd3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsadd3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsadd3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #xb) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00001110 10100 qqqqq ppppp ooooo   cpssub3.h =crop,crqp,crpp (p0_1)
 (dni cpssub3_h_P0_P1 "cpssub3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssub3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssub3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssub3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #xe) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cofr0 0)
        (set crop (c-call DI "ivc2_cpssub3_h" pc crqp crpp)) )
   ()
   )
 
 ; 00001111 10100 qqqqq ppppp ooooo   cpssub3.w =crop,crqp,crpp (p0_1)
 (dni cpssub3_w_P0_P1 "cpssub3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssub3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssub3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssub3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #xf) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_cofr0 0)
        (set crop (c-call DI "ivc2_cpssub3_w" pc crqp crpp)) )
   ()
   )
 
 ; 00010000 10100 qqqqq ppppp ooooo   cpextuaddu3.b =crop,crqp,crpp (p0_1)
 (dni cpextuaddu3_b_P0_P1 "cpextuaddu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextuaddu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextuaddu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextuaddu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x10) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010001 10100 qqqqq ppppp ooooo   cpextuadd3.b =crop,crqp,crpp (p0_1)
 (dni cpextuadd3_b_P0_P1 "cpextuadd3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextuadd3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextuadd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextuadd3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x11) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010010 10100 qqqqq ppppp ooooo   cpextladdu3.b =crop,crqp,crpp (p0_1)
 (dni cpextladdu3_b_P0_P1 "cpextladdu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextladdu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextladdu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextladdu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x12) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010011 10100 qqqqq ppppp ooooo   cpextladd3.b =crop,crqp,crpp (p0_1)
 (dni cpextladd3_b_P0_P1 "cpextladd3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextladd3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextladd3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextladd3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x13) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010100 10100 qqqqq ppppp ooooo   cpextusubu3.b =crop,crqp,crpp (p0_1)
 (dni cpextusubu3_b_P0_P1 "cpextusubu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextusubu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextusubu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextusubu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x14) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010101 10100 qqqqq ppppp ooooo   cpextusub3.b =crop,crqp,crpp (p0_1)
 (dni cpextusub3_b_P0_P1 "cpextusub3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextusub3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextusub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextusub3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x15) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010110 10100 qqqqq ppppp ooooo   cpextlsubu3.b =crop,crqp,crpp (p0_1)
 (dni cpextlsubu3_b_P0_P1 "cpextlsubu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextlsubu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextlsubu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextlsubu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x16) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00010111 10100 qqqqq ppppp ooooo   cpextlsub3.b =crop,crqp,crpp (p0_1)
 (dni cpextlsub3_b_P0_P1 "cpextlsub3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextlsub3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpextlsub3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpextlsub3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x17) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011000 10100 qqqqq ppppp ooooo   cpaveu3.b =crop,crqp,crpp (p0_1)
 (dni cpaveu3_b_P0_P1 "cpaveu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaveu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaveu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaveu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x18) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011001 10100 qqqqq ppppp ooooo   cpave3.b =crop,crqp,crpp (p0_1)
 (dni cpave3_b_P0_P1 "cpave3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpave3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x19) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011010 10100 qqqqq ppppp ooooo   cpave3.h =crop,crqp,crpp (p0_1)
 (dni cpave3_h_P0_P1 "cpave3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpave3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1a) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011011 10100 qqqqq ppppp ooooo   cpave3.w =crop,crqp,crpp (p0_1)
 (dni cpave3_w_P0_P1 "cpave3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpave3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpave3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1b) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011100 10100 qqqqq ppppp ooooo   cpaddsru3.b =crop,crqp,crpp (p0_1)
 (dni cpaddsru3_b_P0_P1 "cpaddsru3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsru3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsru3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaddsru3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011101 10100 qqqqq ppppp ooooo   cpaddsr3.b =crop,crqp,crpp (p0_1)
 (dni cpaddsr3_b_P0_P1 "cpaddsr3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpaddsr3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1d) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011110 10100 qqqqq ppppp ooooo   cpaddsr3.h =crop,crqp,crpp (p0_1)
 (dni cpaddsr3_h_P0_P1 "cpaddsr3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpaddsr3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1e) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00011111 10100 qqqqq ppppp ooooo   cpaddsr3.w =crop,crqp,crpp (p0_1)
 (dni cpaddsr3_w_P0_P1 "cpaddsr3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpaddsr3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpaddsr3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x1f) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100000 10100 qqqqq ppppp ooooo   cpabsu3.b =crop,crqp,crpp (p0_1)
 (dni cpabsu3_b_P0_P1 "cpabsu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabsu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabsu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabsu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x20) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100001 10100 qqqqq ppppp ooooo   cpabs3.b =crop,crqp,crpp (p0_1)
 (dni cpabs3_b_P0_P1 "cpabs3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabs3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabs3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpabs3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x21) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100010 10100 qqqqq ppppp ooooo   cpabs3.h =crop,crqp,crpp (p0_1)
 (dni cpabs3_h_P0_P1 "cpabs3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabs3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpabs3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpabs3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x22) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100100 10100 qqqqq ppppp ooooo   cpand3 =crop,crqp,crpp (p0_1)
 (dni cpand3_P0_P1 "cpand3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpand3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpand3") (CPTYPE VECT) (CRET FIRST))
   "cpand3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x24) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100101 10100 qqqqq ppppp ooooo   cpor3 =crop,crqp,crpp (p0_1)
 (dni cpor3_P0_P1 "cpor3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpor3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpor3") (CPTYPE VECT) (CRET FIRST))
   "cpor3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x25) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100110 10100 qqqqq ppppp ooooo   cpnor3 =crop,crqp,crpp (p0_1)
 (dni cpnor3_P0_P1 "cpnor3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpnor3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpnor3") (CPTYPE VECT) (CRET FIRST))
   "cpnor3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x26) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00100111 10100 qqqqq ppppp ooooo   cpxor3 =crop,crqp,crpp (p0_1)
 (dni cpxor3_P0_P1 "cpxor3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpxor3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpxor3") (CPTYPE VECT) (CRET FIRST))
   "cpxor3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x27) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00101100 10100 qqqqq ppppp ooooo   cppacku.b =crop,crqp,crpp (p0_1)
 (dni cppacku_b_P0_P1 "cppacku.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppacku_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppacku_b") (CPTYPE V8UQI) (CRET FIRST))
   "cppacku.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x2c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00101101 10100 qqqqq ppppp ooooo   cppack.b =crop,crqp,crpp (p0_1)
 (dni cppack_b_P0_P1 "cppack.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppack_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppack_b") (CPTYPE V8QI) (CRET FIRST))
   "cppack.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x2d) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00101111 10100 qqqqq ppppp ooooo   cppack.h =crop,crqp,crpp (p0_1)
 (dni cppack_h_P0_P1 "cppack.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppack_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cppack_h") (CPTYPE V4HI) (CRET FIRST))
   "cppack.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x2f) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110000 10100 qqqqq ppppp ooooo   cpmaxu3.b =crop,crqp,crpp (p0_1)
 (dni cpmaxu3_b_P0_P1 "cpmaxu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmaxu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmaxu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmaxu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x30) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110001 10100 qqqqq ppppp ooooo   cpmax3.b =crop,crqp,crpp (p0_1)
 (dni cpmax3_b_P0_P1 "cpmax3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmax3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x31) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110011 10100 qqqqq ppppp ooooo   cpmax3.h =crop,crqp,crpp (p0_1)
 (dni cpmax3_h_P0_P1 "cpmax3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmax3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x33) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110100 10100 qqqqq ppppp ooooo   cpmaxu3.w =crop,crqp,crpp (p0_1)
 (dni cpmaxu3_w_P0_P1 "cpmaxu3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmaxu3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmaxu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmaxu3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x34) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00110101 10100 qqqqq ppppp ooooo   cpmax3.w =crop,crqp,crpp (p0_1)
 (dni cpmax3_w_P0_P1 "cpmax3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmax3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmax3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x35) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111000 10100 qqqqq ppppp ooooo   cpminu3.b =crop,crqp,crpp (p0_1)
 (dni cpminu3_b_P0_P1 "cpminu3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpminu3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpminu3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpminu3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x38) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111001 10100 qqqqq ppppp ooooo   cpmin3.b =crop,crqp,crpp (p0_1)
 (dni cpmin3_b_P0_P1 "cpmin3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmin3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x39) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111011 10100 qqqqq ppppp ooooo   cpmin3.h =crop,crqp,crpp (p0_1)
 (dni cpmin3_h_P0_P1 "cpmin3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmin3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x3b) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111100 10100 qqqqq ppppp ooooo   cpminu3.w =crop,crqp,crpp (p0_1)
 (dni cpminu3_w_P0_P1 "cpminu3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpminu3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpminu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpminu3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x3c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00111101 10100 qqqqq ppppp ooooo   cpmin3.w =crop,crqp,crpp (p0_1)
 (dni cpmin3_w_P0_P1 "cpmin3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmin3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmin3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x3d) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000000 10100 qqqqq ppppp ooooo   cpsrl3.b =crop,crqp,crpp (p0_1)
 (dni cpsrl3_b_P0_P1 "cpsrl3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrl3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x40) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000001 10100 qqqqq ppppp ooooo   cpssrl3.b =crop,crqp,crpp (p0_1)
 (dni cpssrl3_b_P0_P1 "cpssrl3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssrl3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x41) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000010 10100 qqqqq ppppp ooooo   cpsrl3.h =crop,crqp,crpp (p0_1)
 (dni cpsrl3_h_P0_P1 "cpsrl3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrl3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x42) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000011 10100 qqqqq ppppp ooooo   cpssrl3.h =crop,crqp,crpp (p0_1)
 (dni cpssrl3_h_P0_P1 "cpssrl3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssrl3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x43) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000100 10100 qqqqq ppppp ooooo   cpsrl3.w =crop,crqp,crpp (p0_1)
 (dni cpsrl3_w_P0_P1 "cpsrl3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrl3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrl3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x44) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000101 10100 qqqqq ppppp ooooo   cpssrl3.w =crop,crqp,crpp (p0_1)
 (dni cpssrl3_w_P0_P1 "cpssrl3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssrl3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssrl3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x45) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01000110 10100 qqqqq ppppp ooooo   cdsrl3 =crop,crqp,crpp (p0_1)
 (dni cdsrl3_P0_P1 "cdsrl3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrl3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrl3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrl3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x46) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001000 10100 qqqqq ppppp ooooo   cpsra3.b =crop,crqp,crpp (p0_1)
 (dni cpsra3_b_P0_P1 "cpsra3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsra3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x48) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001001 10100 qqqqq ppppp ooooo   cpssra3.b =crop,crqp,crpp (p0_1)
 (dni cpssra3_b_P0_P1 "cpssra3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssra3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x49) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001010 10100 qqqqq ppppp ooooo   cpsra3.h =crop,crqp,crpp (p0_1)
 (dni cpsra3_h_P0_P1 "cpsra3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsra3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4a) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001011 10100 qqqqq ppppp ooooo   cpssra3.h =crop,crqp,crpp (p0_1)
 (dni cpssra3_h_P0_P1 "cpssra3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssra3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4b) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001100 10100 qqqqq ppppp ooooo   cpsra3.w =crop,crqp,crpp (p0_1)
 (dni cpsra3_w_P0_P1 "cpsra3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsra3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsra3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001101 10100 qqqqq ppppp ooooo   cpssra3.w =crop,crqp,crpp (p0_1)
 (dni cpssra3_w_P0_P1 "cpssra3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssra3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssra3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4d) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01001110 10100 qqqqq ppppp ooooo   cdsra3 =crop,crqp,crpp (p0_1)
 (dni cdsra3_P0_P1 "cdsra3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsra3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsra3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsra3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x4e) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010000 10100 qqqqq ppppp ooooo   cpsll3.b =crop,crqp,crpp (p0_1)
 (dni cpsll3_b_P0_P1 "cpsll3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsll3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x50) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010001 10100 qqqqq ppppp ooooo   cpssll3.b =crop,crqp,crpp (p0_1)
 (dni cpssll3_b_P0_P1 "cpssll3.b $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpssll3.b $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x51) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010010 10100 qqqqq ppppp ooooo   cpsll3.h =crop,crqp,crpp (p0_1)
 (dni cpsll3_h_P0_P1 "cpsll3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsll3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x52) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010011 10100 qqqqq ppppp ooooo   cpssll3.h =crop,crqp,crpp (p0_1)
 (dni cpssll3_h_P0_P1 "cpssll3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpssll3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x53) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010100 10100 qqqqq ppppp ooooo   cpsll3.w =crop,crqp,crpp (p0_1)
 (dni cpsll3_w_P0_P1 "cpsll3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsll3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsll3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x54) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010101 10100 qqqqq ppppp ooooo   cpssll3.w =crop,crqp,crpp (p0_1)
 (dni cpssll3_w_P0_P1 "cpssll3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpssll3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpssll3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x55) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01010110 10100 qqqqq ppppp ooooo   cdsll3 =crop,crqp,crpp (p0_1)
 (dni cdsll3_P0_P1 "cdsll3 $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsll3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsll3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsll3 $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x56) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01011010 10100 qqqqq ppppp ooooo   cpsla3.h =crop,crqp,crpp (p0_1)
 (dni cpsla3_h_P0_P1 "cpsla3.h $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsla3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsla3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsla3.h $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x5a) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 01011100 10100 qqqqq ppppp ooooo   cpsla3.w =crop,crqp,crpp (p0_1)
 (dni cpsla3_w_P0_P1 "cpsla3.w $crop,$crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsla3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsla3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsla3.w $crop,$crqp,$crpp"
   (+ (f-ivc2-8u0 #x5c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxxiii 10101 qqqqq 00000 ooooo   cpsrli3.b =crop,crqp,imm3p5 (p0_1)
 (dni cpsrli3_b_P0_P1 "cpsrli3.b $crop,$crqp,imm3p5 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrli3.b $crop,$crqp,$imm3p5"
   (+ ivc-x-0-5 imm3p5 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x0) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxiiii 10101 qqqqq 00001 ooooo   cpsrli3.h =crop,crqp,imm4p4 (p0_1)
 (dni cpsrli3_h_P0_P1 "cpsrli3.h $crop,$crqp,imm4p4 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrli3.h $crop,$crqp,$imm4p4"
   (+ ivc-x-0-4 imm4p4 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 00010 ooooo   cpsrli3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpsrli3_w_P0_P1 "cpsrli3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrli3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrli3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x2) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxiiiiii 10101 qqqqq 00011 ooooo   cdsrli3 =crop,crqp,imm6p2 (p0_1)
 (dni cdsrli3_P0_P1 "cdsrli3 $crop,$crqp,imm6p2 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrli3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrli3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrli3 $crop,$crqp,$imm6p2"
   (+ ivc-x-0-2 imm6p2 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x3) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxxiii 10101 qqqqq 00100 ooooo   cpsrai3.b =crop,crqp,imm3p5 (p0_1)
 (dni cpsrai3_b_P0_P1 "cpsrai3.b $crop,$crqp,imm3p5 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpsrai3.b $crop,$crqp,$imm3p5"
   (+ ivc-x-0-5 imm3p5 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x4) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxiiii 10101 qqqqq 00101 ooooo   cpsrai3.h =crop,crqp,imm4p4 (p0_1)
 (dni cpsrai3_h_P0_P1 "cpsrai3.h $crop,$crqp,imm4p4 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpsrai3.h $crop,$crqp,$imm4p4"
   (+ ivc-x-0-4 imm4p4 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x5) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 00110 ooooo   cpsrai3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpsrai3_w_P0_P1 "cpsrai3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpsrai3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpsrai3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x6) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxiiiiii 10101 qqqqq 00111 ooooo   cdsrai3 =crop,crqp,imm6p2 (p0_1)
 (dni cdsrai3_P0_P1 "cdsrai3 $crop,$crqp,imm6p2 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrai3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdsrai3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdsrai3 $crop,$crqp,$imm6p2"
   (+ ivc-x-0-2 imm6p2 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x7) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxxiii 10101 qqqqq 01000 ooooo   cpslli3.b =crop,crqp,imm3p5 (p0_1)
 (dni cpslli3_b_P0_P1 "cpslli3.b $crop,$crqp,imm3p5 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_b"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_b") (CPTYPE V8QI) (CRET FIRST))
   "cpslli3.b $crop,$crqp,$imm3p5"
   (+ ivc-x-0-5 imm3p5 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x8) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxiiii 10101 qqqqq 01001 ooooo   cpslli3.h =crop,crqp,imm4p4 (p0_1)
 (dni cpslli3_h_P0_P1 "cpslli3.h $crop,$crqp,imm4p4 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpslli3.h $crop,$crqp,$imm4p4"
   (+ ivc-x-0-4 imm4p4 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x9) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 01010 ooooo   cpslli3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpslli3_w_P0_P1 "cpslli3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslli3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpslli3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #xa) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxiiiiii 10101 qqqqq 01011 ooooo   cdslli3 =crop,crqp,imm6p2 (p0_1)
 (dni cdslli3_P0_P1 "cdslli3 $crop,$crqp,imm6p2 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdslli3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdslli3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdslli3 $crop,$crqp,$imm6p2"
   (+ ivc-x-0-2 imm6p2 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #xb) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxxiiii 10101 qqqqq 01101 ooooo   cpslai3.h =crop,crqp,imm4p4 (p0_1)
 (dni cpslai3_h_P0_P1 "cpslai3.h $crop,$crqp,imm4p4 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslai3_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslai3_h") (CPTYPE V4HI) (CRET FIRST))
   "cpslai3.h $crop,$crqp,$imm4p4"
   (+ ivc-x-0-4 imm4p4 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #xd) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 01110 ooooo   cpslai3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpslai3_w_P0_P1 "cpslai3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslai3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpslai3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpslai3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #xe) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 10000 ooooo   cpclipiu3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpclipiu3_w_P0_P1 "cpclipiu3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpclipiu3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpclipiu3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpclipiu3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x10) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxxiiiii 10101 qqqqq 10001 ooooo   cpclipi3.w =crop,crqp,imm5p3 (p0_1)
 (dni cpclipi3_w_P0_P1 "cpclipi3.w $crop,$crqp,imm5p3 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpclipi3_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpclipi3_w") (CPTYPE V2SI) (CRET FIRST))
   "cpclipi3.w $crop,$crqp,$imm5p3"
   (+ ivc-x-0-3 imm5p3 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x11) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxiiiiii 10101 qqqqq 10010 ooooo   cdclipiu3 =crop,crqp,imm6p2 (p0_1)
 (dni cdclipiu3_P0_P1 "cdclipiu3 $crop,$crqp,imm6p2 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdclipiu3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdclipiu3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdclipiu3 $crop,$crqp,$imm6p2"
   (+ ivc-x-0-2 imm6p2 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x12) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; xxiiiiii 10101 qqqqq 10011 ooooo   cdclipi3 =crop,crqp,imm6p2 (p0_1)
 (dni cdclipi3_P0_P1 "cdclipi3 $crop,$crqp,imm6p2 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdclipi3"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdclipi3") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdclipi3 $crop,$crqp,$imm6p2"
   (+ ivc-x-0-2 imm6p2 (f-ivc2-5u8 #x15) crqp (f-ivc2-5u18 #x13) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; iiiiiiii 10110 qqqqq 01iii iiiii   cpmovi.h =crqp,simm16p0 (p0_i)
 (dni cpmovi_h_P0_P1 "cpmovi.h $crqp,simm16p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmovi_h"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmovi_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovi.h $crqp,$simm16p0"
   (+ (f-ivc2-5u8 #x16) crqp (f-ivc2-2u18 #x1)  simm16p0(f-ivc2-4u28 0))
   (sequence ()
 
 ; iiiiiiii 10111 qqqqq 00iii iiiii   cpmoviu.w =crqp,imm16p0 (p0_i)
 (dni cpmoviu_w_P0_P1 "cpmoviu.w $crqp,imm16p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmoviu_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmoviu_w") (CPTYPE V2USI) (CRET FIRST))
   "cpmoviu.w $crqp,$imm16p0"
   (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x0)  imm16p0(f-ivc2-4u28 0))
   (sequence ()
 
 ; iiiiiiii 10111 qqqqq 01iii iiiii   cpmovi.w =crqp,simm16p0 (p0_i)
 (dni cpmovi_w_P0_P1 "cpmovi.w $crqp,simm16p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmovi_w"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cpmovi_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovi.w $crqp,$simm16p0"
   (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x1)  simm16p0(f-ivc2-4u28 0))
   (sequence ()
 
 ; iiiiiiii 10111 qqqqq 10iii iiiii   cdmoviu =crqp,imm16p0 (p0_i)
 (dni cdmoviu_P0_P1 "cdmoviu $crqp,imm16p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdmoviu"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdmoviu") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdmoviu $crqp,$imm16p0"
   (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x2)  imm16p0(f-ivc2-4u28 0))
   (sequence ()
 
 ; iiiiiiii 10111 qqqqq 11iii iiiii   cdmovi =crqp,simm16p0 (p0_i)
 (dni cdmovi_P0_P1 "cdmovi $crqp,simm16p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdmovi"))
+  (OPTIONAL_CP_INSN ivc2-p0-p1-isa (SLOTS P0,P1) (INTRINSIC "cdmovi") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST))
   "cdmovi $crqp,$simm16p0"
   (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x3)  simm16p0(f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 10110 qqqqq 00iii iiiii   cpmovi.b =crqp,simm8p20 (p0_i)
 (dni cpmovi_b_P0S_P1 "cpmovi.b $crqp,simm8p20 Pn"
-  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovi_b"))
+  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovi_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmovi.b $crqp,$simm8p20"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x16) crqp (f-ivc2-2u18 #x0)  imm8p20(f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11000 qqqqq ppppp 00000   cpadda1u.b crqp,crpp (p0_1)
 (dni cpadda1u_b_P1 "cpadda1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpadda1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpadda1u_b") (CPTYPE V8UQI))
   "cpadda1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpadda1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00001   cpadda1.b crqp,crpp (p0_1)
 (dni cpadda1_b_P1 "cpadda1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpadda1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpadda1_b") (CPTYPE V8QI))
   "cpadda1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpadda1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00010   cpaddua1.h crqp,crpp (p0_1)
 (dni cpaddua1_h_P1 "cpaddua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddua1_h") (CPTYPE V4HI))
   "cpaddua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x2) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpaddua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00011   cpaddla1.h crqp,crpp (p0_1)
 (dni cpaddla1_h_P1 "cpaddla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddla1_h") (CPTYPE V4HI))
   "cpaddla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpaddla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00100   cpaddaca1u.b crqp,crpp (p0_1)
 (dni cpaddaca1u_b_P1 "cpaddaca1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddaca1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddaca1u_b") (CPTYPE V8UQI))
   "cpaddaca1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x4) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddaca1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00101   cpaddaca1.b crqp,crpp (p0_1)
 (dni cpaddaca1_b_P1 "cpaddaca1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddaca1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddaca1_b") (CPTYPE V8QI))
   "cpaddaca1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddaca1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00110   cpaddacua1.h crqp,crpp (p0_1)
 (dni cpaddacua1_h_P1 "cpaddacua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddacua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddacua1_h") (CPTYPE V4HI))
   "cpaddacua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x6) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddacua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 00111   cpaddacla1.h crqp,crpp (p0_1)
 (dni cpaddacla1_h_P1 "cpaddacla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddacla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaddacla1_h") (CPTYPE V4HI))
   "cpaddacla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x7) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpaddacla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01000   cpsuba1u.b crqp,crpp (p0_1)
 (dni cpsuba1u_b_P1 "cpsuba1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsuba1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsuba1u_b") (CPTYPE V8UQI))
   "cpsuba1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x8) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsuba1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01001   cpsuba1.b crqp,crpp (p0_1)
 (dni cpsuba1_b_P1 "cpsuba1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsuba1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsuba1_b") (CPTYPE V8QI))
   "cpsuba1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsuba1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01010   cpsubua1.h crqp,crpp (p0_1)
 (dni cpsubua1_h_P1 "cpsubua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubua1_h") (CPTYPE V4HI))
   "cpsubua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsubua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01011   cpsubla1.h crqp,crpp (p0_1)
 (dni cpsubla1_h_P1 "cpsubla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubla1_h") (CPTYPE V4HI))
   "cpsubla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpsubla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01100   cpsubaca1u.b crqp,crpp (p0_1)
 (dni cpsubaca1u_b_P1 "cpsubaca1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubaca1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubaca1u_b") (CPTYPE V8UQI))
   "cpsubaca1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xc) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubaca1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01101   cpsubaca1.b crqp,crpp (p0_1)
 (dni cpsubaca1_b_P1 "cpsubaca1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubaca1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubaca1_b") (CPTYPE V8QI))
   "cpsubaca1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubaca1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01110   cpsubacua1.h crqp,crpp (p0_1)
 (dni cpsubacua1_h_P1 "cpsubacua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubacua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubacua1_h") (CPTYPE V4HI))
   "cpsubacua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubacua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 01111   cpsubacla1.h crqp,crpp (p0_1)
 (dni cpsubacla1_h_P1 "cpsubacla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubacla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsubacla1_h") (CPTYPE V4HI))
   "cpsubacla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsubacla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10000   cpabsa1u.b crqp,crpp (p0_1)
 (dni cpabsa1u_b_P1 "cpabsa1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsa1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsa1u_b") (CPTYPE V8UQI))
   "cpabsa1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsa1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10001   cpabsa1.b crqp,crpp (p0_1)
 (dni cpabsa1_b_P1 "cpabsa1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsa1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsa1_b") (CPTYPE V8QI))
   "cpabsa1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsa1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10010   cpabsua1.h crqp,crpp (p0_1)
 (dni cpabsua1_h_P1 "cpabsua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsua1_h") (CPTYPE V4HI))
   "cpabsua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpabsua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10011   cpabsla1.h crqp,crpp (p0_1)
 (dni cpabsla1_h_P1 "cpabsla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpabsla1_h") (CPTYPE V4HI))
   "cpabsla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpabsla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10100   cpsada1u.b crqp,crpp (p0_1)
 (dni cpsada1u_b_P1 "cpsada1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsada1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsada1u_b") (CPTYPE V8UQI))
   "cpsada1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsada1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10101   cpsada1.b crqp,crpp (p0_1)
 (dni cpsada1_b_P1 "cpsada1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsada1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsada1_b") (CPTYPE V8QI))
   "cpsada1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsada1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10110   cpsadua1.h crqp,crpp (p0_1)
 (dni cpsadua1_h_P1 "cpsadua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsadua1_h") (CPTYPE V4HI))
   "cpsadua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsadua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 10111   cpsadla1.h crqp,crpp (p0_1)
 (dni cpsadla1_h_P1 "cpsadla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsadla1_h") (CPTYPE V4HI))
   "cpsadla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsadla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 11011   cpseta1.h crqp,crpp (p0_1)
 (dni cpseta1_h_P1 "cpseta1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpseta1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpseta1_h") (CPTYPE V4HI))
   "cpseta1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpseta1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 11100   cpsetua1.w crqp,crpp (p0_1)
 (dni cpsetua1_w_P1 "cpsetua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsetua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsetua1_w") (CPTYPE V2SI))
   "cpsetua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsetua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11000 qqqqq ppppp 11101   cpsetla1.w crqp,crpp (p0_1)
 (dni cpsetla1_w_P1 "cpsetla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsetla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsetla1_w") (CPTYPE V2SI))
   "cpsetla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x18) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpsetla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11001 00000 00001 ooooo   cpmova1.b =crop (p0_1)
 (dni cpmova1_b_P1 "cpmova1.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmova1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmova1_b") (CPTYPE V8QI) (CRET FIRST))
   "cpmova1.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00010 ooooo   cpmovua1.h =crop (p0_1)
 (dni cpmovua1_h_P1 "cpmovua1.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovua1_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovua1.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x2) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00011 ooooo   cpmovla1.h =crop (p0_1)
 (dni cpmovla1_h_P1 "cpmovla1.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovla1_h") (CPTYPE V4HI) (CRET FIRST))
   "cpmovla1.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x3) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00100 ooooo   cpmovuua1.w =crop (p0_1)
 (dni cpmovuua1_w_P1 "cpmovuua1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovuua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovuua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovuua1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x4) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00101 ooooo   cpmovula1.w =crop (p0_1)
 (dni cpmovula1_w_P1 "cpmovula1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovula1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovula1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovula1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x5) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00110 ooooo   cpmovlua1.w =crop (p0_1)
 (dni cpmovlua1_w_P1 "cpmovlua1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovlua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovlua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlua1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x6) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 00111 ooooo   cpmovlla1.w =crop (p0_1)
 (dni cpmovlla1_w_P1 "cpmovlla1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovlla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovlla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovlla1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x7) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01000 ooooo   cppacka1u.b =crop (p0_1)
 (dni cppacka1u_b_P1 "cppacka1u.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppacka1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppacka1u_b") (CPTYPE V8UQI) (CRET FIRST))
   "cppacka1u.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x8) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01001 ooooo   cppacka1.b =crop (p0_1)
 (dni cppacka1_b_P1 "cppacka1.b $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppacka1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppacka1_b") (CPTYPE V8QI) (CRET FIRST))
   "cppacka1.b $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x9) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01010 ooooo   cppackua1.h =crop (p0_1)
 (dni cppackua1_h_P1 "cppackua1.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackua1_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackua1.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xa) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01011 ooooo   cppackla1.h =crop (p0_1)
 (dni cppackla1_h_P1 "cppackla1.h $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackla1_h") (CPTYPE V4HI) (CRET FIRST))
   "cppackla1.h $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xb) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01100 ooooo   cppackua1.w =crop (p0_1)
 (dni cppackua1_w_P1 "cppackua1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackua1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xc) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01101 ooooo   cppackla1.w =crop (p0_1)
 (dni cppackla1_w_P1 "cppackla1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cppackla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cppackla1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xd) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01110 ooooo   cpmovhua1.w =crop (p0_1)
 (dni cpmovhua1_w_P1 "cpmovhua1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovhua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovhua1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhua1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xe) crop (f-ivc2-4u28 0))
   (sequence ()
 
 ; 00000000 11001 00000 01111 ooooo   cpmovhla1.w =crop (p0_1)
 (dni cpmovhla1_w_P1 "cpmovhla1.w $crop Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovhla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmovhla1_w") (CPTYPE V2SI) (CRET FIRST))
   "cpmovhla1.w $crop"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xf) crop (f-ivc2-4u28 0))
   (sequence ()
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x10) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpacsuma1" pc) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x11) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpaccpa1" pc) )
   ()
   )
 
 ; 00000000 11001 00000 10010 00000   cpacswp  (p0_1)
 (dni cpacswp_P1 "cpacswp  Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpacswp"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpacswp") VOLATILE)
   "cpacswp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x12) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc0_0 0)
+       (set ivc2_acc0_1 0)
+       (set ivc2_acc0_2 0)
+       (set ivc2_acc0_3 0)
+       (set ivc2_acc0_4 0)
+       (set ivc2_acc0_5 0)
+       (set ivc2_acc0_6 0)
+       (set ivc2_acc0_7 0)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpacswp" pc) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x18) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsrla1" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x19) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsraa1" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) crqp (f-ivc2-5u18 #x1a) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpslla1" pc crqp) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1c) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsrlia1" pc imm5p23) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1d) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsraia1" pc imm5p23) )
   ()
   )
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x19) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1e) imm5p23 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpsllia1" pc imm5p23) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00000   cpfmulia1s0u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulia1s0u_b_P1 "cpfmulia1s0u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s0u_b") (CPTYPE V8UQI))
   "cpfmulia1s0u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1s0u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00001   cpfmulia1s0.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulia1s0_b_P1 "cpfmulia1s0.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s0_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s0_b") (CPTYPE V8QI))
   "cpfmulia1s0.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1s0_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00010   cpfmuliua1s0.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmuliua1s0_h_P1 "cpfmuliua1s0.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1s0_h") (CPTYPE V4HI))
   "cpfmuliua1s0.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x2) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmuliua1s0_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00011   cpfmulila1s0.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulila1s0_h_P1 "cpfmulila1s0.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1s0_h") (CPTYPE V4HI))
   "cpfmulila1s0.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x3) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpfmulila1s0_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00100   cpfmadia1s0u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadia1s0u_b_P1 "cpfmadia1s0u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s0u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s0u_b") (CPTYPE V8UQI))
   "cpfmadia1s0u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x4) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1s0u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00101   cpfmadia1s0.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadia1s0_b_P1 "cpfmadia1s0.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s0_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s0_b") (CPTYPE V8QI))
   "cpfmadia1s0.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1s0_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00110   cpfmadiua1s0.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadiua1s0_h_P1 "cpfmadiua1s0.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1s0_h") (CPTYPE V4HI))
   "cpfmadiua1s0.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x6) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadiua1s0_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 00111   cpfmadila1s0.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadila1s0_h_P1 "cpfmadila1s0.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1s0_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1s0_h") (CPTYPE V4HI))
   "cpfmadila1s0.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x7) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadila1s0_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01000   cpfmulia1s1u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulia1s1u_b_P1 "cpfmulia1s1u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s1u_b") (CPTYPE V8UQI))
   "cpfmulia1s1u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x8) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1s1u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01001   cpfmulia1s1.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulia1s1_b_P1 "cpfmulia1s1.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1s1_b") (CPTYPE V8QI))
   "cpfmulia1s1.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1s1_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01010   cpfmuliua1s1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmuliua1s1_h_P1 "cpfmuliua1s1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1s1_h") (CPTYPE V4HI))
   "cpfmuliua1s1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmuliua1s1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01011   cpfmulila1s1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmulila1s1_h_P1 "cpfmulila1s1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1s1_h") (CPTYPE V4HI))
   "cpfmulila1s1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpfmulila1s1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01100   cpfmadia1s1u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadia1s1u_b_P1 "cpfmadia1s1u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s1u_b") (CPTYPE V8UQI))
   "cpfmadia1s1u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xc) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1s1u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01101   cpfmadia1s1.b crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadia1s1_b_P1 "cpfmadia1s1.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1s1_b") (CPTYPE V8QI))
   "cpfmadia1s1.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1s1_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01110   cpfmadiua1s1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadiua1s1_h_P1 "cpfmadiua1s1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1s1_h") (CPTYPE V4HI))
   "cpfmadiua1s1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadiua1s1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 01111   cpfmadila1s1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpfmadila1s1_h_P1 "cpfmadila1s1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1s1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1s1_h") (CPTYPE V4HI))
   "cpfmadila1s1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadila1s1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10000   cpamulia1u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpamulia1u_b_P1 "cpamulia1u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulia1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulia1u_b") (CPTYPE V8UQI))
   "cpamulia1u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpamulia1u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10001   cpamulia1.b crqp,crpp,simm8p0 (p0_1)
 (dni cpamulia1_b_P1 "cpamulia1.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulia1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulia1_b") (CPTYPE V8QI))
   "cpamulia1.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpamulia1_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10010   cpamuliua1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpamuliua1_h_P1 "cpamuliua1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamuliua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamuliua1_h") (CPTYPE V4HI))
   "cpamuliua1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpamuliua1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10011   cpamulila1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpamulila1_h_P1 "cpamulila1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulila1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamulila1_h") (CPTYPE V4HI))
   "cpamulila1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpamulila1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10100   cpamadia1u.b crqp,crpp,simm8p0 (p0_1)
 (dni cpamadia1u_b_P1 "cpamadia1u.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadia1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadia1u_b") (CPTYPE V8UQI))
   "cpamadia1u.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpamadia1u_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10101   cpamadia1.b crqp,crpp,simm8p0 (p0_1)
 (dni cpamadia1_b_P1 "cpamadia1.b $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadia1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadia1_b") (CPTYPE V8QI))
   "cpamadia1.b $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpamadia1_b" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10110   cpamadiua1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpamadiua1_h_P1 "cpamadiua1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadiua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadiua1_h") (CPTYPE V4HI))
   "cpamadiua1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpamadiua1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11111 qqqqq ppppp 10111   cpamadila1.h crqp,crpp,simm8p0 (p0_1)
 (dni cpamadila1_h_P1 "cpamadila1.h $crqp,$crpp,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadila1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpamadila1_h") (CPTYPE V4HI))
   "cpamadila1.h $crqp,$crpp,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1f) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpamadila1_h" pc crqp crpp simm8p0) )
   ()
   )
 
 ; iiiiiiii 11100 qqqqq ppppp 00 III   cpfmulia1u.b crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmulia1u_b_P1 "cpfmulia1u.b $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1u_b") (CPTYPE V8UQI))
   "cpfmulia1u.b $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1c) crqp crpp (f-ivc2-2u23 #x0) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1u_b" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11100 qqqqq ppppp 01 III   cpfmulia1.b crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmulia1_b_P1 "cpfmulia1.b $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulia1_b") (CPTYPE V8QI))
   "cpfmulia1.b $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1c) crqp crpp (f-ivc2-2u23 #x1) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmulia1_b" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11100 qqqqq ppppp 10 III   cpfmuliua1.h crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmuliua1_h_P1 "cpfmuliua1.h $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmuliua1_h") (CPTYPE V4HI))
   "cpfmuliua1.h $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1c) crqp crpp (f-ivc2-2u23 #x2) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpfmuliua1_h" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11100 qqqqq ppppp 11 III   cpfmulila1.h crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmulila1_h_P1 "cpfmulila1.h $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmulila1_h") (CPTYPE V4HI))
   "cpfmulila1.h $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1c) crqp crpp (f-ivc2-2u23 #x3) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpfmulila1_h" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11101 qqqqq ppppp 00 III   cpfmadia1u.b crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmadia1u_b_P1 "cpfmadia1u.b $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1u_b") (CPTYPE V8UQI))
   "cpfmadia1u.b $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1d) crqp crpp (f-ivc2-2u23 #x0) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1u_b" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11101 qqqqq ppppp 01 III   cpfmadia1.b crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmadia1_b_P1 "cpfmadia1.b $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadia1_b") (CPTYPE V8QI))
   "cpfmadia1.b $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1d) crqp crpp (f-ivc2-2u23 #x1) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadia1_b" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11101 qqqqq ppppp 10 III   cpfmadiua1.h crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmadiua1_h_P1 "cpfmadiua1.h $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadiua1_h") (CPTYPE V4HI))
   "cpfmadiua1.h $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1d) crqp crpp (f-ivc2-2u23 #x2) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadiua1_h" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; iiiiiiii 11101 qqqqq ppppp 11 III   cpfmadila1.h crqp,crpp,imm3p25,simm8p0 (cpfm)
 (dni cpfmadila1_h_P1 "cpfmadila1.h $crqp,$crpp,imm3p25,simm8p0 Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpfmadila1_h") (CPTYPE V4HI))
   "cpfmadila1.h $crqp,$crpp,$imm3p25,$simm8p0"
   (+ simm8p0 (f-ivc2-5u8 #x1d) crqp crpp (f-ivc2-2u23 #x3) imm3p25 (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpfmadila1_h" pc crqp crpp imm3p25 simm8p0) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 00000   cpssqa1u.b crqp,crpp (p0_1)
 (dni cpssqa1u_b_P1 "cpssqa1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssqa1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssqa1u_b") (CPTYPE V8UQI))
   "cpssqa1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssqa1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 00001   cpssqa1.b crqp,crpp (p0_1)
 (dni cpssqa1_b_P1 "cpssqa1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssqa1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssqa1_b") (CPTYPE V8QI))
   "cpssqa1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssqa1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 00100   cpssda1u.b crqp,crpp (p0_1)
 (dni cpssda1u_b_P1 "cpssda1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssda1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssda1u_b") (CPTYPE V8UQI))
   "cpssda1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x4) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssda1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 00101   cpssda1.b crqp,crpp (p0_1)
 (dni cpssda1_b_P1 "cpssda1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssda1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpssda1_b") (CPTYPE V8QI))
   "cpssda1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x5) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpssda1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01000   cpmula1u.b crqp,crpp (p0_1)
 (dni cpmula1u_b_P1 "cpmula1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmula1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmula1u_b") (CPTYPE V8UQI))
   "cpmula1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x8) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmula1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01001   cpmula1.b crqp,crpp (p0_1)
 (dni cpmula1_b_P1 "cpmula1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmula1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmula1_b") (CPTYPE V8QI))
   "cpmula1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x9) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmula1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01010   cpmulua1.h crqp,crpp (p0_1)
 (dni cpmulua1_h_P1 "cpmulua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1_h") (CPTYPE V4HI))
   "cpmulua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01011   cpmulla1.h crqp,crpp (p0_1)
 (dni cpmulla1_h_P1 "cpmulla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1_h") (CPTYPE V4HI))
   "cpmulla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01100   cpmulua1u.w crqp,crpp (p0_1)
 (dni cpmulua1u_w_P1 "cpmulua1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1u_w") (CPTYPE V2USI))
   "cpmulua1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xc) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01101   cpmulla1u.w crqp,crpp (p0_1)
 (dni cpmulla1u_w_P1 "cpmulla1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1u_w") (CPTYPE V2USI))
   "cpmulla1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xd) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01110   cpmulua1.w crqp,crpp (p0_1)
 (dni cpmulua1_w_P1 "cpmulua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulua1_w") (CPTYPE V2SI))
   "cpmulua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
        (c-call "ivc2_cpmulua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 01111   cpmulla1.w crqp,crpp (p0_1)
 (dni cpmulla1_w_P1 "cpmulla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulla1_w") (CPTYPE V2SI))
   "cpmulla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
        (c-call "ivc2_cpmulla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10000   cpmada1u.b crqp,crpp (p0_1)
 (dni cpmada1u_b_P1 "cpmada1u.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmada1u_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmada1u_b") (CPTYPE V8UQI))
   "cpmada1u.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x10) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmada1u_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10001   cpmada1.b crqp,crpp (p0_1)
 (dni cpmada1_b_P1 "cpmada1.b $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmada1_b"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmada1_b") (CPTYPE V8QI))
   "cpmada1.b $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x11) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmada1_b" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10010   cpmadua1.h crqp,crpp (p0_1)
 (dni cpmadua1_h_P1 "cpmadua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1_h") (CPTYPE V4HI))
   "cpmadua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10011   cpmadla1.h crqp,crpp (p0_1)
 (dni cpmadla1_h_P1 "cpmadla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1_h") (CPTYPE V4HI))
   "cpmadla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10100   cpmadua1u.w crqp,crpp (p0_1)
 (dni cpmadua1u_w_P1 "cpmadua1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1u_w") (CPTYPE V2USI))
   "cpmadua1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x14) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10101   cpmadla1u.w crqp,crpp (p0_1)
 (dni cpmadla1u_w_P1 "cpmadla1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1u_w") (CPTYPE V2USI))
   "cpmadla1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x15) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10110   cpmadua1.w crqp,crpp (p0_1)
 (dni cpmadua1_w_P1 "cpmadua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadua1_w") (CPTYPE V2SI))
   "cpmadua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 10111   cpmadla1.w crqp,crpp (p0_1)
 (dni cpmadla1_w_P1 "cpmadla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmadla1_w") (CPTYPE V2SI))
   "cpmadla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmadla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11010   cpmsbua1.h crqp,crpp (p0_1)
 (dni cpmsbua1_h_P1 "cpmsbua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1_h") (CPTYPE V4HI))
   "cpmsbua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1a) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11011   cpmsbla1.h crqp,crpp (p0_1)
 (dni cpmsbla1_h_P1 "cpmsbla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1_h") (CPTYPE V4HI))
   "cpmsbla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11100   cpmsbua1u.w crqp,crpp (p0_1)
 (dni cpmsbua1u_w_P1 "cpmsbua1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1u_w") (CPTYPE V2USI))
   "cpmsbua1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1c) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11101   cpmsbla1u.w crqp,crpp (p0_1)
 (dni cpmsbla1u_w_P1 "cpmsbla1u.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1u_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1u_w") (CPTYPE V2USI))
   "cpmsbla1u.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1d) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1u_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11110   cpmsbua1.w crqp,crpp (p0_1)
 (dni cpmsbua1_w_P1 "cpmsbua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbua1_w") (CPTYPE V2SI))
   "cpmsbua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1e) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000000 11110 qqqqq ppppp 11111   cpmsbla1.w crqp,crpp (p0_1)
 (dni cpmsbla1_w_P1 "cpmsbla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmsbla1_w") (CPTYPE V2SI))
   "cpmsbla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1f) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmsbla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 10010   cpsmadua1.h crqp,crpp (p0_1)
 (dni cpsmadua1_h_P1 "cpsmadua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadua1_h") (CPTYPE V4HI))
   "cpsmadua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 10011   cpsmadla1.h crqp,crpp (p0_1)
 (dni cpsmadla1_h_P1 "cpsmadla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadla1_h") (CPTYPE V4HI))
   "cpsmadla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 10110   cpsmadua1.w crqp,crpp (p0_1)
 (dni cpsmadua1_w_P1 "cpsmadua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadua1_w") (CPTYPE V2SI))
   "cpsmadua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 10111   cpsmadla1.w crqp,crpp (p0_1)
 (dni cpsmadla1_w_P1 "cpsmadla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadla1_w") (CPTYPE V2SI))
   "cpsmadla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 11010   cpsmsbua1.h crqp,crpp (p0_1)
 (dni cpsmsbua1_h_P1 "cpsmsbua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbua1_h") (CPTYPE V4HI))
   "cpsmsbua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1a) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 11011   cpsmsbla1.h crqp,crpp (p0_1)
 (dni cpsmsbla1_h_P1 "cpsmsbla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbla1_h") (CPTYPE V4HI))
   "cpsmsbla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 11110   cpsmsbua1.w crqp,crpp (p0_1)
 (dni cpsmsbua1_w_P1 "cpsmsbua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbua1_w") (CPTYPE V2SI))
   "cpsmsbua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1e) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000001 11110 qqqqq ppppp 11111   cpsmsbla1.w crqp,crpp (p0_1)
 (dni cpsmsbla1_w_P1 "cpsmsbla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbla1_w") (CPTYPE V2SI))
   "cpsmsbla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x1) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1f) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000010 11110 qqqqq ppppp 01010   cpmulslua1.h crqp,crpp (p0_1)
 (dni cpmulslua1_h_P1 "cpmulslua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslua1_h") (CPTYPE V4HI))
   "cpmulslua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x2) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xa) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000010 11110 qqqqq ppppp 01011   cpmulslla1.h crqp,crpp (p0_1)
 (dni cpmulslla1_h_P1 "cpmulslla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslla1_h") (CPTYPE V4HI))
   "cpmulslla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x2) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xb) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000010 11110 qqqqq ppppp 01110   cpmulslua1.w crqp,crpp (p0_1)
 (dni cpmulslua1_w_P1 "cpmulslua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslua1_w") (CPTYPE V2SI))
   "cpmulslua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x2) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xe) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000010 11110 qqqqq ppppp 01111   cpmulslla1.w crqp,crpp (p0_1)
 (dni cpmulslla1_w_P1 "cpmulslla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpmulslla1_w") (CPTYPE V2SI))
   "cpmulslla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x2) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #xf) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpmulslla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 10010   cpsmadslua1.h crqp,crpp (p0_1)
 (dni cpsmadslua1_h_P1 "cpsmadslua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslua1_h") (CPTYPE V4HI))
   "cpsmadslua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x12) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 10011   cpsmadslla1.h crqp,crpp (p0_1)
 (dni cpsmadslla1_h_P1 "cpsmadslla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslla1_h") (CPTYPE V4HI))
   "cpsmadslla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x13) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 10110   cpsmadslua1.w crqp,crpp (p0_1)
 (dni cpsmadslua1_w_P1 "cpsmadslua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslua1_w") (CPTYPE V2SI))
   "cpsmadslua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x16) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 10111   cpsmadslla1.w crqp,crpp (p0_1)
 (dni cpsmadslla1_w_P1 "cpsmadslla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmadslla1_w") (CPTYPE V2SI))
   "cpsmadslla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x17) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmadslla1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 11010   cpsmsbslua1.h crqp,crpp (p0_1)
 (dni cpsmsbslua1_h_P1 "cpsmsbslua1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslua1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslua1_h") (CPTYPE V4HI))
   "cpsmsbslua1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1a) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslua1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 11011   cpsmsbslla1.h crqp,crpp (p0_1)
 (dni cpsmsbslla1_h_P1 "cpsmsbslla1.h $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslla1_h"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslla1_h") (CPTYPE V4HI))
   "cpsmsbslla1.h $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1b) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslla1_h" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 11110   cpsmsbslua1.w crqp,crpp (p0_1)
 (dni cpsmsbslua1_w_P1 "cpsmsbslua1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslua1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslua1_w") (CPTYPE V2SI))
   "cpsmsbslua1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1e) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_4 0)
+       (set ivc2_acc1_5 0)
+       (set ivc2_acc1_6 0)
+       (set ivc2_acc1_7 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslua1_w" pc crqp crpp) )
   ()
   )
 
 ; 00000011 11110 qqqqq ppppp 11111   cpsmsbslla1.w crqp,crpp (p0_1)
 (dni cpsmsbslla1_w_P1 "cpsmsbslla1.w $crqp,$crpp Pn"
-  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslla1_w"))
+  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsmsbslla1_w") (CPTYPE V2SI))
   "cpsmsbslla1.w $crqp,$crpp"
   (+ (f-ivc2-8u0 #x3) (f-ivc2-5u8 #x1e) crqp crpp (f-ivc2-5u23 #x1f) (f-ivc2-4u28 0))
   (sequence ()
        (c-call "check_option_cp" pc)
+       (set ivc2_acc1_0 0)
+       (set ivc2_acc1_1 0)
+       (set ivc2_acc1_2 0)
+       (set ivc2_acc1_3 0)
+       (set ivc2_cofa1 0)
        (c-call "ivc2_cpsmsbslla1_w" pc crqp crpp) )
   ()
   )
index cbb8125da78bcad23a63278cefa64b06f7eedc60..1d2355799c2d9a813db0dff454812ada53334435 100644 (file)
           (else "r"))))))))
 
 ;; The first hard register available to the intrinsics generator.
-(define target:first-unused-register 97)
+(define target:first-unused-register 113)
 
 ;; The instructions mapped to a particular intrinsic can be subdivided
 ;; into groups, each representing a particular form of code generation.
 ;; True if INSN belongs to GROUP, where GROUP is a membmer of TARGET:GROUPS.
 (define (target:belongs-to-group? insn group)
   (case (obj-attr-value (md-insn:cgen-insn insn) 'SLOT)
-    ((NONE) #t)
+    ((NONE)
+     (if (obj-attr-value (md-insn:cgen-insn insn) 'SLOTS)
+        (case (obj-attr-value (md-insn:cgen-insn insn) 'SLOTS)
+          ((CORE) #t)
+          ((C3) (equal? group 'normal))
+          (else (equal? group 'vliw))
+          )
+        (equal? group 'normal)))
     ((C3) (equal? group 'normal))
     ((V1 V3) (equal? group 'vliw))))
 
 (define (-stall-attribute insn)
   (string-downcase (st (obj-attr-value insn 'STALL))))
 
+(define (-slots-attribute insn)
+  (let ((slots (obj-attr-value insn 'SLOTS)))
+    (if slots
+       (string-downcase (gen-c-symbol (st slots)))
+       "core")))
+
 ;; Return the define_insn attributes for INSN as a list of (NAME . VALUE)
 ;; pairs.
 (define (target:attributes insn)
          (cons 'latency (-latency-attribute cgen-insn))
          (cons 'length (-length-attribute cgen-insn))
          (cons 'slot (-slot-attribute cgen-insn))
+         (cons 'slots (-slots-attribute cgen-insn))
          (if (eq? (obj-attr-value cgen-insn 'STALL) 'SHIFTI)
              (cons 'shiftop "operand2")
              (cons 'stall (-stall-attribute cgen-insn))))))
 
   (apply-list well-known-intrinsic
              `(("cmov")
+               ("cpmov")
                ("cmovi" set)
                ("cmov1")
                ("cmov2")
 ;;    will have a valid WRITE-INDEX.
 ;;
 ;;    OPERANDS is a concatenation of OUTPUTS and INPUTS.
+;;
+;;    CPTYPE is the type to use for coprocessor operands (like V4HI)
+;;
+;;    CRET? is set if the first argument is returned rather than passed.
+
 (make-struct md-insn (md-name index intrinsic cgen-insn syntax arguments
-                     inputs outputs operands))
+                     inputs outputs operands cptype cret?))
 
 ;; Return the name of the underlying cgen insn, mostly used for
 ;; error reporting.
         (quiet-inputs (find (lambda (op)
                               (and (not (memq op inputs))
                                    (not (memq op outputs))))
-                            arguments)))
+                            arguments))
+
+        ;; Allow an intrinsic to specify a type for coprocessor
+        ;; operands, as they tend to be insn-specific vector types.
+        (cptype (obj-attr-value insn 'CPTYPE))
+
+        (cret? (equal? (obj-attr-value insn 'CRET) 'FIRST))
+        )
 
     ;; Number each argument operand according to its position in the list.
     (number-list md-operand:set-arg-index! arguments 0)
          (cons (md-insn:make (sa md-prefix (gen-c-symbol (obj:name insn)))
                              #f intrinsic insn syntax
                              arguments inputs outputs
-                             (append outputs inputs))
+                             (append outputs inputs) cptype cret?)
                md-insns))))
 
 ;; Make INSN available when generating code for ISA, updating INSN's
        ;; implementation.  If it isn't, report an error, otherwise
        ;; use INSN as the new bellwether.
        (let ((bellwether (cdr entry)))
-         (if (not (md-insn:syntax<=? bellwether insn))
-             (error (sa "instructions \"" (md-insn:cgen-name insn)
-                        "\" and \"" (md-insn:cgen-name bellwether)
-                        "\" are both mapped to intrinsic \""
-                        (intrinsic:name intrinsic)
-                        "\" but do not have a compatible syntax")))
-
-         (if (not (md-insn:operands<=? bellwether insn))
-             (error (sa "instructions \"" (md-insn:cgen-name insn)
-                        "\" and \"" (md-insn:cgen-name bellwether)
-                        "\" are both mapped to intrinsic \""
-                        (intrinsic:name intrinsic)
-                        "\" but do not have compatible semantics")))
+
+;; This is temporarily disabled as some IVC2 intrinsics *do* have the
+;; same actual signature and operands, but different bit encodings
+;; depending on the slot.  This different syntax makes them not match.
+
+;;       (if (not (md-insn:syntax<=? bellwether insn))
+;;           (error (sa "instructions \"" (md-insn:cgen-name insn)
+;;                      "\" and \"" (md-insn:cgen-name bellwether)
+;;                      "\" are both mapped to intrinsic \""
+;;                      (intrinsic:name intrinsic)
+;;                      "\" but do not have a compatible syntax")))
+
+;;       (if (not (md-insn:operands<=? bellwether insn))
+;;           (error (sa "instructions \"" (md-insn:cgen-name insn)
+;;                      "\" and \"" (md-insn:cgen-name bellwether)
+;;                      "\" are both mapped to intrinsic \""
+;;                      (intrinsic:name intrinsic)
+;;                      "\" but do not have compatible semantics")))
 
          (set-cdr! entry insn)))))
 
        (if (not (get-immediate-predicate name))
            (set-immediate-predicate! name op)))))
 
-(define (enum-type op)
+(define (enum-type op cptype)
   (cond
-   ((is-h-cr64? (md-operand:hw op)) "cgen_regnum_operand_type_DI")
-   ((is-h-cr?   (md-operand:hw op)) "cgen_regnum_operand_type_SI")
+   ((is-h-cr64? (md-operand:hw op))
+    (case cptype
+      ((V8QI) "cgen_regnum_operand_type_V8QI")
+      ((V4HI) "cgen_regnum_operand_type_V4HI")
+      ((V2SI) "cgen_regnum_operand_type_V2SI")
+      ((V8UQI) "cgen_regnum_operand_type_V8UQI")
+      ((V4UHI) "cgen_regnum_operand_type_V4UHI")
+      ((V2USI) "cgen_regnum_operand_type_V2USI")
+      ((VECT) "cgen_regnum_operand_type_VECTOR")
+      ((CP_DATA_BUS_INT) "cgen_regnum_operand_type_CP_DATA_BUS_INT")
+      (else "cgen_regnum_operand_type_DI")))
+   ((is-h-cr?   (md-operand:hw op))
+    "cgen_regnum_operand_type_SI")
    (else
     (case (md-operand:cdata op)
       ((POINTER)         "cgen_regnum_operand_type_POINTER") 
     (comma-line-break)
     (string-write (st (length (md-insn:arguments insn))))
 
+    (comma-line-break)
+    (string-write (if (md-insn:cret? insn) "1" "0"))
+
     (comma-line-break)
     (write-construct "{ " " }"
       (write-nonempty-list
               "{ " (st (md-operand:upper-bound op))
               ", " (st (target:base-reg (md-operand:hw op))))
              (string-write "{ 0, 0"))
-         (string-write ", " (enum-type op)
+         (string-write ", " (enum-type op (md-insn:cptype insn))
                        ", " (if (and (not (equal? (md-operand:cdata op) 'REGNUM))
                                      (md-operand:write-index op))
                                 "1" "0")
    "  cgen_regnum_operand_type_SI,           /* __cop long      */\n"
    "  cgen_regnum_operand_type_DI,           /* __cop long long */\n"
    "  cgen_regnum_operand_type_CP_DATA_BUS_INT, /* cp_data_bus_int */\n"
+   "  cgen_regnum_operand_type_VECTOR,         /* opaque vector type */\n"
+   "  cgen_regnum_operand_type_V8QI,           /* V8QI vector type */\n"
+   "  cgen_regnum_operand_type_V4HI,           /* V4HI vector type */\n"
+   "  cgen_regnum_operand_type_V2SI,           /* V2SI vector type */\n"
+   "  cgen_regnum_operand_type_V8UQI,          /* V8UQI vector type */\n"
+   "  cgen_regnum_operand_type_V4UHI,          /* V4UHI vector type */\n"
+   "  cgen_regnum_operand_type_V2USI,          /* V2USI vector type */\n"
    "  cgen_regnum_operand_type_DEFAULT = cgen_regnum_operand_type_LONG\n"
    "};\n"
    "\n"
    "  /* The number of arguments to the intrinsic function.  */\n"
    "  unsigned int num_args;\n"
    "\n"
+   "  /* If true, the first argument is the return value.  */\n"
+   "  unsigned int cret_p;\n"
+   "\n"
    "  /* Maps operand numbers to argument numbers.  */\n"
    "  unsigned int op_mapping[10];\n"
    "\n"
 ;; PROTOTYPE GENERATOR
 ;; -------------------
 
-(define (runtime-type op)
+(define (runtime-type op cptype retval)
   (sa (case (md-operand:cdata op)
        ((POINTER) "long *")
        ((LABEL) "void *")
        ((USHORT) "unsigned short")
        ((CHAR) "char")
        ((UCHAR) "unsigned char")
-       ((CP_DATA_BUS_INT) "cp_data_bus_int")
+       ((CP_DATA_BUS_INT)
+        ;;(logit 0 "op " (md-operand:cdata op) " cptype " cptype "\n")
+        (case cptype
+          ((V2SI) "cp_v2si")
+          ((V4HI) "cp_v4hi")
+          ((V8QI) "cp_v8qi")
+          ((V2USI) "cp_v2usi")
+          ((V4UHI) "cp_v4uhi")
+          ((V8UQI) "cp_v8uqi")
+          ((VECT) "cp_vector")
+           (else "cp_data_bus_int")))
        (else "long"))
       (if (and (not (equal? (md-operand:cdata op) 'REGNUM))
-              (md-operand:write-index op))
+              (md-operand:write-index op)
+              (not retval))
          "*" "")))
 
 (define (intrinsic-protos.h) ; i.e., intrinsics.h
    "/* DO NOT EDIT: This file is automatically generated by CGEN.\n"
    "   Any changes you make will be discarded when it is next regenerated.\n"
    "*/\n\n"
+   "/* GCC defines these internally, as follows... \n";
    "#if __MEP_CONFIG_CP_DATA_BUS_WIDTH == 64\n"
    "  typedef long long cp_data_bus_int;\n"
    "#else\n"
    "  typedef long cp_data_bus_int;\n"
-   "#endif\n")
+   "#endif\n"
+   "typedef          char  cp_v8qi  __attribute__((vector_size(8)));\n"
+   "typedef unsigned char  cp_v8uqi __attribute__((vector_size(8)));\n"
+   "typedef          short cp_v4hi  __attribute__((vector_size(8)));\n"
+   "typedef unsigned short cp_v4uhi __attribute__((vector_size(8)));\n"
+   "typedef          int   cp_v2si  __attribute__((vector_size(8)));\n"
+   "typedef unsigned int   cp_v2usi __attribute__((vector_size(8)));\n"
+   "*/\n\n")
   (analyze-intrinsics!)
   (message "Generating prototype file...\n")
   (target:for-each-isa!
        (let ((entry (assoc isa (intrinsic:isas intrinsic))))
          (if entry
              (let* ((insn (cdr entry))
-                    (proto (sa "void " (intrinsic:name intrinsic)
-                               " (" (stringize (map runtime-type
-                                                    (md-insn:arguments insn))
+                    (arguments (md-insn:arguments insn))
+                    (retval (if (md-insn:cret? insn)
+                                (runtime-type (car arguments) (md-insn:cptype insn) #t)
+                                "void"))
+                    (proto (sa retval " " (intrinsic:name intrinsic)
+                               " (" (stringize (map (lambda (arg)
+                                                      (runtime-type arg
+                                                                    (md-insn:cptype insn) #f))
+                                                      (if (md-insn:cret? insn)
+                                                          (cdr arguments)
+                                                          arguments)
+                                                      )
                                                ", ")
                                ");"))
                     (proto-len (string-length proto))
This page took 0.269934 seconds and 5 git commands to generate.