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