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