1*9880d681SAndroid Build Coastguard Worker//=- HexagonIntrinsicsV60.td - Target Description for Hexagon -*- 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 Compiler Intrinsics 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 Workerlet isCodeGenOnly = 1 in { 16*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_vd0_pseudo : CVI_VA_Resource<(outs VectorRegs:$dst), 17*9880d681SAndroid Build Coastguard Worker (ins ), 18*9880d681SAndroid Build Coastguard Worker "$dst=#0", 19*9880d681SAndroid Build Coastguard Worker [(set VectorRegs:$dst, (int_hexagon_V6_vd0 ))]>; 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_vd0_pseudo_128B : CVI_VA_Resource<(outs VectorRegs128B:$dst), 22*9880d681SAndroid Build Coastguard Worker (ins ), 23*9880d681SAndroid Build Coastguard Worker "$dst=#0", 24*9880d681SAndroid Build Coastguard Worker [(set VectorRegs128B:$dst, (int_hexagon_V6_vd0_128B ))]>; 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 28*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_vassignp : CVI_VA_Resource<(outs VecDblRegs:$dst), 29*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs:$src1), 30*9880d681SAndroid Build Coastguard Worker "$dst=vassignp_W($src1)", 31*9880d681SAndroid Build Coastguard Worker [(set VecDblRegs:$dst, (int_hexagon_V6_vassignp VecDblRegs:$src1))]>; 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 34*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_vassignp_128B : CVI_VA_Resource<(outs VecDblRegs128B:$dst), 35*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs128B:$src1), 36*9880d681SAndroid Build Coastguard Worker "$dst=vassignp_W_128B($src1)", 37*9880d681SAndroid Build Coastguard Worker [(set VecDblRegs128B:$dst, (int_hexagon_V6_vassignp_128B 38*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src1))]>; 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 41*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_lo : CVI_VA_Resource<(outs VectorRegs:$dst), 42*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs:$src1), 43*9880d681SAndroid Build Coastguard Worker "$dst=lo_W($src1)", 44*9880d681SAndroid Build Coastguard Worker [(set VectorRegs:$dst, (int_hexagon_V6_lo VecDblRegs:$src1))]>; 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 47*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_hi : CVI_VA_Resource<(outs VectorRegs:$dst), 48*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs:$src1), 49*9880d681SAndroid Build Coastguard Worker "$dst=hi_W($src1)", 50*9880d681SAndroid Build Coastguard Worker [(set VectorRegs:$dst, (int_hexagon_V6_hi VecDblRegs:$src1))]>; 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 53*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_lo_128B : CVI_VA_Resource<(outs VectorRegs128B:$dst), 54*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs128B:$src1), 55*9880d681SAndroid Build Coastguard Worker "$dst=lo_W($src1)", 56*9880d681SAndroid Build Coastguard Worker [(set VectorRegs128B:$dst, (int_hexagon_V6_lo_128B VecDblRegs128B:$src1))]>; 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Workerlet isPseudo = 1 in 59*9880d681SAndroid Build Coastguard Workerdef HEXAGON_V6_hi_128B : CVI_VA_Resource<(outs VectorRegs128B:$dst), 60*9880d681SAndroid Build Coastguard Worker (ins VecDblRegs128B:$src1), 61*9880d681SAndroid Build Coastguard Worker "$dst=hi_W($src1)", 62*9880d681SAndroid Build Coastguard Worker [(set VectorRegs128B:$dst, (int_hexagon_V6_hi_128B VecDblRegs128B:$src1))]>; 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Workerlet AddedComplexity = 100 in { 65*9880d681SAndroid Build Coastguard Workerdef : Pat < (v16i32 (int_hexagon_V6_lo (v32i32 VecDblRegs:$src1))), 66*9880d681SAndroid Build Coastguard Worker (v16i32 (EXTRACT_SUBREG (v32i32 VecDblRegs:$src1), subreg_loreg)) >, 67*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Workerdef : Pat < (v16i32 (int_hexagon_V6_hi (v32i32 VecDblRegs:$src1))), 70*9880d681SAndroid Build Coastguard Worker (v16i32 (EXTRACT_SUBREG (v32i32 VecDblRegs:$src1), subreg_hireg)) >, 71*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Workerdef : Pat < (v32i32 (int_hexagon_V6_lo_128B (v64i32 VecDblRegs128B:$src1))), 74*9880d681SAndroid Build Coastguard Worker (v32i32 (EXTRACT_SUBREG (v64i32 VecDblRegs128B:$src1), 75*9880d681SAndroid Build Coastguard Worker subreg_loreg)) >, 76*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerdef : Pat < (v32i32 (int_hexagon_V6_hi_128B (v64i32 VecDblRegs128B:$src1))), 79*9880d681SAndroid Build Coastguard Worker (v32i32 (EXTRACT_SUBREG (v64i32 VecDblRegs128B:$src1), 80*9880d681SAndroid Build Coastguard Worker subreg_hireg)) >, 81*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 82*9880d681SAndroid Build Coastguard Worker} 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerdef : Pat <(v512i1 (bitconvert (v16i32 VectorRegs:$src1))), 85*9880d681SAndroid Build Coastguard Worker (v512i1 (V6_vandvrt(v16i32 VectorRegs:$src1), 86*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 87*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Workerdef : Pat <(v512i1 (bitconvert (v32i16 VectorRegs:$src1))), 90*9880d681SAndroid Build Coastguard Worker (v512i1 (V6_vandvrt(v32i16 VectorRegs:$src1), 91*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 92*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Workerdef : Pat <(v512i1 (bitconvert (v64i8 VectorRegs:$src1))), 95*9880d681SAndroid Build Coastguard Worker (v512i1 (V6_vandvrt(v64i8 VectorRegs:$src1), 96*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 97*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Workerdef : Pat <(v512i1 (bitconvert (v8i64 VectorRegs:$src1))), 100*9880d681SAndroid Build Coastguard Worker (v512i1 (V6_vandvrt(v8i64 VectorRegs:$src1), 101*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 102*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Workerdef : Pat <(v16i32 (bitconvert (v512i1 VecPredRegs:$src1))), 105*9880d681SAndroid Build Coastguard Worker (v16i32 (V6_vandqrt(v512i1 VecPredRegs:$src1), 106*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 107*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Workerdef : Pat <(v32i16 (bitconvert (v512i1 VecPredRegs:$src1))), 110*9880d681SAndroid Build Coastguard Worker (v32i16 (V6_vandqrt(v512i1 VecPredRegs:$src1), 111*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 112*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Workerdef : Pat <(v64i8 (bitconvert (v512i1 VecPredRegs:$src1))), 115*9880d681SAndroid Build Coastguard Worker (v64i8 (V6_vandqrt(v512i1 VecPredRegs:$src1), 116*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 117*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Workerdef : Pat <(v8i64 (bitconvert (v512i1 VecPredRegs:$src1))), 120*9880d681SAndroid Build Coastguard Worker (v8i64 (V6_vandqrt(v512i1 VecPredRegs:$src1), 121*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 122*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 123*9880d681SAndroid Build Coastguard Worker 124*9880d681SAndroid Build Coastguard Workerdef : Pat <(v1024i1 (bitconvert (v32i32 VectorRegs128B:$src1))), 125*9880d681SAndroid Build Coastguard Worker (v1024i1 (V6_vandvrt_128B(v32i32 VectorRegs128B:$src1), 126*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 127*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 128*9880d681SAndroid Build Coastguard Worker 129*9880d681SAndroid Build Coastguard Workerdef : Pat <(v1024i1 (bitconvert (v64i16 VectorRegs128B:$src1))), 130*9880d681SAndroid Build Coastguard Worker (v1024i1 (V6_vandvrt_128B(v64i16 VectorRegs128B:$src1), 131*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 132*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Workerdef : Pat <(v1024i1 (bitconvert (v128i8 VectorRegs128B:$src1))), 135*9880d681SAndroid Build Coastguard Worker (v1024i1 (V6_vandvrt_128B(v128i8 VectorRegs128B:$src1), 136*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 137*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Workerdef : Pat <(v1024i1 (bitconvert (v16i64 VectorRegs128B:$src1))), 140*9880d681SAndroid Build Coastguard Worker (v1024i1 (V6_vandvrt_128B(v16i64 VectorRegs128B:$src1), 141*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 142*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Workerdef : Pat <(v32i32 (bitconvert (v1024i1 VecPredRegs128B:$src1))), 145*9880d681SAndroid Build Coastguard Worker (v32i32 (V6_vandqrt_128B(v1024i1 VecPredRegs128B:$src1), 146*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 147*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Workerdef : Pat <(v64i16 (bitconvert (v1024i1 VecPredRegs128B:$src1))), 150*9880d681SAndroid Build Coastguard Worker (v64i16 (V6_vandqrt_128B(v1024i1 VecPredRegs128B:$src1), 151*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 152*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 153*9880d681SAndroid Build Coastguard Worker 154*9880d681SAndroid Build Coastguard Workerdef : Pat <(v128i8 (bitconvert (v1024i1 VecPredRegs128B:$src1))), 155*9880d681SAndroid Build Coastguard Worker (v128i8 (V6_vandqrt_128B(v1024i1 VecPredRegs128B:$src1), 156*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 157*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 158*9880d681SAndroid Build Coastguard Worker 159*9880d681SAndroid Build Coastguard Workerdef : Pat <(v16i64 (bitconvert (v1024i1 VecPredRegs128B:$src1))), 160*9880d681SAndroid Build Coastguard Worker (v16i64 (V6_vandqrt_128B(v1024i1 VecPredRegs128B:$src1), 161*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 162*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 163*9880d681SAndroid Build Coastguard Worker 164*9880d681SAndroid Build Coastguard Workerlet AddedComplexity = 140 in { 165*9880d681SAndroid Build Coastguard Workerdef : Pat <(store (v512i1 VecPredRegs:$src1), (i32 IntRegs:$addr)), 166*9880d681SAndroid Build Coastguard Worker (V6_vS32b_ai IntRegs:$addr, 0, 167*9880d681SAndroid Build Coastguard Worker (v16i32 (V6_vandqrt (v512i1 VecPredRegs:$src1), 168*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101))))>, 169*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 170*9880d681SAndroid Build Coastguard Worker 171*9880d681SAndroid Build Coastguard Workerdef : Pat <(v512i1 (load (i32 IntRegs:$addr))), 172*9880d681SAndroid Build Coastguard Worker (v512i1 (V6_vandvrt 173*9880d681SAndroid Build Coastguard Worker (v16i32 (V6_vL32b_ai IntRegs:$addr, 0)), (A2_tfrsi 0x01010101)))>, 174*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Workerdef : Pat <(store (v1024i1 VecPredRegs128B:$src1), (i32 IntRegs:$addr)), 177*9880d681SAndroid Build Coastguard Worker (V6_vS32b_ai_128B IntRegs:$addr, 0, 178*9880d681SAndroid Build Coastguard Worker (v32i32 (V6_vandqrt_128B (v1024i1 VecPredRegs128B:$src1), 179*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101))))>, 180*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 181*9880d681SAndroid Build Coastguard Worker 182*9880d681SAndroid Build Coastguard Workerdef : Pat <(v1024i1 (load (i32 IntRegs:$addr))), 183*9880d681SAndroid Build Coastguard Worker (v1024i1 (V6_vandvrt_128B 184*9880d681SAndroid Build Coastguard Worker (v32i32 (V6_vL32b_ai_128B IntRegs:$addr, 0)), 185*9880d681SAndroid Build Coastguard Worker (A2_tfrsi 0x01010101)))>, 186*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 187*9880d681SAndroid Build Coastguard Worker} 188*9880d681SAndroid Build Coastguard Worker 189*9880d681SAndroid Build Coastguard Workermulticlass T_R_pat <InstHexagon MI, Intrinsic IntID> { 190*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID IntRegs:$src1), (MI IntRegs:$src1)>, 191*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 192*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") IntRegs:$src1), 193*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") IntRegs:$src1)>, 194*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 195*9880d681SAndroid Build Coastguard Worker} 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Workermulticlass T_V_pat <InstHexagon MI, Intrinsic IntID> { 198*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1), 199*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1)>, 200*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 201*9880d681SAndroid Build Coastguard Worker 202*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1), 203*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1)>, 204*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 205*9880d681SAndroid Build Coastguard Worker} 206*9880d681SAndroid Build Coastguard Worker 207*9880d681SAndroid Build Coastguard Workermulticlass T_Q_pat <InstHexagon MI, Intrinsic IntID> { 208*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecPredRegs:$src1), 209*9880d681SAndroid Build Coastguard Worker (MI VecPredRegs:$src1)>, 210*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecPredRegs128B:$src1), 213*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecPredRegs128B:$src1)>, 214*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 215*9880d681SAndroid Build Coastguard Worker} 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Workermulticlass T_WR_pat <InstHexagon MI, Intrinsic IntID> { 218*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, IntRegs:$src2), 219*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, IntRegs:$src2)>, 220*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B")VecDblRegs128B:$src1, IntRegs:$src2), 223*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B")VecDblRegs128B:$src1, IntRegs:$src2)>, 224*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 225*9880d681SAndroid Build Coastguard Worker} 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Workermulticlass T_VR_pat <InstHexagon MI, Intrinsic IntID> { 228*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, IntRegs:$src2), 229*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, IntRegs:$src2)>, 230*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 231*9880d681SAndroid Build Coastguard Worker 232*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B")VectorRegs128B:$src1, IntRegs:$src2), 233*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B")VectorRegs128B:$src1, IntRegs:$src2)>, 234*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 235*9880d681SAndroid Build Coastguard Worker} 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Workermulticlass T_WV_pat <InstHexagon MI, Intrinsic IntID> { 238*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VectorRegs:$src2), 239*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VectorRegs:$src2)>, 240*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 243*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2), 244*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 245*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2)>, 246*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 247*9880d681SAndroid Build Coastguard Worker} 248*9880d681SAndroid Build Coastguard Worker 249*9880d681SAndroid Build Coastguard Workermulticlass T_WW_pat <InstHexagon MI, Intrinsic IntID> { 250*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VecDblRegs:$src2), 251*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VecDblRegs:$src2)>, 252*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 253*9880d681SAndroid Build Coastguard Worker 254*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 255*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2), 256*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 257*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2)>, 258*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 259*9880d681SAndroid Build Coastguard Worker} 260*9880d681SAndroid Build Coastguard Worker 261*9880d681SAndroid Build Coastguard Workermulticlass T_VV_pat <InstHexagon MI, Intrinsic IntID> { 262*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VectorRegs:$src2), 263*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VectorRegs:$src2)>, 264*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 265*9880d681SAndroid Build Coastguard Worker 266*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 267*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2), 268*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 269*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2)>, 270*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 271*9880d681SAndroid Build Coastguard Worker} 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Workermulticlass T_QR_pat <InstHexagon MI, Intrinsic IntID> { 274*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecPredRegs:$src1, IntRegs:$src2), 275*9880d681SAndroid Build Coastguard Worker (MI VecPredRegs:$src1, IntRegs:$src2)>, 276*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 277*9880d681SAndroid Build Coastguard Worker 278*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecPredRegs128B:$src1, 279*9880d681SAndroid Build Coastguard Worker IntRegs:$src2), 280*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecPredRegs128B:$src1, 281*9880d681SAndroid Build Coastguard Worker IntRegs:$src2)>, 282*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 283*9880d681SAndroid Build Coastguard Worker} 284*9880d681SAndroid Build Coastguard Worker 285*9880d681SAndroid Build Coastguard Workermulticlass T_QQ_pat <InstHexagon MI, Intrinsic IntID> { 286*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecPredRegs:$src1, VecPredRegs:$src2), 287*9880d681SAndroid Build Coastguard Worker (MI VecPredRegs:$src1, VecPredRegs:$src2)>, 288*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 289*9880d681SAndroid Build Coastguard Worker 290*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecPredRegs128B:$src1, 291*9880d681SAndroid Build Coastguard Worker VecPredRegs128B:$src2), 292*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecPredRegs128B:$src1, 293*9880d681SAndroid Build Coastguard Worker VecPredRegs128B:$src2)>, 294*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 295*9880d681SAndroid Build Coastguard Worker} 296*9880d681SAndroid Build Coastguard Worker 297*9880d681SAndroid Build Coastguard Workermulticlass T_WWR_pat <InstHexagon MI, Intrinsic IntID> { 298*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VecDblRegs:$src2, IntRegs:$src3), 299*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VecDblRegs:$src2, IntRegs:$src3)>, 300*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 301*9880d681SAndroid Build Coastguard Worker 302*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 303*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 304*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 305*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 306*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 307*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 308*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 309*9880d681SAndroid Build Coastguard Worker} 310*9880d681SAndroid Build Coastguard Worker 311*9880d681SAndroid Build Coastguard Workermulticlass T_VVR_pat <InstHexagon MI, Intrinsic IntID> { 312*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VectorRegs:$src2, IntRegs:$src3), 313*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VectorRegs:$src2, IntRegs:$src3)>, 314*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 315*9880d681SAndroid Build Coastguard Worker 316*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 317*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 318*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 319*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 320*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 321*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 322*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 323*9880d681SAndroid Build Coastguard Worker} 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Workermulticlass T_WVR_pat <InstHexagon MI, Intrinsic IntID> { 326*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VectorRegs:$src2, IntRegs:$src3), 327*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VectorRegs:$src2, IntRegs:$src3)>, 328*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 329*9880d681SAndroid Build Coastguard Worker 330*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 331*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 332*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 333*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 334*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 335*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 336*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 337*9880d681SAndroid Build Coastguard Worker} 338*9880d681SAndroid Build Coastguard Worker 339*9880d681SAndroid Build Coastguard Workermulticlass T_VWR_pat <InstHexagon MI, Intrinsic IntID> { 340*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VecDblRegs:$src2, IntRegs:$src3), 341*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VecDblRegs:$src2, IntRegs:$src3)>, 342*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 343*9880d681SAndroid Build Coastguard Worker 344*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 345*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 346*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 347*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 348*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 349*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 350*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 351*9880d681SAndroid Build Coastguard Worker} 352*9880d681SAndroid Build Coastguard Worker 353*9880d681SAndroid Build Coastguard Workermulticlass T_VVV_pat <InstHexagon MI, Intrinsic IntID> { 354*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VectorRegs:$src2, VectorRegs:$src3), 355*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VectorRegs:$src2, VectorRegs:$src3)>, 356*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 357*9880d681SAndroid Build Coastguard Worker 358*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 359*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 360*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3), 361*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 362*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 363*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3)>, 364*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 365*9880d681SAndroid Build Coastguard Worker} 366*9880d681SAndroid Build Coastguard Worker 367*9880d681SAndroid Build Coastguard Workermulticlass T_WVV_pat <InstHexagon MI, Intrinsic IntID> { 368*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VectorRegs:$src2, VectorRegs:$src3), 369*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VectorRegs:$src2, VectorRegs:$src3)>, 370*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 371*9880d681SAndroid Build Coastguard Worker 372*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 373*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 374*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3), 375*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 376*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 377*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3)>, 378*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 379*9880d681SAndroid Build Coastguard Worker} 380*9880d681SAndroid Build Coastguard Worker 381*9880d681SAndroid Build Coastguard Workermulticlass T_QVV_pat <InstHexagon MI, Intrinsic IntID> { 382*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecPredRegs:$src1, VectorRegs:$src2, VectorRegs:$src3), 383*9880d681SAndroid Build Coastguard Worker (MI VecPredRegs:$src1, VectorRegs:$src2, VectorRegs:$src3)>, 384*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 385*9880d681SAndroid Build Coastguard Worker 386*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecPredRegs128B:$src1, 387*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 388*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3), 389*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecPredRegs128B:$src1, 390*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 391*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3)>, 392*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 393*9880d681SAndroid Build Coastguard Worker} 394*9880d681SAndroid Build Coastguard Worker 395*9880d681SAndroid Build Coastguard Workermulticlass T_VQR_pat <InstHexagon MI, Intrinsic IntID> { 396*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VecPredRegs:$src2, IntRegs:$src3), 397*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VecPredRegs:$src2, IntRegs:$src3)>, 398*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 399*9880d681SAndroid Build Coastguard Worker 400*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 401*9880d681SAndroid Build Coastguard Worker VecPredRegs128B:$src2, 402*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 403*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 404*9880d681SAndroid Build Coastguard Worker VecPredRegs128B:$src2, 405*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 406*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 407*9880d681SAndroid Build Coastguard Worker} 408*9880d681SAndroid Build Coastguard Worker 409*9880d681SAndroid Build Coastguard Worker 410*9880d681SAndroid Build Coastguard Workermulticlass T_QVR_pat <InstHexagon MI, Intrinsic IntID> { 411*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecPredRegs:$src1, VectorRegs:$src2, IntRegs:$src3), 412*9880d681SAndroid Build Coastguard Worker (MI VecPredRegs:$src1, VectorRegs:$src2, IntRegs:$src3)>, 413*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 414*9880d681SAndroid Build Coastguard Worker 415*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecPredRegs128B:$src1, 416*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 417*9880d681SAndroid Build Coastguard Worker IntRegs:$src3), 418*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecPredRegs128B:$src1, 419*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 420*9880d681SAndroid Build Coastguard Worker IntRegs:$src3)>, 421*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 422*9880d681SAndroid Build Coastguard Worker} 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Workermulticlass T_VVI_pat <InstHexagon MI, Intrinsic IntID> { 425*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VectorRegs:$src2, imm:$src3), 426*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VectorRegs:$src2, imm:$src3)>, 427*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 428*9880d681SAndroid Build Coastguard Worker 429*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 430*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, imm:$src3), 431*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 432*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, imm:$src3)>, 433*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 434*9880d681SAndroid Build Coastguard Worker} 435*9880d681SAndroid Build Coastguard Worker 436*9880d681SAndroid Build Coastguard Workermulticlass T_WRI_pat <InstHexagon MI, Intrinsic IntID> { 437*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, IntRegs:$src2, imm:$src3), 438*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, IntRegs:$src2, imm:$src3)>, 439*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 440*9880d681SAndroid Build Coastguard Worker 441*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 442*9880d681SAndroid Build Coastguard Worker IntRegs:$src2, imm:$src3), 443*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 444*9880d681SAndroid Build Coastguard Worker IntRegs:$src2, imm:$src3)>, 445*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 446*9880d681SAndroid Build Coastguard Worker} 447*9880d681SAndroid Build Coastguard Worker 448*9880d681SAndroid Build Coastguard Workermulticlass T_WWRI_pat <InstHexagon MI, Intrinsic IntID> { 449*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VecDblRegs:$src2, IntRegs:$src3, imm:$src4), 450*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VecDblRegs:$src2, IntRegs:$src3, imm:$src4)>, 451*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 452*9880d681SAndroid Build Coastguard Worker 453*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 454*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 455*9880d681SAndroid Build Coastguard Worker IntRegs:$src3, imm:$src4), 456*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 457*9880d681SAndroid Build Coastguard Worker VecDblRegs128B:$src2, 458*9880d681SAndroid Build Coastguard Worker IntRegs:$src3, imm:$src4)>, 459*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 460*9880d681SAndroid Build Coastguard Worker} 461*9880d681SAndroid Build Coastguard Worker 462*9880d681SAndroid Build Coastguard Workermulticlass T_VVVR_pat <InstHexagon MI, Intrinsic IntID> { 463*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VectorRegs:$src1, VectorRegs:$src2, VectorRegs:$src3, 464*9880d681SAndroid Build Coastguard Worker IntRegs:$src4), 465*9880d681SAndroid Build Coastguard Worker (MI VectorRegs:$src1, VectorRegs:$src2, VectorRegs:$src3, 466*9880d681SAndroid Build Coastguard Worker IntRegs:$src4)>, 467*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VectorRegs128B:$src1, 470*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 471*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3, 472*9880d681SAndroid Build Coastguard Worker IntRegs:$src4), 473*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VectorRegs128B:$src1, 474*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 475*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3, 476*9880d681SAndroid Build Coastguard Worker IntRegs:$src4)>, 477*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 478*9880d681SAndroid Build Coastguard Worker} 479*9880d681SAndroid Build Coastguard Worker 480*9880d681SAndroid Build Coastguard Workermulticlass T_WVVR_pat <InstHexagon MI, Intrinsic IntID> { 481*9880d681SAndroid Build Coastguard Worker def: Pat<(IntID VecDblRegs:$src1, VectorRegs:$src2, VectorRegs:$src3, 482*9880d681SAndroid Build Coastguard Worker IntRegs:$src4), 483*9880d681SAndroid Build Coastguard Worker (MI VecDblRegs:$src1, VectorRegs:$src2, VectorRegs:$src3, 484*9880d681SAndroid Build Coastguard Worker IntRegs:$src4)>, 485*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXSgl]>; 486*9880d681SAndroid Build Coastguard Worker 487*9880d681SAndroid Build Coastguard Worker def: Pat<(!cast<Intrinsic>(IntID#"_128B") VecDblRegs128B:$src1, 488*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 489*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3, 490*9880d681SAndroid Build Coastguard Worker IntRegs:$src4), 491*9880d681SAndroid Build Coastguard Worker (!cast<InstHexagon>(MI#"_128B") VecDblRegs128B:$src1, 492*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src2, 493*9880d681SAndroid Build Coastguard Worker VectorRegs128B:$src3, 494*9880d681SAndroid Build Coastguard Worker IntRegs:$src4)>, 495*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 496*9880d681SAndroid Build Coastguard Worker} 497*9880d681SAndroid Build Coastguard Worker 498*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat<V6_vtmpyb, int_hexagon_V6_vtmpyb>; 499*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vtmpybus, int_hexagon_V6_vtmpybus>; 500*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vdmpyhb, int_hexagon_V6_vdmpyhb>; 501*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vrmpyub, int_hexagon_V6_vrmpyub>; 502*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vrmpybus, int_hexagon_V6_vrmpybus>; 503*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vdsaduh, int_hexagon_V6_vdsaduh>; 504*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vdmpybus, int_hexagon_V6_vdmpybus>; 505*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vdmpybus_dv, int_hexagon_V6_vdmpybus_dv>; 506*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vdmpyhsusat, int_hexagon_V6_vdmpyhsusat>; 507*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vdmpyhsuisat, int_hexagon_V6_vdmpyhsuisat>; 508*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vdmpyhsat, int_hexagon_V6_vdmpyhsat>; 509*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vdmpyhisat, int_hexagon_V6_vdmpyhisat>; 510*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vdmpyhb_dv, int_hexagon_V6_vdmpyhb_dv>; 511*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpybus, int_hexagon_V6_vmpybus>; 512*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vmpabus, int_hexagon_V6_vmpabus>; 513*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vmpahb, int_hexagon_V6_vmpahb>; 514*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyh, int_hexagon_V6_vmpyh>; 515*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyhss, int_hexagon_V6_vmpyhss>; 516*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyhsrs, int_hexagon_V6_vmpyhsrs>; 517*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyuh, int_hexagon_V6_vmpyuh>; 518*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyihb, int_hexagon_V6_vmpyihb>; 519*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vror, int_hexagon_V6_vror>; 520*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vasrw, int_hexagon_V6_vasrw>; 521*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vasrh, int_hexagon_V6_vasrh>; 522*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vaslw, int_hexagon_V6_vaslw>; 523*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vaslh, int_hexagon_V6_vaslh>; 524*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vlsrw, int_hexagon_V6_vlsrw>; 525*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vlsrh, int_hexagon_V6_vlsrh>; 526*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyiwh, int_hexagon_V6_vmpyiwh>; 527*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyiwb, int_hexagon_V6_vmpyiwb>; 528*9880d681SAndroid Build Coastguard Workerdefm : T_WR_pat <V6_vtmpyhb, int_hexagon_V6_vtmpyhb>; 529*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vmpyub, int_hexagon_V6_vmpyub>; 530*9880d681SAndroid Build Coastguard Worker 531*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vrmpyubv, int_hexagon_V6_vrmpyubv>; 532*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vrmpybv, int_hexagon_V6_vrmpybv>; 533*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vrmpybusv, int_hexagon_V6_vrmpybusv>; 534*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vdmpyhvsat, int_hexagon_V6_vdmpyhvsat>; 535*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpybv, int_hexagon_V6_vmpybv>; 536*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyubv, int_hexagon_V6_vmpyubv>; 537*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpybusv, int_hexagon_V6_vmpybusv>; 538*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyhv, int_hexagon_V6_vmpyhv>; 539*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyuhv, int_hexagon_V6_vmpyuhv>; 540*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyhvsrs, int_hexagon_V6_vmpyhvsrs>; 541*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyhus, int_hexagon_V6_vmpyhus>; 542*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vmpabusv, int_hexagon_V6_vmpabusv>; 543*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyih, int_hexagon_V6_vmpyih>; 544*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vand, int_hexagon_V6_vand>; 545*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vor, int_hexagon_V6_vor>; 546*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vxor, int_hexagon_V6_vxor>; 547*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddw, int_hexagon_V6_vaddw>; 548*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddubsat, int_hexagon_V6_vaddubsat>; 549*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vadduhsat, int_hexagon_V6_vadduhsat>; 550*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddhsat, int_hexagon_V6_vaddhsat>; 551*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddwsat, int_hexagon_V6_vaddwsat>; 552*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubb, int_hexagon_V6_vsubb>; 553*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubh, int_hexagon_V6_vsubh>; 554*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubw, int_hexagon_V6_vsubw>; 555*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsububsat, int_hexagon_V6_vsububsat>; 556*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubuhsat, int_hexagon_V6_vsubuhsat>; 557*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubhsat, int_hexagon_V6_vsubhsat>; 558*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubwsat, int_hexagon_V6_vsubwsat>; 559*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddb_dv, int_hexagon_V6_vaddb_dv>; 560*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddh_dv, int_hexagon_V6_vaddh_dv>; 561*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddw_dv, int_hexagon_V6_vaddw_dv>; 562*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddubsat_dv, int_hexagon_V6_vaddubsat_dv>; 563*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vadduhsat_dv, int_hexagon_V6_vadduhsat_dv>; 564*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddhsat_dv, int_hexagon_V6_vaddhsat_dv>; 565*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vaddwsat_dv, int_hexagon_V6_vaddwsat_dv>; 566*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubb_dv, int_hexagon_V6_vsubb_dv>; 567*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubh_dv, int_hexagon_V6_vsubh_dv>; 568*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubw_dv, int_hexagon_V6_vsubw_dv>; 569*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsububsat_dv, int_hexagon_V6_vsububsat_dv>; 570*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubuhsat_dv, int_hexagon_V6_vsubuhsat_dv>; 571*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubhsat_dv, int_hexagon_V6_vsubhsat_dv>; 572*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vsubwsat_dv, int_hexagon_V6_vsubwsat_dv>; 573*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddubh, int_hexagon_V6_vaddubh>; 574*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vadduhw, int_hexagon_V6_vadduhw>; 575*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddhw, int_hexagon_V6_vaddhw>; 576*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsububh, int_hexagon_V6_vsububh>; 577*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubuhw, int_hexagon_V6_vsubuhw>; 578*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsubhw, int_hexagon_V6_vsubhw>; 579*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vabsdiffub, int_hexagon_V6_vabsdiffub>; 580*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vabsdiffh, int_hexagon_V6_vabsdiffh>; 581*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vabsdiffuh, int_hexagon_V6_vabsdiffuh>; 582*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vabsdiffw, int_hexagon_V6_vabsdiffw>; 583*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavgub, int_hexagon_V6_vavgub>; 584*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavguh, int_hexagon_V6_vavguh>; 585*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavgh, int_hexagon_V6_vavgh>; 586*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavgw, int_hexagon_V6_vavgw>; 587*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vnavgub, int_hexagon_V6_vnavgub>; 588*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vnavgh, int_hexagon_V6_vnavgh>; 589*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vnavgw, int_hexagon_V6_vnavgw>; 590*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavgubrnd, int_hexagon_V6_vavgubrnd>; 591*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavguhrnd, int_hexagon_V6_vavguhrnd>; 592*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavghrnd, int_hexagon_V6_vavghrnd>; 593*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vavgwrnd, int_hexagon_V6_vavgwrnd>; 594*9880d681SAndroid Build Coastguard Workerdefm : T_WW_pat <V6_vmpabuuv, int_hexagon_V6_vmpabuuv>; 595*9880d681SAndroid Build Coastguard Worker 596*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vdmpyhb_acc, int_hexagon_V6_vdmpyhb_acc>; 597*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vrmpyub_acc, int_hexagon_V6_vrmpyub_acc>; 598*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vrmpybus_acc, int_hexagon_V6_vrmpybus_acc>; 599*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vdmpybus_acc, int_hexagon_V6_vdmpybus_acc>; 600*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vdmpyhsusat_acc, int_hexagon_V6_vdmpyhsusat_acc>; 601*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vdmpyhsat_acc, int_hexagon_V6_vdmpyhsat_acc>; 602*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vmpyiwb_acc, int_hexagon_V6_vmpyiwb_acc>; 603*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vmpyiwh_acc, int_hexagon_V6_vmpyiwh_acc>; 604*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vmpyihb_acc, int_hexagon_V6_vmpyihb_acc>; 605*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vaslw_acc, int_hexagon_V6_vaslw_acc>; 606*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrw_acc, int_hexagon_V6_vasrw_acc>; 607*9880d681SAndroid Build Coastguard Worker 608*9880d681SAndroid Build Coastguard Workerdefm : T_VWR_pat <V6_vdmpyhsuisat_acc, int_hexagon_V6_vdmpyhsuisat_acc>; 609*9880d681SAndroid Build Coastguard Workerdefm : T_VWR_pat <V6_vdmpyhisat_acc, int_hexagon_V6_vdmpyhisat_acc>; 610*9880d681SAndroid Build Coastguard Worker 611*9880d681SAndroid Build Coastguard Workerdefm : T_WVR_pat <V6_vmpybus_acc, int_hexagon_V6_vmpybus_acc>; 612*9880d681SAndroid Build Coastguard Workerdefm : T_WVR_pat <V6_vmpyhsat_acc, int_hexagon_V6_vmpyhsat_acc>; 613*9880d681SAndroid Build Coastguard Workerdefm : T_WVR_pat <V6_vmpyuh_acc, int_hexagon_V6_vmpyuh_acc>; 614*9880d681SAndroid Build Coastguard Workerdefm : T_WVR_pat <V6_vmpyub_acc, int_hexagon_V6_vmpyub_acc>; 615*9880d681SAndroid Build Coastguard Worker 616*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vtmpyb_acc, int_hexagon_V6_vtmpyb_acc>; 617*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vtmpybus_acc, int_hexagon_V6_vtmpybus_acc>; 618*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vtmpyhb_acc, int_hexagon_V6_vtmpyhb_acc>; 619*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vdmpybus_dv_acc, int_hexagon_V6_vdmpybus_dv_acc>; 620*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vdmpyhb_dv_acc, int_hexagon_V6_vdmpyhb_dv_acc>; 621*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vmpabus_acc, int_hexagon_V6_vmpabus_acc>; 622*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vmpahb_acc, int_hexagon_V6_vmpahb_acc>; 623*9880d681SAndroid Build Coastguard Workerdefm : T_WWR_pat <V6_vdsaduh_acc, int_hexagon_V6_vdsaduh_acc>; 624*9880d681SAndroid Build Coastguard Worker 625*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vdmpyhvsat_acc, int_hexagon_V6_vdmpyhvsat_acc>; 626*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpybusv_acc, int_hexagon_V6_vmpybusv_acc>; 627*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpybv_acc, int_hexagon_V6_vmpybv_acc>; 628*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpyhus_acc, int_hexagon_V6_vmpyhus_acc>; 629*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpyhv_acc, int_hexagon_V6_vmpyhv_acc>; 630*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vmpyiewh_acc, int_hexagon_V6_vmpyiewh_acc>; 631*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vmpyiewuh_acc, int_hexagon_V6_vmpyiewuh_acc>; 632*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vmpyih_acc, int_hexagon_V6_vmpyih_acc>; 633*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vmpyowh_rnd_sacc, int_hexagon_V6_vmpyowh_rnd_sacc>; 634*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vmpyowh_sacc, int_hexagon_V6_vmpyowh_sacc>; 635*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpyubv_acc, int_hexagon_V6_vmpyubv_acc>; 636*9880d681SAndroid Build Coastguard Workerdefm : T_WVV_pat <V6_vmpyuhv_acc, int_hexagon_V6_vmpyuhv_acc>; 637*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vrmpybusv_acc, int_hexagon_V6_vrmpybusv_acc>; 638*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vrmpybv_acc, int_hexagon_V6_vrmpybv_acc>; 639*9880d681SAndroid Build Coastguard Workerdefm : T_VVV_pat <V6_vrmpyubv_acc, int_hexagon_V6_vrmpyubv_acc>; 640*9880d681SAndroid Build Coastguard Worker 641*9880d681SAndroid Build Coastguard Worker// Compare instructions 642*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqb_and, int_hexagon_V6_veqb_and>; 643*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqh_and, int_hexagon_V6_veqh_and>; 644*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqw_and, int_hexagon_V6_veqw_and>; 645*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtb_and, int_hexagon_V6_vgtb_and>; 646*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgth_and, int_hexagon_V6_vgth_and>; 647*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtw_and, int_hexagon_V6_vgtw_and>; 648*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtub_and, int_hexagon_V6_vgtub_and>; 649*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuh_and, int_hexagon_V6_vgtuh_and>; 650*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuw_and, int_hexagon_V6_vgtuw_and>; 651*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqb_or, int_hexagon_V6_veqb_or>; 652*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqh_or, int_hexagon_V6_veqh_or>; 653*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqw_or, int_hexagon_V6_veqw_or>; 654*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtb_or, int_hexagon_V6_vgtb_or>; 655*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgth_or, int_hexagon_V6_vgth_or>; 656*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtw_or, int_hexagon_V6_vgtw_or>; 657*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtub_or, int_hexagon_V6_vgtub_or>; 658*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuh_or, int_hexagon_V6_vgtuh_or>; 659*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuw_or, int_hexagon_V6_vgtuw_or>; 660*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqb_xor, int_hexagon_V6_veqb_xor>; 661*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqh_xor, int_hexagon_V6_veqh_xor>; 662*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_veqw_xor, int_hexagon_V6_veqw_xor>; 663*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtb_xor, int_hexagon_V6_vgtb_xor>; 664*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgth_xor, int_hexagon_V6_vgth_xor>; 665*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtw_xor, int_hexagon_V6_vgtw_xor>; 666*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtub_xor, int_hexagon_V6_vgtub_xor>; 667*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuh_xor, int_hexagon_V6_vgtuh_xor>; 668*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vgtuw_xor, int_hexagon_V6_vgtuw_xor>; 669*9880d681SAndroid Build Coastguard Worker 670*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vminub, int_hexagon_V6_vminub>; 671*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vminuh, int_hexagon_V6_vminuh>; 672*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vminh, int_hexagon_V6_vminh>; 673*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vminw, int_hexagon_V6_vminw>; 674*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmaxub, int_hexagon_V6_vmaxub>; 675*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmaxuh, int_hexagon_V6_vmaxuh>; 676*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmaxh, int_hexagon_V6_vmaxh>; 677*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmaxw, int_hexagon_V6_vmaxw>; 678*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vdelta, int_hexagon_V6_vdelta>; 679*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vrdelta, int_hexagon_V6_vrdelta>; 680*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vdealb4w, int_hexagon_V6_vdealb4w>; 681*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyowh_rnd, int_hexagon_V6_vmpyowh_rnd>; 682*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshuffeb, int_hexagon_V6_vshuffeb>; 683*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshuffob, int_hexagon_V6_vshuffob>; 684*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshufeh, int_hexagon_V6_vshufeh>; 685*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshufoh, int_hexagon_V6_vshufoh>; 686*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshufoeh, int_hexagon_V6_vshufoeh>; 687*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vshufoeb, int_hexagon_V6_vshufoeb>; 688*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vcombine, int_hexagon_V6_vcombine>; 689*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyieoh, int_hexagon_V6_vmpyieoh>; 690*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsathub, int_hexagon_V6_vsathub>; 691*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vsatwh, int_hexagon_V6_vsatwh>; 692*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vroundwh, int_hexagon_V6_vroundwh>; 693*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vroundwuh, int_hexagon_V6_vroundwuh>; 694*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vroundhb, int_hexagon_V6_vroundhb>; 695*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vroundhub, int_hexagon_V6_vroundhub>; 696*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vasrwv, int_hexagon_V6_vasrwv>; 697*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vlsrwv, int_hexagon_V6_vlsrwv>; 698*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vlsrhv, int_hexagon_V6_vlsrhv>; 699*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vasrhv, int_hexagon_V6_vasrhv>; 700*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaslwv, int_hexagon_V6_vaslwv>; 701*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaslhv, int_hexagon_V6_vaslhv>; 702*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddb, int_hexagon_V6_vaddb>; 703*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vaddh, int_hexagon_V6_vaddh>; 704*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyiewuh, int_hexagon_V6_vmpyiewuh>; 705*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyiowh, int_hexagon_V6_vmpyiowh>; 706*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackeb, int_hexagon_V6_vpackeb>; 707*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackeh, int_hexagon_V6_vpackeh>; 708*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackhub_sat, int_hexagon_V6_vpackhub_sat>; 709*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackhb_sat, int_hexagon_V6_vpackhb_sat>; 710*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackwuh_sat, int_hexagon_V6_vpackwuh_sat>; 711*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackwh_sat, int_hexagon_V6_vpackwh_sat>; 712*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackob, int_hexagon_V6_vpackob>; 713*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vpackoh, int_hexagon_V6_vpackoh>; 714*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyewuh, int_hexagon_V6_vmpyewuh>; 715*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vmpyowh, int_hexagon_V6_vmpyowh>; 716*9880d681SAndroid Build Coastguard Worker 717*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddbq, int_hexagon_V6_vaddbq>; 718*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddhq, int_hexagon_V6_vaddhq>; 719*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddwq, int_hexagon_V6_vaddwq>; 720*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddbnq, int_hexagon_V6_vaddbnq>; 721*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddhnq, int_hexagon_V6_vaddhnq>; 722*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vaddwnq, int_hexagon_V6_vaddwnq>; 723*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubbq, int_hexagon_V6_vsubbq>; 724*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubhq, int_hexagon_V6_vsubhq>; 725*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubwq, int_hexagon_V6_vsubwq>; 726*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubbnq, int_hexagon_V6_vsubbnq>; 727*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubhnq, int_hexagon_V6_vsubhnq>; 728*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vsubwnq, int_hexagon_V6_vsubwnq>; 729*9880d681SAndroid Build Coastguard Worker 730*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vabsh, int_hexagon_V6_vabsh>; 731*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vabsw, int_hexagon_V6_vabsw>; 732*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vabsw_sat, int_hexagon_V6_vabsw_sat>; 733*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vabsh_sat, int_hexagon_V6_vabsh_sat>; 734*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vnot, int_hexagon_V6_vnot>; 735*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vassign, int_hexagon_V6_vassign>; 736*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vzb, int_hexagon_V6_vzb>; 737*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vzh, int_hexagon_V6_vzh>; 738*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vsb, int_hexagon_V6_vsb>; 739*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vsh, int_hexagon_V6_vsh>; 740*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vdealh, int_hexagon_V6_vdealh>; 741*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vdealb, int_hexagon_V6_vdealb>; 742*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vunpackub, int_hexagon_V6_vunpackub>; 743*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vunpackuh, int_hexagon_V6_vunpackuh>; 744*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vunpackb, int_hexagon_V6_vunpackb>; 745*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vunpackh, int_hexagon_V6_vunpackh>; 746*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vshuffh, int_hexagon_V6_vshuffh>; 747*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vshuffb, int_hexagon_V6_vshuffb>; 748*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vcl0w, int_hexagon_V6_vcl0w>; 749*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vpopcounth, int_hexagon_V6_vpopcounth>; 750*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vcl0h, int_hexagon_V6_vcl0h>; 751*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vnormamtw, int_hexagon_V6_vnormamtw>; 752*9880d681SAndroid Build Coastguard Workerdefm : T_V_pat <V6_vnormamth, int_hexagon_V6_vnormamth>; 753*9880d681SAndroid Build Coastguard Worker 754*9880d681SAndroid Build Coastguard Workerdefm : T_WRI_pat <V6_vrmpybusi, int_hexagon_V6_vrmpybusi>; 755*9880d681SAndroid Build Coastguard Workerdefm : T_WRI_pat <V6_vrsadubi, int_hexagon_V6_vrsadubi>; 756*9880d681SAndroid Build Coastguard Workerdefm : T_WRI_pat <V6_vrmpyubi, int_hexagon_V6_vrmpyubi>; 757*9880d681SAndroid Build Coastguard Worker 758*9880d681SAndroid Build Coastguard Workerdefm : T_WWRI_pat <V6_vrmpybusi_acc, int_hexagon_V6_vrmpybusi_acc>; 759*9880d681SAndroid Build Coastguard Workerdefm : T_WWRI_pat <V6_vrsadubi_acc, int_hexagon_V6_vrsadubi_acc>; 760*9880d681SAndroid Build Coastguard Workerdefm : T_WWRI_pat <V6_vrmpyubi_acc, int_hexagon_V6_vrmpyubi_acc>; 761*9880d681SAndroid Build Coastguard Worker 762*9880d681SAndroid Build Coastguard Worker// assembler mapped. 763*9880d681SAndroid Build Coastguard Worker//defm : T_V_pat <V6_vtran2x2, int_hexagon_V6_vtran2x2>; 764*9880d681SAndroid Build Coastguard Worker// not present earlier.. need to add intrinsic 765*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_valignb, int_hexagon_V6_valignb>; 766*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vlalignb, int_hexagon_V6_vlalignb>; 767*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrwh, int_hexagon_V6_vasrwh>; 768*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrwhsat, int_hexagon_V6_vasrwhsat>; 769*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrwhrndsat, int_hexagon_V6_vasrwhrndsat>; 770*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrwuhsat, int_hexagon_V6_vasrwuhsat>; 771*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrhubsat, int_hexagon_V6_vasrhubsat>; 772*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrhubrndsat, int_hexagon_V6_vasrhubrndsat>; 773*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vasrhbrndsat, int_hexagon_V6_vasrhbrndsat>; 774*9880d681SAndroid Build Coastguard Worker 775*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vshuffvdd, int_hexagon_V6_vshuffvdd>; 776*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vdealvdd, int_hexagon_V6_vdealvdd>; 777*9880d681SAndroid Build Coastguard Worker 778*9880d681SAndroid Build Coastguard Workerdefm : T_WV_pat <V6_vunpackob, int_hexagon_V6_vunpackob>; 779*9880d681SAndroid Build Coastguard Workerdefm : T_WV_pat <V6_vunpackoh, int_hexagon_V6_vunpackoh>; 780*9880d681SAndroid Build Coastguard Workerdefm : T_VVI_pat <V6_valignbi, int_hexagon_V6_valignbi>; 781*9880d681SAndroid Build Coastguard Workerdefm : T_VVI_pat <V6_vlalignbi, int_hexagon_V6_vlalignbi>; 782*9880d681SAndroid Build Coastguard Worker 783*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vswap, int_hexagon_V6_vswap>; 784*9880d681SAndroid Build Coastguard Workerdefm : T_QVV_pat <V6_vmux, int_hexagon_V6_vmux>; 785*9880d681SAndroid Build Coastguard Workerdefm : T_QQ_pat <V6_pred_and, int_hexagon_V6_pred_and>; 786*9880d681SAndroid Build Coastguard Workerdefm : T_QQ_pat <V6_pred_or, int_hexagon_V6_pred_or>; 787*9880d681SAndroid Build Coastguard Workerdefm : T_Q_pat <V6_pred_not, int_hexagon_V6_pred_not>; 788*9880d681SAndroid Build Coastguard Workerdefm : T_QQ_pat <V6_pred_xor, int_hexagon_V6_pred_xor>; 789*9880d681SAndroid Build Coastguard Workerdefm : T_QQ_pat <V6_pred_or_n, int_hexagon_V6_pred_or_n>; 790*9880d681SAndroid Build Coastguard Workerdefm : T_QQ_pat <V6_pred_and_n, int_hexagon_V6_pred_and_n>; 791*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_veqb, int_hexagon_V6_veqb>; 792*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_veqh, int_hexagon_V6_veqh>; 793*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_veqw, int_hexagon_V6_veqw>; 794*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgtb, int_hexagon_V6_vgtb>; 795*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgth, int_hexagon_V6_vgth>; 796*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgtw, int_hexagon_V6_vgtw>; 797*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgtub, int_hexagon_V6_vgtub>; 798*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgtuh, int_hexagon_V6_vgtuh>; 799*9880d681SAndroid Build Coastguard Workerdefm : T_VV_pat <V6_vgtuw, int_hexagon_V6_vgtuw>; 800*9880d681SAndroid Build Coastguard Worker 801*9880d681SAndroid Build Coastguard Workerdefm : T_VQR_pat <V6_vandqrt_acc, int_hexagon_V6_vandqrt_acc>; 802*9880d681SAndroid Build Coastguard Workerdefm : T_QVR_pat <V6_vandvrt_acc, int_hexagon_V6_vandvrt_acc>; 803*9880d681SAndroid Build Coastguard Workerdefm : T_QR_pat <V6_vandqrt, int_hexagon_V6_vandqrt>; 804*9880d681SAndroid Build Coastguard Workerdefm : T_R_pat <V6_lvsplatw, int_hexagon_V6_lvsplatw>; 805*9880d681SAndroid Build Coastguard Workerdefm : T_R_pat <V6_pred_scalar2, int_hexagon_V6_pred_scalar2>; 806*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vandvrt, int_hexagon_V6_vandvrt>; 807*9880d681SAndroid Build Coastguard Worker 808*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vlutvvb, int_hexagon_V6_vlutvvb>; 809*9880d681SAndroid Build Coastguard Workerdefm : T_VVR_pat <V6_vlutvwh, int_hexagon_V6_vlutvwh>; 810*9880d681SAndroid Build Coastguard Workerdefm : T_VVVR_pat <V6_vlutvvb_oracc, int_hexagon_V6_vlutvvb_oracc>; 811*9880d681SAndroid Build Coastguard Workerdefm : T_WVVR_pat <V6_vlutvwh_oracc, int_hexagon_V6_vlutvwh_oracc>; 812*9880d681SAndroid Build Coastguard Worker 813*9880d681SAndroid Build Coastguard Workerdefm : T_QVR_pat <V6_vandvrt_acc, int_hexagon_V6_vandvrt_acc>; 814*9880d681SAndroid Build Coastguard Workerdef : T_PI_pat <S6_rol_i_p, int_hexagon_S6_rol_i_p>; 815*9880d681SAndroid Build Coastguard Workerdef : T_RI_pat <S6_rol_i_r, int_hexagon_S6_rol_i_r>; 816*9880d681SAndroid Build Coastguard Workerdef : T_PPI_pat <S6_rol_i_p_nac, int_hexagon_S6_rol_i_p_nac>; 817*9880d681SAndroid Build Coastguard Workerdef : T_PPI_pat <S6_rol_i_p_acc, int_hexagon_S6_rol_i_p_acc>; 818*9880d681SAndroid Build Coastguard Workerdef : T_PPI_pat <S6_rol_i_p_and, int_hexagon_S6_rol_i_p_and>; 819*9880d681SAndroid Build Coastguard Workerdef : T_PPI_pat <S6_rol_i_p_or, int_hexagon_S6_rol_i_p_or>; 820*9880d681SAndroid Build Coastguard Workerdef : T_PPI_pat <S6_rol_i_p_xacc, int_hexagon_S6_rol_i_p_xacc>; 821*9880d681SAndroid Build Coastguard Workerdef : T_RRI_pat <S6_rol_i_r_nac, int_hexagon_S6_rol_i_r_nac>; 822*9880d681SAndroid Build Coastguard Workerdef : T_RRI_pat <S6_rol_i_r_acc, int_hexagon_S6_rol_i_r_acc>; 823*9880d681SAndroid Build Coastguard Workerdef : T_RRI_pat <S6_rol_i_r_and, int_hexagon_S6_rol_i_r_and>; 824*9880d681SAndroid Build Coastguard Workerdef : T_RRI_pat <S6_rol_i_r_or, int_hexagon_S6_rol_i_r_or>; 825*9880d681SAndroid Build Coastguard Workerdef : T_RRI_pat <S6_rol_i_r_xacc, int_hexagon_S6_rol_i_r_xacc>; 826*9880d681SAndroid Build Coastguard Worker 827*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_extractw, int_hexagon_V6_extractw>; 828*9880d681SAndroid Build Coastguard Workerdefm : T_VR_pat <V6_vinsertwr, int_hexagon_V6_vinsertwr>; 829*9880d681SAndroid Build Coastguard Worker 830*9880d681SAndroid Build Coastguard Workerdef : T_PPQ_pat <S2_cabacencbin, int_hexagon_S2_cabacencbin>; 831*9880d681SAndroid Build Coastguard Worker 832*9880d681SAndroid Build Coastguard Workerdef: Pat<(v64i16 (trunc v64i32:$Vdd)), 833*9880d681SAndroid Build Coastguard Worker (v64i16 (V6_vpackwh_sat_128B 834*9880d681SAndroid Build Coastguard Worker (v32i32 (HEXAGON_V6_hi_128B VecDblRegs128B:$Vdd)), 835*9880d681SAndroid Build Coastguard Worker (v32i32 (HEXAGON_V6_lo_128B VecDblRegs128B:$Vdd))))>, 836*9880d681SAndroid Build Coastguard Worker Requires<[UseHVXDbl]>; 837*9880d681SAndroid Build Coastguard Worker 838*9880d681SAndroid Build Coastguard Worker 839