; Toshiba MeP IVC2 Coprocessor description.  -*- scheme -*-
; Copyright 2011 Free Software Foundation, Inc.
;
; Contributed by Red Hat Inc;
;
; This file is part of the GNU Binutils.
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
; MA 02110-1301, USA.

;------------------------------------------------------------------------------
; MeP-Integrator will redefine the isa pmacros below to allow the bit widths
; specified below for each ME_MODULE using this coprocessor.
; IVC2 uses the isas as follows:
;   C3    32
;   P0S   16
;   P0    48
;   P1    64
;------------------------------------------------------------------------------
; begin-isas
(define-pmacro ivc2-core-isa () (ISA ext_core1))
(define-pmacro ivc2-16-isa   () (ISA ext_cop1_16))
(define-pmacro ivc2-32-isa   () (ISA ext_cop1_32))
(define-pmacro ivc2-48-isa   () (ISA ext_cop1_48))
(define-pmacro ivc2-64-isa   () (ISA ext_cop1_64))
(define-pmacro all-ivc2-isas () (ISA ext_core1,ext_cop1_16,ext_cop1_32,ext_cop1_48,ext_cop1_64))
(define-pmacro ivc2-p0s-isa  () (ISA ext_cop1_16))
(define-pmacro ivc2-p0-isa  () (ISA ext_cop1_48))
(define-pmacro ivc2-p0s-p0-isa  () (ISA ext_cop1_16,ext_cop1_48))
(define-pmacro ivc2-p1-isa  () (ISA ext_cop1_64))
(define-pmacro ivc2-p0s-p1-isa  () (ISA ext_cop1_16,ext_cop1_64))
(define-pmacro ivc2-p0-p1-isa  () (ISA ext_cop1_48,ext_cop1_64))
(define-pmacro ivc2-p0s-p0-p1-isa  () (ISA ext_cop1_16,ext_cop1_48,ext_cop1_64))
(define-pmacro ivc2-c3-isa  () (ISA ext_cop1_32))
; end-isas

; register definitions
; ---------------------
; NOTE: This exists solely for the purpose of providing the proper register names for this coprocessor.
; GDB will use the hardware table generated from this declaration. The operands use h-cr
; from mep-core.cpu so that SID's semantic trace will be consistent between
; the core and the coprocessor but use parse/print handlers which reference the hardware table
; generated from this declarations
(define-hardware
  (name h-cr-ivc2)
  (comment "64-bit coprocessor registers for ivc2 coprocessor")
  (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))
  (indices keyword "$c" (.map -reg-pair (.iota 8)))
)

; NOTE: This exists solely for the purpose of providing the proper register names for this coprocessor.
; GDB will use the hardware table generated from this declaration. The operands use h-ccr
; from mep-core.cpu so that SID's semantic trace will be consistent between
; the core and the coprocessor but use parse/print handlers which reference the hardware table
; generated from this declarations
(define-hardware
  (name h-ccr-ivc2)
  (comment "Coprocessor control registers for ivc2 coprocessor")
  (attrs VIRTUAL all-mep-isas)
  (type register SI (32))
  (set (index newval) (c-call VOID "h_ccr_set" index newval))
  (get (index) (c-call SI "h_ccr_get" index))
  (indices keyword ""
	(.splice

	 ($csar0 0)
	 ($cc 1)
	 ($cofr0 4)
	 ($cofr1 5)
	 ($cofa0 6)
	 ($cofa1 7)

	 ($csar1 15)

	 ($acc0_0 16)
	 ($acc0_1 17)
	 ($acc0_2 18)
	 ($acc0_3 19)
	 ($acc0_4 20)
	 ($acc0_5 21)
	 ($acc0_6 22)
	 ($acc0_7 23)

	 ($acc1_0 24)
	 ($acc1_1 25)
	 ($acc1_2 26)
	 ($acc1_3 27)
	 ($acc1_4 28)
	 ($acc1_5 29)
	 ($acc1_6 30)
	 ($acc1_7 31)
	 (.unsplice (.map -ccr-reg-pair (.iota 32)))
        )
  )
)

(define-attr
  (type bitset)
  (for insn)
  (name SLOTS)
  (comment "slots for which this opcode is valid - c3, p0s, p0, p1")
  (values CORE C3 P0S P0 P1)
  (default CORE)
  )

;-----------------------------------------------------------------------------
; macros for standard opcodes for each slot type

