1*9880d681SAndroid Build Coastguard Worker//==- HexagonInstrFormatsV60.td - Hexagon Instruction Formats -*- 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 describes the Hexagon V60 instruction classes in TableGen format. 11*9880d681SAndroid Build Coastguard Worker// 12*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------// 15*9880d681SAndroid Build Coastguard Worker// Hexagon Intruction Flags + 16*9880d681SAndroid Build Coastguard Worker// 17*9880d681SAndroid Build Coastguard Worker// *** Must match BaseInfo.h *** 18*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------// 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VA : IType<13>; 21*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VA_DV : IType<14>; 22*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VX : IType<15>; 23*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VX_DV : IType<16>; 24*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VP : IType<17>; 25*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VP_VS : IType<18>; 26*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VS : IType<19>; 27*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VINLANESAT : IType<20>; 28*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_LD : IType<21>; 29*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_TMP_LD : IType<22>; 30*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_CUR_LD : IType<23>; 31*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_VP_LDU : IType<24>; 32*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_ST : IType<25>; 33*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_NEW_ST : IType<26>; 34*9880d681SAndroid Build Coastguard Workerdef TypeCVI_VM_STU : IType<27>; 35*9880d681SAndroid Build Coastguard Workerdef TypeCVI_HIST : IType<28>; 36*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------// 37*9880d681SAndroid Build Coastguard Worker// Intruction Classes Definitions + 38*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------// 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workerlet validSubTargets = HasV60SubT in 41*9880d681SAndroid Build Coastguard Worker{ 42*9880d681SAndroid Build Coastguard Workerclass CVI_VA_Resource<dag outs, dag ins, string asmstr, 43*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 44*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VA> 45*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VA>, 46*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Workerclass CVI_VA_DV_Resource<dag outs, dag ins, string asmstr, 49*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 50*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VA_DV> 51*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VA_DV>, 52*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Workerclass CVI_VX_Resource_long<dag outs, dag ins, string asmstr, 55*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 56*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_LONG> 57*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX>, 58*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerclass CVI_VX_Resource_late<dag outs, dag ins, string asmstr, 61*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 62*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_LATE> 63*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX>, 64*9880d681SAndroid Build Coastguard Worker Requires<[HasV60T, UseHVX]>; 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Workerclass CVI_VX_Resource<dag outs, dag ins, string asmstr, 67*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 68*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX> 69*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX>, 70*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Workerclass CVI_VX_DV_Resource<dag outs, dag ins, string asmstr, 73*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 74*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_DV> 75*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX_DV>, 76*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerclass CVI_VX_DV_Slot2_Resource<dag outs, dag ins, string asmstr, 79*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 80*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_DV_SLOT2> 81*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX_DV>, 82*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerclass CVI_VX_DV_Resource_long<dag outs, dag ins, string asmstr, 85*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 86*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_DV_LONG> 87*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX_DV>, 88*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workerclass CVI_VP_Resource_long<dag outs, dag ins, string asmstr, 91*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 92*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VP_LONG> 93*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VP>, 94*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Workerclass CVI_VP_VS_Resource_early<dag outs, dag ins, string asmstr, 97*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 98*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VP_VS_EARLY> 99*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VP_VS>, 100*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Workerclass CVI_VP_VS_Resource_long<dag outs, dag ins, string asmstr, 103*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 104*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VP_VS_LONG> 105*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VP_VS>, 106*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Workerclass CVI_VP_VS_Resource_long_early<dag outs, dag ins, string asmstr, 109*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 110*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VP_VS_LONG_EARLY> 111*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VP_VS>, 112*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Workerclass CVI_VS_Resource<dag outs, dag ins, string asmstr, 115*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 116*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VS> 117*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VS>, 118*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Workerclass CVI_VINLANESAT_Resource<dag outs, dag ins, string asmstr, 121*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 122*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VINLANESAT> 123*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VINLANESAT>, 124*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Workerclass CVI_VS_Resource_long<dag outs, dag ins, string asmstr, 127*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 128*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VS> 129*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VS>, 130*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 131*9880d681SAndroid Build Coastguard Worker 132*9880d681SAndroid Build Coastguard Workerclass CVI_VM_LD_Resource<dag outs, dag ins, string asmstr, 133*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 134*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_LD> 135*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_LD>, 136*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Workerclass CVI_VM_LD_Resource_long<dag outs, dag ins, string asmstr, 139*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 140*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_LD> 141*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_LD>, 142*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Workerclass CVI_VM_TMP_LD_Resource<dag outs, dag ins, string asmstr, 145*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 146*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_TMP_LD> 147*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_TMP_LD>, 148*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 149*9880d681SAndroid Build Coastguard Worker 150*9880d681SAndroid Build Coastguard Workerclass CVI_VM_TMP_LD_Resource_long<dag outs, dag ins, string asmstr, 151*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 152*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_TMP_LD> 153*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_TMP_LD>, 154*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Workerclass CVI_VM_CUR_LD_Resource<dag outs, dag ins, string asmstr, 157*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 158*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_CUR_LD> 159*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_CUR_LD>, 160*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Workerclass CVI_VM_VP_LDU_Resource<dag outs, dag ins, string asmstr, 163*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 164*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_VP_LDU> 165*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_VP_LDU>, 166*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Workerclass CVI_VM_VP_LDU_Resource_long<dag outs, dag ins, string asmstr, 169*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 170*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_VP_LDU> 171*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_VP_LDU>, 172*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 173*9880d681SAndroid Build Coastguard Worker 174*9880d681SAndroid Build Coastguard Workerclass CVI_VM_ST_Resource<dag outs, dag ins, string asmstr, 175*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 176*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_ST> 177*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_ST>, 178*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Workerclass CVI_VM_ST_Resource_long<dag outs, dag ins, string asmstr, 181*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 182*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_ST> 183*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_ST>, 184*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Workerclass CVI_VM_NEW_ST_Resource<dag outs, dag ins, string asmstr, 187*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 188*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_NEW_ST> 189*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_NEW_ST>, 190*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 191*9880d681SAndroid Build Coastguard Worker 192*9880d681SAndroid Build Coastguard Workerclass CVI_VM_NEW_ST_Resource_long<dag outs, dag ins, string asmstr, 193*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 194*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_NEW_ST> 195*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_NEW_ST>, 196*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Workerclass CVI_VM_STU_Resource<dag outs, dag ins, string asmstr, 199*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 200*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_STU> 201*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_STU>, 202*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Workerclass CVI_VM_STU_Resource_long<dag outs, dag ins, string asmstr, 205*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 206*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VM_STU> 207*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VM_STU>, 208*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Workerclass CVI_HIST_Resource<dag outs, dag ins, string asmstr, 211*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 212*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_HIST> 213*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_HIST>, 214*9880d681SAndroid Build Coastguard Worker OpcodeHexagon, Requires<[HasV60T, UseHVX]>; 215*9880d681SAndroid Build Coastguard Worker} 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Workerlet validSubTargets = HasV60SubT in 218*9880d681SAndroid Build Coastguard Worker{ 219*9880d681SAndroid Build Coastguard Workerclass CVI_VA_Resource1<dag outs, dag ins, string asmstr, 220*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 221*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VA> 222*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VA>, 223*9880d681SAndroid Build Coastguard Worker Requires<[HasV60T, UseHVX]>; 224*9880d681SAndroid Build Coastguard Worker 225*9880d681SAndroid Build Coastguard Workerclass CVI_VX_DV_Resource1<dag outs, dag ins, string asmstr, 226*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 227*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_VX_DV> 228*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_VX_DV>, 229*9880d681SAndroid Build Coastguard Worker Requires<[HasV60T, UseHVX]>; 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Workerclass CVI_HIST_Resource1<dag outs, dag ins, string asmstr, 232*9880d681SAndroid Build Coastguard Worker list<dag> pattern = [], string cstr = "", 233*9880d681SAndroid Build Coastguard Worker InstrItinClass itin = CVI_HIST> 234*9880d681SAndroid Build Coastguard Worker : InstHexagon<outs, ins, asmstr, pattern, cstr, itin, TypeCVI_HIST>, 235*9880d681SAndroid Build Coastguard Worker Requires<[HasV60T, UseHVX]>; 236*9880d681SAndroid Build Coastguard Worker} 237*9880d681SAndroid Build Coastguard Worker 238*9880d681SAndroid Build Coastguard Worker 239