xref: /netbsd-src/external/gpl3/gdb/dist/cpu/mep-avc.cpu (revision a2e2270fc5bff6bcbd2c81db532c53a470bd1be5)
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