; C3
(dnf f-ivc2-2u4 "sub opcode field" (all-mep-isas) 4 2)
(dnf f-ivc2-3u4 "sub opcode field" (all-mep-isas) 4 3)
(dnf f-ivc2-8u4 "sub opcode field" (all-mep-isas) 4 8)
(df  f-ivc2-8s4 "sub opcode field" (all-mep-isas) 4 8 INT #f #f)
(dnf f-ivc2-1u6 "sub opcode field" (all-mep-isas) 6 1)
(dnf f-ivc2-2u6 "sub opcode field" (all-mep-isas) 6 2)
(dnf f-ivc2-3u6 "sub opcode field" (all-mep-isas) 6 3)
(dnf f-ivc2-6u6 "sub opcode field" (all-mep-isas) 6 6)
(dnf f-ivc2-5u7 "sub opcode field" (all-mep-isas) 7 5)
(dnf f-ivc2-4u8 "sub opcode field" (all-mep-isas) 8 4)
(dnf f-ivc2-3u9 "sub opcode field" (all-mep-isas) 9 3)
(dnf f-ivc2-5u16 "sub opcode field" (all-mep-isas) 16 5)
(dnf f-ivc2-5u21 "sub opcode field" (all-mep-isas) 21 5)
(dnf f-ivc2-5u26 "sub opcode field" (all-mep-isas) 26 5)
(dnf f-ivc2-1u31 "sub opcode field" (all-mep-isas) 31 1)

(dnf f-ivc2-4u16 "sub opcode field" (all-mep-isas) 16 4)
(dnf f-ivc2-4u20 "sub opcode field" (all-mep-isas) 20 4)
(dnf f-ivc2-4u24 "sub opcode field" (all-mep-isas) 24 4)
(dnf f-ivc2-4u28 "sub opcode field" (all-mep-isas) 28 4)

; P0S/P0/P1
(dnf f-ivc2-2u0 "sub opcode field" (all-mep-isas) 0 2)
(dnf f-ivc2-3u0 "sub opcode field" (all-mep-isas) 0 3)
(dnf f-ivc2-4u0 "sub opcode field" (all-mep-isas) 0 4)
(dnf f-ivc2-5u0 "sub opcode field" (all-mep-isas) 0 5)
(dnf f-ivc2-8u0 "sub opcode field" (all-mep-isas) 0 8)
(df  f-ivc2-8s0 "sub opcode field" (all-mep-isas) 0 8 INT #f #f)
(dnf f-ivc2-6u2 "sub opcode field" (all-mep-isas) 2 6)
(dnf f-ivc2-5u3 "sub opcode field" (all-mep-isas) 3 5)
(dnf f-ivc2-4u4 "sub opcode field" (all-mep-isas) 4 4)
(dnf f-ivc2-3u5 "sub opcode field" (all-mep-isas) 5 3)
(dnf f-ivc2-5u8 "sub opcode field" (all-mep-isas) 8 5)
(dnf f-ivc2-4u10 "sub opcode field" (all-mep-isas) 10 4)
(dnf f-ivc2-3u12 "sub opcode field" (all-mep-isas) 12 3)
(dnf f-ivc2-5u13 "sub opcode field" (all-mep-isas) 13 5)
(dnf f-ivc2-2u18 "sub opcode field" (all-mep-isas) 18 2)
(dnf f-ivc2-5u18 "sub opcode field" (all-mep-isas) 18 5)
(dnf f-ivc2-8u20 "sub opcode field" (all-mep-isas) 20 8)
(df  f-ivc2-8s20 "sub opcode field" (all-mep-isas) 20 8 INT #f #f)
(dnf f-ivc2-5u23 "sub opcode field" (all-mep-isas) 23 5)
(dnf f-ivc2-2u23 "sub opcode field" (all-mep-isas) 23 2)
(dnf f-ivc2-3u25 "sub opcode field" (all-mep-isas) 25 3)

(dnmf f-ivc2-imm16p0 "16-bit immediate in P0/P1" (all-mep-isas) UINT
      (f-ivc2-8u0 f-ivc2-8u20)
      (sequence () ; insert
		(set (ifield f-ivc2-8u0) (and (srl (ifield f-ivc2-imm16p0) 8) #xff))
		(set (ifield f-ivc2-8u20) (and (ifield f-ivc2-imm16p0) #xff))
		)
      (sequence () ; extract
		(set (ifield f-ivc2-imm16p0) (or (ifield f-ivc2-8u20)
						 (sll (ifield f-ivc2-8u0) 8)))
		)
      )

(dnmf f-ivc2-simm16p0 "16-bit immediate in P0/P1" (all-mep-isas) INT
      (f-ivc2-8u0 f-ivc2-8u20)
      (sequence () ; insert
		(set (ifield f-ivc2-8u0) (and (srl (ifield f-ivc2-simm16p0) 8) #xff))
		(set (ifield f-ivc2-8u20) (and (ifield f-ivc2-simm16p0) #xff))
		)
      (sequence () ; extract
		(set (ifield f-ivc2-simm16p0) (or (ifield f-ivc2-8u20)
						  (sll (ifield f-ivc2-8u0) 8)))
		)
      )

(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 ivc-x-6-3 "filler" (all-mep-isas) h-uint f-ivc2-3u6)


(dnop imm3p4 "Imm3p4" (all-mep-isas) h-uint f-ivc2-3u4)
(dnop imm3p9 "Imm3p9" (all-mep-isas) h-uint f-ivc2-3u9)
(dnop imm4p8 "Imm4p8" (all-mep-isas) h-uint f-ivc2-4u8)
(dnop imm5p7 "Imm5p7" (all-mep-isas) h-uint f-ivc2-5u7)
(dnop imm6p6 "Imm6p6" (all-mep-isas) h-uint f-ivc2-6u6)
(dnop imm8p4 "Imm8p4" (all-mep-isas) h-uint f-ivc2-8u4)
(dnop simm8p4 "sImm8p4" (all-mep-isas) h-sint f-ivc2-8s4)

(dnop imm3p5  "Imm3p5"  (all-mep-isas) h-uint f-ivc2-3u5)
(dnop imm3p12 "Imm3p12" (all-mep-isas) h-uint f-ivc2-3u12)
(dnop imm4p4  "Imm4p4"  (all-mep-isas) h-uint f-ivc2-4u4)
(dnop imm4p10 "Imm4p10" (all-mep-isas) h-uint f-ivc2-4u10)
(dnop imm5p8  "Imm5p8"  (all-mep-isas) h-uint f-ivc2-5u8)
(dnop imm5p3  "Imm5p3"  (all-mep-isas) h-uint f-ivc2-5u3)
(dnop imm6p2  "Imm6p2"  (all-mep-isas) h-uint f-ivc2-6u2)
(dnop imm5p23 "Imm5p23" (all-mep-isas) h-uint f-ivc2-5u23)
(dnop imm3p25 "Imm3p25" (all-mep-isas) h-uint f-ivc2-3u25)
(dnop imm8p0  "Imm8p0"  (all-mep-isas) h-uint f-ivc2-8u0)
(dnop simm8p0 "sImm8p0" (all-mep-isas) h-sint f-ivc2-8s0)
(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 (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)
(dnop ivc-x-0-4 "filler" (all-mep-isas) h-uint f-ivc2-4u0)
(dnop ivc-x-0-5 "filler" (all-mep-isas) h-uint f-ivc2-5u0)

(dpop imm16p0 "Imm16p0" (all-mep-isas) h-uint f-ivc2-imm16p0 "unsigned16_range")
(dpop simm16p0 "sImm16p0" (all-mep-isas) h-sint f-ivc2-simm16p0 "signed16_range")


(df f-ivc2-ccrn-c3hi "ccrn hi  2u28" (all-mep-isas) 28 2 UINT #f #f)
(df f-ivc2-ccrn-c3lo "ccrn lo  4u4"  (all-mep-isas)  4 4 UINT #f #f)

(df f-ivc2-crn     "ivc2 crn"      (all-mep-isas)  0 4 UINT #f #f)
(df f-ivc2-crm     "ivc2 crm"      (all-mep-isas)  4 4 UINT #f #f)
(df f-ivc2-ccrn-h1 "ccrx hi 1u20"  (all-mep-isas) 20 1 UINT #f #f)
(df f-ivc2-ccrn-h2 "ccrx hi 2u20"  (all-mep-isas) 20 2 UINT #f #f)
(df f-ivc2-ccrn-lo "ccrx lo 4u0"   (all-mep-isas)  0 4 UINT #f #f)
(df f-ivc2-cmov1   "ivc2 cmov op1" (all-mep-isas) 8 12 UINT #f #f)
(df f-ivc2-cmov2   "ivc2 cmov op2" (all-mep-isas) 22 6 UINT #f #f)
(df f-ivc2-cmov3   "ivc2 cmov op2" (all-mep-isas) 28 4 UINT #f #f)

(define-multi-ifield
  (name f-ivc2-ccrn-c3)
  (comment "Coprocessor register number field")
  (attrs all-mep-isas)
  (mode UINT)
  (subfields f-ivc2-ccrn-c3hi f-ivc2-ccrn-c3lo)
  (insert (sequence ()
		    (set (ifield f-ivc2-ccrn-c3hi)  (and (srl (ifield f-ivc2-ccrn-c3) 4) #x3))
		    (set (ifield f-ivc2-ccrn-c3lo)  (and (ifield f-ivc2-ccrn-c3) #xf))))
  (extract (set (ifield f-ivc2-ccrn-c3)
		(or (sll (ifield f-ivc2-ccrn-c3hi) 4)
		    (ifield f-ivc2-ccrn-c3lo))))
  )

(define-multi-ifield
  (name f-ivc2-ccrn)
  (comment "Coprocessor control register number field")
  (attrs all-mep-isas)
  (mode UINT)
  (subfields f-ivc2-ccrn-h2 f-ivc2-ccrn-lo)
  (insert (sequence ()
		    (set (ifield f-ivc2-ccrn-h2)  (and (srl (ifield f-ivc2-ccrn) 4) #x3))
		    (set (ifield f-ivc2-ccrn-lo)  (and (ifield f-ivc2-ccrn) #xf))))
  (extract (set (ifield f-ivc2-ccrn)
		(or (sll (ifield f-ivc2-ccrn-h2) 4)
		    (ifield f-ivc2-ccrn-lo))))
  )

(define-multi-ifield
  (name f-ivc2-crnx)
  (comment "Coprocessor register number field")
  (attrs all-mep-isas)
  (mode UINT)
  (subfields f-ivc2-ccrn-h1 f-ivc2-ccrn-lo)
  (insert (sequence ()
		    (set (ifield f-ivc2-ccrn-h1)  (and (srl (ifield f-ivc2-crnx) 4) #x1))
		    (set (ifield f-ivc2-ccrn-lo)  (and (ifield f-ivc2-crnx) #xf))))
  (extract (set (ifield f-ivc2-crnx)
		(or (sll (ifield f-ivc2-ccrn-h1) 4)
		    (ifield f-ivc2-ccrn-lo))))
  )

(dnop ivc2rm   "reg Rm"                  (all-mep-isas) h-gpr  f-ivc2-crm)
(dnop ivc2crn  "copro Rn (0-31, 64-bit"  (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-crnx)
(dnop ivc2ccrn "copro control reg CCRn"  (all-mep-isas (CDATA REGNUM)) h-ccr-ivc2  f-ivc2-ccrn)
(dnop ivc2c3ccrn "copro control reg CCRn"  (all-mep-isas (CDATA REGNUM)) h-ccr-ivc2  f-ivc2-ccrn-c3)

; [--][--] [--][--] [--][--] [--]
; 0----+-- --1----+ ----2--- -+--
; 01234567 89012345 67890123 4567


; 1111 nnnn mmmm 0111 1111 0000 0000 N000   cmov =crn,rm
(dni cmov-crn-rm
     "cmov CRn,Rm"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmov1"))
     "cmov $crnx64,$rm"
     (+ MAJ_15 crnx64 rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 0) (f-ivc2-4u24 0) (f-29 0) (f-30 0) (f-31 0))
     (set crnx64 (or (zext DI rm) (and DI crnx64 #xffffffff00000000)))
     ()
)

; 1111 nnnn mmmm 0111 1111 0000 0000 N001   cmov =rm,crn
(dni cmov-rn-crm
     "cmov Rm,CRn"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmov2"))
     "cmov $rm,$crnx64"
     (+ MAJ_15 crnx64 rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 0) (f-ivc2-4u24 0) (f-29 0) (f-30 0) (f-31 1))
     (set rm crnx64)
     ()
)

; 1111 nnnn mmmm 0111 1111 0000 0000 N000   cmov =crn,rm
(dni cmovc-ccrn-rm
     "cmovc CCRn,Rm"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmovc1"))
     "cmovc $ivc2c3ccrn,$rm"
     (+ MAJ_15 ivc2c3ccrn rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 0) (f-ivc2-4u24 0) (f-30 1) (f-31 0))
     (set ivc2c3ccrn rm)
     ()
)

; 1111 nnnn mmmm 0111 1111 0000 0000 N001   cmov =rm,crn
(dni cmovc-rn-ccrm
     "cmovc Rm,CCRn"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmovc2"))
     "cmovc $rm,$ivc2c3ccrn"
     (+ MAJ_15 ivc2c3ccrn rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 0) (f-ivc2-4u24 0) (f-30 1) (f-31 1))
     (set rm ivc2c3ccrn)
     ()
)

; 1111 nnnn mmmm 0111 1111 0000 0000 N000   cmov =crn,rm
(dni cmovh-crn-rm
     "cmovh CRn,Rm"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmovh1"))
     "cmovh $crnx64,$rm"
     (+ MAJ_15 crnx64 rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 1) (f-ivc2-4u24 0) (f-29 0) (f-30 0) (f-31 0))
     (set crnx64 (or (sll (zext DI rm) 32) (and DI crnx64 #xffffffff)))
     ()
)

; 1111 nnnn mmmm 0111 1111 0000 0000 N001   cmov =rm,crn
(dni cmovh-rn-crm
     "cmovh Rm,CRn"
     (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cmovh2"))
     "cmovh $rm,$crnx64"
     (+ MAJ_15 crnx64 rm (f-sub4 #x7)
	(f-ivc2-4u16 #xF) (f-ivc2-4u20 1) (f-ivc2-4u24 0) (f-29 0) (f-30 0) (f-31 1))
     (set rm (srl crnx64 32))
     ()
)

; nnnnmmmm 11110000 0000N000 0000	cmov =crn,rm
(dni cmov-crn-rm-p0
     "cmov CRn,Rm"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmov1"))
     "cmov $ivc2crn,$ivc2rm"
     (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf00) (f-21 0) (f-ivc2-cmov2 #x00) (f-ivc2-cmov3 0))
     (set ivc2crn ivc2rm)
     ()
)

; nnnnmmmm 11110000 0000N001 0000	cmov =rm,crn
(dni cmov-rn-crm-p0
     "cmov Rm,CRn"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmov2"))
     "cmov $ivc2rm,$ivc2crn"
     (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf00) (f-21 0) (f-ivc2-cmov2 #x10) (f-ivc2-cmov3 0))
     (set ivc2rm ivc2crn)
     ()
)

; nnnnmmmm 11110000 0000NN10 0000	cmovc =ccrn,rm
(dni cmovc-ccrn-rm-p0
     "cmovc CCRn,Rm"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovc1"))
     "cmovc $ivc2ccrn,$ivc2rm"
     (+ ivc2ccrn ivc2rm (f-ivc2-cmov1 #xf00) (f-ivc2-cmov2 #x20) (f-ivc2-cmov3 0))
     (set ivc2ccrn ivc2rm)
     ()
)

; nnnnmmmm 11110000 0000NN11 0000	cmovc =rm,ccrn
(dni cmovc-rn-ccrm-p0
     "cmovc Rm,CCRn"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovc2"))
     "cmovc $ivc2rm,$ivc2ccrn"
     (+ ivc2ccrn ivc2rm (f-ivc2-cmov1 #xf00) (f-ivc2-cmov2 #x30) (f-ivc2-cmov3 0))
     (set ivc2rm ivc2ccrn)
     ()
)

; nnnnmmmm 11110001 0000N000 0000	cmovh =crn,rm		
(dni cmovh-crn-rm-p0
     "cmovh CRn,Rm"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovh1"))
     "cmovh $ivc2crn,$ivc2rm"
     (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf10) (f-21 0) (f-ivc2-cmov2 #x00) (f-ivc2-cmov3 0))
     (set ivc2crn (or (sll (zext DI ivc2rm) 32) (and DI ivc2crn #xffffffff)))
     ()
)

; nnnnmmmm 11110001 0000N001 0000	cmovh =rm,crn
(dni cmovh-rn-crm-p0
     "cmovh Rm,CRn"
     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovh2"))
     "cmovh $ivc2rm,$ivc2crn"
     (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf10) (f-21 0) (f-ivc2-cmov2 #x10) (f-ivc2-cmov3 0))
     (set ivc2rm (srl ivc2crn 32))
     ()
)


; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpadd3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpadd3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpadd3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdadd3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsub3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsub3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsub3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdsub3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpand3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpor3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpnor3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpxor3" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpsel $croc,$crqc,$crpc"
  (+ MAJ_15 (f-ivc2-3u4 #x4) croc (f-sub4 7)
	(f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsel" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpfsftbi" pc crqc crpc imm3p4)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpfsftbs0 $croc,$crqc,$crpc"
  (+ MAJ_15 (f-ivc2-3u4 #x6) croc (f-sub4 7)
	(f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpfsftbs0" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpfsftbs1 $croc,$crqc,$crpc"
  (+ MAJ_15 (f-ivc2-3u4 #x7) croc (f-sub4 7)
	(f-ivc2-5u16 #x1) crqc crpc (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpfsftbs1" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpacku_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpacku_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpacku_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpackl_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpackl_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpunpackl_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppacku_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppack_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppack_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsrl3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssrl3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsrl3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssrl3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsrl3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssrl3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdsrl3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsra3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssra3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsra3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssra3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsra3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssra3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdsra3" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsll3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssll3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsll3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssll3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsll3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpssll3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdsll3" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsla3_h" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsla3_w" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsadd3_h" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpsadd3_w" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextuaddu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextuadd3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextladdu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextladd3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextusubu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextusub3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextlsubu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextlsub3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpaveu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpave3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpave3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpave3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpaddsru3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpaddsr3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpaddsr3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpaddsr3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabsu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabs3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabs3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmaxu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmax3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmax3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmaxu3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmax3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpminu3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmin3_b" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmin3_h" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpminu3_w" pc crqc crpc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmin3_w" pc crqc crpc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovfrcsar0" pc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovfrcsar1" pc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovfrcc" pc)) )
  ()
  )

; 1111 0000 0000 0111 10000 qqqqq 10000 0   cpmovtocsar0 crqc (c3_1)
(dni cpmovtocsar0_C3 "cpmovtocsar0 $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovtocsar0") VOLATILE)
  "cpmovtocsar0 $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
	(f-ivc2-5u16 #x10) crqc (f-ivc2-5u26 #x10) (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_csar0 0)
	(c-call "ivc2_cpmovtocsar0" pc crqc) )
  ()
  )

; 1111 0000 0000 0111 10000 qqqqq 11111 0   cpmovtocsar1 crqc (c3_1)
(dni cpmovtocsar1_C3 "cpmovtocsar1 $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovtocsar1") VOLATILE)
  "cpmovtocsar1 $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
	(f-ivc2-5u16 #x10) crqc (f-ivc2-5u26 #x1f) (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_csar1 0)
	(c-call "ivc2_cpmovtocsar1" pc crqc) )
  ()
  )

; 1111 0000 0000 0111 10000 qqqqq 10001 0   cpmovtocc crqc (c3_1)
(dni cpmovtocc_C3 "cpmovtocc $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpmovtocc") VOLATILE)
  "cpmovtocc $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
	(f-ivc2-5u16 #x10) crqc (f-ivc2-5u26 #x11) (f-ivc2-1u31 #x0) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_cc 0)
	(c-call "ivc2_cpmovtocc" pc crqc) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmov" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabsz_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabsz_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpabsz_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpldz_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpldz_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpnorm_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpnorm_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cphaddu_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cphadd_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cphadd_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cphadd_w" pc crqc)) )
  ()
  )

; 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") (CPTYPE V8QI) (CRET FIRSTCOPY) VOLATILE)
  "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)
	(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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpbcast_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpbcast_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpbcast_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextuu_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextu_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextuu_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextu_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextlu_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextl_b" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextlu_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpextl_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcastub_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcastb_h" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcastub_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcastb_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcastuh_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpcasth_w" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdcastuw" pc crqc)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cdcastw" pc crqc)) )
  ()
  )

; 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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrli3_b" pc crpc imm3p9)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrli3_h" pc crpc imm4p8)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrli3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdsrli3" pc crpc imm6p6)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrai3_b" pc crpc imm3p9)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrai3_h" pc crpc imm4p8)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpsrai3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdsrai3" pc crpc imm6p6)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpslli3_b" pc crpc imm3p9)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpslli3_h" pc crpc imm4p8)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpslli3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdslli3" pc crpc imm6p6)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpslai3_h" pc crpc imm4p8)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpslai3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpclipiu3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpclipi3_w" pc crpc imm5p7)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdclipiu3" pc crpc imm6p6)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdclipi3" pc crpc imm6p6)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpmovi_b" pc simm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpmoviu_h" pc imm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpmovi_h" pc simm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpmoviu_w" pc imm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cpmovi_w" pc simm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdmoviu" pc imm8p4)) )
  ()
  )

; 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") (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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqc (c-call DI "ivc2_cdmovi" pc simm8p4)) )
  ()
  )

; 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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmova1_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovua1_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovla1_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovuua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovula1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovlua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovlla1_w" pc)) )
  ()
  )

; 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") (CPTYPE V8UQI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppacka1u_b" pc)) )
  ()
  )

; 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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppacka1_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppackua1_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppackla1_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppackua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cppackla1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovhua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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) )
  (sequence ()
	(c-call "check_option_cp" pc)
	(set croc (c-call DI "ivc2_cpmovhla1_w" pc)) )
  ()
  )

; 1111 0000 0000 0111 00010 qqqqq 00000 1   cpsrla1 crqc (c3_1)
(dni cpsrla1_C3 "cpsrla1 $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrla1") VOLATILE)
  "cpsrla1 $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x0) (f-sub4 7)
	(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) )
  ()
  )

; 1111 0000 0001 0111 00010 qqqqq 00000 1   cpsraa1 crqc (c3_1)
(dni cpsraa1_C3 "cpsraa1 $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsraa1") VOLATILE)
  "cpsraa1 $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x1) (f-sub4 7)
	(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) )
  ()
  )

; 1111 0000 0010 0111 00010 qqqqq 00000 1   cpslla1 crqc (c3_1)
(dni cpslla1_C3 "cpslla1 $crqc C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpslla1") VOLATILE)
  "cpslla1 $crqc"
  (+ MAJ_15 (f-ivc2-3u4 #x0) (f-ivc2-5u7 #x2) (f-sub4 7)
	(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) )
  ()
  )

; 1111 00xi iiii 0111 00011 00000 00000 1   cpsrlia1 imm5p7 (c3_imm)
(dni cpsrlia1_P1 "cpsrlia1 imm5p7 C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsrlia1") VOLATILE)
  "cpsrlia1 $imm5p7"
  (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x0) imm5p7 (f-sub4 7)
	(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) )
  ()
  )

; 1111 01xi iiii 0111 00011 00000 00000 1   cpsraia1 imm5p7 (c3_imm)
(dni cpsraia1_P1 "cpsraia1 imm5p7 C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsraia1") VOLATILE)
  "cpsraia1 $imm5p7"
  (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x1) imm5p7 (f-sub4 7)
	(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) )
  ()
  )

; 1111 10xi iiii 0111 00011 00000 00000 1   cpsllia1 imm5p7 (c3_imm)
(dni cpsllia1_P1 "cpsllia1 imm5p7 C3"
  (OPTIONAL_CP_INSN ivc2-c3-isa (SLOTS C3) (INTRINSIC "cpsllia1") VOLATILE)
  "cpsllia1 $imm5p7"
  (+ MAJ_15 ivc-x-6-1 (f-ivc2-2u4 #x2) imm5p7 (f-sub4 7)
	(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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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) )
  ()
  )

; 00000 00000 00000 00000   c0nop  (p0_1)
(dni c0nop_P0_P0S "c0nop  Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-p0-isa (SLOTS P0,P0S) (INTRINSIC "c0nop"))
  "c0nop"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x0) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x0) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_c0nop" pc) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpadd3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpadd3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpadd3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpacku_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpacku_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpacku_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpackl_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpackl_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpunpackl_w" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpsel $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x4) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsel" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpfsftbs0 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xc) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpfsftbs0" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpfsftbs1 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #xd) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpfsftbs1" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmov" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabsz_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabsz_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabsz_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpldz_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpldz_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpnorm_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpnorm_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cphaddu_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cphadd_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cphadd_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cphadd_w" pc crqp)) )
  ()
  )

; 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") (CPTYPE V8QI) (CRET FIRSTCOPY) VOLATILE)
  "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)
	(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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpbcast_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpbcast_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpbcast_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextuu_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextu_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextuu_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextu_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextlu_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextl_b" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextlu_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextl_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcastub_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcastb_h" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcastub_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcastb_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcastuh_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpcasth_w" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdcastuw" pc crqp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdcastw" pc crqp)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpmovfrcsar0 $crop"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x0) crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovfrcsar0" pc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpmovfrcsar1 $crop"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #xf) crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovfrcsar1" pc)) )
  ()
  )

; 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") (CPTYPE CP_DATA_BUS_INT) (CRET FIRST) VOLATILE)
  "cpmovfrcc $crop"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x1) crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovfrcc" pc)) )
  ()
  )

; 10001 qqqqq 10000 00000   cpmovtocsar0 crqp (p0_1)
(dni cpmovtocsar0_P0S_P1 "cpmovtocsar0 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovtocsar0") VOLATILE)
  "cpmovtocsar0 $crqp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) crqp (f-ivc2-5u18 #x10) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_csar0 0)
	(c-call "ivc2_cpmovtocsar0" pc crqp) )
  ()
  )

; 10001 qqqqq 11111 00000   cpmovtocsar1 crqp (p0_1)
(dni cpmovtocsar1_P0S_P1 "cpmovtocsar1 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovtocsar1") VOLATILE)
  "cpmovtocsar1 $crqp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) crqp (f-ivc2-5u18 #x1f) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_csar1 0)
	(c-call "ivc2_cpmovtocsar1" pc crqp) )
  ()
  )

; 10001 qqqqq 10001 00000   cpmovtocc crqp (p0_1)
(dni cpmovtocc_P0S_P1 "cpmovtocc $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-p1-isa (SLOTS P0S,P1) (INTRINSIC "cpmovtocc") VOLATILE)
  "cpmovtocc $crqp"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x11) crqp (f-ivc2-5u18 #x11) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set ivc2_cc 0)
	(c-call "ivc2_cpmovtocc" pc crqp) )
  ()
  )

; 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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmova0_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovua0_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovla0_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovuua0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovula0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovlua0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovlla0_w" pc)) )
  ()
  )

; 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") (CPTYPE V8UQI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppacka0u_b" pc)) )
  ()
  )

; 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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppacka0_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackua0_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackla0_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackua0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackla0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovhua0_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovhla0_w" pc)) )
  ()
  )

; 11001 00000 10000 00000   cpacsuma0  (p0_1)
(dni cpacsuma0_P0S "cpacsuma0  Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpacsuma0") VOLATILE)
  "cpacsuma0"
  (+ (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) )
  ()
  )

; 11001 00000 10001 00000   cpaccpa0  (p0_1)
(dni cpaccpa0_P0S "cpaccpa0  Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpaccpa0") VOLATILE)
  "cpaccpa0"
  (+ (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) )
  ()
  )

; 11001 qqqqq 11000 00000   cpsrla0 crqp (p0_1)
(dni cpsrla0_P0S "cpsrla0 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsrla0") VOLATILE)
  "cpsrla0 $crqp"
  (+ (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) )
  ()
  )

; 11001 qqqqq 11001 00000   cpsraa0 crqp (p0_1)
(dni cpsraa0_P0S "cpsraa0 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsraa0") VOLATILE)
  "cpsraa0 $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) )
  ()
  )

