1*16dce513Schristos; Toshiba MeP AVC Coprocessor description. -*- Scheme -*- 2*16dce513Schristos; Copyright 2011 Free Software Foundation, Inc. 3*16dce513Schristos; 4*16dce513Schristos; Contributed by Red Hat Inc; 5*16dce513Schristos; 6*16dce513Schristos; This file is part of the GNU Binutils. 7*16dce513Schristos; 8*16dce513Schristos; This program is free software; you can redistribute it and/or modify 9*16dce513Schristos; it under the terms of the GNU General Public License as published by 10*16dce513Schristos; the Free Software Foundation; either version 3 of the License, or 11*16dce513Schristos; (at your option) any later version. 12*16dce513Schristos; 13*16dce513Schristos; This program is distributed in the hope that it will be useful, 14*16dce513Schristos; but WITHOUT ANY WARRANTY; without even the implied warranty of 15*16dce513Schristos; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*16dce513Schristos; GNU General Public License for more details. 17*16dce513Schristos; 18*16dce513Schristos; You should have received a copy of the GNU General Public License 19*16dce513Schristos; along with this program; if not, write to the Free Software 20*16dce513Schristos; Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 21*16dce513Schristos; MA 02110-1301, USA. 22*16dce513Schristos 23*16dce513Schristos; This file was customized based upon the output of a2cgen 0.42 24*16dce513Schristos 25*16dce513Schristos;------------------------------------------------------------------------------ 26*16dce513Schristos; MeP-Integrator will redefine the isa pmacros below to allow the bit widths 27*16dce513Schristos; specified below for each ME_MODULE using this coprocessor. 28*16dce513Schristos; This coprocessor requires 16 and 32 bit insns. 29*16dce513Schristos;------------------------------------------------------------------------------ 30*16dce513Schristos; begin-isas 31*16dce513Schristos(define-pmacro avc-core-isa () (ISA ext_core1)) 32*16dce513Schristos(define-pmacro avc-16-isa () (ISA ext_cop1_16)) 33*16dce513Schristos(define-pmacro avc-32-isa () (ISA ext_cop1_32)) 34*16dce513Schristos(define-pmacro all-avc-isas () (ISA ext_core1,ext_cop1_16,ext_cop1_32)) 35*16dce513Schristos; end-isas 36*16dce513Schristos 37*16dce513Schristos(define-pmacro (dncpi xname xcomment xattrs xsyntax xformat xsemantics xtiming) 38*16dce513Schristos (dni xname xcomment (.splice (.unsplice xattrs) avc-core-isa) xsyntax xformat xsemantics xtiming)) 39*16dce513Schristos(define-pmacro (dn16i xname xcomment xattrs xsyntax xformat xsemantics xtiming) 40*16dce513Schristos (dni xname xcomment (.splice (.unsplice xattrs) avc-16-isa) xsyntax xformat xsemantics xtiming)) 41*16dce513Schristos(define-pmacro (dn32i xname xcomment xattrs xsyntax xformat xsemantics xtiming) 42*16dce513Schristos (dni xname xcomment (.splice (.unsplice xattrs) avc-32-isa) xsyntax xformat xsemantics xtiming)) 43*16dce513Schristos 44*16dce513Schristos; register definitions 45*16dce513Schristos; --------------------- 46*16dce513Schristos; NOTE: This exists solely for the purpose of providing the proper register names for this coprocessor. 47*16dce513Schristos; GDB will use the hardware table generated from this declaration. The operands use h-cr 48*16dce513Schristos; from mep-core.cpu so that SID's semantic trace will be consistent between 49*16dce513Schristos; the core and the coprocessor but use parse/print handlers which reference the hardware table 50*16dce513Schristos; generated from this declarations 51*16dce513Schristos(define-hardware 52*16dce513Schristos (name h-cr-avc) 53*16dce513Schristos (comment "32-bit coprocessor registers for avc coprocessor") 54*16dce513Schristos (attrs VIRTUAL all-avc-isas) 55*16dce513Schristos (type register SI (32)) 56*16dce513Schristos (set (index newval) (c-call VOID "h_cr64_set" index (ext DI newval))) 57*16dce513Schristos (get (index) (trunc SI (c-call DI "h_cr64_get" index))) 58*16dce513Schristos (indices keyword "$c" (.map -reg-pair (.iota 8))) 59*16dce513Schristos) 60*16dce513Schristos; NOTE: This exists solely for the purpose of providing the proper register names for this coprocessor. 61*16dce513Schristos; GDB will use the hardware table generated from this declaration. The operands use h-ccr 62*16dce513Schristos; from mep-core.cpu so that SID's semantic trace will be consistent between 63*16dce513Schristos; the core and the coprocessor but use parse/print handlers which reference the hardware table 64*16dce513Schristos; generated from this declarations 65*16dce513Schristos(define-hardware 66*16dce513Schristos (name h-ccr-avc) 67*16dce513Schristos (comment "Coprocessor control registers for avc coprocessor") 68*16dce513Schristos (attrs VIRTUAL all-avc-isas) 69*16dce513Schristos (type register SI (64)) 70*16dce513Schristos (set (index newval) (c-call VOID "h_ccr_set" index newval)) 71*16dce513Schristos (get (index) (c-call SI "h_ccr_get" index)) 72*16dce513Schristos (indices keyword "" 73*16dce513Schristos (.splice 74*16dce513Schristos ($accl1 5) ($acch1 4) ($accl0 3) ($acch0 2) ($CBCR 1) ($csar 0) 75*16dce513Schristos ($cbcr 1) 76*16dce513Schristos (.unsplice (.map -ccr-reg-pair (.iota 6))) 77*16dce513Schristos ) 78*16dce513Schristos ) 79*16dce513Schristos) 80*16dce513Schristos(dnop avccopCCR5 "Audio Copro Accumulator" (all-avc-isas) h-ccr 5) 81*16dce513Schristos(dnop avccopCCR4 "Audio Copro Accumulator" (all-avc-isas) h-ccr 4) 82*16dce513Schristos(dnop avccopCCR3 "Audio Copro Accumulator" (all-avc-isas) h-ccr 3) 83*16dce513Schristos(dnop avccopCCR2 "Audio Copro Accumulator" (all-avc-isas) h-ccr 2) 84*16dce513Schristos(dnop avccopCCR1 "Audio Copro Branch Condition Register" (all-avc-isas) h-ccr 1) 85*16dce513Schristos(dnop avccopCCR0 "Audio Copro Shift-Amount Register" (all-avc-isas) h-ccr 0) 86*16dce513Schristos 87*16dce513Schristos; instruction field and operand definitions 88*16dce513Schristos(dnf f-avc-v3sub4u0 "sub opecode field" (avc-32-isa) 0 4) 89*16dce513Schristos(dnf f-avc-v1sub4u0 "sub opecode field" (avc-16-isa) 0 4) 90*16dce513Schristos(dnf f-avc-v3Rn "register field" (avc-32-isa) 4 4) 91*16dce513Schristos(dnop avcv3Rn "the operand definition" (avc-32-isa) h-gpr f-avc-v3Rn) 92*16dce513Schristos(dnf f-avc-v3CCRn "register field" (avc-32-isa) 4 4) 93*16dce513Schristos(define-full-operand avcv3CCRn "the operand definition" (avc-32-isa (CDATA REGNUM)) h-ccr DFLT f-avc-v3CCRn ( (parse "avc_ccr") (print "avc_ccr")) () ()) 94*16dce513Schristos(df f-avc-v3Imm16s4x24e32-hi "split immediate field hi" (avc-32-isa) 4 8 INT #f #f) 95*16dce513Schristos(df f-avc-v3Imm16s4x24e32-lo "split immediate field lo" (avc-32-isa) 24 8 UINT #f #f) 96*16dce513Schristos(define-multi-ifield 97*16dce513Schristos (name f-avc-v3Imm16s4x24e32) 98*16dce513Schristos (comment "split immediate field") 99*16dce513Schristos (attrs avc-32-isa) 100*16dce513Schristos (mode INT) 101*16dce513Schristos (subfields f-avc-v3Imm16s4x24e32-hi f-avc-v3Imm16s4x24e32-lo) 102*16dce513Schristos (insert (sequence () 103*16dce513Schristos (set (ifield f-avc-v3Imm16s4x24e32-hi) (sra INT (ifield f-avc-v3Imm16s4x24e32) 8)) 104*16dce513Schristos (set (ifield f-avc-v3Imm16s4x24e32-lo) (and (ifield f-avc-v3Imm16s4x24e32) #xff)))) 105*16dce513Schristos (extract (set (ifield f-avc-v3Imm16s4x24e32) 106*16dce513Schristos (or (sll (ifield f-avc-v3Imm16s4x24e32-hi) 8) (ifield f-avc-v3Imm16s4x24e32-lo)))) 107*16dce513Schristos ) 108*16dce513Schristos(dnop avcv3Imm16s4x24e32 "the operand definition" (avc-32-isa) h-sint f-avc-v3Imm16s4x24e32) 109*16dce513Schristos(dnf f-avc-v3CRn "register field" (avc-32-isa) 4 4) 110*16dce513Schristos(define-full-operand avcv3CRn "the operand definition" (avc-32-isa) h-cr DFLT f-avc-v3CRn ((parse "avc_cr") (print "avc_cr")) () ()) 111*16dce513Schristos(dnf f-avc-v1CRq "register field" (avc-16-isa) 4 4) 112*16dce513Schristos(define-full-operand avcv1CRq "the operand definition" (avc-16-isa) h-cr DFLT f-avc-v1CRq ((parse "avc_cr") (print "avc_cr")) () ()) 113*16dce513Schristos(dnf f-avc-v1sub4u4 "sub opecode field" (avc-16-isa) 4 4) 114*16dce513Schristos(dnf f-avc-c3Rn "register field" (avc-core-isa) 4 4) 115*16dce513Schristos(dnop avcc3Rn "the operand definition" (avc-core-isa) h-gpr f-avc-c3Rn) 116*16dce513Schristos(dnf f-avc-c3CCRn "register field" (avc-core-isa) 4 4) 117*16dce513Schristos(define-full-operand avcc3CCRn "the operand definition" (avc-core-isa (CDATA REGNUM)) h-ccr DFLT f-avc-c3CCRn ( (parse "avc_ccr") (print "avc_ccr")) () ()) 118*16dce513Schristos(df f-avc-c3Imm16s4x24e32-hi "split immediate field hi" (avc-core-isa) 4 8 INT #f #f) 119*16dce513Schristos(df f-avc-c3Imm16s4x24e32-lo "split immediate field lo" (avc-core-isa) 24 8 UINT #f #f) 120*16dce513Schristos(define-multi-ifield 121*16dce513Schristos (name f-avc-c3Imm16s4x24e32) 122*16dce513Schristos (comment "split immediate field") 123*16dce513Schristos (attrs avc-core-isa) 124*16dce513Schristos (mode INT) 125*16dce513Schristos (subfields f-avc-c3Imm16s4x24e32-hi f-avc-c3Imm16s4x24e32-lo) 126*16dce513Schristos (insert (sequence () 127*16dce513Schristos (set (ifield f-avc-c3Imm16s4x24e32-hi) (sra INT (ifield f-avc-c3Imm16s4x24e32) 8)) 128*16dce513Schristos (set (ifield f-avc-c3Imm16s4x24e32-lo) (and (ifield f-avc-c3Imm16s4x24e32) #xff)))) 129*16dce513Schristos (extract (set (ifield f-avc-c3Imm16s4x24e32) 130*16dce513Schristos (or (sll (ifield f-avc-c3Imm16s4x24e32-hi) 8) (ifield f-avc-c3Imm16s4x24e32-lo)))) 131*16dce513Schristos ) 132*16dce513Schristos(dnop avcc3Imm16s4x24e32 "the operand definition" (avc-core-isa) h-sint f-avc-c3Imm16s4x24e32) 133*16dce513Schristos(dnf f-avc-c3CRn "register field" (avc-core-isa) 4 4) 134*16dce513Schristos(define-full-operand avcc3CRn "the operand definition" (avc-core-isa) h-cr DFLT f-avc-c3CRn ((parse "avc_cr") (print "avc_cr")) () ()) 135*16dce513Schristos(dnf f-avc-c3sub4u4 "sub opecode field" (avc-core-isa) 4 4) 136*16dce513Schristos(dnf f-avc-v3Rm "register field" (avc-32-isa) 8 4) 137*16dce513Schristos(dnop avcv3Rm "the operand definition" (avc-32-isa) h-gpr f-avc-v3Rm) 138*16dce513Schristos(df f-avc-v1Imm5u8 "immediate field" (avc-16-isa) 8 5 UINT #f #f) 139*16dce513Schristos(dnop avcv1Imm5u8 "the operand definition" (avc-16-isa) h-uint f-avc-v1Imm5u8) 140*16dce513Schristos(df f-avc-v1Imm6s8 "immediate field" (avc-16-isa) 8 6 INT #f #f) 141*16dce513Schristos(dnop avcv1Imm6s8 "the operand definition" (avc-16-isa) h-sint f-avc-v1Imm6s8) 142*16dce513Schristos(df f-avc-v1Imm8s8 "immediate field" (avc-16-isa) 8 8 INT #f #f) 143*16dce513Schristos(dnop avcv1Imm8s8 "the operand definition" (avc-16-isa) h-sint f-avc-v1Imm8s8) 144*16dce513Schristos(dnf f-avc-v1CRp "register field" (avc-16-isa) 8 4) 145*16dce513Schristos(define-full-operand avcv1CRp "the operand definition" (avc-16-isa) h-cr DFLT f-avc-v1CRp ((parse "avc_cr") (print "avc_cr")) () ()) 146*16dce513Schristos(dnf f-avc-v1sub4u8 "sub opecode field" (avc-16-isa) 8 4) 147*16dce513Schristos(dnf f-avc-c3Rm "register field" (avc-core-isa) 8 4) 148*16dce513Schristos(dnop avcc3Rm "the operand definition" (avc-core-isa) h-gpr f-avc-c3Rm) 149*16dce513Schristos(dnf f-avc-c3sub4u8 "sub opecode field" (avc-core-isa) 8 4) 150*16dce513Schristos(dnf f-avc-v3sub4u12 "sub opecode field" (avc-32-isa) 12 4) 151*16dce513Schristos(dnf f-avc-v1CRo "register field" (avc-16-isa) 12 4) 152*16dce513Schristos(define-full-operand avcv1CRo "the operand definition" (avc-16-isa) h-cr DFLT f-avc-v1CRo ((parse "avc_cr") (print "avc_cr")) () ()) 153*16dce513Schristos(dnf f-avc-v1sub4u12 "sub opecode field" (avc-16-isa) 12 4) 154*16dce513Schristos(dnf f-avc-v1sub3u13 "sub opecode field" (avc-16-isa) 13 3) 155*16dce513Schristos(dnf f-avc-v1sub2u14 "sub opecode field" (avc-16-isa) 14 2) 156*16dce513Schristos(dnf f-avc-v3sub4u16 "sub opecode field" (avc-32-isa) 16 4) 157*16dce513Schristos(dnf f-avc-c3sub4u16 "sub opecode field" (avc-core-isa) 16 4) 158*16dce513Schristos(dnf f-avc-v3CRq "register field" (avc-32-isa) 20 4) 159*16dce513Schristos(define-full-operand avcv3CRq "the operand definition" (avc-32-isa) h-cr DFLT f-avc-v3CRq ((parse "avc_cr") (print "avc_cr")) () ()) 160*16dce513Schristos(dnf f-avc-v3sub4u20 "sub opecode field" (avc-32-isa) 20 4) 161*16dce513Schristos(dnf f-avc-c3CRq "register field" (avc-core-isa) 20 4) 162*16dce513Schristos(define-full-operand avcc3CRq "the operand definition" (avc-core-isa) h-cr DFLT f-avc-c3CRq ((parse "avc_cr") (print "avc_cr")) () ()) 163*16dce513Schristos(dnf f-avc-c3sub4u20 "sub opecode field" (avc-core-isa) 20 4) 164*16dce513Schristos(dnf f-avc-v3sub4u24 "sub opecode field" (avc-32-isa) 24 4) 165*16dce513Schristos(df f-avc-c3Imm5u24 "immediate field" (avc-core-isa) 24 5 UINT #f #f) 166*16dce513Schristos(dnop avcc3Imm5u24 "the operand definition" (avc-core-isa) h-uint f-avc-c3Imm5u24) 167*16dce513Schristos(df f-avc-c3Imm6s24 "immediate field" (avc-core-isa) 24 6 INT #f #f) 168*16dce513Schristos(dnop avcc3Imm6s24 "the operand definition" (avc-core-isa) h-sint f-avc-c3Imm6s24) 169*16dce513Schristos(dnf f-avc-c3CRp "register field" (avc-core-isa) 24 4) 170*16dce513Schristos(define-full-operand avcc3CRp "the operand definition" (avc-core-isa) h-cr DFLT f-avc-c3CRp ((parse "avc_cr") (print "avc_cr")) () ()) 171*16dce513Schristos(dnf f-avc-c3sub4u24 "sub opecode field" (avc-core-isa) 24 4) 172*16dce513Schristos(dnf f-avc-v3sub4u28 "sub opecode field" (avc-32-isa) 28 4) 173*16dce513Schristos(dnf f-avc-c3CRo "register field" (avc-core-isa) 28 4) 174*16dce513Schristos(define-full-operand avcc3CRo "the operand definition" (avc-core-isa) h-cr DFLT f-avc-c3CRo ((parse "avc_cr") (print "avc_cr")) () ()) 175*16dce513Schristos(dnf f-avc-c3sub4u28 "sub opecode field" (avc-core-isa) 28 4) 176*16dce513Schristos(dnf f-avc-c3sub3u29 "sub opecode field" (avc-core-isa) 29 3) 177*16dce513Schristos(dnf f-avc-c3sub2u30 "sub opecode field" (avc-core-isa) 30 2) 178*16dce513Schristos 179*16dce513Schristos; instruction definitions 180*16dce513Schristos(dncpi cnop_avc_c3 "cnop" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cnop")) 181*16dce513Schristos "cnop" 182*16dce513Schristos(+ MAJ_15 (f-sub4 7) (f-avc-c3sub4u28 #x0) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 183*16dce513Schristos(c-call "check_option_cp" pc) 184*16dce513Schristos ()) 185*16dce513Schristos(dncpi cmov1_avc_c3 "cmov1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmov1")) 186*16dce513Schristos "cmov $avcc3CRn,$avcc3Rm" 187*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRn avcc3Rm (f-avc-c3sub4u28 #x0) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xf)) 188*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 189*16dce513Schristos(set avcc3CRn avcc3Rm) 190*16dce513Schristos) 191*16dce513Schristos ()) 192*16dce513Schristos(dncpi cmov2_avc_c3 "cmov2" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmov2")) 193*16dce513Schristos "cmov $avcc3Rm,$avcc3CRn" 194*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rm avcc3CRn (f-avc-c3sub4u28 #x1) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xf)) 195*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 196*16dce513Schristos(set avcc3Rm avcc3CRn) 197*16dce513Schristos) 198*16dce513Schristos ()) 199*16dce513Schristos(dncpi cmovi_avc_c3 "cmovi" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmovi")) 200*16dce513Schristos "cmovi $avcc3CRq,$avcc3Imm16s4x24e32" 201*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm16s4x24e32 (f-avc-c3sub4u16 #xe)) 202*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 203*16dce513Schristos(set avcc3CRq (ext SI avcc3Imm16s4x24e32)) 204*16dce513Schristos) 205*16dce513Schristos ()) 206*16dce513Schristos(dncpi cmovc1_avc_c3 "cmovc1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmovc1")) 207*16dce513Schristos "cmovc $avcc3CCRn,$avcc3Rm" 208*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CCRn avcc3Rm (f-avc-c3sub4u28 #x2) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xf)) 209*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 210*16dce513Schristos(set avcc3CCRn avcc3Rm) 211*16dce513Schristos) 212*16dce513Schristos ()) 213*16dce513Schristos(dncpi cmovc2_avc_c3 "cmovc2" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmovc2")) 214*16dce513Schristos "cmovc $avcc3Rm,$avcc3CCRn" 215*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rm avcc3CCRn (f-avc-c3sub4u28 #x3) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xf)) 216*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 217*16dce513Schristos(set avcc3Rm avcc3CCRn) 218*16dce513Schristos) 219*16dce513Schristos ()) 220*16dce513Schristos(dncpi cmov_avc_c3 "cmov" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmov")) 221*16dce513Schristos "cmov $avcc3CRq,$avcc3CRp" 222*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x3) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 223*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 224*16dce513Schristos(set avcc3CRq avcc3CRp) 225*16dce513Schristos) 226*16dce513Schristos ()) 227*16dce513Schristos(dncpi cadd3_avc_c3 "cadd3" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cadd3")) 228*16dce513Schristos "cadd3 $avcc3CRo,$avcc3CRq,$avcc3CRp" 229*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRo avcc3CRq avcc3CRp (f-avc-c3sub4u16 #x3) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 230*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 231*16dce513Schristos(set avcc3CRo (add avcc3CRq avcc3CRp)) 232*16dce513Schristos) 233*16dce513Schristos ()) 234*16dce513Schristos(dncpi caddi_avc_c3 "caddi" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "caddi")) 235*16dce513Schristos "caddi $avcc3CRq,$avcc3Imm6s24" 236*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm6s24 (f-avc-c3sub2u30 #x0) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 237*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 238*16dce513Schristos(set avcc3CRq (add avcc3CRq (ext SI avcc3Imm6s24))) 239*16dce513Schristos) 240*16dce513Schristos ()) 241*16dce513Schristos(dncpi csub_avc_c3 "csub" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csub")) 242*16dce513Schristos "csub $avcc3CRq,$avcc3CRp" 243*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x2) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 244*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 245*16dce513Schristos(set avcc3CRq (sub avcc3CRq avcc3CRp)) 246*16dce513Schristos) 247*16dce513Schristos ()) 248*16dce513Schristos(dncpi cneg_avc_c3 "cneg" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cneg")) 249*16dce513Schristos "cneg $avcc3CRq,$avcc3CRp" 250*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x1) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 251*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 252*16dce513Schristos(set avcc3CRq (neg avcc3CRp)) 253*16dce513Schristos) 254*16dce513Schristos ()) 255*16dce513Schristos(dncpi cextb_avc_c3 "cextb" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cextb")) 256*16dce513Schristos "cextb $avcc3CRq" 257*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 258*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 259*16dce513Schristos(set avcc3CRq (ext SI (and QI (srl avcc3CRq 0) #xff))) 260*16dce513Schristos) 261*16dce513Schristos ()) 262*16dce513Schristos(dncpi cexth_avc_c3 "cexth" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cexth")) 263*16dce513Schristos "cexth $avcc3CRq" 264*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u24 #x2) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 265*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 266*16dce513Schristos(set avcc3CRq (ext SI (and HI (srl avcc3CRq 0) #xffff))) 267*16dce513Schristos) 268*16dce513Schristos ()) 269*16dce513Schristos(dncpi cextub_avc_c3 "cextub" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cextub")) 270*16dce513Schristos "cextub $avcc3CRq" 271*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u24 #x8) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 272*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 273*16dce513Schristos(set avcc3CRq (zext SI (and QI (srl avcc3CRq 0) #xff))) 274*16dce513Schristos) 275*16dce513Schristos ()) 276*16dce513Schristos(dncpi cextuh_avc_c3 "cextuh" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cextuh")) 277*16dce513Schristos "cextuh $avcc3CRq" 278*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u24 #xa) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 279*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 280*16dce513Schristos(set avcc3CRq (zext SI (and HI (srl avcc3CRq 0) #xffff))) 281*16dce513Schristos) 282*16dce513Schristos ()) 283*16dce513Schristos(dncpi cscltz_avc_c3 "cscltz" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cscltz")) 284*16dce513Schristos "cscltz $avcc3CRq" 285*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #xa) (f-avc-c3sub4u24 #xa) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 286*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 287*16dce513Schristos(if (lt (ext SI avcc3CRq) (ext SI 0)) (set avccopCCR1 (or (sll (srl avccopCCR1 1) 1) (srl (sll (zext SI 1) 31) 31))) 288*16dce513Schristos(set avccopCCR1 (or (sll (srl avccopCCR1 1) 1) (srl (sll (zext SI 0) 31) 31))) 289*16dce513Schristos) 290*16dce513Schristos) 291*16dce513Schristos ()) 292*16dce513Schristos(dncpi cldz_avc_c3 "cldz" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cldz")) 293*16dce513Schristos "cldz $avcc3CRq,$avcc3CRp" 294*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x0) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 295*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 296*16dce513Schristos(if (and avcc3CRp #x80000000) (set avcc3CRq 0) 297*16dce513Schristos(if (and avcc3CRp #x40000000) (set avcc3CRq 1) 298*16dce513Schristos(if (and avcc3CRp #x20000000) (set avcc3CRq 2) 299*16dce513Schristos(if (and avcc3CRp #x10000000) (set avcc3CRq 3) 300*16dce513Schristos(if (and avcc3CRp #x8000000) (set avcc3CRq 4) 301*16dce513Schristos(if (and avcc3CRp #x4000000) (set avcc3CRq 5) 302*16dce513Schristos(if (and avcc3CRp #x2000000) (set avcc3CRq 6) 303*16dce513Schristos(if (and avcc3CRp #x1000000) (set avcc3CRq 7) 304*16dce513Schristos(if (and avcc3CRp #x800000) (set avcc3CRq 8) 305*16dce513Schristos(if (and avcc3CRp #x400000) (set avcc3CRq 9) 306*16dce513Schristos(if (and avcc3CRp #x200000) (set avcc3CRq 10) 307*16dce513Schristos(if (and avcc3CRp #x100000) (set avcc3CRq 11) 308*16dce513Schristos(if (and avcc3CRp #x80000) (set avcc3CRq 12) 309*16dce513Schristos(if (and avcc3CRp #x40000) (set avcc3CRq 13) 310*16dce513Schristos(if (and avcc3CRp #x20000) (set avcc3CRq 14) 311*16dce513Schristos(if (and avcc3CRp #x10000) (set avcc3CRq 15) 312*16dce513Schristos(if (and avcc3CRp #x8000) (set avcc3CRq 16) 313*16dce513Schristos(if (and avcc3CRp #x4000) (set avcc3CRq 17) 314*16dce513Schristos(if (and avcc3CRp #x2000) (set avcc3CRq 18) 315*16dce513Schristos(if (and avcc3CRp #x1000) (set avcc3CRq 19) 316*16dce513Schristos(if (and avcc3CRp #x800) (set avcc3CRq 20) 317*16dce513Schristos(if (and avcc3CRp #x400) (set avcc3CRq 21) 318*16dce513Schristos(if (and avcc3CRp #x200) (set avcc3CRq 22) 319*16dce513Schristos(if (and avcc3CRp #x100) (set avcc3CRq 23) 320*16dce513Schristos(if (and avcc3CRp #x80) (set avcc3CRq 24) 321*16dce513Schristos(if (and avcc3CRp #x40) (set avcc3CRq 25) 322*16dce513Schristos(if (and avcc3CRp #x20) (set avcc3CRq 26) 323*16dce513Schristos(if (and avcc3CRp #x10) (set avcc3CRq 27) 324*16dce513Schristos(if (and avcc3CRp #x8) (set avcc3CRq 28) 325*16dce513Schristos(if (and avcc3CRp #x4) (set avcc3CRq 29) 326*16dce513Schristos(if (and avcc3CRp #x2) (set avcc3CRq 30) 327*16dce513Schristos(if (and avcc3CRp #x1) (set avcc3CRq 31) 328*16dce513Schristos(set avcc3CRq 32) 329*16dce513Schristos) 330*16dce513Schristos) 331*16dce513Schristos) 332*16dce513Schristos) 333*16dce513Schristos) 334*16dce513Schristos) 335*16dce513Schristos) 336*16dce513Schristos) 337*16dce513Schristos) 338*16dce513Schristos) 339*16dce513Schristos) 340*16dce513Schristos) 341*16dce513Schristos) 342*16dce513Schristos) 343*16dce513Schristos) 344*16dce513Schristos) 345*16dce513Schristos) 346*16dce513Schristos) 347*16dce513Schristos) 348*16dce513Schristos) 349*16dce513Schristos) 350*16dce513Schristos) 351*16dce513Schristos) 352*16dce513Schristos) 353*16dce513Schristos) 354*16dce513Schristos) 355*16dce513Schristos) 356*16dce513Schristos) 357*16dce513Schristos) 358*16dce513Schristos) 359*16dce513Schristos) 360*16dce513Schristos) 361*16dce513Schristos) 362*16dce513Schristos ()) 363*16dce513Schristos(dncpi cabs_avc_c3 "cabs" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cabs")) 364*16dce513Schristos "cabs $avcc3CRq,$avcc3CRp" 365*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x3) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 366*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 367*16dce513Schristos(set avcc3CRq (abs (ext SI (subword SI (sub avcc3CRq avcc3CRp) 1)))) 368*16dce513Schristos) 369*16dce513Schristos ()) 370*16dce513Schristos(dncpi cad1s_avc_c3 "cad1s" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cad1s")) 371*16dce513Schristos "cad1s $avcc3CRq,$avcc3CRp" 372*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x1) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 373*16dce513Schristos(sequence((DI tmp0)) (c-call "check_option_cp" pc) 374*16dce513Schristos(set tmp0 (ext SI (subword SI (add avcc3CRq avcc3CRp) 1))) 375*16dce513Schristos(set avcc3CRq (subword SI (sra tmp0 1) 1)) 376*16dce513Schristos) 377*16dce513Schristos ()) 378*16dce513Schristos(dncpi csb1s_avc_c3 "csb1s" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csb1s")) 379*16dce513Schristos "csb1s $avcc3CRq,$avcc3CRp" 380*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x2) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 381*16dce513Schristos(sequence((DI tmp0)) (c-call "check_option_cp" pc) 382*16dce513Schristos(set tmp0 (ext SI (subword SI (sub avcc3CRq avcc3CRp) 1))) 383*16dce513Schristos(set avcc3CRq (subword SI (sra tmp0 1) 1)) 384*16dce513Schristos) 385*16dce513Schristos ()) 386*16dce513Schristos(dncpi cmin_avc_c3 "cmin" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmin")) 387*16dce513Schristos "cmin $avcc3CRq,$avcc3CRp" 388*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x8) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 389*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 390*16dce513Schristos(if (lt (ext SI avcc3CRq) (ext SI avcc3CRp)) (set avcc3CRq avcc3CRq) 391*16dce513Schristos(set avcc3CRq avcc3CRp) 392*16dce513Schristos) 393*16dce513Schristos) 394*16dce513Schristos ()) 395*16dce513Schristos(dncpi cmax_avc_c3 "cmax" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmax")) 396*16dce513Schristos "cmax $avcc3CRq,$avcc3CRp" 397*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 398*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 399*16dce513Schristos(if (gt (ext SI avcc3CRq) (ext SI avcc3CRp)) (set avcc3CRq avcc3CRq) 400*16dce513Schristos(set avcc3CRq avcc3CRp) 401*16dce513Schristos) 402*16dce513Schristos) 403*16dce513Schristos ()) 404*16dce513Schristos(dncpi cminu_avc_c3 "cminu" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cminu")) 405*16dce513Schristos "cminu $avcc3CRq,$avcc3CRp" 406*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xa) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 407*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 408*16dce513Schristos(if (ltu (zext SI avcc3CRq) (zext SI avcc3CRp)) (set avcc3CRq avcc3CRq) 409*16dce513Schristos(set avcc3CRq avcc3CRp) 410*16dce513Schristos) 411*16dce513Schristos) 412*16dce513Schristos ()) 413*16dce513Schristos(dncpi cmaxu_avc_c3 "cmaxu" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmaxu")) 414*16dce513Schristos "cmaxu $avcc3CRq,$avcc3CRp" 415*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xb) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 416*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 417*16dce513Schristos(if (gtu (zext SI avcc3CRq) (zext SI avcc3CRp)) (set avcc3CRq avcc3CRq) 418*16dce513Schristos(set avcc3CRq avcc3CRp) 419*16dce513Schristos) 420*16dce513Schristos) 421*16dce513Schristos ()) 422*16dce513Schristos(dncpi cclipi_avc_c3 "cclipi" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cclipi")) 423*16dce513Schristos "cclipi $avcc3CRq,$avcc3Imm5u24" 424*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm5u24 (f-avc-c3sub3u29 #x4) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 425*16dce513Schristos(sequence((DI tmp1)(DI tmp0)) (c-call "check_option_cp" pc) 426*16dce513Schristos(if (eq (zext SI avcc3Imm5u24) (ext SI 0)) (set avcc3CRq 0) 427*16dce513Schristos(sequence() (set tmp0 (sll 1 (sub avcc3Imm5u24 1))) 428*16dce513Schristos(set tmp1 (sub (subword SI tmp0 1) 1)) 429*16dce513Schristos(if (gt (ext SI avcc3CRq) (ext SI (subword SI tmp1 1))) (set avcc3CRq (subword SI tmp1 1)) 430*16dce513Schristos(if (lt (ext SI avcc3CRq) (ext SI (neg (subword SI tmp0 1)))) (set avcc3CRq (neg (subword SI tmp0 1))) 431*16dce513Schristos(set avcc3CRq avcc3CRq) 432*16dce513Schristos) 433*16dce513Schristos) 434*16dce513Schristos) 435*16dce513Schristos) 436*16dce513Schristos) 437*16dce513Schristos ()) 438*16dce513Schristos(dncpi cclipiu_avc_c3 "cclipiu" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cclipiu")) 439*16dce513Schristos "cclipiu $avcc3CRq,$avcc3Imm5u24" 440*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm5u24 (f-avc-c3sub3u29 #x5) (f-avc-c3sub4u16 #x5) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 441*16dce513Schristos(sequence((DI tmp1)(DI tmp0)) (c-call "check_option_cp" pc) 442*16dce513Schristos(if (eq (zext SI avcc3Imm5u24) (ext SI 0)) (set avcc3CRq 0) 443*16dce513Schristos(sequence() (set tmp0 (sub (sll 1 avcc3Imm5u24) 1)) 444*16dce513Schristos(if (gt (ext SI avcc3CRq) (ext SI (subword SI tmp0 1))) (set avcc3CRq (subword SI tmp0 1)) 445*16dce513Schristos(if (lt (ext SI avcc3CRq) (ext SI 0)) (set avcc3CRq 0) 446*16dce513Schristos(set avcc3CRq avcc3CRq) 447*16dce513Schristos) 448*16dce513Schristos) 449*16dce513Schristos) 450*16dce513Schristos) 451*16dce513Schristos) 452*16dce513Schristos ()) 453*16dce513Schristos(dncpi cor_avc_c3 "cor" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cor")) 454*16dce513Schristos "cor $avcc3CRq,$avcc3CRp" 455*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x4) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 456*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 457*16dce513Schristos(set avcc3CRq (or avcc3CRq avcc3CRp)) 458*16dce513Schristos) 459*16dce513Schristos ()) 460*16dce513Schristos(dncpi cand_avc_c3 "cand" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cand")) 461*16dce513Schristos "cand $avcc3CRq,$avcc3CRp" 462*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x5) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 463*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 464*16dce513Schristos(set avcc3CRq (and avcc3CRq avcc3CRp)) 465*16dce513Schristos) 466*16dce513Schristos ()) 467*16dce513Schristos(dncpi cxor_avc_c3 "cxor" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cxor")) 468*16dce513Schristos "cxor $avcc3CRq,$avcc3CRp" 469*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x6) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 470*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 471*16dce513Schristos(set avcc3CRq (xor avcc3CRq avcc3CRp)) 472*16dce513Schristos) 473*16dce513Schristos ()) 474*16dce513Schristos(dncpi cnor_avc_c3 "cnor" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cnor")) 475*16dce513Schristos "cnor $avcc3CRq,$avcc3CRp" 476*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x7) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 477*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 478*16dce513Schristos(set avcc3CRq (inv (or avcc3CRq avcc3CRp))) 479*16dce513Schristos) 480*16dce513Schristos ()) 481*16dce513Schristos(dncpi csra_avc_c3 "csra" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csra")) 482*16dce513Schristos "csra $avcc3CRq,$avcc3CRp" 483*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xc) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 484*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 485*16dce513Schristos(set avcc3CRq (sra avcc3CRq (and QI (srl avcc3CRp 0) #x1f))) 486*16dce513Schristos) 487*16dce513Schristos ()) 488*16dce513Schristos(dncpi csrl_avc_c3 "csrl" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csrl")) 489*16dce513Schristos "csrl $avcc3CRq,$avcc3CRp" 490*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xd) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 491*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 492*16dce513Schristos(set avcc3CRq (srl avcc3CRq (and QI (srl avcc3CRp 0) #x1f))) 493*16dce513Schristos) 494*16dce513Schristos ()) 495*16dce513Schristos(dncpi csll_avc_c3 "csll" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csll")) 496*16dce513Schristos "csll $avcc3CRq,$avcc3CRp" 497*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xe) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 498*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 499*16dce513Schristos(set avcc3CRq (sll avcc3CRq (and QI (srl avcc3CRp 0) #x1f))) 500*16dce513Schristos) 501*16dce513Schristos ()) 502*16dce513Schristos(dncpi csrai_avc_c3 "csrai" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csrai")) 503*16dce513Schristos "csrai $avcc3CRq,$avcc3Imm5u24" 504*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm5u24 (f-avc-c3sub3u29 #x2) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 505*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 506*16dce513Schristos(set avcc3CRq (sra avcc3CRq avcc3Imm5u24)) 507*16dce513Schristos) 508*16dce513Schristos ()) 509*16dce513Schristos(dncpi csrli_avc_c3 "csrli" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "csrli")) 510*16dce513Schristos "csrli $avcc3CRq,$avcc3Imm5u24" 511*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm5u24 (f-avc-c3sub3u29 #x3) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 512*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 513*16dce513Schristos(set avcc3CRq (srl avcc3CRq avcc3Imm5u24)) 514*16dce513Schristos) 515*16dce513Schristos ()) 516*16dce513Schristos(dncpi cslli_avc_c3 "cslli" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cslli")) 517*16dce513Schristos "cslli $avcc3CRq,$avcc3Imm5u24" 518*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3Imm5u24 (f-avc-c3sub3u29 #x6) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 519*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 520*16dce513Schristos(set avcc3CRq (sll avcc3CRq avcc3Imm5u24)) 521*16dce513Schristos) 522*16dce513Schristos ()) 523*16dce513Schristos(dncpi cfsft_avc_c3 "cfsft" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cfsft")) 524*16dce513Schristos "cfsft $avcc3CRq,$avcc3CRp" 525*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xf) (f-avc-c3sub4u16 #x0) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 526*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 527*16dce513Schristos(set avcc3CRq (subword SI (sll (or (sll (zext DI (zext SI avcc3CRq)) 32) (zext DI avcc3CRp)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 528*16dce513Schristos) 529*16dce513Schristos ()) 530*16dce513Schristos(dncpi cfsfta0_avc_c3 "cfsfta0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cfsfta0")) 531*16dce513Schristos "cfsfta0 $avcc3CRq" 532*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #x7) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 533*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 534*16dce513Schristos(set avcc3CRq (subword SI (sll (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 535*16dce513Schristos) 536*16dce513Schristos ()) 537*16dce513Schristos(dncpi cfsfta1_avc_c3 "cfsfta1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cfsfta1")) 538*16dce513Schristos "cfsfta1 $avcc3CRq" 539*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq (f-avc-c3sub4u28 #xf) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u16 #x1) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 540*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 541*16dce513Schristos(set avcc3CRq (subword SI (sll (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 542*16dce513Schristos) 543*16dce513Schristos ()) 544*16dce513Schristos(dncpi cmula0_avc_c3 "cmula0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmula0")) 545*16dce513Schristos "cmula0 $avcc3CRq,$avcc3CRp" 546*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x0) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 547*16dce513Schristos(sequence((DI concat0)) (c-call "check_option_cp" pc) 548*16dce513Schristos(set concat0 (mul (ext DI avcc3CRq) (ext DI avcc3CRp))) 549*16dce513Schristos(set avccopCCR2 (subword SI concat0 0)) 550*16dce513Schristos(set avccopCCR3 (subword SI concat0 1)) 551*16dce513Schristos) 552*16dce513Schristos ()) 553*16dce513Schristos(dncpi cmulua0_avc_c3 "cmulua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmulua0")) 554*16dce513Schristos "cmulua0 $avcc3CRq,$avcc3CRp" 555*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x1) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 556*16dce513Schristos(sequence((DI concat1)) (c-call "check_option_cp" pc) 557*16dce513Schristos(set concat1 (mul (zext DI avcc3CRq) (zext DI avcc3CRp))) 558*16dce513Schristos(set avccopCCR2 (subword SI concat1 0)) 559*16dce513Schristos(set avccopCCR3 (subword SI concat1 1)) 560*16dce513Schristos) 561*16dce513Schristos ()) 562*16dce513Schristos(dncpi cnmula0_avc_c3 "cnmula0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cnmula0")) 563*16dce513Schristos "cnmula0 $avcc3CRq,$avcc3CRp" 564*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x2) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 565*16dce513Schristos(sequence((DI concat2)) (c-call "check_option_cp" pc) 566*16dce513Schristos(set concat2 (neg (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 567*16dce513Schristos(set avccopCCR2 (subword SI concat2 0)) 568*16dce513Schristos(set avccopCCR3 (subword SI concat2 1)) 569*16dce513Schristos) 570*16dce513Schristos ()) 571*16dce513Schristos(dncpi cmada0_avc_c3 "cmada0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmada0")) 572*16dce513Schristos "cmada0 $avcc3CRq,$avcc3CRp" 573*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x4) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 574*16dce513Schristos(sequence((DI concat3)) (c-call "check_option_cp" pc) 575*16dce513Schristos(set concat3 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 576*16dce513Schristos(set avccopCCR2 (subword SI concat3 0)) 577*16dce513Schristos(set avccopCCR3 (subword SI concat3 1)) 578*16dce513Schristos) 579*16dce513Schristos ()) 580*16dce513Schristos(dncpi cmadua0_avc_c3 "cmadua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmadua0")) 581*16dce513Schristos "cmadua0 $avcc3CRq,$avcc3CRp" 582*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x5) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 583*16dce513Schristos(sequence((DI concat4)) (c-call "check_option_cp" pc) 584*16dce513Schristos(set concat4 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcc3CRq) (zext DI avcc3CRp)))) 585*16dce513Schristos(set avccopCCR2 (subword SI concat4 0)) 586*16dce513Schristos(set avccopCCR3 (subword SI concat4 1)) 587*16dce513Schristos) 588*16dce513Schristos ()) 589*16dce513Schristos(dncpi cmsba0_avc_c3 "cmsba0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmsba0")) 590*16dce513Schristos "cmsba0 $avcc3CRq,$avcc3CRp" 591*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x6) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 592*16dce513Schristos(sequence((DI concat5)) (c-call "check_option_cp" pc) 593*16dce513Schristos(set concat5 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 594*16dce513Schristos(set avccopCCR2 (subword SI concat5 0)) 595*16dce513Schristos(set avccopCCR3 (subword SI concat5 1)) 596*16dce513Schristos) 597*16dce513Schristos ()) 598*16dce513Schristos(dncpi cmsbua0_avc_c3 "cmsbua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmsbua0")) 599*16dce513Schristos "cmsbua0 $avcc3CRq,$avcc3CRp" 600*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x7) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 601*16dce513Schristos(sequence((DI concat6)) (c-call "check_option_cp" pc) 602*16dce513Schristos(set concat6 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcc3CRq) (zext DI avcc3CRp)))) 603*16dce513Schristos(set avccopCCR2 (subword SI concat6 0)) 604*16dce513Schristos(set avccopCCR3 (subword SI concat6 1)) 605*16dce513Schristos) 606*16dce513Schristos ()) 607*16dce513Schristos(dncpi cmula1_avc_c3 "cmula1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmula1")) 608*16dce513Schristos "cmula1 $avcc3CRq,$avcc3CRp" 609*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x8) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 610*16dce513Schristos(sequence((DI concat7)) (c-call "check_option_cp" pc) 611*16dce513Schristos(set concat7 (mul (ext DI avcc3CRq) (ext DI avcc3CRp))) 612*16dce513Schristos(set avccopCCR4 (subword SI concat7 0)) 613*16dce513Schristos(set avccopCCR5 (subword SI concat7 1)) 614*16dce513Schristos) 615*16dce513Schristos ()) 616*16dce513Schristos(dncpi cmulua1_avc_c3 "cmulua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmulua1")) 617*16dce513Schristos "cmulua1 $avcc3CRq,$avcc3CRp" 618*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 619*16dce513Schristos(sequence((DI concat8)) (c-call "check_option_cp" pc) 620*16dce513Schristos(set concat8 (mul (zext DI avcc3CRq) (zext DI avcc3CRp))) 621*16dce513Schristos(set avccopCCR4 (subword SI concat8 0)) 622*16dce513Schristos(set avccopCCR5 (subword SI concat8 1)) 623*16dce513Schristos) 624*16dce513Schristos ()) 625*16dce513Schristos(dncpi cnmula1_avc_c3 "cnmula1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cnmula1")) 626*16dce513Schristos "cnmula1 $avcc3CRq,$avcc3CRp" 627*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xa) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 628*16dce513Schristos(sequence((DI concat9)) (c-call "check_option_cp" pc) 629*16dce513Schristos(set concat9 (neg (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 630*16dce513Schristos(set avccopCCR4 (subword SI concat9 0)) 631*16dce513Schristos(set avccopCCR5 (subword SI concat9 1)) 632*16dce513Schristos) 633*16dce513Schristos ()) 634*16dce513Schristos(dncpi cmada1_avc_c3 "cmada1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmada1")) 635*16dce513Schristos "cmada1 $avcc3CRq,$avcc3CRp" 636*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xc) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 637*16dce513Schristos(sequence((DI concat10)) (c-call "check_option_cp" pc) 638*16dce513Schristos(set concat10 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 639*16dce513Schristos(set avccopCCR4 (subword SI concat10 0)) 640*16dce513Schristos(set avccopCCR5 (subword SI concat10 1)) 641*16dce513Schristos) 642*16dce513Schristos ()) 643*16dce513Schristos(dncpi cmadua1_avc_c3 "cmadua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmadua1")) 644*16dce513Schristos "cmadua1 $avcc3CRq,$avcc3CRp" 645*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xd) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 646*16dce513Schristos(sequence((DI concat11)) (c-call "check_option_cp" pc) 647*16dce513Schristos(set concat11 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcc3CRq) (zext DI avcc3CRp)))) 648*16dce513Schristos(set avccopCCR4 (subword SI concat11 0)) 649*16dce513Schristos(set avccopCCR5 (subword SI concat11 1)) 650*16dce513Schristos) 651*16dce513Schristos ()) 652*16dce513Schristos(dncpi cmsba1_avc_c3 "cmsba1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmsba1")) 653*16dce513Schristos "cmsba1 $avcc3CRq,$avcc3CRp" 654*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xe) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 655*16dce513Schristos(sequence((DI concat12)) (c-call "check_option_cp" pc) 656*16dce513Schristos(set concat12 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcc3CRq) (ext DI avcc3CRp)))) 657*16dce513Schristos(set avccopCCR4 (subword SI concat12 0)) 658*16dce513Schristos(set avccopCCR5 (subword SI concat12 1)) 659*16dce513Schristos) 660*16dce513Schristos ()) 661*16dce513Schristos(dncpi cmsbua1_avc_c3 "cmsbua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "cmsbua1")) 662*16dce513Schristos "cmsbua1 $avcc3CRq,$avcc3CRp" 663*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3CRq avcc3CRp (f-avc-c3sub4u28 #xf) (f-avc-c3sub4u16 #x4) (f-avc-c3sub4u8 #x0) (f-avc-c3sub4u4 #x0)) 664*16dce513Schristos(sequence((DI concat13)) (c-call "check_option_cp" pc) 665*16dce513Schristos(set concat13 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcc3CRq) (zext DI avcc3CRp)))) 666*16dce513Schristos(set avccopCCR4 (subword SI concat13 0)) 667*16dce513Schristos(set avccopCCR5 (subword SI concat13 1)) 668*16dce513Schristos) 669*16dce513Schristos ()) 670*16dce513Schristos(dncpi xmula0_avc_c3 "xmula0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmula0")) 671*16dce513Schristos "xmula0 $avcc3Rn,$avcc3Rm" 672*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x0) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 673*16dce513Schristos(sequence((DI concat14)) (c-call "check_option_cp" pc) 674*16dce513Schristos(set concat14 (mul (ext DI avcc3Rn) (ext DI avcc3Rm))) 675*16dce513Schristos(set avccopCCR2 (subword SI concat14 0)) 676*16dce513Schristos(set avccopCCR3 (subword SI concat14 1)) 677*16dce513Schristos) 678*16dce513Schristos ()) 679*16dce513Schristos(dncpi xmulua0_avc_c3 "xmulua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmulua0")) 680*16dce513Schristos "xmulua0 $avcc3Rn,$avcc3Rm" 681*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x1) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 682*16dce513Schristos(sequence((DI concat15)) (c-call "check_option_cp" pc) 683*16dce513Schristos(set concat15 (mul (zext DI avcc3Rn) (zext DI avcc3Rm))) 684*16dce513Schristos(set avccopCCR2 (subword SI concat15 0)) 685*16dce513Schristos(set avccopCCR3 (subword SI concat15 1)) 686*16dce513Schristos) 687*16dce513Schristos ()) 688*16dce513Schristos(dncpi xnmula0_avc_c3 "xnmula0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xnmula0")) 689*16dce513Schristos "xnmula0 $avcc3Rn,$avcc3Rm" 690*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x2) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 691*16dce513Schristos(sequence((DI concat16)) (c-call "check_option_cp" pc) 692*16dce513Schristos(set concat16 (neg (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 693*16dce513Schristos(set avccopCCR2 (subword SI concat16 0)) 694*16dce513Schristos(set avccopCCR3 (subword SI concat16 1)) 695*16dce513Schristos) 696*16dce513Schristos ()) 697*16dce513Schristos(dncpi xmada0_avc_c3 "xmada0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmada0")) 698*16dce513Schristos "xmada0 $avcc3Rn,$avcc3Rm" 699*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x4) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 700*16dce513Schristos(sequence((DI concat17)) (c-call "check_option_cp" pc) 701*16dce513Schristos(set concat17 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 702*16dce513Schristos(set avccopCCR2 (subword SI concat17 0)) 703*16dce513Schristos(set avccopCCR3 (subword SI concat17 1)) 704*16dce513Schristos) 705*16dce513Schristos ()) 706*16dce513Schristos(dncpi xmadua0_avc_c3 "xmadua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmadua0")) 707*16dce513Schristos "xmadua0 $avcc3Rn,$avcc3Rm" 708*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x5) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 709*16dce513Schristos(sequence((DI concat18)) (c-call "check_option_cp" pc) 710*16dce513Schristos(set concat18 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcc3Rn) (zext DI avcc3Rm)))) 711*16dce513Schristos(set avccopCCR2 (subword SI concat18 0)) 712*16dce513Schristos(set avccopCCR3 (subword SI concat18 1)) 713*16dce513Schristos) 714*16dce513Schristos ()) 715*16dce513Schristos(dncpi xmsba0_avc_c3 "xmsba0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmsba0")) 716*16dce513Schristos "xmsba0 $avcc3Rn,$avcc3Rm" 717*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x6) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 718*16dce513Schristos(sequence((DI concat19)) (c-call "check_option_cp" pc) 719*16dce513Schristos(set concat19 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 720*16dce513Schristos(set avccopCCR2 (subword SI concat19 0)) 721*16dce513Schristos(set avccopCCR3 (subword SI concat19 1)) 722*16dce513Schristos) 723*16dce513Schristos ()) 724*16dce513Schristos(dncpi xmsbua0_avc_c3 "xmsbua0" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmsbua0")) 725*16dce513Schristos "xmsbua0 $avcc3Rn,$avcc3Rm" 726*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x7) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 727*16dce513Schristos(sequence((DI concat20)) (c-call "check_option_cp" pc) 728*16dce513Schristos(set concat20 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcc3Rn) (zext DI avcc3Rm)))) 729*16dce513Schristos(set avccopCCR2 (subword SI concat20 0)) 730*16dce513Schristos(set avccopCCR3 (subword SI concat20 1)) 731*16dce513Schristos) 732*16dce513Schristos ()) 733*16dce513Schristos(dncpi xmula1_avc_c3 "xmula1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmula1")) 734*16dce513Schristos "xmula1 $avcc3Rn,$avcc3Rm" 735*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x8) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 736*16dce513Schristos(sequence((DI concat21)) (c-call "check_option_cp" pc) 737*16dce513Schristos(set concat21 (mul (ext DI avcc3Rn) (ext DI avcc3Rm))) 738*16dce513Schristos(set avccopCCR4 (subword SI concat21 0)) 739*16dce513Schristos(set avccopCCR5 (subword SI concat21 1)) 740*16dce513Schristos) 741*16dce513Schristos ()) 742*16dce513Schristos(dncpi xmulua1_avc_c3 "xmulua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmulua1")) 743*16dce513Schristos "xmulua1 $avcc3Rn,$avcc3Rm" 744*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #x9) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 745*16dce513Schristos(sequence((DI concat22)) (c-call "check_option_cp" pc) 746*16dce513Schristos(set concat22 (mul (zext DI avcc3Rn) (zext DI avcc3Rm))) 747*16dce513Schristos(set avccopCCR4 (subword SI concat22 0)) 748*16dce513Schristos(set avccopCCR5 (subword SI concat22 1)) 749*16dce513Schristos) 750*16dce513Schristos ()) 751*16dce513Schristos(dncpi xnmula1_avc_c3 "xnmula1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xnmula1")) 752*16dce513Schristos "xnmula1 $avcc3Rn,$avcc3Rm" 753*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #xa) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 754*16dce513Schristos(sequence((DI concat23)) (c-call "check_option_cp" pc) 755*16dce513Schristos(set concat23 (neg (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 756*16dce513Schristos(set avccopCCR4 (subword SI concat23 0)) 757*16dce513Schristos(set avccopCCR5 (subword SI concat23 1)) 758*16dce513Schristos) 759*16dce513Schristos ()) 760*16dce513Schristos(dncpi xmada1_avc_c3 "xmada1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmada1")) 761*16dce513Schristos "xmada1 $avcc3Rn,$avcc3Rm" 762*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #xc) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 763*16dce513Schristos(sequence((DI concat24)) (c-call "check_option_cp" pc) 764*16dce513Schristos(set concat24 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 765*16dce513Schristos(set avccopCCR4 (subword SI concat24 0)) 766*16dce513Schristos(set avccopCCR5 (subword SI concat24 1)) 767*16dce513Schristos) 768*16dce513Schristos ()) 769*16dce513Schristos(dncpi xmadua1_avc_c3 "xmadua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmadua1")) 770*16dce513Schristos "xmadua1 $avcc3Rn,$avcc3Rm" 771*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #xd) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 772*16dce513Schristos(sequence((DI concat25)) (c-call "check_option_cp" pc) 773*16dce513Schristos(set concat25 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcc3Rn) (zext DI avcc3Rm)))) 774*16dce513Schristos(set avccopCCR4 (subword SI concat25 0)) 775*16dce513Schristos(set avccopCCR5 (subword SI concat25 1)) 776*16dce513Schristos) 777*16dce513Schristos ()) 778*16dce513Schristos(dncpi xmsba1_avc_c3 "xmsba1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmsba1")) 779*16dce513Schristos "xmsba1 $avcc3Rn,$avcc3Rm" 780*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #xe) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 781*16dce513Schristos(sequence((DI concat26)) (c-call "check_option_cp" pc) 782*16dce513Schristos(set concat26 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcc3Rn) (ext DI avcc3Rm)))) 783*16dce513Schristos(set avccopCCR4 (subword SI concat26 0)) 784*16dce513Schristos(set avccopCCR5 (subword SI concat26 1)) 785*16dce513Schristos) 786*16dce513Schristos ()) 787*16dce513Schristos(dncpi xmsbua1_avc_c3 "xmsbua1" (OPTIONAL_CP_INSN (SLOT C3) (INTRINSIC "xmsbua1")) 788*16dce513Schristos "xmsbua1 $avcc3Rn,$avcc3Rm" 789*16dce513Schristos(+ MAJ_15 (f-sub4 7) avcc3Rn avcc3Rm (f-avc-c3sub4u28 #xf) (f-avc-c3sub4u24 #x0) (f-avc-c3sub4u20 #x0) (f-avc-c3sub4u16 #xc)) 790*16dce513Schristos(sequence((DI concat27)) (c-call "check_option_cp" pc) 791*16dce513Schristos(set concat27 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcc3Rn) (zext DI avcc3Rm)))) 792*16dce513Schristos(set avccopCCR4 (subword SI concat27 0)) 793*16dce513Schristos(set avccopCCR5 (subword SI concat27 1)) 794*16dce513Schristos) 795*16dce513Schristos ()) 796*16dce513Schristos(dn16i cnop_avc_v1 "cnop" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cnop")) 797*16dce513Schristos "cnop" 798*16dce513Schristos(+ (f-avc-v1sub4u12 #x0) (f-avc-v1sub4u8 #x0) (f-avc-v1sub4u4 #x0) (f-avc-v1sub4u0 #x0)) 799*16dce513Schristos(c-call "check_option_cp" pc) 800*16dce513Schristos ()) 801*16dce513Schristos(dnmi cpnop16_avc_v1 "cpnop16" 802*16dce513Schristos(avc-16-isa NO-DIS) 803*16dce513Schristos"cpnop16" 804*16dce513Schristos(emit cnop_avc_v1) 805*16dce513Schristos) 806*16dce513Schristos(dn16i cmov_avc_v1 "cmov" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmov")) 807*16dce513Schristos "cmov $avcv1CRq,$avcv1CRp" 808*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x3) (f-avc-v1sub4u0 #x0)) 809*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 810*16dce513Schristos(set avcv1CRq avcv1CRp) 811*16dce513Schristos) 812*16dce513Schristos ()) 813*16dce513Schristos(dn16i cmovi_avc_v1 "cmovi" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmovi")) 814*16dce513Schristos "cmovi $avcv1CRq,$avcv1Imm8s8" 815*16dce513Schristos(+ avcv1CRq avcv1Imm8s8 (f-avc-v1sub4u0 #x2)) 816*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 817*16dce513Schristos(set avcv1CRq (ext SI avcv1Imm8s8)) 818*16dce513Schristos) 819*16dce513Schristos ()) 820*16dce513Schristos(dn16i cadd3_avc_v1 "cadd3" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cadd3")) 821*16dce513Schristos "cadd3 $avcv1CRo,$avcv1CRq,$avcv1CRp" 822*16dce513Schristos(+ avcv1CRo avcv1CRq avcv1CRp (f-avc-v1sub4u0 #x3)) 823*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 824*16dce513Schristos(set avcv1CRo (add avcv1CRq avcv1CRp)) 825*16dce513Schristos) 826*16dce513Schristos ()) 827*16dce513Schristos(dn16i caddi_avc_v1 "caddi" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "caddi")) 828*16dce513Schristos "caddi $avcv1CRq,$avcv1Imm6s8" 829*16dce513Schristos(+ avcv1CRq avcv1Imm6s8 (f-avc-v1sub2u14 #x0) (f-avc-v1sub4u0 #x1)) 830*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 831*16dce513Schristos(set avcv1CRq (add avcv1CRq (ext SI avcv1Imm6s8))) 832*16dce513Schristos) 833*16dce513Schristos ()) 834*16dce513Schristos(dn16i csub_avc_v1 "csub" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csub")) 835*16dce513Schristos "csub $avcv1CRq,$avcv1CRp" 836*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x2) (f-avc-v1sub4u0 #x0)) 837*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 838*16dce513Schristos(set avcv1CRq (sub avcv1CRq avcv1CRp)) 839*16dce513Schristos) 840*16dce513Schristos ()) 841*16dce513Schristos(dn16i cneg_avc_v1 "cneg" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cneg")) 842*16dce513Schristos "cneg $avcv1CRq,$avcv1CRp" 843*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x1) (f-avc-v1sub4u0 #x0)) 844*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 845*16dce513Schristos(set avcv1CRq (neg avcv1CRp)) 846*16dce513Schristos) 847*16dce513Schristos ()) 848*16dce513Schristos(dn16i cextb_avc_v1 "cextb" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cextb")) 849*16dce513Schristos "cextb $avcv1CRq" 850*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u8 #x0) (f-avc-v1sub4u0 #x0)) 851*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 852*16dce513Schristos(set avcv1CRq (ext SI (and QI (srl avcv1CRq 0) #xff))) 853*16dce513Schristos) 854*16dce513Schristos ()) 855*16dce513Schristos(dn16i cexth_avc_v1 "cexth" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cexth")) 856*16dce513Schristos "cexth $avcv1CRq" 857*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u8 #x2) (f-avc-v1sub4u0 #x0)) 858*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 859*16dce513Schristos(set avcv1CRq (ext SI (and HI (srl avcv1CRq 0) #xffff))) 860*16dce513Schristos) 861*16dce513Schristos ()) 862*16dce513Schristos(dn16i cextub_avc_v1 "cextub" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cextub")) 863*16dce513Schristos "cextub $avcv1CRq" 864*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u8 #x8) (f-avc-v1sub4u0 #x0)) 865*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 866*16dce513Schristos(set avcv1CRq (zext SI (and QI (srl avcv1CRq 0) #xff))) 867*16dce513Schristos) 868*16dce513Schristos ()) 869*16dce513Schristos(dn16i cextuh_avc_v1 "cextuh" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cextuh")) 870*16dce513Schristos "cextuh $avcv1CRq" 871*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u8 #xa) (f-avc-v1sub4u0 #x0)) 872*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 873*16dce513Schristos(set avcv1CRq (zext SI (and HI (srl avcv1CRq 0) #xffff))) 874*16dce513Schristos) 875*16dce513Schristos ()) 876*16dce513Schristos(dn16i cscltz_avc_v1 "cscltz" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cscltz")) 877*16dce513Schristos "cscltz $avcv1CRq" 878*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #xa) (f-avc-v1sub4u8 #xa) (f-avc-v1sub4u0 #x0)) 879*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 880*16dce513Schristos(if (lt (ext SI avcv1CRq) (ext SI 0)) (set avccopCCR1 (or (sll (srl avccopCCR1 1) 1) (srl (sll (zext SI 1) 31) 31))) 881*16dce513Schristos(set avccopCCR1 (or (sll (srl avccopCCR1 1) 1) (srl (sll (zext SI 0) 31) 31))) 882*16dce513Schristos) 883*16dce513Schristos) 884*16dce513Schristos ()) 885*16dce513Schristos(dn16i cldz_avc_v1 "cldz" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cldz")) 886*16dce513Schristos "cldz $avcv1CRq,$avcv1CRp" 887*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x0) (f-avc-v1sub4u0 #x5)) 888*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 889*16dce513Schristos(if (and avcv1CRp #x80000000) (set avcv1CRq 0) 890*16dce513Schristos(if (and avcv1CRp #x40000000) (set avcv1CRq 1) 891*16dce513Schristos(if (and avcv1CRp #x20000000) (set avcv1CRq 2) 892*16dce513Schristos(if (and avcv1CRp #x10000000) (set avcv1CRq 3) 893*16dce513Schristos(if (and avcv1CRp #x8000000) (set avcv1CRq 4) 894*16dce513Schristos(if (and avcv1CRp #x4000000) (set avcv1CRq 5) 895*16dce513Schristos(if (and avcv1CRp #x2000000) (set avcv1CRq 6) 896*16dce513Schristos(if (and avcv1CRp #x1000000) (set avcv1CRq 7) 897*16dce513Schristos(if (and avcv1CRp #x800000) (set avcv1CRq 8) 898*16dce513Schristos(if (and avcv1CRp #x400000) (set avcv1CRq 9) 899*16dce513Schristos(if (and avcv1CRp #x200000) (set avcv1CRq 10) 900*16dce513Schristos(if (and avcv1CRp #x100000) (set avcv1CRq 11) 901*16dce513Schristos(if (and avcv1CRp #x80000) (set avcv1CRq 12) 902*16dce513Schristos(if (and avcv1CRp #x40000) (set avcv1CRq 13) 903*16dce513Schristos(if (and avcv1CRp #x20000) (set avcv1CRq 14) 904*16dce513Schristos(if (and avcv1CRp #x10000) (set avcv1CRq 15) 905*16dce513Schristos(if (and avcv1CRp #x8000) (set avcv1CRq 16) 906*16dce513Schristos(if (and avcv1CRp #x4000) (set avcv1CRq 17) 907*16dce513Schristos(if (and avcv1CRp #x2000) (set avcv1CRq 18) 908*16dce513Schristos(if (and avcv1CRp #x1000) (set avcv1CRq 19) 909*16dce513Schristos(if (and avcv1CRp #x800) (set avcv1CRq 20) 910*16dce513Schristos(if (and avcv1CRp #x400) (set avcv1CRq 21) 911*16dce513Schristos(if (and avcv1CRp #x200) (set avcv1CRq 22) 912*16dce513Schristos(if (and avcv1CRp #x100) (set avcv1CRq 23) 913*16dce513Schristos(if (and avcv1CRp #x80) (set avcv1CRq 24) 914*16dce513Schristos(if (and avcv1CRp #x40) (set avcv1CRq 25) 915*16dce513Schristos(if (and avcv1CRp #x20) (set avcv1CRq 26) 916*16dce513Schristos(if (and avcv1CRp #x10) (set avcv1CRq 27) 917*16dce513Schristos(if (and avcv1CRp #x8) (set avcv1CRq 28) 918*16dce513Schristos(if (and avcv1CRp #x4) (set avcv1CRq 29) 919*16dce513Schristos(if (and avcv1CRp #x2) (set avcv1CRq 30) 920*16dce513Schristos(if (and avcv1CRp #x1) (set avcv1CRq 31) 921*16dce513Schristos(set avcv1CRq 32) 922*16dce513Schristos) 923*16dce513Schristos) 924*16dce513Schristos) 925*16dce513Schristos) 926*16dce513Schristos) 927*16dce513Schristos) 928*16dce513Schristos) 929*16dce513Schristos) 930*16dce513Schristos) 931*16dce513Schristos) 932*16dce513Schristos) 933*16dce513Schristos) 934*16dce513Schristos) 935*16dce513Schristos) 936*16dce513Schristos) 937*16dce513Schristos) 938*16dce513Schristos) 939*16dce513Schristos) 940*16dce513Schristos) 941*16dce513Schristos) 942*16dce513Schristos) 943*16dce513Schristos) 944*16dce513Schristos) 945*16dce513Schristos) 946*16dce513Schristos) 947*16dce513Schristos) 948*16dce513Schristos) 949*16dce513Schristos) 950*16dce513Schristos) 951*16dce513Schristos) 952*16dce513Schristos) 953*16dce513Schristos) 954*16dce513Schristos) 955*16dce513Schristos ()) 956*16dce513Schristos(dn16i cabs_avc_v1 "cabs" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cabs")) 957*16dce513Schristos "cabs $avcv1CRq,$avcv1CRp" 958*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x3) (f-avc-v1sub4u0 #x5)) 959*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 960*16dce513Schristos(set avcv1CRq (abs (ext SI (subword SI (sub avcv1CRq avcv1CRp) 1)))) 961*16dce513Schristos) 962*16dce513Schristos ()) 963*16dce513Schristos(dn16i cad1s_avc_v1 "cad1s" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cad1s")) 964*16dce513Schristos "cad1s $avcv1CRq,$avcv1CRp" 965*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x1) (f-avc-v1sub4u0 #x5)) 966*16dce513Schristos(sequence((DI tmp0)) (c-call "check_option_cp" pc) 967*16dce513Schristos(set tmp0 (ext SI (subword SI (add avcv1CRq avcv1CRp) 1))) 968*16dce513Schristos(set avcv1CRq (subword SI (sra tmp0 1) 1)) 969*16dce513Schristos) 970*16dce513Schristos ()) 971*16dce513Schristos(dn16i csb1s_avc_v1 "csb1s" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csb1s")) 972*16dce513Schristos "csb1s $avcv1CRq,$avcv1CRp" 973*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x2) (f-avc-v1sub4u0 #x5)) 974*16dce513Schristos(sequence((DI tmp0)) (c-call "check_option_cp" pc) 975*16dce513Schristos(set tmp0 (ext SI (subword SI (sub avcv1CRq avcv1CRp) 1))) 976*16dce513Schristos(set avcv1CRq (subword SI (sra tmp0 1) 1)) 977*16dce513Schristos) 978*16dce513Schristos ()) 979*16dce513Schristos(dn16i cmin_avc_v1 "cmin" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmin")) 980*16dce513Schristos "cmin $avcv1CRq,$avcv1CRp" 981*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x8) (f-avc-v1sub4u0 #x5)) 982*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 983*16dce513Schristos(if (lt (ext SI avcv1CRq) (ext SI avcv1CRp)) (set avcv1CRq avcv1CRq) 984*16dce513Schristos(set avcv1CRq avcv1CRp) 985*16dce513Schristos) 986*16dce513Schristos) 987*16dce513Schristos ()) 988*16dce513Schristos(dn16i cmax_avc_v1 "cmax" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmax")) 989*16dce513Schristos "cmax $avcv1CRq,$avcv1CRp" 990*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u0 #x5)) 991*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 992*16dce513Schristos(if (gt (ext SI avcv1CRq) (ext SI avcv1CRp)) (set avcv1CRq avcv1CRq) 993*16dce513Schristos(set avcv1CRq avcv1CRp) 994*16dce513Schristos) 995*16dce513Schristos) 996*16dce513Schristos ()) 997*16dce513Schristos(dn16i cminu_avc_v1 "cminu" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cminu")) 998*16dce513Schristos "cminu $avcv1CRq,$avcv1CRp" 999*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xa) (f-avc-v1sub4u0 #x5)) 1000*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1001*16dce513Schristos(if (ltu (zext SI avcv1CRq) (zext SI avcv1CRp)) (set avcv1CRq avcv1CRq) 1002*16dce513Schristos(set avcv1CRq avcv1CRp) 1003*16dce513Schristos) 1004*16dce513Schristos) 1005*16dce513Schristos ()) 1006*16dce513Schristos(dn16i cmaxu_avc_v1 "cmaxu" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmaxu")) 1007*16dce513Schristos "cmaxu $avcv1CRq,$avcv1CRp" 1008*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xb) (f-avc-v1sub4u0 #x5)) 1009*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1010*16dce513Schristos(if (gtu (zext SI avcv1CRq) (zext SI avcv1CRp)) (set avcv1CRq avcv1CRq) 1011*16dce513Schristos(set avcv1CRq avcv1CRp) 1012*16dce513Schristos) 1013*16dce513Schristos) 1014*16dce513Schristos ()) 1015*16dce513Schristos(dn16i cclipi_avc_v1 "cclipi" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cclipi")) 1016*16dce513Schristos "cclipi $avcv1CRq,$avcv1Imm5u8" 1017*16dce513Schristos(+ avcv1CRq avcv1Imm5u8 (f-avc-v1sub3u13 #x4) (f-avc-v1sub4u0 #x5)) 1018*16dce513Schristos(sequence((DI tmp1)(DI tmp0)) (c-call "check_option_cp" pc) 1019*16dce513Schristos(if (eq (zext SI avcv1Imm5u8) (ext SI 0)) (set avcv1CRq 0) 1020*16dce513Schristos(sequence() (set tmp0 (sll 1 (sub avcv1Imm5u8 1))) 1021*16dce513Schristos(set tmp1 (sub (subword SI tmp0 1) 1)) 1022*16dce513Schristos(if (gt (ext SI avcv1CRq) (ext SI (subword SI tmp1 1))) (set avcv1CRq (subword SI tmp1 1)) 1023*16dce513Schristos(if (lt (ext SI avcv1CRq) (ext SI (neg (subword SI tmp0 1)))) (set avcv1CRq (neg (subword SI tmp0 1))) 1024*16dce513Schristos(set avcv1CRq avcv1CRq) 1025*16dce513Schristos) 1026*16dce513Schristos) 1027*16dce513Schristos) 1028*16dce513Schristos) 1029*16dce513Schristos) 1030*16dce513Schristos ()) 1031*16dce513Schristos(dn16i cclipiu_avc_v1 "cclipiu" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cclipiu")) 1032*16dce513Schristos "cclipiu $avcv1CRq,$avcv1Imm5u8" 1033*16dce513Schristos(+ avcv1CRq avcv1Imm5u8 (f-avc-v1sub3u13 #x5) (f-avc-v1sub4u0 #x5)) 1034*16dce513Schristos(sequence((DI tmp0)) (c-call "check_option_cp" pc) 1035*16dce513Schristos(if (eq (zext SI avcv1Imm5u8) (ext SI 0)) (set avcv1CRq 0) 1036*16dce513Schristos(sequence() (set tmp0 (sub (sll 1 avcv1Imm5u8) 1)) 1037*16dce513Schristos(if (gt (ext SI avcv1CRq) (ext SI (subword SI tmp0 1))) (set avcv1CRq (subword SI tmp0 1)) 1038*16dce513Schristos(if (lt (ext SI avcv1CRq) (ext SI 0)) (set avcv1CRq 0) 1039*16dce513Schristos(set avcv1CRq avcv1CRq) 1040*16dce513Schristos) 1041*16dce513Schristos) 1042*16dce513Schristos) 1043*16dce513Schristos) 1044*16dce513Schristos) 1045*16dce513Schristos ()) 1046*16dce513Schristos(dn16i cor_avc_v1 "cor" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cor")) 1047*16dce513Schristos "cor $avcv1CRq,$avcv1CRp" 1048*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x4) (f-avc-v1sub4u0 #x0)) 1049*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1050*16dce513Schristos(set avcv1CRq (or avcv1CRq avcv1CRp)) 1051*16dce513Schristos) 1052*16dce513Schristos ()) 1053*16dce513Schristos(dn16i cand_avc_v1 "cand" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cand")) 1054*16dce513Schristos "cand $avcv1CRq,$avcv1CRp" 1055*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x5) (f-avc-v1sub4u0 #x0)) 1056*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1057*16dce513Schristos(set avcv1CRq (and avcv1CRq avcv1CRp)) 1058*16dce513Schristos) 1059*16dce513Schristos ()) 1060*16dce513Schristos(dn16i cxor_avc_v1 "cxor" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cxor")) 1061*16dce513Schristos "cxor $avcv1CRq,$avcv1CRp" 1062*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x6) (f-avc-v1sub4u0 #x0)) 1063*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1064*16dce513Schristos(set avcv1CRq (xor avcv1CRq avcv1CRp)) 1065*16dce513Schristos) 1066*16dce513Schristos ()) 1067*16dce513Schristos(dn16i cnor_avc_v1 "cnor" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cnor")) 1068*16dce513Schristos "cnor $avcv1CRq,$avcv1CRp" 1069*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x7) (f-avc-v1sub4u0 #x0)) 1070*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1071*16dce513Schristos(set avcv1CRq (inv (or avcv1CRq avcv1CRp))) 1072*16dce513Schristos) 1073*16dce513Schristos ()) 1074*16dce513Schristos(dn16i csra_avc_v1 "csra" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csra")) 1075*16dce513Schristos "csra $avcv1CRq,$avcv1CRp" 1076*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xc) (f-avc-v1sub4u0 #x0)) 1077*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1078*16dce513Schristos(set avcv1CRq (sra avcv1CRq (and QI (srl avcv1CRp 0) #x1f))) 1079*16dce513Schristos) 1080*16dce513Schristos ()) 1081*16dce513Schristos(dn16i csrl_avc_v1 "csrl" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csrl")) 1082*16dce513Schristos "csrl $avcv1CRq,$avcv1CRp" 1083*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xd) (f-avc-v1sub4u0 #x0)) 1084*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1085*16dce513Schristos(set avcv1CRq (srl avcv1CRq (and QI (srl avcv1CRp 0) #x1f))) 1086*16dce513Schristos) 1087*16dce513Schristos ()) 1088*16dce513Schristos(dn16i csll_avc_v1 "csll" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csll")) 1089*16dce513Schristos "csll $avcv1CRq,$avcv1CRp" 1090*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xe) (f-avc-v1sub4u0 #x0)) 1091*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1092*16dce513Schristos(set avcv1CRq (sll avcv1CRq (and QI (srl avcv1CRp 0) #x1f))) 1093*16dce513Schristos) 1094*16dce513Schristos ()) 1095*16dce513Schristos(dn16i csrai_avc_v1 "csrai" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csrai")) 1096*16dce513Schristos "csrai $avcv1CRq,$avcv1Imm5u8" 1097*16dce513Schristos(+ avcv1CRq avcv1Imm5u8 (f-avc-v1sub3u13 #x2) (f-avc-v1sub4u0 #x1)) 1098*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1099*16dce513Schristos(set avcv1CRq (sra avcv1CRq avcv1Imm5u8)) 1100*16dce513Schristos) 1101*16dce513Schristos ()) 1102*16dce513Schristos(dn16i csrli_avc_v1 "csrli" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "csrli")) 1103*16dce513Schristos "csrli $avcv1CRq,$avcv1Imm5u8" 1104*16dce513Schristos(+ avcv1CRq avcv1Imm5u8 (f-avc-v1sub3u13 #x3) (f-avc-v1sub4u0 #x1)) 1105*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1106*16dce513Schristos(set avcv1CRq (srl avcv1CRq avcv1Imm5u8)) 1107*16dce513Schristos) 1108*16dce513Schristos ()) 1109*16dce513Schristos(dn16i cslli_avc_v1 "cslli" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cslli")) 1110*16dce513Schristos "cslli $avcv1CRq,$avcv1Imm5u8" 1111*16dce513Schristos(+ avcv1CRq avcv1Imm5u8 (f-avc-v1sub3u13 #x6) (f-avc-v1sub4u0 #x1)) 1112*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1113*16dce513Schristos(set avcv1CRq (sll avcv1CRq avcv1Imm5u8)) 1114*16dce513Schristos) 1115*16dce513Schristos ()) 1116*16dce513Schristos(dn16i cfsft_avc_v1 "cfsft" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cfsft")) 1117*16dce513Schristos "cfsft $avcv1CRq,$avcv1CRp" 1118*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xf) (f-avc-v1sub4u0 #x0)) 1119*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1120*16dce513Schristos(set avcv1CRq (subword SI (sll (or (sll (zext DI (zext SI avcv1CRq)) 32) (zext DI avcv1CRp)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 1121*16dce513Schristos) 1122*16dce513Schristos ()) 1123*16dce513Schristos(dn16i cfsfta0_avc_v1 "cfsfta0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cfsfta0")) 1124*16dce513Schristos "cfsfta0 $avcv1CRq" 1125*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #x7) (f-avc-v1sub4u8 #x0) (f-avc-v1sub4u0 #x1)) 1126*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1127*16dce513Schristos(set avcv1CRq (subword SI (sll (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 1128*16dce513Schristos) 1129*16dce513Schristos ()) 1130*16dce513Schristos(dn16i cfsfta1_avc_v1 "cfsfta1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cfsfta1")) 1131*16dce513Schristos "cfsfta1 $avcv1CRq" 1132*16dce513Schristos(+ avcv1CRq (f-avc-v1sub4u12 #xf) (f-avc-v1sub4u8 #x0) (f-avc-v1sub4u0 #x1)) 1133*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1134*16dce513Schristos(set avcv1CRq (subword SI (sll (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (and QI (srl avccopCCR0 0) #x3f)) 0)) 1135*16dce513Schristos) 1136*16dce513Schristos ()) 1137*16dce513Schristos(dn16i cmula0_avc_v1 "cmula0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmula0")) 1138*16dce513Schristos "cmula0 $avcv1CRq,$avcv1CRp" 1139*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x0) (f-avc-v1sub4u0 #x4)) 1140*16dce513Schristos(sequence((DI concat28)) (c-call "check_option_cp" pc) 1141*16dce513Schristos(set concat28 (mul (ext DI avcv1CRq) (ext DI avcv1CRp))) 1142*16dce513Schristos(set avccopCCR2 (subword SI concat28 0)) 1143*16dce513Schristos(set avccopCCR3 (subword SI concat28 1)) 1144*16dce513Schristos) 1145*16dce513Schristos ()) 1146*16dce513Schristos(dn16i cmulua0_avc_v1 "cmulua0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmulua0")) 1147*16dce513Schristos "cmulua0 $avcv1CRq,$avcv1CRp" 1148*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x1) (f-avc-v1sub4u0 #x4)) 1149*16dce513Schristos(sequence((DI concat29)) (c-call "check_option_cp" pc) 1150*16dce513Schristos(set concat29 (mul (zext DI avcv1CRq) (zext DI avcv1CRp))) 1151*16dce513Schristos(set avccopCCR2 (subword SI concat29 0)) 1152*16dce513Schristos(set avccopCCR3 (subword SI concat29 1)) 1153*16dce513Schristos) 1154*16dce513Schristos ()) 1155*16dce513Schristos(dn16i cnmula0_avc_v1 "cnmula0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cnmula0")) 1156*16dce513Schristos "cnmula0 $avcv1CRq,$avcv1CRp" 1157*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x2) (f-avc-v1sub4u0 #x4)) 1158*16dce513Schristos(sequence((DI concat30)) (c-call "check_option_cp" pc) 1159*16dce513Schristos(set concat30 (neg (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1160*16dce513Schristos(set avccopCCR2 (subword SI concat30 0)) 1161*16dce513Schristos(set avccopCCR3 (subword SI concat30 1)) 1162*16dce513Schristos) 1163*16dce513Schristos ()) 1164*16dce513Schristos(dn16i cmada0_avc_v1 "cmada0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmada0")) 1165*16dce513Schristos "cmada0 $avcv1CRq,$avcv1CRp" 1166*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x4) (f-avc-v1sub4u0 #x4)) 1167*16dce513Schristos(sequence((DI concat31)) (c-call "check_option_cp" pc) 1168*16dce513Schristos(set concat31 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1169*16dce513Schristos(set avccopCCR2 (subword SI concat31 0)) 1170*16dce513Schristos(set avccopCCR3 (subword SI concat31 1)) 1171*16dce513Schristos) 1172*16dce513Schristos ()) 1173*16dce513Schristos(dn16i cmadua0_avc_v1 "cmadua0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmadua0")) 1174*16dce513Schristos "cmadua0 $avcv1CRq,$avcv1CRp" 1175*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x5) (f-avc-v1sub4u0 #x4)) 1176*16dce513Schristos(sequence((DI concat32)) (c-call "check_option_cp" pc) 1177*16dce513Schristos(set concat32 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcv1CRq) (zext DI avcv1CRp)))) 1178*16dce513Schristos(set avccopCCR2 (subword SI concat32 0)) 1179*16dce513Schristos(set avccopCCR3 (subword SI concat32 1)) 1180*16dce513Schristos) 1181*16dce513Schristos ()) 1182*16dce513Schristos(dn16i cmsba0_avc_v1 "cmsba0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmsba0")) 1183*16dce513Schristos "cmsba0 $avcv1CRq,$avcv1CRp" 1184*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x6) (f-avc-v1sub4u0 #x4)) 1185*16dce513Schristos(sequence((DI concat33)) (c-call "check_option_cp" pc) 1186*16dce513Schristos(set concat33 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1187*16dce513Schristos(set avccopCCR2 (subword SI concat33 0)) 1188*16dce513Schristos(set avccopCCR3 (subword SI concat33 1)) 1189*16dce513Schristos) 1190*16dce513Schristos ()) 1191*16dce513Schristos(dn16i cmsbua0_avc_v1 "cmsbua0" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmsbua0")) 1192*16dce513Schristos "cmsbua0 $avcv1CRq,$avcv1CRp" 1193*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x7) (f-avc-v1sub4u0 #x4)) 1194*16dce513Schristos(sequence((DI concat34)) (c-call "check_option_cp" pc) 1195*16dce513Schristos(set concat34 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcv1CRq) (zext DI avcv1CRp)))) 1196*16dce513Schristos(set avccopCCR2 (subword SI concat34 0)) 1197*16dce513Schristos(set avccopCCR3 (subword SI concat34 1)) 1198*16dce513Schristos) 1199*16dce513Schristos ()) 1200*16dce513Schristos(dn16i cmula1_avc_v1 "cmula1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmula1")) 1201*16dce513Schristos "cmula1 $avcv1CRq,$avcv1CRp" 1202*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x8) (f-avc-v1sub4u0 #x4)) 1203*16dce513Schristos(sequence((DI concat35)) (c-call "check_option_cp" pc) 1204*16dce513Schristos(set concat35 (mul (ext DI avcv1CRq) (ext DI avcv1CRp))) 1205*16dce513Schristos(set avccopCCR4 (subword SI concat35 0)) 1206*16dce513Schristos(set avccopCCR5 (subword SI concat35 1)) 1207*16dce513Schristos) 1208*16dce513Schristos ()) 1209*16dce513Schristos(dn16i cmulua1_avc_v1 "cmulua1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmulua1")) 1210*16dce513Schristos "cmulua1 $avcv1CRq,$avcv1CRp" 1211*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #x9) (f-avc-v1sub4u0 #x4)) 1212*16dce513Schristos(sequence((DI concat36)) (c-call "check_option_cp" pc) 1213*16dce513Schristos(set concat36 (mul (zext DI avcv1CRq) (zext DI avcv1CRp))) 1214*16dce513Schristos(set avccopCCR4 (subword SI concat36 0)) 1215*16dce513Schristos(set avccopCCR5 (subword SI concat36 1)) 1216*16dce513Schristos) 1217*16dce513Schristos ()) 1218*16dce513Schristos(dn16i cnmula1_avc_v1 "cnmula1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cnmula1")) 1219*16dce513Schristos "cnmula1 $avcv1CRq,$avcv1CRp" 1220*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xa) (f-avc-v1sub4u0 #x4)) 1221*16dce513Schristos(sequence((DI concat37)) (c-call "check_option_cp" pc) 1222*16dce513Schristos(set concat37 (neg (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1223*16dce513Schristos(set avccopCCR4 (subword SI concat37 0)) 1224*16dce513Schristos(set avccopCCR5 (subword SI concat37 1)) 1225*16dce513Schristos) 1226*16dce513Schristos ()) 1227*16dce513Schristos(dn16i cmada1_avc_v1 "cmada1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmada1")) 1228*16dce513Schristos "cmada1 $avcv1CRq,$avcv1CRp" 1229*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xc) (f-avc-v1sub4u0 #x4)) 1230*16dce513Schristos(sequence((DI concat38)) (c-call "check_option_cp" pc) 1231*16dce513Schristos(set concat38 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1232*16dce513Schristos(set avccopCCR4 (subword SI concat38 0)) 1233*16dce513Schristos(set avccopCCR5 (subword SI concat38 1)) 1234*16dce513Schristos) 1235*16dce513Schristos ()) 1236*16dce513Schristos(dn16i cmadua1_avc_v1 "cmadua1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmadua1")) 1237*16dce513Schristos "cmadua1 $avcv1CRq,$avcv1CRp" 1238*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xd) (f-avc-v1sub4u0 #x4)) 1239*16dce513Schristos(sequence((DI concat39)) (c-call "check_option_cp" pc) 1240*16dce513Schristos(set concat39 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcv1CRq) (zext DI avcv1CRp)))) 1241*16dce513Schristos(set avccopCCR4 (subword SI concat39 0)) 1242*16dce513Schristos(set avccopCCR5 (subword SI concat39 1)) 1243*16dce513Schristos) 1244*16dce513Schristos ()) 1245*16dce513Schristos(dn16i cmsba1_avc_v1 "cmsba1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmsba1")) 1246*16dce513Schristos "cmsba1 $avcv1CRq,$avcv1CRp" 1247*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xe) (f-avc-v1sub4u0 #x4)) 1248*16dce513Schristos(sequence((DI concat40)) (c-call "check_option_cp" pc) 1249*16dce513Schristos(set concat40 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcv1CRq) (ext DI avcv1CRp)))) 1250*16dce513Schristos(set avccopCCR4 (subword SI concat40 0)) 1251*16dce513Schristos(set avccopCCR5 (subword SI concat40 1)) 1252*16dce513Schristos) 1253*16dce513Schristos ()) 1254*16dce513Schristos(dn16i cmsbua1_avc_v1 "cmsbua1" (VLIW64_NO_MATCHING_NOP (SLOT V1) (INTRINSIC "cmsbua1")) 1255*16dce513Schristos "cmsbua1 $avcv1CRq,$avcv1CRp" 1256*16dce513Schristos(+ avcv1CRq avcv1CRp (f-avc-v1sub4u12 #xf) (f-avc-v1sub4u0 #x4)) 1257*16dce513Schristos(sequence((DI concat41)) (c-call "check_option_cp" pc) 1258*16dce513Schristos(set concat41 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcv1CRq) (zext DI avcv1CRp)))) 1259*16dce513Schristos(set avccopCCR4 (subword SI concat41 0)) 1260*16dce513Schristos(set avccopCCR5 (subword SI concat41 1)) 1261*16dce513Schristos) 1262*16dce513Schristos ()) 1263*16dce513Schristos(dn32i cmov1_avc_v3 "cmov1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "cmov1")) 1264*16dce513Schristos "cmov $avcv3CRn,$avcv3Rm" 1265*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3CRn avcv3Rm (f-avc-v3sub4u28 #x0) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xf)) 1266*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1267*16dce513Schristos(set avcv3CRn avcv3Rm) 1268*16dce513Schristos) 1269*16dce513Schristos ()) 1270*16dce513Schristos(dn32i cmov2_avc_v3 "cmov2" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "cmov2")) 1271*16dce513Schristos "cmov $avcv3Rm,$avcv3CRn" 1272*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rm avcv3CRn (f-avc-v3sub4u28 #x1) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xf)) 1273*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1274*16dce513Schristos(set avcv3Rm avcv3CRn) 1275*16dce513Schristos) 1276*16dce513Schristos ()) 1277*16dce513Schristos(dn32i cmovi_avc_v3 "cmovi" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "cmovi")) 1278*16dce513Schristos "cmovi $avcv3CRq,$avcv3Imm16s4x24e32" 1279*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3CRq avcv3Imm16s4x24e32 (f-avc-v3sub4u16 #xe)) 1280*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1281*16dce513Schristos(set avcv3CRq (ext SI avcv3Imm16s4x24e32)) 1282*16dce513Schristos) 1283*16dce513Schristos ()) 1284*16dce513Schristos(dn32i cmovc1_avc_v3 "cmovc1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "cmovc1")) 1285*16dce513Schristos "cmovc $avcv3CCRn,$avcv3Rm" 1286*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3CCRn avcv3Rm (f-avc-v3sub4u28 #x2) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xf)) 1287*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1288*16dce513Schristos(set avcv3CCRn avcv3Rm) 1289*16dce513Schristos) 1290*16dce513Schristos ()) 1291*16dce513Schristos(dn32i cmovc2_avc_v3 "cmovc2" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "cmovc2")) 1292*16dce513Schristos "cmovc $avcv3Rm,$avcv3CCRn" 1293*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rm avcv3CCRn (f-avc-v3sub4u28 #x3) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xf)) 1294*16dce513Schristos(sequence() (c-call "check_option_cp" pc) 1295*16dce513Schristos(set avcv3Rm avcv3CCRn) 1296*16dce513Schristos) 1297*16dce513Schristos ()) 1298*16dce513Schristos(dn32i xmula0_avc_v3 "xmula0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmula0")) 1299*16dce513Schristos "xmula0 $avcv3Rn,$avcv3Rm" 1300*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x0) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1301*16dce513Schristos(sequence((DI concat42)) (c-call "check_option_cp" pc) 1302*16dce513Schristos(set concat42 (mul (ext DI avcv3Rn) (ext DI avcv3Rm))) 1303*16dce513Schristos(set avccopCCR2 (subword SI concat42 0)) 1304*16dce513Schristos(set avccopCCR3 (subword SI concat42 1)) 1305*16dce513Schristos) 1306*16dce513Schristos ()) 1307*16dce513Schristos(dn32i xmulua0_avc_v3 "xmulua0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmulua0")) 1308*16dce513Schristos "xmulua0 $avcv3Rn,$avcv3Rm" 1309*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x1) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1310*16dce513Schristos(sequence((DI concat43)) (c-call "check_option_cp" pc) 1311*16dce513Schristos(set concat43 (mul (zext DI avcv3Rn) (zext DI avcv3Rm))) 1312*16dce513Schristos(set avccopCCR2 (subword SI concat43 0)) 1313*16dce513Schristos(set avccopCCR3 (subword SI concat43 1)) 1314*16dce513Schristos) 1315*16dce513Schristos ()) 1316*16dce513Schristos(dn32i xnmula0_avc_v3 "xnmula0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xnmula0")) 1317*16dce513Schristos "xnmula0 $avcv3Rn,$avcv3Rm" 1318*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x2) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1319*16dce513Schristos(sequence((DI concat44)) (c-call "check_option_cp" pc) 1320*16dce513Schristos(set concat44 (neg (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1321*16dce513Schristos(set avccopCCR2 (subword SI concat44 0)) 1322*16dce513Schristos(set avccopCCR3 (subword SI concat44 1)) 1323*16dce513Schristos) 1324*16dce513Schristos ()) 1325*16dce513Schristos(dn32i xmada0_avc_v3 "xmada0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmada0")) 1326*16dce513Schristos "xmada0 $avcv3Rn,$avcv3Rm" 1327*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x4) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1328*16dce513Schristos(sequence((DI concat45)) (c-call "check_option_cp" pc) 1329*16dce513Schristos(set concat45 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1330*16dce513Schristos(set avccopCCR2 (subword SI concat45 0)) 1331*16dce513Schristos(set avccopCCR3 (subword SI concat45 1)) 1332*16dce513Schristos) 1333*16dce513Schristos ()) 1334*16dce513Schristos(dn32i xmadua0_avc_v3 "xmadua0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmadua0")) 1335*16dce513Schristos "xmadua0 $avcv3Rn,$avcv3Rm" 1336*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x5) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1337*16dce513Schristos(sequence((DI concat46)) (c-call "check_option_cp" pc) 1338*16dce513Schristos(set concat46 (add (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcv3Rn) (zext DI avcv3Rm)))) 1339*16dce513Schristos(set avccopCCR2 (subword SI concat46 0)) 1340*16dce513Schristos(set avccopCCR3 (subword SI concat46 1)) 1341*16dce513Schristos) 1342*16dce513Schristos ()) 1343*16dce513Schristos(dn32i xmsba0_avc_v3 "xmsba0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmsba0")) 1344*16dce513Schristos "xmsba0 $avcv3Rn,$avcv3Rm" 1345*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x6) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1346*16dce513Schristos(sequence((DI concat47)) (c-call "check_option_cp" pc) 1347*16dce513Schristos(set concat47 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1348*16dce513Schristos(set avccopCCR2 (subword SI concat47 0)) 1349*16dce513Schristos(set avccopCCR3 (subword SI concat47 1)) 1350*16dce513Schristos) 1351*16dce513Schristos ()) 1352*16dce513Schristos(dn32i xmsbua0_avc_v3 "xmsbua0" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmsbua0")) 1353*16dce513Schristos "xmsbua0 $avcv3Rn,$avcv3Rm" 1354*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x7) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1355*16dce513Schristos(sequence((DI concat48)) (c-call "check_option_cp" pc) 1356*16dce513Schristos(set concat48 (sub (or (sll (zext DI (zext SI avccopCCR2)) 32) (zext DI avccopCCR3)) (mul (zext DI avcv3Rn) (zext DI avcv3Rm)))) 1357*16dce513Schristos(set avccopCCR2 (subword SI concat48 0)) 1358*16dce513Schristos(set avccopCCR3 (subword SI concat48 1)) 1359*16dce513Schristos) 1360*16dce513Schristos ()) 1361*16dce513Schristos(dn32i xmula1_avc_v3 "xmula1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmula1")) 1362*16dce513Schristos "xmula1 $avcv3Rn,$avcv3Rm" 1363*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x8) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1364*16dce513Schristos(sequence((DI concat49)) (c-call "check_option_cp" pc) 1365*16dce513Schristos(set concat49 (mul (ext DI avcv3Rn) (ext DI avcv3Rm))) 1366*16dce513Schristos(set avccopCCR4 (subword SI concat49 0)) 1367*16dce513Schristos(set avccopCCR5 (subword SI concat49 1)) 1368*16dce513Schristos) 1369*16dce513Schristos ()) 1370*16dce513Schristos(dn32i xmulua1_avc_v3 "xmulua1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmulua1")) 1371*16dce513Schristos "xmulua1 $avcv3Rn,$avcv3Rm" 1372*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #x9) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1373*16dce513Schristos(sequence((DI concat50)) (c-call "check_option_cp" pc) 1374*16dce513Schristos(set concat50 (mul (zext DI avcv3Rn) (zext DI avcv3Rm))) 1375*16dce513Schristos(set avccopCCR4 (subword SI concat50 0)) 1376*16dce513Schristos(set avccopCCR5 (subword SI concat50 1)) 1377*16dce513Schristos) 1378*16dce513Schristos ()) 1379*16dce513Schristos(dn32i xnmula1_avc_v3 "xnmula1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xnmula1")) 1380*16dce513Schristos "xnmula1 $avcv3Rn,$avcv3Rm" 1381*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #xa) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1382*16dce513Schristos(sequence((DI concat51)) (c-call "check_option_cp" pc) 1383*16dce513Schristos(set concat51 (neg (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1384*16dce513Schristos(set avccopCCR4 (subword SI concat51 0)) 1385*16dce513Schristos(set avccopCCR5 (subword SI concat51 1)) 1386*16dce513Schristos) 1387*16dce513Schristos ()) 1388*16dce513Schristos(dn32i xmada1_avc_v3 "xmada1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmada1")) 1389*16dce513Schristos "xmada1 $avcv3Rn,$avcv3Rm" 1390*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #xc) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1391*16dce513Schristos(sequence((DI concat52)) (c-call "check_option_cp" pc) 1392*16dce513Schristos(set concat52 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1393*16dce513Schristos(set avccopCCR4 (subword SI concat52 0)) 1394*16dce513Schristos(set avccopCCR5 (subword SI concat52 1)) 1395*16dce513Schristos) 1396*16dce513Schristos ()) 1397*16dce513Schristos(dn32i xmadua1_avc_v3 "xmadua1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmadua1")) 1398*16dce513Schristos "xmadua1 $avcv3Rn,$avcv3Rm" 1399*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #xd) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1400*16dce513Schristos(sequence((DI concat53)) (c-call "check_option_cp" pc) 1401*16dce513Schristos(set concat53 (add (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcv3Rn) (zext DI avcv3Rm)))) 1402*16dce513Schristos(set avccopCCR4 (subword SI concat53 0)) 1403*16dce513Schristos(set avccopCCR5 (subword SI concat53 1)) 1404*16dce513Schristos) 1405*16dce513Schristos ()) 1406*16dce513Schristos(dn32i xmsba1_avc_v3 "xmsba1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmsba1")) 1407*16dce513Schristos "xmsba1 $avcv3Rn,$avcv3Rm" 1408*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #xe) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1409*16dce513Schristos(sequence((DI concat54)) (c-call "check_option_cp" pc) 1410*16dce513Schristos(set concat54 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (ext DI avcv3Rn) (ext DI avcv3Rm)))) 1411*16dce513Schristos(set avccopCCR4 (subword SI concat54 0)) 1412*16dce513Schristos(set avccopCCR5 (subword SI concat54 1)) 1413*16dce513Schristos) 1414*16dce513Schristos ()) 1415*16dce513Schristos(dn32i xmsbua1_avc_v3 "xmsbua1" (VLIW64_NO_MATCHING_NOP (SLOT V3) (INTRINSIC "xmsbua1")) 1416*16dce513Schristos "xmsbua1 $avcv3Rn,$avcv3Rm" 1417*16dce513Schristos(+ (f-avc-v3sub4u0 #xf) (f-avc-v3sub4u12 #x7) avcv3Rn avcv3Rm (f-avc-v3sub4u28 #xf) (f-avc-v3sub4u24 #x0) (f-avc-v3sub4u20 #x0) (f-avc-v3sub4u16 #xc)) 1418*16dce513Schristos(sequence((DI concat55)) (c-call "check_option_cp" pc) 1419*16dce513Schristos(set concat55 (sub (or (sll (zext DI (zext SI avccopCCR4)) 32) (zext DI avccopCCR5)) (mul (zext DI avcv3Rn) (zext DI avcv3Rm)))) 1420*16dce513Schristos(set avccopCCR4 (subword SI concat55 0)) 1421*16dce513Schristos(set avccopCCR5 (subword SI concat55 1)) 1422*16dce513Schristos) 1423*16dce513Schristos ()) 1424