xref: /aosp_15_r20/external/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker//=- AArch64SchedKryoDetails.td - QC Kryo Scheduling Defs ----*- tablegen -*-=//
2*9880d681SAndroid Build Coastguard Worker//
3*9880d681SAndroid Build Coastguard Worker//                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker//
5*9880d681SAndroid Build Coastguard Worker// This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker// License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker//
8*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker//
10*9880d681SAndroid Build Coastguard Worker// This file defines the uop and latency details for the machine model for the
11*9880d681SAndroid Build Coastguard Worker// Qualcomm Kryo subtarget.
12*9880d681SAndroid Build Coastguard Worker//
13*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_noRSV_138ln :
16*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
17*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 2;
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_noRSV_138ln],
20*9880d681SAndroid Build Coastguard Worker    (instregex "(S|U)R?SRA(d|(v2i32|v4i16|v8i8)_shift)")>;
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_139ln :
23*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
24*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 2;
25*9880d681SAndroid Build Coastguard Worker}
26*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_139ln],
27*9880d681SAndroid Build Coastguard Worker    (instregex "(S|U)R?SRA(v2i64|v4i32|v8i16|v16i8)_shift")>;
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_XY_XY_noRSV_172ln :
30*9880d681SAndroid Build Coastguard Worker    SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
31*9880d681SAndroid Build Coastguard Worker    let Latency = 4; let NumMicroOps = 3;
32*9880d681SAndroid Build Coastguard Worker}
33*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_XY_XY_noRSV_172ln],
34*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ABA(v8i8|v4i16|v2i32)")>;
35*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_XY_XY_XY_XY_178ln :
36*9880d681SAndroid Build Coastguard Worker    SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitXY, KryoUnitXY]> {
37*9880d681SAndroid Build Coastguard Worker    let Latency = 4; let NumMicroOps = 4;
38*9880d681SAndroid Build Coastguard Worker}
39*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_XY_XY_XY_XY_178ln],
40*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ABA(v16i8|v8i16|v4i32)")>;
41*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_XY_XY_177ln :
42*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitXY, KryoUnitXY]> {
43*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 4;
44*9880d681SAndroid Build Coastguard Worker}
45*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_XY_XY_177ln],
46*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ABALv.*")>;
47*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_166ln :
48*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
49*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 2;
50*9880d681SAndroid Build Coastguard Worker}
51*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_166ln],
52*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(ABD|QSUB|RHADD)(v16i8|v8i16|v4i32|v2i64)")>;
53*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_159ln :
54*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
55*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 2;
56*9880d681SAndroid Build Coastguard Worker}
57*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_159ln],
58*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(ABD|RHADD)(v8i8|v4i16|v2i32)")>;
59*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_165ln :
60*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
61*9880d681SAndroid Build Coastguard Worker    let Latency = 3; let NumMicroOps = 2;
62*9880d681SAndroid Build Coastguard Worker}
63*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_165ln],
64*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ABDLv.*")>;
65*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_noRSV_154ln :
66*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
67*9880d681SAndroid Build Coastguard Workerlet Latency = 3; let NumMicroOps = 2;
68*9880d681SAndroid Build Coastguard Worker}
69*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_noRSV_154ln],
70*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ADALP(v8i8|v4i16|v2i32)_v.*")>;
71*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_155ln :
72*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
73*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
74*9880d681SAndroid Build Coastguard Worker}
75*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_155ln],
76*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)ADALP(v16i8|v8i16|v4i32)_v.*")>;
77*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_151ln :
78*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
79*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
80*9880d681SAndroid Build Coastguard Worker}
81*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_151ln],
82*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(ADD|SUB)Lv.*")>;
83*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_148ln :
84*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
85*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
86*9880d681SAndroid Build Coastguard Worker}
87*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_148ln],
88*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)ADDLP|ABS)(v2i32|v4i16|v8i8)(_v.*)?")>;
89*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_150ln :
90*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
91*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
92*9880d681SAndroid Build Coastguard Worker}
93*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_150ln],
94*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)ADDLP|ABS)(v2i64|v4i32|v8i16|v16i8)(_v.*)?")>;
95*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_XY_noRSV_179ln :
96*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitXY]> {
97*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
98*9880d681SAndroid Build Coastguard Worker}
99*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_XY_noRSV_179ln],
100*9880d681SAndroid Build Coastguard Worker	(instrs SADDLVv4i32v, UADDLVv4i32v)>;
101*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_XY_XY_XY_noRSV_180ln :
102*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitXY]> {
103*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 4;
104*9880d681SAndroid Build Coastguard Worker}
105*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_XY_XY_XY_noRSV_180ln],
106*9880d681SAndroid Build Coastguard Worker	(instrs SADDLVv8i16v, UADDLVv8i16v)>;
107*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_XY_XY_X_noRSV_181ln :
108*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitX]> {
109*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 4;
110*9880d681SAndroid Build Coastguard Worker}
111*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_XY_XY_X_noRSV_181ln],
112*9880d681SAndroid Build Coastguard Worker	(instrs SADDLVv16i8v, UADDLVv16i8v)>;
113*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_158ln :
114*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
115*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
116*9880d681SAndroid Build Coastguard Worker}
117*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_158ln],
118*9880d681SAndroid Build Coastguard Worker	(instrs SADDLVv4i16v, UADDLVv4i16v, ADDVv4i16v)>;
119*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_169ln :
120*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
121*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
122*9880d681SAndroid Build Coastguard Worker}
123*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_169ln],
124*9880d681SAndroid Build Coastguard Worker	(instrs SADDLVv8i8v, UADDLVv8i8v, ADDVv8i8v)>;
125*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_XY_XY_176ln :
126*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitXY, KryoUnitXY]> {
127*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 4;
128*9880d681SAndroid Build Coastguard Worker}
129*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_XY_XY_176ln],
130*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(ADDW|SUBW)v.*")>;
131*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_40ln :
132*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
133*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
134*9880d681SAndroid Build Coastguard Worker}
135*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_40ln],
136*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)CVTFS(W|X)(D|S)ri")>;
137*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_97ln :
138*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
139*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
140*9880d681SAndroid Build Coastguard Worker}
141*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_97ln],
142*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)CVTFU(W|X)(D|S)ri")>;
143*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_110ln :
144*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
145*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
146*9880d681SAndroid Build Coastguard Worker}
147*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_110ln],
148*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)CVTF(v1i32|v2i32|v1i64|v2f32|d|s)(_shift)?")>;
149*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_114ln :
150*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
151*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
152*9880d681SAndroid Build Coastguard Worker}
153*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_114ln],
154*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)CVTF(v2i64|v4i32|v2f64|v4f32)(_shift)?")>;
155*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_98ln :
156*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY]> {
157*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
158*9880d681SAndroid Build Coastguard Worker}
159*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_98ln],
160*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)DIV(_Int)?(W|X)r")>;
161*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_152ln :
162*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
163*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
164*9880d681SAndroid Build Coastguard Worker}
165*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_152ln],
166*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)H(ADD|SUB)(v16i8|v8i16|v4i32)")>;
167*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_149ln :
168*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
169*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
170*9880d681SAndroid Build Coastguard Worker}
171*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_149ln],
172*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)H(ADD|SUB)|ADDP)(v8i8|v4i16|v2i32)")>;
173*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_70ln :
174*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
175*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
176*9880d681SAndroid Build Coastguard Worker}
177*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_70ln],
178*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(MADDL|MSUBL)rrr")>;
179*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_191ln :
180*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
181*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
182*9880d681SAndroid Build Coastguard Worker}
183*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_191ln],
184*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U|SQD)(MLAL|MLSL|MULL)v.*")>;
185*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_195ln :
186*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
187*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
188*9880d681SAndroid Build Coastguard Worker}
189*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_195ln],
190*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)MOVv.*")>;
191*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_71ln :
192*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
193*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 1;
194*9880d681SAndroid Build Coastguard Worker}
195*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_71ln],
196*9880d681SAndroid Build Coastguard Worker	(instrs SMULHrr, UMULHrr)>;
197*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_186ln :
198*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
199*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
200*9880d681SAndroid Build Coastguard Worker}
201*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_186ln],
202*9880d681SAndroid Build Coastguard Worker	(instregex "^(S|U)QADD(v8i8|v4i16|v2i32)")>;
203*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_187ln :
204*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
205*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
206*9880d681SAndroid Build Coastguard Worker}
207*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_187ln],
208*9880d681SAndroid Build Coastguard Worker	(instregex "^(S|U)QADD(v16i8|v8i16|v4i32|v2i64)")>;
209*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_69ln :
210*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
211*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
212*9880d681SAndroid Build Coastguard Worker}
213*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_69ln],
214*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U|SU|US)QADD(v1i8|v1i16|v2i16|v1i32|v1i64)")>;
215*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_248ln :
216*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
217*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
218*9880d681SAndroid Build Coastguard Worker}
219*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_248ln],
220*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)QSHLU?(d|s|h|b|(v8i8|v4i16|v2i32)_shift)$")>;
221*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_250ln :
222*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
223*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
224*9880d681SAndroid Build Coastguard Worker}
225*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_250ln],
226*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(QSHLU?|RSHR)(v16i8|v8i16|v4i32|v2i64)_shift$")>;
227*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_246ln :
228*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
229*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
230*9880d681SAndroid Build Coastguard Worker}
231*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_246ln],
232*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(QSHL|RSHL|QRSHL)(v1i8|v1i16|v1i32|v1i64|v8i8|v4i16|v2i32)$")>;
233*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_251ln :
234*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
235*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
236*9880d681SAndroid Build Coastguard Worker}
237*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_251ln],
238*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(QSHL|RSHL|QRSHL)(v16i8|v8i16|v4i32|v2i64)$")>;
239*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_XY_X_238ln :
240*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
241*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
242*9880d681SAndroid Build Coastguard Worker}
243*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_XY_X_238ln],
244*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)QR?SHRN|SQR?SHRUN)(v16i8|v8i16|v4i32)_shift$")>;
245*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_249ln :
246*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
247*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
248*9880d681SAndroid Build Coastguard Worker}
249*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_249ln],
250*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)QR?SHRN|SQR?SHRUN)(s|h|b)?")>;
251*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_XY_X_noRSV_252ln :
252*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
253*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 3;
254*9880d681SAndroid Build Coastguard Worker}
255*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_XY_X_noRSV_252ln],
256*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)QR?SHRN|SQR?SHRUN)(v8i8|v4i16|v2i32)_shift?")>;
257*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_161ln :
258*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
259*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
260*9880d681SAndroid Build Coastguard Worker}
261*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_161ln],
262*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)QSUB(v8i8|v4i16|v2i32|v1i64|v1i32|v1i16|v1i8)")>;
263*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_163ln :
264*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
265*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
266*9880d681SAndroid Build Coastguard Worker}
267*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_163ln],
268*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)QXTU?N(v16i8|v8i16|v4i32|v8i8|v4i16|v2i32)")>;
269*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_162ln :
270*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
271*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
272*9880d681SAndroid Build Coastguard Worker}
273*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_162ln],
274*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)QXTU?N(v1i8|v1i16|v1i32)")>;
275*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_247ln :
276*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
277*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
278*9880d681SAndroid Build Coastguard Worker}
279*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_247ln],
280*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)RSHR(d|(v8i8|v4i16|v2i32)_shift)$")>;
281*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_239ln :
282*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
283*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
284*9880d681SAndroid Build Coastguard Worker}
285*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_239ln],
286*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)SHL(d|v8i8|v4i16|v2i32|v1i64)$")>;
287*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_243ln :
288*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
289*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
290*9880d681SAndroid Build Coastguard Worker}
291*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_243ln],
292*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)SHL(v16i8|v8i16|v4i32|v2i64)$")>;
293*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_241ln :
294*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
295*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
296*9880d681SAndroid Build Coastguard Worker}
297*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_241ln],
298*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)?SHLL(v16i8|v8i16|v4i32|v8i8|v4i16|v2i32)(_shift)?$")>;
299*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_240ln :
300*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
301*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
302*9880d681SAndroid Build Coastguard Worker}
303*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_240ln],
304*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)SHR|SHL)(d|(v8i8|v4i16|v2i32)_shift)$")>;
305*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_242ln :
306*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
307*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
308*9880d681SAndroid Build Coastguard Worker}
309*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_242ln],
310*9880d681SAndroid Build Coastguard Worker	(instregex "((S|U)SHR|SHL)(v16i8|v8i16|v4i32|v2i64)_shift$")>;
311*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_183ln :
312*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
313*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
314*9880d681SAndroid Build Coastguard Worker}
315*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_183ln],
316*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(MAX|MIN)P?(v16i8|v8i16|v4i32)")>;
317*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_182ln :
318*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
319*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
320*9880d681SAndroid Build Coastguard Worker}
321*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_182ln],
322*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(MAX|MIN)P?(v8i8|v4i16|v2i32)")>;
323*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_184ln :
324*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
325*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
326*9880d681SAndroid Build Coastguard Worker}
327*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_184ln],
328*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(MAX|MIN)V(v4i16v|v8i8v|v4i32)")>;
329*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_185ln :
330*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
331*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
332*9880d681SAndroid Build Coastguard Worker}
333*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_185ln],
334*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)(MAX|MIN)V(v16i8v|v8i16v)")>;
335*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_67ln :
336*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
337*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
338*9880d681SAndroid Build Coastguard Worker}
339*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_67ln],
340*9880d681SAndroid Build Coastguard Worker	(instrs ABSv1i64)>;
341*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_63ln :
342*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
343*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
344*9880d681SAndroid Build Coastguard Worker}
345*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_63ln, ReadI, ReadI],
346*9880d681SAndroid Build Coastguard Worker	(instregex "ADC.*")>;
347*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_63_1ln :
348*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
349*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
350*9880d681SAndroid Build Coastguard Worker}
351*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_63_1ln],
352*9880d681SAndroid Build Coastguard Worker	(instregex "ADR.*")>;
353*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_62ln :
354*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
355*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
356*9880d681SAndroid Build Coastguard Worker}
357*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_62ln, ReadI],
358*9880d681SAndroid Build Coastguard Worker	(instregex "ADDS?(W|X)ri")>;
359*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_64ln :
360*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
361*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
362*9880d681SAndroid Build Coastguard Worker}
363*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_64ln, ReadI, ReadI],
364*9880d681SAndroid Build Coastguard Worker	(instregex "ADDS?(W|X)r(r|s|x)(64)?")>;
365*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_65ln :
366*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
367*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
368*9880d681SAndroid Build Coastguard Worker}
369*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_65ln],
370*9880d681SAndroid Build Coastguard Worker	(instrs ADDv1i64)>;
371*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_144ln :
372*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
373*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
374*9880d681SAndroid Build Coastguard Worker}
375*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_144ln],
376*9880d681SAndroid Build Coastguard Worker	(instregex "(ADD|SUB)(v8i8|v4i16|v2i32|v1i64)")>;
377*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_146ln :
378*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
379*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
380*9880d681SAndroid Build Coastguard Worker}
381*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_146ln],
382*9880d681SAndroid Build Coastguard Worker	(instregex "(ADD|SUB)(v16i8|v8i16|v4i32|v2i64)")>;
383*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_XY_X_noRSV_171ln :
384*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
385*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
386*9880d681SAndroid Build Coastguard Worker}
387*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_XY_X_noRSV_171ln],
388*9880d681SAndroid Build Coastguard Worker	(instregex "(ADD|SUB)HNv.*")>;
389*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_66ln :
390*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
391*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
392*9880d681SAndroid Build Coastguard Worker}
393*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_66ln],
394*9880d681SAndroid Build Coastguard Worker	(instrs ADDPv2i64p)>;
395*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_153ln :
396*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
397*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
398*9880d681SAndroid Build Coastguard Worker}
399*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_153ln],
400*9880d681SAndroid Build Coastguard Worker	(instregex "ADDP(v16i8|v8i16|v4i32|v2i64)")>;
401*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_noRSV_170ln :
402*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
403*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
404*9880d681SAndroid Build Coastguard Worker}
405*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_noRSV_170ln],
406*9880d681SAndroid Build Coastguard Worker	(instrs ADDVv4i32v)>;
407*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_XY_XY_noRSV_173ln :
408*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
409*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
410*9880d681SAndroid Build Coastguard Worker}
411*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_XY_XY_noRSV_173ln],
412*9880d681SAndroid Build Coastguard Worker	(instrs ADDVv8i16v)>;
413*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_XY_X_noRSV_174ln :
414*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
415*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 3;
416*9880d681SAndroid Build Coastguard Worker}
417*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_XY_X_noRSV_174ln],
418*9880d681SAndroid Build Coastguard Worker	(instrs ADDVv16i8v)>;
419*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_X_X_27ln :
420*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitX, KryoUnitX]> {
421*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
422*9880d681SAndroid Build Coastguard Worker}
423*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_X_X_27ln],
424*9880d681SAndroid Build Coastguard Worker	(instrs AESDrr, AESErr)>;
425*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_22ln :
426*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
427*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
428*9880d681SAndroid Build Coastguard Worker}
429*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_22ln],
430*9880d681SAndroid Build Coastguard Worker	(instrs AESIMCrr, AESMCrr)>;
431*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_76ln :
432*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
433*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
434*9880d681SAndroid Build Coastguard Worker}
435*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_76ln],
436*9880d681SAndroid Build Coastguard Worker	(instregex "((AND|ORN|EOR|EON)S?(Wr[rsi]|v8i8|v4i16|v2i32)|(ORR|BIC)S?(Wr[rs]|v8i8|v4i16|v2i32))")>;
437*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_79ln :
438*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
439*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
440*9880d681SAndroid Build Coastguard Worker}
441*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_79ln],
442*9880d681SAndroid Build Coastguard Worker	(instregex "((AND|ORN|EOR|EON)S?(Xr[rsi]|v16i8|v8i16|v4i32)|(ORR|BIC)S?(Xr[rs]|v16i8|v8i16|v4i32))")>;
443*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_72ln :
444*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
445*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
446*9880d681SAndroid Build Coastguard Worker}
447*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_72ln],
448*9880d681SAndroid Build Coastguard Worker	(instregex "(S|U)?BFM.*")>;
449*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_77ln :
450*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
451*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
452*9880d681SAndroid Build Coastguard Worker}
453*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_77ln],
454*9880d681SAndroid Build Coastguard Worker	(instregex "(BIC|ORR)S?Wri")>;
455*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_78ln :
456*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
457*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
458*9880d681SAndroid Build Coastguard Worker}
459*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_78ln],
460*9880d681SAndroid Build Coastguard Worker	(instregex "(BIC|ORR)S?Xri")>;
461*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_noRSV_74ln :
462*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
463*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
464*9880d681SAndroid Build Coastguard Worker}
465*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_noRSV_74ln],
466*9880d681SAndroid Build Coastguard Worker	(instrs BIFv8i8, BITv8i8, BSLv8i8)>;
467*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_75ln :
468*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
469*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
470*9880d681SAndroid Build Coastguard Worker}
471*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_75ln],
472*9880d681SAndroid Build Coastguard Worker	(instrs BIFv16i8, BITv16i8, BSLv16i8)>;
473*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_noRSV_11ln :
474*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[]> {
475*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
476*9880d681SAndroid Build Coastguard Worker}
477*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_noRSV_11ln],
478*9880d681SAndroid Build Coastguard Worker	(instrs BRK, DCPS1, DCPS2, DCPS3, HLT, HVC, ISB, HINT, SMC, SVC)>;
479*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_XY_16ln :
480*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
481*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
482*9880d681SAndroid Build Coastguard Worker}
483*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_XY_16ln, ReadI],
484*9880d681SAndroid Build Coastguard Worker	(instregex "(CCMN|CCMP)(W|X)i")>;
485*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_XY_16_1ln :
486*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
487*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
488*9880d681SAndroid Build Coastguard Worker}
489*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_XY_16_1ln, ReadI, ReadI],
490*9880d681SAndroid Build Coastguard Worker	(instregex "(CCMN|CCMP)(W|X)r")>;
491*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_3ln :
492*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
493*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 1;
494*9880d681SAndroid Build Coastguard Worker}
495*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_3ln, ReadI],
496*9880d681SAndroid Build Coastguard Worker	(instregex "(CLS|CLZ)(W|X)r")>;
497*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_7ln :
498*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
499*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
500*9880d681SAndroid Build Coastguard Worker}
501*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_7ln],
502*9880d681SAndroid Build Coastguard Worker	(instregex "(CLS|CLZ|CNT)(v4i32|v8i16|v16i8)")>;
503*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_8ln :
504*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
505*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
506*9880d681SAndroid Build Coastguard Worker}
507*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_8ln],
508*9880d681SAndroid Build Coastguard Worker	(instregex "(CLS|CLZ|CNT)(v2i32|v4i16|v8i8)")>;
509*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_80ln :
510*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
511*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
512*9880d681SAndroid Build Coastguard Worker}
513*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_80ln],
514*9880d681SAndroid Build Coastguard Worker	(instregex "CM(EQ|GE|HS|GT|HI|TST)(v8i8|v4i16|v2i32|v1i64)$")>;
515*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_83ln :
516*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
517*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
518*9880d681SAndroid Build Coastguard Worker}
519*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_83ln],
520*9880d681SAndroid Build Coastguard Worker	(instregex "CM(EQ|GE|HS|GT|HI|TST)(v16i8|v8i16|v4i32|v2i64)$")>;
521*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_81ln :
522*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
523*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
524*9880d681SAndroid Build Coastguard Worker}
525*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_81ln],
526*9880d681SAndroid Build Coastguard Worker	(instregex "CM(EQ|LE|GE|GT|LT)(v8i8|v4i16|v2i32|v1i64)rz$")>;
527*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_82ln :
528*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
529*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
530*9880d681SAndroid Build Coastguard Worker}
531*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_82ln],
532*9880d681SAndroid Build Coastguard Worker	(instregex "CM(EQ|LE|GE|GT|LT)(v16i8|v8i16|v4i32|v2i64)rz$")>;
533*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_4ln :
534*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
535*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
536*9880d681SAndroid Build Coastguard Worker}
537*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_4ln, ReadI, ReadISReg],
538*9880d681SAndroid Build Coastguard Worker	(instregex "CRC32.*")>;
539*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_20ln :
540*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
541*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
542*9880d681SAndroid Build Coastguard Worker}
543*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_20ln, ReadI, ReadI],
544*9880d681SAndroid Build Coastguard Worker	(instregex "CSEL(W|X)r")>;
545*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_17ln :
546*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
547*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
548*9880d681SAndroid Build Coastguard Worker}
549*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_17ln, ReadI, ReadI],
550*9880d681SAndroid Build Coastguard Worker	(instregex "(CSINC|CSNEG)(W|X)r")>;
551*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_18ln :
552*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
553*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
554*9880d681SAndroid Build Coastguard Worker}
555*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_18ln, ReadI, ReadI],
556*9880d681SAndroid Build Coastguard Worker	(instregex "(CSINV)(W|X)r")>;
557*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_X_13ln :
558*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX]> {
559*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
560*9880d681SAndroid Build Coastguard Worker}
561*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_X_13ln],
562*9880d681SAndroid Build Coastguard Worker	(instrs DRPS)>;
563*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_10ln :
564*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
565*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
566*9880d681SAndroid Build Coastguard Worker}
567*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_10ln],
568*9880d681SAndroid Build Coastguard Worker	(instrs DSB, DMB, CLREX)>;
569*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_noRSV_196ln :
570*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
571*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
572*9880d681SAndroid Build Coastguard Worker}
573*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_noRSV_196ln],
574*9880d681SAndroid Build Coastguard Worker	(instregex "DUP(v8i8|v4i16|v2i32)(gpr|lane)")>;
575*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_197ln :
576*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
577*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
578*9880d681SAndroid Build Coastguard Worker}
579*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_197ln],
580*9880d681SAndroid Build Coastguard Worker	(instregex "DUP(v16i8|v8i16|v4i32|v2i64)(gpr|lane)")>;
581*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_X_15ln :
582*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX]> {
583*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
584*9880d681SAndroid Build Coastguard Worker}
585*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_X_15ln],
586*9880d681SAndroid Build Coastguard Worker	(instrs ERET)>;
587*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_noRSV_207ln :
588*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
589*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
590*9880d681SAndroid Build Coastguard Worker}
591*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_noRSV_207ln],
592*9880d681SAndroid Build Coastguard Worker	(instrs EXTv8i8)>;
593*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_212ln :
594*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
595*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
596*9880d681SAndroid Build Coastguard Worker}
597*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_212ln],
598*9880d681SAndroid Build Coastguard Worker	(instrs EXTv16i8)>;
599*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_X_136ln :
600*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
601*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
602*9880d681SAndroid Build Coastguard Worker}
603*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_X_136ln],
604*9880d681SAndroid Build Coastguard Worker	(instrs EXTRWrri, EXTRXrri)>;
605*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_35ln :
606*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
607*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
608*9880d681SAndroid Build Coastguard Worker}
609*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_35ln],
610*9880d681SAndroid Build Coastguard Worker	(instregex "F(MAX|MIN)(NM)?P?(D|S)rr")>;
611*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_106ln :
612*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
613*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
614*9880d681SAndroid Build Coastguard Worker}
615*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_106ln],
616*9880d681SAndroid Build Coastguard Worker	(instregex "(F(MAX|MIN)(NM)?P?|FAC(GE|GT)|FCM(EQ|GE|GT))(v2i64p|v2f64|v4f32)")>;
617*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_104ln :
618*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
619*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
620*9880d681SAndroid Build Coastguard Worker}
621*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_104ln],
622*9880d681SAndroid Build Coastguard Worker	(instregex "(F(MAX|MIN)(NM)?P?|FAC(GE|GT)|FCM(EQ|GE|GT))(v2f32|v2i32p)")>;
623*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_107ln :
624*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
625*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
626*9880d681SAndroid Build Coastguard Worker}
627*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_107ln],
628*9880d681SAndroid Build Coastguard Worker	(instregex "F(MAX|MIN)(NM)?Vv4i32v")>;
629*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_101ln :
630*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
631*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
632*9880d681SAndroid Build Coastguard Worker}
633*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_101ln],
634*9880d681SAndroid Build Coastguard Worker	(instregex "FABD(32|64|v2f32)")>;
635*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_103ln :
636*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
637*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
638*9880d681SAndroid Build Coastguard Worker}
639*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_103ln],
640*9880d681SAndroid Build Coastguard Worker	(instregex "(FABD|FADD|FSUB|FADDP)(v4f32|v2f64)")>;
641*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_48ln :
642*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
643*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
644*9880d681SAndroid Build Coastguard Worker}
645*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_48ln],
646*9880d681SAndroid Build Coastguard Worker	(instregex "F(ABS|NEG)(D|S)r")>;
647*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_124ln :
648*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
649*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
650*9880d681SAndroid Build Coastguard Worker}
651*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_124ln],
652*9880d681SAndroid Build Coastguard Worker	(instregex "F(ABS|NEG)v2f32")>;
653*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_125ln :
654*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
655*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
656*9880d681SAndroid Build Coastguard Worker}
657*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_125ln],
658*9880d681SAndroid Build Coastguard Worker	(instregex "F(ABS|NEG)(v2f64|v4f32)")>;
659*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_33ln :
660*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
661*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
662*9880d681SAndroid Build Coastguard Worker}
663*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_33ln],
664*9880d681SAndroid Build Coastguard Worker	(instregex "(FAC(GE|GT)|FCM(EQ|GE|GT))(32|64)")>;
665*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_30ln :
666*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
667*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
668*9880d681SAndroid Build Coastguard Worker}
669*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_30ln],
670*9880d681SAndroid Build Coastguard Worker	(instregex "(FADD|FSUB)(D|S)rr")>;
671*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_100ln :
672*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
673*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
674*9880d681SAndroid Build Coastguard Worker}
675*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_100ln],
676*9880d681SAndroid Build Coastguard Worker	(instregex "(FADD|FSUB|FADDP)v2f32")>;
677*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_29ln :
678*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
679*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
680*9880d681SAndroid Build Coastguard Worker}
681*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_29ln],
682*9880d681SAndroid Build Coastguard Worker	(instregex "FADDP(v2i32p|v2i64p)")>;
683*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_XY_31ln :
684*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
685*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
686*9880d681SAndroid Build Coastguard Worker}
687*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_XY_31ln],
688*9880d681SAndroid Build Coastguard Worker	(instregex "FCCMPE?(D|S)rr")>;
689*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_34ln :
690*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
691*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
692*9880d681SAndroid Build Coastguard Worker}
693*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_34ln],
694*9880d681SAndroid Build Coastguard Worker	(instregex "FCM(EQ|LE|GE|GT|LT)(v1i32|v1i64)rz")>;
695*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_36ln :
696*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
697*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
698*9880d681SAndroid Build Coastguard Worker}
699*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_36ln],
700*9880d681SAndroid Build Coastguard Worker	(instregex "FCM(EQ|LE|GE|GT|LT)(v2i64|v4i32)rz")>;
701*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_105ln :
702*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
703*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
704*9880d681SAndroid Build Coastguard Worker}
705*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_105ln],
706*9880d681SAndroid Build Coastguard Worker	(instregex "FCM(EQ|LE|GE|GT|LT)v2i32rz")>;
707*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_XY_32ln :
708*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
709*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
710*9880d681SAndroid Build Coastguard Worker}
711*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_XY_32ln],
712*9880d681SAndroid Build Coastguard Worker	(instregex "FCMPE?(D|S)r(r|i)")>;
713*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_49ln :
714*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
715*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
716*9880d681SAndroid Build Coastguard Worker}
717*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_49ln],
718*9880d681SAndroid Build Coastguard Worker	(instrs FCSELDrrr, FCSELSrrr)>;
719*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_41ln :
720*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
721*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
722*9880d681SAndroid Build Coastguard Worker}
723*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_41ln],
724*9880d681SAndroid Build Coastguard Worker	(instrs FCVTDHr, FCVTDSr, FCVTHDr, FCVTHSr, FCVTSDr, FCVTSHr)>;
725*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_38ln :
726*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
727*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
728*9880d681SAndroid Build Coastguard Worker}
729*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_38ln],
730*9880d681SAndroid Build Coastguard Worker	(instregex "FCVT(((A|N|M|P)(S|U)(S|U)|Z(S|U)_Int(S|U))(W|X)(D|S)ri?|Z(S|U)(d|s))$")>;
731*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_113ln :
732*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
733*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
734*9880d681SAndroid Build Coastguard Worker}
735*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_113ln],
736*9880d681SAndroid Build Coastguard Worker	(instregex "FCVT((A|N|M|P)(S|U)|Z(S|U)_Int)(v1i32|v1i64|v2f32)$")>;
737*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_117ln :
738*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
739*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
740*9880d681SAndroid Build Coastguard Worker}
741*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_117ln],
742*9880d681SAndroid Build Coastguard Worker	(instregex "FCVT((A|N|M|P)(S|U)|Z(S|U)_Int)(v4f32|v2f64)$")>;
743*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_XY_noRSV_119ln :
744*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitXY]> {
745*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 4;
746*9880d681SAndroid Build Coastguard Worker}
747*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_XY_noRSV_119ln],
748*9880d681SAndroid Build Coastguard Worker	(instregex "FCVTX?N(v2f32|v4f32|v2i32|v4i16|v4i32|v8i16)$")>;
749*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_116ln :
750*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
751*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
752*9880d681SAndroid Build Coastguard Worker}
753*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_116ln],
754*9880d681SAndroid Build Coastguard Worker	(instregex "FCVTL(v2i32|v4i16|v4i32|v8i16)$")>;
755*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_112ln :
756*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
757*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
758*9880d681SAndroid Build Coastguard Worker}
759*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_112ln],
760*9880d681SAndroid Build Coastguard Worker	(instrs FCVTXNv1i64)>;
761*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_37ln :
762*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
763*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
764*9880d681SAndroid Build Coastguard Worker}
765*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_37ln],
766*9880d681SAndroid Build Coastguard Worker	(instregex "FCVTZ(S|U)(S|U)(W|X)(D|S)ri?$")>;
767*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_111ln :
768*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
769*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
770*9880d681SAndroid Build Coastguard Worker}
771*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_111ln],
772*9880d681SAndroid Build Coastguard Worker	(instregex "FCVTZ(S|U)(v2f32|v1i32|v1i64|v2i32(_shift)?)$")>;
773*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_115ln :
774*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
775*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
776*9880d681SAndroid Build Coastguard Worker}
777*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_115ln],
778*9880d681SAndroid Build Coastguard Worker	(instregex "FCVTZ(S|U)(v2f64|v4f32|(v2i64|v4i32)(_shift)?)$")>;
779*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_noRSV_43ln :
780*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY]> {
781*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
782*9880d681SAndroid Build Coastguard Worker}
783*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_noRSV_43ln],
784*9880d681SAndroid Build Coastguard Worker	(instrs FDIVDrr, FDIVSrr)>;
785*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_noRSV_121ln :
786*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY]> {
787*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
788*9880d681SAndroid Build Coastguard Worker}
789*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_noRSV_121ln],
790*9880d681SAndroid Build Coastguard Worker	(instrs FDIVv2f32)>;
791*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_XA_Y_123ln :
792*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY, KryoUnitXA, KryoUnitY]> {
793*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 4;
794*9880d681SAndroid Build Coastguard Worker}
795*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_XA_Y_123ln],
796*9880d681SAndroid Build Coastguard Worker	(instrs FDIVv2f64, FDIVv4f32)>;
797*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_55ln :
798*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
799*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
800*9880d681SAndroid Build Coastguard Worker}
801*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_55ln],
802*9880d681SAndroid Build Coastguard Worker	(instregex "FN?M(ADD|SUB)Srrr")>;
803*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_noRSV_57ln :
804*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
805*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
806*9880d681SAndroid Build Coastguard Worker}
807*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_noRSV_57ln],
808*9880d681SAndroid Build Coastguard Worker	(instregex "FN?M(ADD|SUB)Drrr")>;
809*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_51ln :
810*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
811*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
812*9880d681SAndroid Build Coastguard Worker}
813*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_51ln],
814*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv2f32, FMLSv2f32, FMLAv1i32_indexed, FMLSv1i32_indexed)>;
815*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_56ln :
816*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
817*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
818*9880d681SAndroid Build Coastguard Worker}
819*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_56ln],
820*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv4f32, FMLSv4f32)>;
821*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_X_61ln :
822*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
823*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
824*9880d681SAndroid Build Coastguard Worker}
825*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_X_61ln],
826*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv2f64, FMLSv2f64)>;
827*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_128ln :
828*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
829*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
830*9880d681SAndroid Build Coastguard Worker}
831*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_128ln],
832*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv2i32_indexed, FMLSv2i32_indexed)>;
833*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_131ln :
834*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
835*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
836*9880d681SAndroid Build Coastguard Worker}
837*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_131ln],
838*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv4i32_indexed, FMLSv4i32_indexed)>;
839*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_X_134ln :
840*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
841*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
842*9880d681SAndroid Build Coastguard Worker}
843*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_X_134ln],
844*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv2i64_indexed, FMLSv2i64_indexed)>;
845*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_noRSV_60ln :
846*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
847*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
848*9880d681SAndroid Build Coastguard Worker}
849*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_noRSV_60ln],
850*9880d681SAndroid Build Coastguard Worker	(instrs FMLAv1i64_indexed, FMLSv1i64_indexed, FMULv1i64_indexed, FMULXv1i64_indexed)>;
851*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_45ln :
852*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
853*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
854*9880d681SAndroid Build Coastguard Worker}
855*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_45ln],
856*9880d681SAndroid Build Coastguard Worker	(instregex "FMOV(XDHigh|DXHigh|DX)r")>;
857*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_47ln :
858*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
859*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
860*9880d681SAndroid Build Coastguard Worker}
861*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_47ln],
862*9880d681SAndroid Build Coastguard Worker	(instregex "FMOV(Di|Dr|Si|Sr|SWr|WSr|XDr|v.*_ns)")>;
863*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_53ln :
864*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
865*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
866*9880d681SAndroid Build Coastguard Worker}
867*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_53ln],
868*9880d681SAndroid Build Coastguard Worker	(instrs FMULv1i32_indexed, FMULXv1i32_indexed)>;
869*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_127ln :
870*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
871*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
872*9880d681SAndroid Build Coastguard Worker}
873*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_127ln],
874*9880d681SAndroid Build Coastguard Worker	(instrs FMULv2f32, FMULXv2f32, FMULv2i32_indexed, FMULXv2i32_indexed)>;
875*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_130ln :
876*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
877*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
878*9880d681SAndroid Build Coastguard Worker}
879*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_130ln],
880*9880d681SAndroid Build Coastguard Worker	(instrs FMULv4f32, FMULXv4f32, FMULv4i32_indexed, FMULXv4i32_indexed)>;
881*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_X_133ln :
882*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
883*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
884*9880d681SAndroid Build Coastguard Worker}
885*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_X_133ln],
886*9880d681SAndroid Build Coastguard Worker	(instrs FMULv2f64, FMULXv2f64, FMULv2i64_indexed, FMULXv2i64_indexed)>;
887*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_54ln :
888*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
889*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
890*9880d681SAndroid Build Coastguard Worker}
891*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_54ln],
892*9880d681SAndroid Build Coastguard Worker	(instrs FMULSrr, FNMULSrr, FMULX32)>;
893*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_noRSV_59ln :
894*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
895*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
896*9880d681SAndroid Build Coastguard Worker}
897*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_noRSV_59ln],
898*9880d681SAndroid Build Coastguard Worker	(instrs FMULDrr, FNMULDrr, FMULX64)>;
899*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_28ln :
900*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
901*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
902*9880d681SAndroid Build Coastguard Worker}
903*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_28ln],
904*9880d681SAndroid Build Coastguard Worker	(instrs FRECPEv1i32, FRECPEv1i64, FRSQRTEv1i32, FRSQRTEv1i64 )>;
905*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_99ln :
906*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
907*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
908*9880d681SAndroid Build Coastguard Worker}
909*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_99ln],
910*9880d681SAndroid Build Coastguard Worker	(instrs FRECPEv2f32, FRSQRTEv2f32)>;
911*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_102ln :
912*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
913*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
914*9880d681SAndroid Build Coastguard Worker}
915*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_102ln],
916*9880d681SAndroid Build Coastguard Worker	(instrs FRECPEv2f64, FRECPEv4f32, FRSQRTEv2f64, FRSQRTEv4f32)>;
917*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_52ln :
918*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
919*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
920*9880d681SAndroid Build Coastguard Worker}
921*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_52ln],
922*9880d681SAndroid Build Coastguard Worker	(instrs FRECPS32, FRSQRTS32)>;
923*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_noRSV_58ln :
924*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
925*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
926*9880d681SAndroid Build Coastguard Worker}
927*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_noRSV_58ln],
928*9880d681SAndroid Build Coastguard Worker	(instrs FRECPS64, FRSQRTS64)>;
929*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_noRSV_126ln :
930*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
931*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
932*9880d681SAndroid Build Coastguard Worker}
933*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_noRSV_126ln],
934*9880d681SAndroid Build Coastguard Worker	(instrs FRECPSv2f32, FRSQRTSv2f32)>;
935*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_129ln :
936*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
937*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
938*9880d681SAndroid Build Coastguard Worker}
939*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_129ln],
940*9880d681SAndroid Build Coastguard Worker	(instrs FRECPSv4f32, FRSQRTSv4f32)>;
941*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_X_X_132ln :
942*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
943*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 2;
944*9880d681SAndroid Build Coastguard Worker}
945*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_X_X_132ln],
946*9880d681SAndroid Build Coastguard Worker	(instrs FRECPSv2f64, FRSQRTSv2f64)>;
947*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_50ln :
948*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
949*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
950*9880d681SAndroid Build Coastguard Worker}
951*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_50ln],
952*9880d681SAndroid Build Coastguard Worker	(instrs FRECPXv1i32, FRECPXv1i64)>;
953*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_39ln :
954*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
955*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
956*9880d681SAndroid Build Coastguard Worker}
957*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_39ln],
958*9880d681SAndroid Build Coastguard Worker	(instregex "FRINT(A|I|M|N|P|X|Z)(S|D)r")>;
959*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_108ln :
960*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
961*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
962*9880d681SAndroid Build Coastguard Worker}
963*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_108ln],
964*9880d681SAndroid Build Coastguard Worker	(instregex "FRINT(A|I|M|N|P|X|Z)v2f32")>;
965*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_109ln :
966*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
967*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
968*9880d681SAndroid Build Coastguard Worker}
969*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_109ln],
970*9880d681SAndroid Build Coastguard Worker	(instregex "FRINT(A|I|M|N|P|X|Z)(v2f64|v4f32)")>;
971*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_noRSV_42ln :
972*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY]> {
973*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
974*9880d681SAndroid Build Coastguard Worker}
975*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_noRSV_42ln],
976*9880d681SAndroid Build Coastguard Worker	(instregex "FSQRT(S|D)r")>;
977*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_noRSV_120ln :
978*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY]> {
979*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
980*9880d681SAndroid Build Coastguard Worker}
981*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_noRSV_120ln],
982*9880d681SAndroid Build Coastguard Worker	(instregex "FSQRTv2f32")>;
983*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XA_Y_XA_Y_122ln :
984*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitY, KryoUnitXA, KryoUnitY]> {
985*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 4;
986*9880d681SAndroid Build Coastguard Worker}
987*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XA_Y_XA_Y_122ln],
988*9880d681SAndroid Build Coastguard Worker	(instregex "FSQRT(v2f64|v4f32)")>;
989*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_201ln :
990*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
991*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
992*9880d681SAndroid Build Coastguard Worker}
993*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_201ln],
994*9880d681SAndroid Build Coastguard Worker	(instregex "INSv.*")>;
995*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_255ln :
996*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
997*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
998*9880d681SAndroid Build Coastguard Worker}
999*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_255ln],
1000*9880d681SAndroid Build Coastguard Worker	(instregex "LD1(One(v16b|v8h|v4s|v2d)|i64)$")>;
1001*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_X_270ln :
1002*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX]> {
1003*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1004*9880d681SAndroid Build Coastguard Worker}
1005*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_X_270ln],
1006*9880d681SAndroid Build Coastguard Worker	(instregex "LD1(i8|i16|i32)$")>;
1007*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_285ln :
1008*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1009*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1010*9880d681SAndroid Build Coastguard Worker}
1011*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_285ln],
1012*9880d681SAndroid Build Coastguard Worker	(instregex "LD1One(v8b|v4h|v2s|v1d)$")>;
1013*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_289ln :
1014*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1015*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1016*9880d681SAndroid Build Coastguard Worker}
1017*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_289ln, WriteAdr],
1018*9880d681SAndroid Build Coastguard Worker	(instregex "LD1(One(v16b|v8h|v4s|v2d)|i64)_POST$")>;
1019*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_X_298ln :
1020*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitX]> {
1021*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
1022*9880d681SAndroid Build Coastguard Worker}
1023*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_X_298ln, WriteAdr],
1024*9880d681SAndroid Build Coastguard Worker	(instregex "LD1(i8|i16|i32)_POST$")>;
1025*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_308ln :
1026*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1027*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1028*9880d681SAndroid Build Coastguard Worker}
1029*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_308ln],
1030*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Three(v16b|v8h|v4s|v2d)$")>;
1031*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_317ln :
1032*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1033*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1034*9880d681SAndroid Build Coastguard Worker}
1035*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_317ln, WriteAdr],
1036*9880d681SAndroid Build Coastguard Worker	(instregex "LD1One(v8b|v4h|v2s|v1d)_POST$")>;
1037*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_LS_328ln :
1038*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1039*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1040*9880d681SAndroid Build Coastguard Worker}
1041*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_LS_328ln, WriteAdr],
1042*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Four(v16b|v8h|v4s|v2d)_POST$")>;
1043*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_332ln :
1044*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS]> {
1045*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1046*9880d681SAndroid Build Coastguard Worker}
1047*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_332ln, WriteAdr],
1048*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Three(v16b|v8h|v4s|v2d)_POST$")>;
1049*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_348ln :
1050*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1051*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
1052*9880d681SAndroid Build Coastguard Worker}
1053*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_348ln],
1054*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Three(v8b|v4h|v2s|v1d)$")>;
1055*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_LS_351ln :
1056*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1057*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
1058*9880d681SAndroid Build Coastguard Worker}
1059*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_LS_351ln],
1060*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Four(v16b|v8h|v4s|v2d)$")>;
1061*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_noRSV_358ln :
1062*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1063*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 6;
1064*9880d681SAndroid Build Coastguard Worker}
1065*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_noRSV_358ln],
1066*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Four(v8b|v4h|v2s|v1d)$")>;
1067*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_360ln :
1068*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1069*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 6;
1070*9880d681SAndroid Build Coastguard Worker}
1071*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_360ln, WriteAdr],
1072*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Three(v8b|v4h|v2s|v1d)_POST$")>;
1073*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_noRSV_368ln :
1074*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1075*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 7;
1076*9880d681SAndroid Build Coastguard Worker}
1077*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_noRSV_368ln, WriteAdr],
1078*9880d681SAndroid Build Coastguard Worker	(instregex "LD1Four(v8b|v4h|v2s|v1d)_POST$")>;
1079*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_281ln :
1080*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1081*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1082*9880d681SAndroid Build Coastguard Worker}
1083*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_281ln],
1084*9880d681SAndroid Build Coastguard Worker	(instregex "LD(1|2)Two(v16b|v8h|v4s|v2d)$")>;
1085*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_noRSV_311ln :
1086*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1087*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1088*9880d681SAndroid Build Coastguard Worker}
1089*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_noRSV_311ln],
1090*9880d681SAndroid Build Coastguard Worker	(instregex "LD(1|2)Two(v8b|v4h|v2s|v1d)$")>;
1091*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_313ln :
1092*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1093*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1094*9880d681SAndroid Build Coastguard Worker}
1095*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_313ln, WriteAdr],
1096*9880d681SAndroid Build Coastguard Worker	(instregex "LD(1|2)Two(v16b|v8h|v4s|v2d)_POST$")>;
1097*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_noRSV_334ln :
1098*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1099*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1100*9880d681SAndroid Build Coastguard Worker}
1101*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_noRSV_334ln, WriteAdr],
1102*9880d681SAndroid Build Coastguard Worker	(instregex "LD(1|2)Two(v8b|v4h|v2s|v1d)_POST$")>;
1103*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_256ln :
1104*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1105*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1106*9880d681SAndroid Build Coastguard Worker}
1107*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_256ln],
1108*9880d681SAndroid Build Coastguard Worker	(instregex "LD1R(v16b|v8h|v4s|v2d)$")>;
1109*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_286ln :
1110*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1111*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1112*9880d681SAndroid Build Coastguard Worker}
1113*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_286ln],
1114*9880d681SAndroid Build Coastguard Worker	(instregex "LD1R(v8b|v4h|v2s|v1d)$")>;
1115*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_290ln :
1116*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1117*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1118*9880d681SAndroid Build Coastguard Worker}
1119*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_290ln, WriteAdr],
1120*9880d681SAndroid Build Coastguard Worker	(instregex "LD1R(v16b|v8h|v4s|v2d)_POST$")>;
1121*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_318ln :
1122*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1123*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1124*9880d681SAndroid Build Coastguard Worker}
1125*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_318ln, WriteAdr],
1126*9880d681SAndroid Build Coastguard Worker	(instregex "LD1R(v8b|v4h|v2s|v1d)_POST$")>;
1127*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_257ln :
1128*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1129*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1130*9880d681SAndroid Build Coastguard Worker}
1131*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_257ln],
1132*9880d681SAndroid Build Coastguard Worker	(instregex "LD2i64$")>;
1133*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_291ln :
1134*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1135*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1136*9880d681SAndroid Build Coastguard Worker}
1137*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_291ln, WriteAdr],
1138*9880d681SAndroid Build Coastguard Worker	(instregex "LD2i64_POST$")>;
1139*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_X_X_296ln :
1140*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX, KryoUnitX]> {
1141*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
1142*9880d681SAndroid Build Coastguard Worker}
1143*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_X_X_296ln],
1144*9880d681SAndroid Build Coastguard Worker	(instregex "LD2(i8|i16|i32)$")>;
1145*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_X_X_321ln :
1146*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitX, KryoUnitX]> {
1147*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 4;
1148*9880d681SAndroid Build Coastguard Worker}
1149*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_X_X_321ln, WriteAdr],
1150*9880d681SAndroid Build Coastguard Worker	(instregex "LD2(i8|i16|i32)_POST$")>;
1151*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_282ln :
1152*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1153*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1154*9880d681SAndroid Build Coastguard Worker}
1155*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_282ln],
1156*9880d681SAndroid Build Coastguard Worker	(instregex "LD2R(v16b|v8h|v4s|v2d)$")>;
1157*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_noRSV_312ln :
1158*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1159*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1160*9880d681SAndroid Build Coastguard Worker}
1161*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_noRSV_312ln],
1162*9880d681SAndroid Build Coastguard Worker	(instregex "LD2R(v8b|v4h|v2s|v1d)$")>;
1163*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_314ln :
1164*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1165*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1166*9880d681SAndroid Build Coastguard Worker}
1167*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_314ln, WriteAdr],
1168*9880d681SAndroid Build Coastguard Worker	(instregex "LD2R(v16b|v8h|v4s|v2d)_POST$")>;
1169*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_noRSV_335ln :
1170*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1171*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1172*9880d681SAndroid Build Coastguard Worker}
1173*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_noRSV_335ln, WriteAdr],
1174*9880d681SAndroid Build Coastguard Worker	(instregex "LD2R(v8b|v4h|v2s|v1d)_POST$")>;
1175*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_283ln :
1176*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1177*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1178*9880d681SAndroid Build Coastguard Worker}
1179*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_283ln],
1180*9880d681SAndroid Build Coastguard Worker	(instregex "LD3i64$")>;
1181*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_309ln :
1182*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1183*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1184*9880d681SAndroid Build Coastguard Worker}
1185*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_309ln],
1186*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Threev2d$")>;
1187*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_315ln :
1188*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1189*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1190*9880d681SAndroid Build Coastguard Worker}
1191*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_315ln, WriteAdr],
1192*9880d681SAndroid Build Coastguard Worker	(instregex "LD3i64_POST$")>;
1193*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_X_X_X_320ln :
1194*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX]> {
1195*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 4;
1196*9880d681SAndroid Build Coastguard Worker}
1197*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_X_X_X_320ln],
1198*9880d681SAndroid Build Coastguard Worker	(instregex "LD3(i8|i16|i32)$")>;
1199*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_331ln :
1200*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS]> {
1201*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1202*9880d681SAndroid Build Coastguard Worker}
1203*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_331ln, WriteAdr],
1204*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Threev2d_POST$")>;
1205*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_X_X_X_338ln :
1206*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitX, KryoUnitX, KryoUnitX]> {
1207*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 5;
1208*9880d681SAndroid Build Coastguard Worker}
1209*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_X_X_X_338ln, WriteAdr],
1210*9880d681SAndroid Build Coastguard Worker	(instregex "LD3(i8|i16|i32)_POST$")>;
1211*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_noRSV_noRSV_noRSV_373ln :
1212*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX]> {
1213*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 8;
1214*9880d681SAndroid Build Coastguard Worker}
1215*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_noRSV_noRSV_noRSV_373ln],
1216*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Three(v8b|v4h|v2s)$")>;
1217*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_LS_X_X_X_noRSV_noRSV_noRSV_380ln :
1218*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitX, KryoUnitX,
1219*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
1220*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 9;
1221*9880d681SAndroid Build Coastguard Worker}
1222*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_LS_X_X_X_noRSV_noRSV_noRSV_380ln, WriteAdr],
1223*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Three(v8b|v4h|v2s)_POST$")>;
1224*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_LS_LS_X_X_X_381ln :
1225*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX,
1226*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX]> {
1227*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 10;
1228*9880d681SAndroid Build Coastguard Worker}
1229*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_LS_LS_X_X_X_381ln],
1230*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Three(v16b|v8h|v4s)$")>;
1231*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_LS_XY_LS_X_X_X_383ln :
1232*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX,
1233*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitX, KryoUnitX,
1234*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
1235*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 11;
1236*9880d681SAndroid Build Coastguard Worker}
1237*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_LS_XY_LS_X_X_X_383ln, WriteAdr],
1238*9880d681SAndroid Build Coastguard Worker	(instregex "LD3Three(v16b|v8h|v4s)_POST$")>;
1239*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_310ln :
1240*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1241*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1242*9880d681SAndroid Build Coastguard Worker}
1243*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_310ln],
1244*9880d681SAndroid Build Coastguard Worker	(instregex "LD3R(v16b|v8h|v4s|v2d)$")>;
1245*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_333ln :
1246*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS]> {
1247*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1248*9880d681SAndroid Build Coastguard Worker}
1249*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_333ln, WriteAdr],
1250*9880d681SAndroid Build Coastguard Worker	(instregex "LD3R(v16b|v8h|v4s|v2d)_POST$")>;
1251*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_349ln :
1252*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1253*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
1254*9880d681SAndroid Build Coastguard Worker}
1255*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_349ln],
1256*9880d681SAndroid Build Coastguard Worker	(instregex "LD3R(v8b|v4h|v2s|v1d)$")>;
1257*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_361ln :
1258*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1259*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 6;
1260*9880d681SAndroid Build Coastguard Worker}
1261*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_361ln, WriteAdr],
1262*9880d681SAndroid Build Coastguard Worker	(instregex "LD3R(v8b|v4h|v2s|v1d)_POST$")>;
1263*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_284ln :
1264*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1265*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1266*9880d681SAndroid Build Coastguard Worker}
1267*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_284ln],
1268*9880d681SAndroid Build Coastguard Worker	(instregex "LD4i64$")>;
1269*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_316ln :
1270*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1271*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1272*9880d681SAndroid Build Coastguard Worker}
1273*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_316ln, WriteAdr],
1274*9880d681SAndroid Build Coastguard Worker	(instregex "LD4i64_POST$")>;
1275*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_LS_329ln :
1276*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1277*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1278*9880d681SAndroid Build Coastguard Worker}
1279*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_LS_329ln],
1280*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v2d)$")>;
1281*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_X_X_X_X_337ln :
1282*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX]> {
1283*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 5;
1284*9880d681SAndroid Build Coastguard Worker}
1285*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_X_X_X_X_337ln],
1286*9880d681SAndroid Build Coastguard Worker	(instregex "LD4(i8|i16|i32)$")>;
1287*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_LS_350ln :
1288*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1289*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
1290*9880d681SAndroid Build Coastguard Worker}
1291*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_LS_350ln, WriteAdr],
1292*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v2d)_POST$")>;
1293*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_X_X_X_X_355ln :
1294*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitX, KryoUnitX, KryoUnitX,
1295*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
1296*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 6;
1297*9880d681SAndroid Build Coastguard Worker}
1298*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_X_X_X_X_355ln, WriteAdr],
1299*9880d681SAndroid Build Coastguard Worker	(instregex "LD4(i8|i16|i32)_POST$")>;
1300*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_X_noRSV_noRSV_noRSV_noRSV_382ln :
1301*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX,
1302*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
1303*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 10;
1304*9880d681SAndroid Build Coastguard Worker}
1305*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_X_noRSV_noRSV_noRSV_noRSV_382ln],
1306*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v8b|v4h|v2s)$")>;
1307*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_LS_X_X_X_X_noRSV_noRSV_noRSV_noRSV_384ln :
1308*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitX, KryoUnitX,
1309*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX]> {
1310*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 11;
1311*9880d681SAndroid Build Coastguard Worker}
1312*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_LS_X_X_X_X_noRSV_noRSV_noRSV_noRSV_384ln, WriteAdr],
1313*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v8b|v4h|v2s)_POST$")>;
1314*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_X_LS_LS_X_X_X_X_386ln :
1315*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX,
1316*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX,
1317*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX]> {
1318*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 12;
1319*9880d681SAndroid Build Coastguard Worker}
1320*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_X_LS_LS_X_X_X_X_386ln],
1321*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v16b|v8h|v4s)$")>;
1322*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_LS_X_X_X_X_LS_XY_LS_X_X_X_X_389ln :
1323*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitX, KryoUnitX, KryoUnitX,
1324*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitX,
1325*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX]> {
1326*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 13;
1327*9880d681SAndroid Build Coastguard Worker}
1328*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_LS_X_X_X_X_LS_XY_LS_X_X_X_X_389ln, WriteAdr],
1329*9880d681SAndroid Build Coastguard Worker	(instregex "LD4Four(v16b|v8h|v4s)_POST$")>;
1330*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_LS_LS_330ln :
1331*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1332*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1333*9880d681SAndroid Build Coastguard Worker}
1334*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_LS_LS_330ln],
1335*9880d681SAndroid Build Coastguard Worker	(instregex "LD4R(v16b|v8h|v4s|v2d)$")>;
1336*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_LS_LS_352ln :
1337*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS, KryoUnitLS, KryoUnitLS]> {
1338*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
1339*9880d681SAndroid Build Coastguard Worker}
1340*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_LS_LS_352ln, WriteAdr],
1341*9880d681SAndroid Build Coastguard Worker	(instregex "LD4R(v16b|v8h|v4s|v2d)_POST$")>;
1342*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_noRSV_359ln :
1343*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1344*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 6;
1345*9880d681SAndroid Build Coastguard Worker}
1346*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_noRSV_noRSV_noRSV_noRSV_359ln],
1347*9880d681SAndroid Build Coastguard Worker	(instregex "LD4R(v8b|v4h|v2s|v1d)$")>;
1348*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_noRSV_369ln :
1349*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1350*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 7;
1351*9880d681SAndroid Build Coastguard Worker}
1352*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_noRSV_noRSV_noRSV_noRSV_369ln, WriteAdr],
1353*9880d681SAndroid Build Coastguard Worker	(instregex "LD4R(v8b|v4h|v2s|v1d)_POST$")>;
1354*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_400ln :
1355*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1356*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1357*9880d681SAndroid Build Coastguard Worker}
1358*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_400ln],
1359*9880d681SAndroid Build Coastguard Worker	(instregex "(LDAX?R(B|H|W|X)|LDAXP(W|X))")>;
1360*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_401ln :
1361*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1362*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1363*9880d681SAndroid Build Coastguard Worker}
1364*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_401ln, WriteLDHi],
1365*9880d681SAndroid Build Coastguard Worker	(instrs LDNPQi)>;
1366*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_noRSV_408ln :
1367*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1368*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1369*9880d681SAndroid Build Coastguard Worker}
1370*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_noRSV_408ln, WriteLDHi],
1371*9880d681SAndroid Build Coastguard Worker	(instrs LDNPDi, LDNPSi)>;
1372*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_394ln :
1373*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1374*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1375*9880d681SAndroid Build Coastguard Worker}
1376*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_394ln, WriteLDHi],
1377*9880d681SAndroid Build Coastguard Worker	(instrs LDNPWi, LDNPXi)>;
1378*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_402ln :
1379*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
1380*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1381*9880d681SAndroid Build Coastguard Worker}
1382*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_402ln, WriteLDHi],
1383*9880d681SAndroid Build Coastguard Worker	(instrs LDPQi)>;
1384*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_noRSV_409ln :
1385*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1386*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1387*9880d681SAndroid Build Coastguard Worker}
1388*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_noRSV_409ln, WriteLDHi],
1389*9880d681SAndroid Build Coastguard Worker	(instrs LDPDi, LDPSi)>;
1390*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_LS_410ln :
1391*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY, KryoUnitLS]> {
1392*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1393*9880d681SAndroid Build Coastguard Worker}
1394*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_LS_410ln, WriteLDHi, WriteAdr],
1395*9880d681SAndroid Build Coastguard Worker	(instregex "LDPQ(post|pre)")>;
1396*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_noRSV_411ln :
1397*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1398*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1399*9880d681SAndroid Build Coastguard Worker}
1400*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_noRSV_411ln, WriteLDHi, WriteAdr],
1401*9880d681SAndroid Build Coastguard Worker	(instregex "LDP(D|S)(post|pre)")>;
1402*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_393ln :
1403*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1404*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1405*9880d681SAndroid Build Coastguard Worker}
1406*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_393ln, WriteLDHi],
1407*9880d681SAndroid Build Coastguard Worker	(instrs LDPWi, LDPXi)>;
1408*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_403ln :
1409*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1410*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1411*9880d681SAndroid Build Coastguard Worker}
1412*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_403ln, WriteLDHi, WriteAdr],
1413*9880d681SAndroid Build Coastguard Worker	(instregex "LDP(W|X)(post|pre)")>;
1414*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_395ln :
1415*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1416*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1417*9880d681SAndroid Build Coastguard Worker}
1418*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_395ln, WriteLDHi],
1419*9880d681SAndroid Build Coastguard Worker	(instrs LDPSWi)>;
1420*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_405ln :
1421*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1422*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1423*9880d681SAndroid Build Coastguard Worker}
1424*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_405ln, WriteLDHi, WriteAdr],
1425*9880d681SAndroid Build Coastguard Worker	(instrs LDPSWpost, LDPSWpre)>;
1426*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_264ln :
1427*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1428*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1429*9880d681SAndroid Build Coastguard Worker}
1430*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_264ln],
1431*9880d681SAndroid Build Coastguard Worker	(instrs LDRQui, LDRQl)>;
1432*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_LS_271ln :
1433*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS]> {
1434*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1435*9880d681SAndroid Build Coastguard Worker}
1436*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_LS_271ln],
1437*9880d681SAndroid Build Coastguard Worker	(instrs LDRQroW, LDRQroX)>;
1438*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_287ln :
1439*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1440*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1441*9880d681SAndroid Build Coastguard Worker}
1442*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_287ln],
1443*9880d681SAndroid Build Coastguard Worker	(instregex "LDR((D|S)l|(D|S|H|B)ui)")>;
1444*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_293ln :
1445*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1446*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1447*9880d681SAndroid Build Coastguard Worker}
1448*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_293ln, WriteAdr],
1449*9880d681SAndroid Build Coastguard Worker	(instrs LDRQpost, LDRQpre)>;
1450*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_LS_noRSV_297ln :
1451*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS]> {
1452*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
1453*9880d681SAndroid Build Coastguard Worker}
1454*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_LS_noRSV_297ln],
1455*9880d681SAndroid Build Coastguard Worker	(instregex "LDR(D|S|H|B)ro(W|X)")>;
1456*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_noRSV_319ln :
1457*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1458*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
1459*9880d681SAndroid Build Coastguard Worker}
1460*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_noRSV_319ln, WriteAdr],
1461*9880d681SAndroid Build Coastguard Worker	(instregex "LDR(D|S|H|B)(post|pre)")>;
1462*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_261ln :
1463*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1464*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1465*9880d681SAndroid Build Coastguard Worker}
1466*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_261ln],
1467*9880d681SAndroid Build Coastguard Worker	(instregex "LDR(BB|HH|W|X)ui")>;
1468*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_XY_292ln :
1469*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1470*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1471*9880d681SAndroid Build Coastguard Worker}
1472*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_XY_292ln, WriteAdr],
1473*9880d681SAndroid Build Coastguard Worker	(instregex "LDR(BB|HH|W|X)(post|pre)")>;
1474*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_LS_272ln :
1475*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS]> {
1476*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1477*9880d681SAndroid Build Coastguard Worker}
1478*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_LS_272ln],
1479*9880d681SAndroid Build Coastguard Worker	(instregex "(LDR(BB|HH|W|X)ro(W|X)|PRFMro(W|X))")>;
1480*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_262ln :
1481*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1482*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1483*9880d681SAndroid Build Coastguard Worker}
1484*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_262ln],
1485*9880d681SAndroid Build Coastguard Worker	(instrs LDRWl, LDRXl)>;
1486*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_268ln :
1487*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1488*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1489*9880d681SAndroid Build Coastguard Worker}
1490*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_268ln],
1491*9880d681SAndroid Build Coastguard Worker	(instregex "LDRS(BW|BX|HW|HX|W)ui")>;
1492*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_LS_273ln :
1493*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS]> {
1494*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 2;
1495*9880d681SAndroid Build Coastguard Worker}
1496*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_LS_273ln],
1497*9880d681SAndroid Build Coastguard Worker	(instregex "LDRS(BW|BX|HW|HX|W)ro(W|X)")>;
1498*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_XY_294ln :
1499*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitXY]> {
1500*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1501*9880d681SAndroid Build Coastguard Worker}
1502*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_XY_294ln, WriteAdr],
1503*9880d681SAndroid Build Coastguard Worker	(instregex "LDRS(BW|BX|HW|HX|W)(post|pre)")>;
1504*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_269ln :
1505*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1506*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1507*9880d681SAndroid Build Coastguard Worker}
1508*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_269ln],
1509*9880d681SAndroid Build Coastguard Worker	(instrs LDRSWl)>;
1510*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_260ln :
1511*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1512*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1513*9880d681SAndroid Build Coastguard Worker}
1514*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_260ln],
1515*9880d681SAndroid Build Coastguard Worker	(instregex "LDTR(B|H|W|X)i")>;
1516*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_267ln :
1517*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1518*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1519*9880d681SAndroid Build Coastguard Worker}
1520*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_267ln],
1521*9880d681SAndroid Build Coastguard Worker	(instregex "LDTRS(BW|BX|HW|HX|W)i")>;
1522*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_263ln :
1523*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1524*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1525*9880d681SAndroid Build Coastguard Worker}
1526*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_263ln],
1527*9880d681SAndroid Build Coastguard Worker	(instrs LDURQi)>;
1528*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_noRSV_288ln :
1529*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1530*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1531*9880d681SAndroid Build Coastguard Worker}
1532*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_noRSV_288ln],
1533*9880d681SAndroid Build Coastguard Worker	(instregex "LDUR(D|S|H|B)i")>;
1534*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_259ln :
1535*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1536*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1537*9880d681SAndroid Build Coastguard Worker}
1538*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_259ln],
1539*9880d681SAndroid Build Coastguard Worker	(instregex "LDUR(BB|HH|W|X)i")>;
1540*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_LS_266ln :
1541*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1542*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1543*9880d681SAndroid Build Coastguard Worker}
1544*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_LS_266ln],
1545*9880d681SAndroid Build Coastguard Worker	(instregex "LDURS(B|H)?(W|X)i")>;
1546*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_258ln :
1547*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1548*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1549*9880d681SAndroid Build Coastguard Worker}
1550*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_258ln],
1551*9880d681SAndroid Build Coastguard Worker	(instregex "LDXP(W|X)")>;
1552*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_258_1ln :
1553*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1554*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 1;
1555*9880d681SAndroid Build Coastguard Worker}
1556*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_258_1ln],
1557*9880d681SAndroid Build Coastguard Worker	(instregex "LDXR(B|H|W|X)")>;
1558*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_137ln :
1559*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1560*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1561*9880d681SAndroid Build Coastguard Worker}
1562*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_137ln],
1563*9880d681SAndroid Build Coastguard Worker	(instrs LSLVWr, LSLVXr)>;
1564*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_135ln :
1565*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1566*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1567*9880d681SAndroid Build Coastguard Worker}
1568*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_135ln],
1569*9880d681SAndroid Build Coastguard Worker	(instregex "(LS|AS|RO)RV(W|X)r")>;
1570*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_84ln :
1571*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1572*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 1;
1573*9880d681SAndroid Build Coastguard Worker}
1574*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_84ln],
1575*9880d681SAndroid Build Coastguard Worker	(instrs MADDWrrr, MSUBWrrr)>;
1576*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_85ln :
1577*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1578*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 1;
1579*9880d681SAndroid Build Coastguard Worker}
1580*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_85ln],
1581*9880d681SAndroid Build Coastguard Worker	(instrs MADDXrrr, MSUBXrrr)>;
1582*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_188ln :
1583*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1584*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1585*9880d681SAndroid Build Coastguard Worker}
1586*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_188ln],
1587*9880d681SAndroid Build Coastguard Worker	(instregex "(MLA|MLS|MUL)(v8i8|v4i16|v2i32)(_indexed)?")>;
1588*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_192ln :
1589*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
1590*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1591*9880d681SAndroid Build Coastguard Worker}
1592*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_192ln],
1593*9880d681SAndroid Build Coastguard Worker	(instregex "(MLA|MLS|MUL|SQR?DMULH)(v16i8|v8i16|v4i32)(_indexed)?")>;
1594*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_198ln :
1595*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1596*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1597*9880d681SAndroid Build Coastguard Worker}
1598*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_198ln],
1599*9880d681SAndroid Build Coastguard Worker	(instregex "(MOVI|MVNI)(D|v8b_ns|v2i32|v4i16|v2s_msl)")>;
1600*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_199ln :
1601*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1602*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1603*9880d681SAndroid Build Coastguard Worker}
1604*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_199ln],
1605*9880d681SAndroid Build Coastguard Worker	(instregex "(MOVI|MVNI)(v2d_ns|v16b_ns|v4i32|v8i16|v4s_msl)")>;
1606*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_89ln :
1607*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1608*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1609*9880d681SAndroid Build Coastguard Worker}
1610*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_89ln],
1611*9880d681SAndroid Build Coastguard Worker	(instrs MOVKWi, MOVKXi)>;
1612*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_91ln :
1613*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1614*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1615*9880d681SAndroid Build Coastguard Worker}
1616*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_91ln],
1617*9880d681SAndroid Build Coastguard Worker	(instrs MOVNWi, MOVNXi)>;
1618*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_90ln :
1619*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1620*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1621*9880d681SAndroid Build Coastguard Worker}
1622*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_90ln],
1623*9880d681SAndroid Build Coastguard Worker	(instrs MOVZWi, MOVZXi)>;
1624*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_93ln :
1625*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1626*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 1;
1627*9880d681SAndroid Build Coastguard Worker}
1628*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_93ln],
1629*9880d681SAndroid Build Coastguard Worker	(instrs MRS)>;
1630*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_X_87ln :
1631*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1632*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
1633*9880d681SAndroid Build Coastguard Worker}
1634*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_X_87ln],
1635*9880d681SAndroid Build Coastguard Worker	(instrs MSRpstateImm4)>;
1636*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_X_87ln],
1637*9880d681SAndroid Build Coastguard Worker	(instrs MSRpstateImm1)>;
1638*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_XY_88ln :
1639*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1640*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
1641*9880d681SAndroid Build Coastguard Worker}
1642*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_XY_88ln],
1643*9880d681SAndroid Build Coastguard Worker	(instrs MSR)>;
1644*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_143ln :
1645*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1646*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1647*9880d681SAndroid Build Coastguard Worker}
1648*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_143ln],
1649*9880d681SAndroid Build Coastguard Worker	(instregex "NEG(v8i8|v4i16|v2i32|v1i64)")>;
1650*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_145ln :
1651*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1652*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1653*9880d681SAndroid Build Coastguard Worker}
1654*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_145ln],
1655*9880d681SAndroid Build Coastguard Worker	(instregex "NEG(v16i8|v8i16|v4i32|v2i64)")>;
1656*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_193ln :
1657*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1658*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1659*9880d681SAndroid Build Coastguard Worker}
1660*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_193ln],
1661*9880d681SAndroid Build Coastguard Worker	(instrs NOTv8i8)>;
1662*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_194ln :
1663*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1664*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1665*9880d681SAndroid Build Coastguard Worker}
1666*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_194ln],
1667*9880d681SAndroid Build Coastguard Worker	(instrs NOTv16i8)>;
1668*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_234ln :
1669*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1670*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1671*9880d681SAndroid Build Coastguard Worker}
1672*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_234ln],
1673*9880d681SAndroid Build Coastguard Worker	(instrs PMULv8i8)>;
1674*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_236ln :
1675*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1676*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1677*9880d681SAndroid Build Coastguard Worker}
1678*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_236ln],
1679*9880d681SAndroid Build Coastguard Worker	(instrs PMULv16i8)>;
1680*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_235ln :
1681*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1682*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1683*9880d681SAndroid Build Coastguard Worker}
1684*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_235ln],
1685*9880d681SAndroid Build Coastguard Worker	(instrs PMULLv8i8, PMULLv16i8)>;
1686*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_237ln :
1687*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1688*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1689*9880d681SAndroid Build Coastguard Worker}
1690*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_237ln],
1691*9880d681SAndroid Build Coastguard Worker	(instrs PMULLv1i64, PMULLv2i64)>;
1692*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_254ln :
1693*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1694*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
1695*9880d681SAndroid Build Coastguard Worker}
1696*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_254ln],
1697*9880d681SAndroid Build Coastguard Worker	(instrs PRFMl, PRFMui)>;
1698*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_253ln :
1699*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
1700*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
1701*9880d681SAndroid Build Coastguard Worker}
1702*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_253ln],
1703*9880d681SAndroid Build Coastguard Worker	(instrs PRFUMi)>;
1704*9880d681SAndroid Build Coastguard Workerdef KryoWrite_6cyc_XY_X_noRSV_175ln :
1705*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitX]> {
1706*9880d681SAndroid Build Coastguard Worker	let Latency = 6; let NumMicroOps = 3;
1707*9880d681SAndroid Build Coastguard Worker}
1708*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_6cyc_XY_X_noRSV_175ln],
1709*9880d681SAndroid Build Coastguard Worker	(instregex "R(ADD|SUB)HNv.*")>;
1710*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_204ln :
1711*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1712*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 1;
1713*9880d681SAndroid Build Coastguard Worker}
1714*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_204ln],
1715*9880d681SAndroid Build Coastguard Worker	(instrs RBITWr, RBITXr)>;
1716*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_noRSV_218ln :
1717*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1718*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1719*9880d681SAndroid Build Coastguard Worker}
1720*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_noRSV_218ln],
1721*9880d681SAndroid Build Coastguard Worker	(instrs RBITv8i8)>;
1722*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_219ln :
1723*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1724*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1725*9880d681SAndroid Build Coastguard Worker}
1726*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_219ln],
1727*9880d681SAndroid Build Coastguard Worker	(instrs RBITv16i8)>;
1728*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_202ln :
1729*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1730*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1731*9880d681SAndroid Build Coastguard Worker}
1732*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_202ln],
1733*9880d681SAndroid Build Coastguard Worker	(instregex "REV(16|32)?(W|X)r")>;
1734*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_214ln :
1735*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1736*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1737*9880d681SAndroid Build Coastguard Worker}
1738*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_214ln],
1739*9880d681SAndroid Build Coastguard Worker	(instregex "REV(16|32|64)(v8i8|v4i16|v2i32)")>;
1740*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_216ln :
1741*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1742*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1743*9880d681SAndroid Build Coastguard Worker}
1744*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_216ln],
1745*9880d681SAndroid Build Coastguard Worker	(instregex "REV(16|32|64)(v16i8|v8i16|v4i32)")>;
1746*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_noRSV_244ln :
1747*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1748*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1749*9880d681SAndroid Build Coastguard Worker}
1750*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_noRSV_244ln],
1751*9880d681SAndroid Build Coastguard Worker	(instregex "S(L|R)I(d|(v8i8|v4i16|v2i32)_shift)")>;
1752*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_245ln :
1753*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
1754*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1755*9880d681SAndroid Build Coastguard Worker}
1756*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_245ln],
1757*9880d681SAndroid Build Coastguard Worker	(instregex "S(L|R)I(v16i8|v8i16|v4i32|v2i64)_shift")>;
1758*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_2ln :
1759*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1760*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
1761*9880d681SAndroid Build Coastguard Worker}
1762*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_2ln, ReadI, ReadI],
1763*9880d681SAndroid Build Coastguard Worker	(instregex "SBCS?(W|X)r")>;
1764*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XA_XA_XA_24ln :
1765*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitXA, KryoUnitXA]> {
1766*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 3;
1767*9880d681SAndroid Build Coastguard Worker}
1768*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XA_XA_XA_24ln],
1769*9880d681SAndroid Build Coastguard Worker	(instrs SHA1Crrr, SHA1Mrrr, SHA1Prrr)>;
1770*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_21ln :
1771*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1772*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
1773*9880d681SAndroid Build Coastguard Worker}
1774*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_21ln],
1775*9880d681SAndroid Build Coastguard Worker	(instrs SHA1Hrr)>;
1776*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_23ln :
1777*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
1778*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
1779*9880d681SAndroid Build Coastguard Worker}
1780*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_23ln],
1781*9880d681SAndroid Build Coastguard Worker	(instrs SHA1SU0rrr, SHA1SU1rr, SHA256SU0rr)>;
1782*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_XA_XA_XA_25ln :
1783*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXA, KryoUnitXA, KryoUnitXA]> {
1784*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 3;
1785*9880d681SAndroid Build Coastguard Worker}
1786*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_XA_XA_XA_25ln],
1787*9880d681SAndroid Build Coastguard Worker	(instrs SHA256Hrrr, SHA256H2rrr)>;
1788*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_X_X_26ln :
1789*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY, KryoUnitX, KryoUnitX]> {
1790*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 4;
1791*9880d681SAndroid Build Coastguard Worker}
1792*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_X_X_26ln],
1793*9880d681SAndroid Build Coastguard Worker	(instrs SHA256SU1rrr)>;
1794*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_189ln :
1795*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1796*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1797*9880d681SAndroid Build Coastguard Worker}
1798*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_189ln],
1799*9880d681SAndroid Build Coastguard Worker	(instregex "SQR?DMULH(v8i8|v4i16|v1i32|v2i32|v1i16)(_indexed)?")>;
1800*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_68ln :
1801*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1802*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1803*9880d681SAndroid Build Coastguard Worker}
1804*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_68ln],
1805*9880d681SAndroid Build Coastguard Worker	(instregex "SQ(ABS|NEG)(v1i8|v1i16|v1i32|v1i64)")>;
1806*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_157ln :
1807*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
1808*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1809*9880d681SAndroid Build Coastguard Worker}
1810*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_157ln],
1811*9880d681SAndroid Build Coastguard Worker	(instregex "SQ(ABS|NEG)(v8i8|v4i16|v2i32)")>;
1812*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_164ln :
1813*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
1814*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
1815*9880d681SAndroid Build Coastguard Worker}
1816*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_164ln],
1817*9880d681SAndroid Build Coastguard Worker	(instregex "SQ(ABS|NEG)(v16i8|v8i16|v4i32|v2i64)")>;
1818*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_noRSV_190ln :
1819*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
1820*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 2;
1821*9880d681SAndroid Build Coastguard Worker}
1822*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_noRSV_190ln],
1823*9880d681SAndroid Build Coastguard Worker	(instregex "SQD(MLAL|MLSL|MULL)(i16|i32)")>;
1824*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_274ln :
1825*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
1826*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
1827*9880d681SAndroid Build Coastguard Worker}
1828*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_274ln],
1829*9880d681SAndroid Build Coastguard Worker	(instregex "ST1(One(v8b|v4h|v2s|v1d|v16b|v8h|v4s|v2d)|(i8|i16|i32|i64)|Two(v8b|v4h|v2s|v1d))$")>;
1830*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_X_301ln :
1831*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitX]> {
1832*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
1833*9880d681SAndroid Build Coastguard Worker}
1834*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_X_301ln],
1835*9880d681SAndroid Build Coastguard Worker	(instregex "ST1(One(v8b|v4h|v2s|v1d|v16b|v8h|v4s|v2d)|(i8|i16|i32|i64)|Two(v8b|v4h|v2s|v1d))_POST$")>;
1836*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_305ln :
1837*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY]> {
1838*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
1839*9880d681SAndroid Build Coastguard Worker}
1840*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_305ln],
1841*9880d681SAndroid Build Coastguard Worker	(instregex "ST1(One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))_POST$")>;
1842*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_323ln :
1843*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1844*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
1845*9880d681SAndroid Build Coastguard Worker}
1846*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_0cyc_LS_Y_LS_Y_323ln],
1847*9880d681SAndroid Build Coastguard Worker	(instregex "ST1(Two(v16b|v8h|v4s|v2d)|(Three|Four)(v8b|v4h|v2s|v1d))_POST$")>;
1848*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_345ln :
1849*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY]> {
1850*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 5;
1851*9880d681SAndroid Build Coastguard Worker}
1852*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_LS_Y_XY_LS_Y_345ln],
1853*9880d681SAndroid Build Coastguard Worker	(instregex "ST1(Two(v16b|v8h|v4s|v2d)|(Three|Four)(v8b|v4h|v2s|v1d))$")>;
1854*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_356ln :
1855*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitLS,
1856*9880d681SAndroid Build Coastguard Worker                   KryoUnitY]> {
1857*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 6;
1858*9880d681SAndroid Build Coastguard Worker}
1859*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_356ln],
1860*9880d681SAndroid Build Coastguard Worker	(instregex "ST1Three(v16b|v8h|v4s|v2d)$")>;
1861*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_LS_Y_366ln :
1862*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY,
1863*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY]> {
1864*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 7;
1865*9880d681SAndroid Build Coastguard Worker}
1866*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_LS_Y_LS_Y_366ln],
1867*9880d681SAndroid Build Coastguard Worker	(instregex "ST1Three(v16b|v8h|v4s|v2d)_POST$")>;
1868*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_LS_Y_371ln :
1869*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitLS,
1870*9880d681SAndroid Build Coastguard Worker                   KryoUnitY, KryoUnitLS, KryoUnitY]> {
1871*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 8;
1872*9880d681SAndroid Build Coastguard Worker}
1873*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_LS_Y_371ln],
1874*9880d681SAndroid Build Coastguard Worker	(instregex "ST1Four(v16b|v8h|v4s|v2d)$")>;
1875*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_XY_LS_Y_LS_Y_377ln :
1876*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitXY,
1877*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1878*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 9;
1879*9880d681SAndroid Build Coastguard Worker}
1880*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_0cyc_LS_Y_LS_Y_XY_LS_Y_LS_Y_377ln],
1881*9880d681SAndroid Build Coastguard Worker	(instregex "ST1Four(v16b|v8h|v4s|v2d)_POST$")>;
1882*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_275ln :
1883*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
1884*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
1885*9880d681SAndroid Build Coastguard Worker}
1886*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_275ln],
1887*9880d681SAndroid Build Coastguard Worker	(instregex "ST2(Two(v8b|v4h|v2s|v1d|v16b|v8h|v4s|v2d)|(i8|i16|i32|i64))$")>;
1888*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_306ln :
1889*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY]> {
1890*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
1891*9880d681SAndroid Build Coastguard Worker}
1892*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_306ln],
1893*9880d681SAndroid Build Coastguard Worker	(instregex "ST2(Two(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64))_POST$")>;
1894*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_322ln :
1895*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1896*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
1897*9880d681SAndroid Build Coastguard Worker}
1898*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_322ln],
1899*9880d681SAndroid Build Coastguard Worker	(instregex "ST2Two(v16b|v8h|v4s|v2d)$")>;
1900*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_344ln :
1901*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY]> {
1902*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 5;
1903*9880d681SAndroid Build Coastguard Worker}
1904*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_LS_Y_344ln],
1905*9880d681SAndroid Build Coastguard Worker	(instregex "ST2Two(v16b|v8h|v4s|v2d)_POST$")>;
1906*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_324ln :
1907*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1908*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
1909*9880d681SAndroid Build Coastguard Worker}
1910*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_324ln],
1911*9880d681SAndroid Build Coastguard Worker	(instregex "ST3(Threev1d|(i8|i16|i32|i64))$")>;
1912*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_346ln :
1913*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY]> {
1914*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 5;
1915*9880d681SAndroid Build Coastguard Worker}
1916*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_LS_Y_346ln],
1917*9880d681SAndroid Build Coastguard Worker	(instregex "ST3(Threev1d|(i8|i16|i32|i64))_POST$")>;
1918*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_LS_Y_353ln :
1919*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitLS,
1920*9880d681SAndroid Build Coastguard Worker                   KryoUnitY]> {
1921*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 6;
1922*9880d681SAndroid Build Coastguard Worker}
1923*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_LS_Y_LS_Y_353ln],
1924*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Three(v8b|v4h|v2s)$")>;
1925*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_357ln :
1926*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitLS,
1927*9880d681SAndroid Build Coastguard Worker                   KryoUnitY]> {
1928*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 6;
1929*9880d681SAndroid Build Coastguard Worker}
1930*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_357ln],
1931*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Threev2d$")>;
1932*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_XY_LS_Y_363ln :
1933*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitXY,
1934*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY]> {
1935*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 7;
1936*9880d681SAndroid Build Coastguard Worker}
1937*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_X_X_LS_Y_XY_LS_Y_363ln],
1938*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Three(v8b|v4h|v2s)_POST$")>;
1939*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_LS_Y_367ln :
1940*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY,
1941*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY]> {
1942*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 7;
1943*9880d681SAndroid Build Coastguard Worker}
1944*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_LS_Y_LS_Y_367ln],
1945*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Threev2d_POST$")>;
1946*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_LS_Y_X_X_LS_Y_LS_Y_385ln :
1947*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitLS,
1948*9880d681SAndroid Build Coastguard Worker                   KryoUnitY, KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY,
1949*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY]> {
1950*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 12;
1951*9880d681SAndroid Build Coastguard Worker}
1952*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_LS_Y_LS_Y_X_X_LS_Y_LS_Y_385ln],
1953*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Three(v16b|v8h|v4s)$")>;
1954*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_LS_Y_X_X_LS_Y_XY_LS_Y_388ln :
1955*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitLS,
1956*9880d681SAndroid Build Coastguard Worker                   KryoUnitY, KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY,
1957*9880d681SAndroid Build Coastguard Worker                   KryoUnitXY, KryoUnitLS, KryoUnitY]> {
1958*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 13;
1959*9880d681SAndroid Build Coastguard Worker}
1960*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_X_X_LS_Y_LS_Y_X_X_LS_Y_XY_LS_Y_388ln],
1961*9880d681SAndroid Build Coastguard Worker	(instregex "ST3Three(v16b|v8h|v4s)_POST$")>;
1962*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_325ln :
1963*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1964*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
1965*9880d681SAndroid Build Coastguard Worker}
1966*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_325ln],
1967*9880d681SAndroid Build Coastguard Worker	(instregex "ST4(Fourv1d|(i8|i16|i32|i64))$")>;
1968*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_XY_LS_Y_347ln :
1969*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS, KryoUnitY]> {
1970*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 5;
1971*9880d681SAndroid Build Coastguard Worker}
1972*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_XY_LS_Y_347ln],
1973*9880d681SAndroid Build Coastguard Worker	(instregex "ST4(Fourv1d|(i8|i16|i32|i64))_POST$")>;
1974*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_370ln :
1975*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitX,
1976*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitLS, KryoUnitY]> {
1977*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 8;
1978*9880d681SAndroid Build Coastguard Worker}
1979*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_370ln],
1980*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Four(v8b|v4h|v2s)$")>;
1981*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_LS_Y_372ln :
1982*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitLS,
1983*9880d681SAndroid Build Coastguard Worker                   KryoUnitY, KryoUnitLS, KryoUnitY]> {
1984*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 8;
1985*9880d681SAndroid Build Coastguard Worker}
1986*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_LS_Y_LS_Y_372ln],
1987*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Fourv2d$")>;
1988*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_XY_X_X_LS_Y_375ln :
1989*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitXY,
1990*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY]> {
1991*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 9;
1992*9880d681SAndroid Build Coastguard Worker}
1993*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_X_X_LS_Y_XY_X_X_LS_Y_375ln],
1994*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Four(v8b|v4h|v2s)_POST$")>;
1995*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_XY_LS_Y_LS_Y_379ln :
1996*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY, KryoUnitXY,
1997*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
1998*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 9;
1999*9880d681SAndroid Build Coastguard Worker}
2000*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_0cyc_LS_Y_LS_Y_XY_LS_Y_LS_Y_379ln],
2001*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Fourv2d_POST$")>;
2002*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_390ln :
2003*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitX,
2004*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitX, KryoUnitX,
2005*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY, KryoUnitX, KryoUnitX, KryoUnitLS,
2006*9880d681SAndroid Build Coastguard Worker                   KryoUnitY]> {
2007*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 16;
2008*9880d681SAndroid Build Coastguard Worker}
2009*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_390ln],
2010*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Four(v16b|v8h|v4s)$")>;
2011*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_XY_X_X_LS_Y_392ln :
2012*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitX,
2013*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitX, KryoUnitX,
2014*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitX, KryoUnitX,
2015*9880d681SAndroid Build Coastguard Worker                   KryoUnitLS, KryoUnitY]> {
2016*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 17;
2017*9880d681SAndroid Build Coastguard Worker}
2018*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_X_X_LS_Y_X_X_LS_Y_X_X_LS_Y_XY_X_X_LS_Y_392ln],
2019*9880d681SAndroid Build Coastguard Worker	(instregex "ST4Four(v16b|v8h|v4s)_POST$")>;
2020*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_LS_Y_299ln :
2021*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitY]> {
2022*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 3;
2023*9880d681SAndroid Build Coastguard Worker}
2024*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_LS_Y_299ln],
2025*9880d681SAndroid Build Coastguard Worker	(instregex "STLR(B|H|W|X)")>;
2026*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_LS_Y_307ln :
2027*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitLS, KryoUnitY]> {
2028*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 3;
2029*9880d681SAndroid Build Coastguard Worker}
2030*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_LS_Y_307ln],
2031*9880d681SAndroid Build Coastguard Worker	(instregex "STLX(P(W|X)|R(B|H|W|X))")>;
2032*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_276ln :
2033*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2034*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2035*9880d681SAndroid Build Coastguard Worker}
2036*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_276ln],
2037*9880d681SAndroid Build Coastguard Worker	(instrs STNPDi, STNPSi)>;
2038*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_326ln :
2039*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
2040*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
2041*9880d681SAndroid Build Coastguard Worker}
2042*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_326ln],
2043*9880d681SAndroid Build Coastguard Worker	(instrs STNPQi)>;
2044*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_280ln :
2045*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2046*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2047*9880d681SAndroid Build Coastguard Worker}
2048*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_280ln],
2049*9880d681SAndroid Build Coastguard Worker	(instrs STNPWi, STNPXi)>;
2050*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_277ln :
2051*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2052*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2053*9880d681SAndroid Build Coastguard Worker}
2054*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_277ln],
2055*9880d681SAndroid Build Coastguard Worker	(instregex "STP(D|S)i")>;
2056*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_X_303ln :
2057*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitX]> {
2058*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2059*9880d681SAndroid Build Coastguard Worker}
2060*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_X_303ln],
2061*9880d681SAndroid Build Coastguard Worker	(instregex "STP(D|S)(post|pre)")>;
2062*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_LS_Y_327ln :
2063*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitLS, KryoUnitY]> {
2064*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 4;
2065*9880d681SAndroid Build Coastguard Worker}
2066*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_LS_Y_327ln],
2067*9880d681SAndroid Build Coastguard Worker	(instrs STPQi)>;
2068*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_X_LS_Y_343ln :
2069*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitX, KryoUnitLS, KryoUnitY]> {
2070*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 5;
2071*9880d681SAndroid Build Coastguard Worker}
2072*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_X_LS_Y_343ln],
2073*9880d681SAndroid Build Coastguard Worker	(instrs STPQpost, STPQpre)>;
2074*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_279ln :
2075*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2076*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2077*9880d681SAndroid Build Coastguard Worker}
2078*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_279ln],
2079*9880d681SAndroid Build Coastguard Worker	(instregex "STP(W|X)i")>;
2080*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_X_Y_300ln :
2081*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX, KryoUnitY]> {
2082*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2083*9880d681SAndroid Build Coastguard Worker}
2084*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_X_Y_300ln],
2085*9880d681SAndroid Build Coastguard Worker	(instregex "STP(W|X)(post|pre)")>;
2086*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_278ln :
2087*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2088*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2089*9880d681SAndroid Build Coastguard Worker}
2090*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_278ln],
2091*9880d681SAndroid Build Coastguard Worker	(instregex "STR(Q|D|S|H|B)ui")>;
2092*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_LS_Y_295ln :
2093*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS, KryoUnitY]> {
2094*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2095*9880d681SAndroid Build Coastguard Worker}
2096*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_LS_Y_295ln],
2097*9880d681SAndroid Build Coastguard Worker	(instregex "STR(D|S|H|B)ro(W|X)")>;
2098*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_Y_X_304ln :
2099*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY, KryoUnitX]> {
2100*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2101*9880d681SAndroid Build Coastguard Worker}
2102*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_Y_X_304ln],
2103*9880d681SAndroid Build Coastguard Worker	(instregex "STR(Q|D|S|H|B)(post|pre)")>;
2104*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_LS_Y_XY_LS_Y_354ln :
2105*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS, KryoUnitY, KryoUnitXY, KryoUnitLS,
2106*9880d681SAndroid Build Coastguard Worker                   KryoUnitY]> {
2107*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 6;
2108*9880d681SAndroid Build Coastguard Worker}
2109*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_LS_Y_XY_LS_Y_354ln],
2110*9880d681SAndroid Build Coastguard Worker	(instregex "STRQro(W|X)")>;
2111*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_399ln :
2112*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2113*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2114*9880d681SAndroid Build Coastguard Worker}
2115*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_399ln],
2116*9880d681SAndroid Build Coastguard Worker	(instregex "STR(BB|HH|W|X)ui")>;
2117*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_LS_Y_406ln :
2118*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitLS, KryoUnitY]> {
2119*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2120*9880d681SAndroid Build Coastguard Worker}
2121*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_LS_Y_406ln],
2122*9880d681SAndroid Build Coastguard Worker	(instregex "STR(BB|HH|W|X)ro(W|X)")>;
2123*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_LS_X_Y_407ln :
2124*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitX, KryoUnitY]> {
2125*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 3;
2126*9880d681SAndroid Build Coastguard Worker}
2127*9880d681SAndroid Build Coastguard Workerdef : InstRW<[WriteAdr, KryoWrite_1cyc_LS_X_Y_407ln],
2128*9880d681SAndroid Build Coastguard Worker	(instregex "STR(BB|HH|W|X)(post|pre)")>;
2129*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_398ln :
2130*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2131*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2132*9880d681SAndroid Build Coastguard Worker}
2133*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_398ln],
2134*9880d681SAndroid Build Coastguard Worker	(instregex "STTR(B|H|W|X)i")>;
2135*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_396ln :
2136*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2137*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2138*9880d681SAndroid Build Coastguard Worker}
2139*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_396ln],
2140*9880d681SAndroid Build Coastguard Worker	(instregex "STUR(Q|D|S|H|B)i")>;
2141*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_Y_397ln :
2142*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2143*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 2;
2144*9880d681SAndroid Build Coastguard Worker}
2145*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_Y_397ln],
2146*9880d681SAndroid Build Coastguard Worker	(instregex "STUR(BB|HH|W|X)i")>;
2147*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_LS_Y_404ln :
2148*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS, KryoUnitY]> {
2149*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
2150*9880d681SAndroid Build Coastguard Worker}
2151*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_LS_Y_404ln],
2152*9880d681SAndroid Build Coastguard Worker	(instregex "STX(P(W|X)|R(B|H|W|X))")>;
2153*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_160ln :
2154*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
2155*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
2156*9880d681SAndroid Build Coastguard Worker}
2157*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_160ln],
2158*9880d681SAndroid Build Coastguard Worker	(instregex "^(SU|US)QADD(v8i8|v4i16|v2i32)")>;
2159*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_167ln :
2160*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
2161*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
2162*9880d681SAndroid Build Coastguard Worker}
2163*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_167ln],
2164*9880d681SAndroid Build Coastguard Worker	(instregex "^(SU|US)QADD(v16i8|v8i16|v4i32|v2i64)")>;
2165*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_1ln :
2166*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
2167*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 1;
2168*9880d681SAndroid Build Coastguard Worker}
2169*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_1ln, ReadI],
2170*9880d681SAndroid Build Coastguard Worker	(instregex "SUBS?(W|X)ri")>;
2171*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_5ln :
2172*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
2173*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
2174*9880d681SAndroid Build Coastguard Worker}
2175*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_5ln, ReadI, ReadIEReg],
2176*9880d681SAndroid Build Coastguard Worker	(instregex "SUBS?(W|X)rx")>;
2177*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_XY_XY_5_1ln :
2178*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
2179*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 2;
2180*9880d681SAndroid Build Coastguard Worker}
2181*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_XY_XY_5_1ln, ReadI, ReadISReg],
2182*9880d681SAndroid Build Coastguard Worker	(instregex "SUBS?(W|X)rs")>;
2183*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_6ln :
2184*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
2185*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2186*9880d681SAndroid Build Coastguard Worker}
2187*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_6ln, ReadI, ReadI],
2188*9880d681SAndroid Build Coastguard Worker	(instregex "SUBS?(W|X)rr")>;
2189*9880d681SAndroid Build Coastguard Workerdef KryoWrite_0cyc_LS_9ln :
2190*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitLS]> {
2191*9880d681SAndroid Build Coastguard Worker	let Latency = 0; let NumMicroOps = 1;
2192*9880d681SAndroid Build Coastguard Worker}
2193*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_0cyc_LS_9ln],
2194*9880d681SAndroid Build Coastguard Worker	(instregex "SYSL?xt")>;
2195*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_noRSV_205ln :
2196*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
2197*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2198*9880d681SAndroid Build Coastguard Worker}
2199*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_noRSV_205ln],
2200*9880d681SAndroid Build Coastguard Worker	(instrs TBLv8i8One)>;
2201*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_208ln :
2202*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
2203*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2204*9880d681SAndroid Build Coastguard Worker}
2205*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_208ln],
2206*9880d681SAndroid Build Coastguard Worker	(instrs TBLv16i8One)>;
2207*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_X_noRSV_222ln :
2208*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX]> {
2209*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 4;
2210*9880d681SAndroid Build Coastguard Worker}
2211*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_X_noRSV_222ln],
2212*9880d681SAndroid Build Coastguard Worker	(instrs TBLv8i8Two)>;
2213*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_X_X_X_X_224ln :
2214*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2215*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
2216*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 6;
2217*9880d681SAndroid Build Coastguard Worker}
2218*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_X_X_X_X_224ln],
2219*9880d681SAndroid Build Coastguard Worker	(instrs TBLv16i8Two)>;
2220*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_X_X_X_noRSV_225ln :
2221*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX]> {
2222*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 6;
2223*9880d681SAndroid Build Coastguard Worker}
2224*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_X_X_X_noRSV_225ln],
2225*9880d681SAndroid Build Coastguard Worker	(instrs TBLv8i8Three)>;
2226*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_X_X_X_X_X_noRSV_228ln :
2227*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2228*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX]> {
2229*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 8;
2230*9880d681SAndroid Build Coastguard Worker}
2231*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_X_X_X_X_X_noRSV_228ln],
2232*9880d681SAndroid Build Coastguard Worker	(instrs TBLv8i8Four)>;
2233*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_X_X_X_X_X_X_XY_X_X_230ln :
2234*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2235*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitXY, KryoUnitX,
2236*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
2237*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 11;
2238*9880d681SAndroid Build Coastguard Worker}
2239*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_X_X_X_X_X_X_XY_X_X_230ln],
2240*9880d681SAndroid Build Coastguard Worker	(instrs TBLv16i8Three)>;
2241*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_X_X_X_X_X_X_X_X_XY_X_X_X_X_232ln :
2242*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2243*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2244*9880d681SAndroid Build Coastguard Worker                   KryoUnitXY, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX]> {
2245*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 15;
2246*9880d681SAndroid Build Coastguard Worker}
2247*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_X_X_X_X_X_X_X_X_XY_X_X_X_X_232ln],
2248*9880d681SAndroid Build Coastguard Worker	(instrs TBLv16i8Four)>;
2249*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_noRSV_220ln :
2250*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
2251*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 3;
2252*9880d681SAndroid Build Coastguard Worker}
2253*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_noRSV_220ln],
2254*9880d681SAndroid Build Coastguard Worker	(instrs TBXv8i8One)>;
2255*9880d681SAndroid Build Coastguard Workerdef KryoWrite_2cyc_X_X_X_X_221ln :
2256*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX]> {
2257*9880d681SAndroid Build Coastguard Worker	let Latency = 2; let NumMicroOps = 4;
2258*9880d681SAndroid Build Coastguard Worker}
2259*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_2cyc_X_X_X_X_221ln],
2260*9880d681SAndroid Build Coastguard Worker	(instrs TBXv16i8One)>;
2261*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_X_X_noRSV_223ln :
2262*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX]> {
2263*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 5;
2264*9880d681SAndroid Build Coastguard Worker}
2265*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_X_X_noRSV_223ln],
2266*9880d681SAndroid Build Coastguard Worker	(instrs TBXv8i8Two)>;
2267*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_X_X_X_X_noRSV_226ln :
2268*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2269*9880d681SAndroid Build Coastguard Worker                   KryoUnitX]> {
2270*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 7;
2271*9880d681SAndroid Build Coastguard Worker}
2272*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_X_X_X_X_noRSV_226ln],
2273*9880d681SAndroid Build Coastguard Worker	(instrs TBXv8i8Three)>;
2274*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_X_X_X_X_X_X_X_X_227ln :
2275*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2276*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX]> {
2277*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 8;
2278*9880d681SAndroid Build Coastguard Worker}
2279*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_X_X_X_X_X_X_X_X_227ln],
2280*9880d681SAndroid Build Coastguard Worker	(instrs TBXv16i8Two)>;
2281*9880d681SAndroid Build Coastguard Workerdef KryoWrite_4cyc_X_X_X_X_X_X_X_X_noRSV_229ln :
2282*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2283*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX]> {
2284*9880d681SAndroid Build Coastguard Worker	let Latency = 4; let NumMicroOps = 9;
2285*9880d681SAndroid Build Coastguard Worker}
2286*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_4cyc_X_X_X_X_X_X_X_X_noRSV_229ln],
2287*9880d681SAndroid Build Coastguard Worker	(instrs TBXv8i8Four)>;
2288*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_X_X_X_X_X_X_X_XY_X_X_X_231ln :
2289*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2290*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitXY,
2291*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX]> {
2292*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 13;
2293*9880d681SAndroid Build Coastguard Worker}
2294*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_X_X_X_X_X_X_X_XY_X_X_X_231ln],
2295*9880d681SAndroid Build Coastguard Worker	(instrs TBXv16i8Three)>;
2296*9880d681SAndroid Build Coastguard Workerdef KryoWrite_5cyc_X_X_X_X_X_X_X_X_X_X_X_XY_X_X_X_X_X_233ln :
2297*9880d681SAndroid Build Coastguard Worker    SchedWriteRes<[KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2298*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX, KryoUnitX,
2299*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitXY, KryoUnitX, KryoUnitX, KryoUnitX,
2300*9880d681SAndroid Build Coastguard Worker                   KryoUnitX, KryoUnitX]> {
2301*9880d681SAndroid Build Coastguard Worker	let Latency = 5; let NumMicroOps = 17;
2302*9880d681SAndroid Build Coastguard Worker}
2303*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_5cyc_X_X_X_X_X_X_X_X_X_X_X_XY_X_X_X_X_X_233ln],
2304*9880d681SAndroid Build Coastguard Worker	(instrs TBXv16i8Four)>;
2305*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_XY_217ln :
2306*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
2307*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2308*9880d681SAndroid Build Coastguard Worker}
2309*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_XY_217ln],
2310*9880d681SAndroid Build Coastguard Worker	(instregex "((TRN1|TRN2|ZIP1|UZP1|UZP2)v2i64|ZIP2(v2i64|v4i32|v8i16|v16i8))")>;
2311*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_211ln :
2312*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
2313*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2314*9880d681SAndroid Build Coastguard Worker}
2315*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_211ln],
2316*9880d681SAndroid Build Coastguard Worker	(instregex "(TRN1|TRN2)(v4i32|v8i16|v16i8)")>;
2317*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_XY_213ln :
2318*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitXY]> {
2319*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2320*9880d681SAndroid Build Coastguard Worker}
2321*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_XY_213ln],
2322*9880d681SAndroid Build Coastguard Worker	(instregex "(TRN1|TRN2)(v2i32|v4i16|v8i8)")>;
2323*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_noRSV_156ln :
2324*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
2325*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
2326*9880d681SAndroid Build Coastguard Worker}
2327*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_noRSV_156ln],
2328*9880d681SAndroid Build Coastguard Worker	(instrs URECPEv2i32, URSQRTEv2i32)>;
2329*9880d681SAndroid Build Coastguard Workerdef KryoWrite_3cyc_XY_XY_168ln :
2330*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY, KryoUnitXY]> {
2331*9880d681SAndroid Build Coastguard Worker	let Latency = 3; let NumMicroOps = 2;
2332*9880d681SAndroid Build Coastguard Worker}
2333*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_3cyc_XY_XY_168ln],
2334*9880d681SAndroid Build Coastguard Worker	(instrs URECPEv4i32, URSQRTEv4i32)>;
2335*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_210ln :
2336*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
2337*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2338*9880d681SAndroid Build Coastguard Worker}
2339*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_210ln],
2340*9880d681SAndroid Build Coastguard Worker	(instregex "(UZP1|UZP2)(v4i32|v8i16|v16i8)")>;
2341*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_noRSV_206ln :
2342*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX]> {
2343*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2344*9880d681SAndroid Build Coastguard Worker}
2345*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_noRSV_206ln],
2346*9880d681SAndroid Build Coastguard Worker	(instregex "(UZP1|UZP2|ZIP1|ZIP2)(v2i32|v4i16|v8i8)")>;
2347*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_XY_noRSV_215ln :
2348*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitXY]> {
2349*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2350*9880d681SAndroid Build Coastguard Worker}
2351*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_XY_noRSV_215ln],
2352*9880d681SAndroid Build Coastguard Worker	(instregex "XTNv.*")>;
2353*9880d681SAndroid Build Coastguard Workerdef KryoWrite_1cyc_X_X_209ln :
2354*9880d681SAndroid Build Coastguard Worker	SchedWriteRes<[KryoUnitX, KryoUnitX]> {
2355*9880d681SAndroid Build Coastguard Worker	let Latency = 1; let NumMicroOps = 2;
2356*9880d681SAndroid Build Coastguard Worker}
2357*9880d681SAndroid Build Coastguard Workerdef : InstRW<[KryoWrite_1cyc_X_X_209ln],
2358*9880d681SAndroid Build Coastguard Worker	(instregex "ZIP1(v4i32|v8i16|v16i8)")>;
2359