; 11001 qqqqq 11010 00000   cpslla0 crqp (p0_1)
(dni cpslla0_P0S "cpslla0 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpslla0") VOLATILE)
  "cpslla0 $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) )
  ()
  )

; 11001 00000 11100 iiiii   cpsrlia0 imm5p23 (p0_1)
(dni cpsrlia0_P0S "cpsrlia0 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsrlia0") VOLATILE)
  "cpsrlia0 $imm5p23"
  (+ (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) )
  ()
  )

; 11001 00000 11101 iiiii   cpsraia0 imm5p23 (p0_1)
(dni cpsraia0_P0S "cpsraia0 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsraia0") VOLATILE)
  "cpsraia0 $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) )
  ()
  )

; 11001 00000 11110 iiiii   cpsllia0 imm5p23 (p0_1)
(dni cpsllia0_P0S "cpsllia0 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p0s-isa (SLOTS P0S) (INTRINSIC "cpsllia0") VOLATILE)
  "cpsllia0 $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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpfsftbi" pc crqp crpp imm3p5)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpeq_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpeq_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpeq_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpne_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpne_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpne_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgtu_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgt_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgt_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgtu_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgt_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgeu_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpge_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpge_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpgeu_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpacmpge_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpeq_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpeq_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpeq_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpne_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpne_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpne_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgtu_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgt_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgt_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgtu_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgt_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgeu_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpge_b" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpge_h" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpgeu_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_cpocmpge_w" pc crqp crpp) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdadd3" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsub3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsub3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsub3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsub3" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "cpsadd3.h $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #xa) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsadd3_h" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "cpsadd3.w $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #xb) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsadd3_w" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextuaddu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextuadd3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextladdu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextladd3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextusubu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextusub3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextlsubu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpextlsub3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpaveu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpave3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpave3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpave3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpaddsru3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpaddsr3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpaddsr3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpaddsr3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabsu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabs3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpabs3_h" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE VECT) (CRET FIRST))
  "cpand3 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x24) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpand3" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE VECT) (CRET FIRST))
  "cpor3 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x25) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpor3" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE VECT) (CRET FIRST))
  "cpnor3 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x26) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpnor3" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE VECT) (CRET FIRST))
  "cpxor3 $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x27) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpxor3" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppacku_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppack_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppack_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmaxu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmax3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmax3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmaxu3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmax3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpminu3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmin3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmin3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpminu3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmin3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrl3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssrl3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrl3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssrl3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrl3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssrl3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsrl3" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsra3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssra3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsra3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssra3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsra3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssra3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsra3" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsll3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssll3_b" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsll3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssll3_h" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsll3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpssll3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsll3" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "cpsla3.h $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x5a) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsla3_h" pc crqp crpp)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "cpsla3.w $crop,$crqp,$crpp"
  (+ (f-ivc2-8u0 #x5c) (f-ivc2-5u8 #x14) crqp crpp crop (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsla3_w" pc crqp crpp)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrli3_b" pc crqp imm3p5)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrli3_h" pc crqp imm4p4)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrli3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsrli3" pc crqp imm6p2)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrai3_b" pc crqp imm3p5)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrai3_h" pc crqp imm4p4)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpsrai3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdsrai3" pc crqp imm6p2)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpslli3_b" pc crqp imm3p5)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpslli3_h" pc crqp imm4p4)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpslli3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdslli3" pc crqp imm6p2)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpslai3_h" pc crqp imm4p4)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpslai3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpclipiu3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpclipi3_w" pc crqp imm5p3)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdclipiu3" pc crqp imm6p2)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cdclipi3" pc crqp imm6p2)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST))
  "cpmovi.h $crqp,$simm16p0"
  (+ (f-ivc2-5u8 #x16) crqp (f-ivc2-2u18 #x1)  simm16p0(f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cpmovi_h16" pc simm16p0)) )
  ()
  )

; 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") (CPTYPE V2USI) (CRET FIRST))
  "cpmoviu.w $crqp,$imm16p0"
  (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x0)  imm16p0(f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cpmoviu_w16" pc imm16p0)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST))
  "cpmovi.w $crqp,$simm16p0"
  (+ (f-ivc2-5u8 #x17) crqp (f-ivc2-2u18 #x1)  simm16p0(f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cpmovi_w16" pc simm16p0)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cdmoviu16" pc imm16p0)) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cdmovi16" pc simm16p0)) )
  ()
  )

; 00000000 00000 00000 00000 00000   c1nop  (p0_1)
(dni c1nop_P1 "c1nop  Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "c1nop"))
  "c1nop"
  (+ (f-ivc2-8u0 #x0) (f-ivc2-5u8 #x0) (f-ivc2-5u13 #x0) (f-ivc2-5u18 #x0) (f-ivc2-5u23 #x0) (f-ivc2-4u28 0))
  (sequence ()
	(c-call "check_option_cp" pc)
	(c-call "ivc2_c1nop" pc) )
  ()
  )

; 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") (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 ()
	(c-call "check_option_cp" pc)
	(set crqp (c-call DI "ivc2_cpmovi_b" pc simm8p20)) )
  ()
  )

; 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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmova1_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovua1_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovla1_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovuua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovula1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovlua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovlla1_w" pc)) )
  ()
  )

; 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") (CPTYPE V8UQI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppacka1u_b" pc)) )
  ()
  )

; 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") (CPTYPE V8QI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppacka1_b" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackua1_h" pc)) )
  ()
  )

; 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") (CPTYPE V4HI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackla1_h" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cppackla1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovhua1_w" pc)) )
  ()
  )

; 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") (CPTYPE V2SI) (CRET FIRST) VOLATILE)
  "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 ()
	(c-call "check_option_cp" pc)
	(set crop (c-call DI "ivc2_cpmovhla1_w" pc)) )
  ()
  )

; 00000000 11001 00000 10000 00000   cpacsuma1  (p0_1)
(dni cpacsuma1_P1 "cpacsuma1  Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpacsuma1") VOLATILE)
  "cpacsuma1"
  (+ (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) )
  ()
  )

; 00000000 11001 00000 10001 00000   cpaccpa1  (p0_1)
(dni cpaccpa1_P1 "cpaccpa1  Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpaccpa1") VOLATILE)
  "cpaccpa1"
  (+ (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") 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) )
  ()
  )

; 00000000 11001 qqqqq 11000 00000   cpsrla1 crqp (p0_1)
(dni cpsrla1_P1 "cpsrla1 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsrla1") VOLATILE)
  "cpsrla1 $crqp"
  (+ (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) )
  ()
  )

; 00000000 11001 qqqqq 11001 00000   cpsraa1 crqp (p0_1)
(dni cpsraa1_P1 "cpsraa1 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsraa1") VOLATILE)
  "cpsraa1 $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) )
  ()
  )

; 00000000 11001 qqqqq 11010 00000   cpslla1 crqp (p0_1)
(dni cpslla1_P1 "cpslla1 $crqp Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpslla1") VOLATILE)
  "cpslla1 $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) )
  ()
  )

; 00000000 11001 00000 11100 iiiii   cpsrlia1 imm5p23 (p0_1)
(dni cpsrlia1_1_p1 "cpsrlia1 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsrlia1") VOLATILE)
  "cpsrlia1 $imm5p23"
  (+ (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) )
  ()
  )

; 00000000 11001 00000 11101 iiiii   cpsraia1 imm5p23 (p0_1)
(dni cpsraia1_1_p1 "cpsraia1 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsraia1") VOLATILE)
  "cpsraia1 $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) )
  ()
  )

; 00000000 11001 00000 11110 iiiii   cpsllia1 imm5p23 (p0_1)
(dni cpsllia1_1_p1 "cpsllia1 imm5p23 Pn"
  (OPTIONAL_CP_INSN ivc2-p1-isa (SLOTS P1) (INTRINSIC "cpsllia1") VOLATILE)
  "cpsllia1 $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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V8UQI) VOLATILE)
  "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") (CPTYPE V8QI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2USI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V4HI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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") (CPTYPE V2SI) VOLATILE)
  "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) )
  ()
  )

