1*9880d681SAndroid Build Coastguard Worker//===- NVPTXIntrinsics.td - PTX Intrinsics Instructions -------*- tblgen -*-==// 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 Workerdef immFloat0 : PatLeaf<(fpimm), [{ 11*9880d681SAndroid Build Coastguard Worker float f = (float)N->getValueAPF().convertToFloat(); 12*9880d681SAndroid Build Coastguard Worker return (f==0.0f); 13*9880d681SAndroid Build Coastguard Worker}]>; 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdef immFloat1 : PatLeaf<(fpimm), [{ 16*9880d681SAndroid Build Coastguard Worker float f = (float)N->getValueAPF().convertToFloat(); 17*9880d681SAndroid Build Coastguard Worker return (f==1.0f); 18*9880d681SAndroid Build Coastguard Worker}]>; 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerdef immDouble0 : PatLeaf<(fpimm), [{ 21*9880d681SAndroid Build Coastguard Worker double d = (double)N->getValueAPF().convertToDouble(); 22*9880d681SAndroid Build Coastguard Worker return (d==0.0); 23*9880d681SAndroid Build Coastguard Worker}]>; 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerdef immDouble1 : PatLeaf<(fpimm), [{ 26*9880d681SAndroid Build Coastguard Worker double d = (double)N->getValueAPF().convertToDouble(); 27*9880d681SAndroid Build Coastguard Worker return (d==1.0); 28*9880d681SAndroid Build Coastguard Worker}]>; 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker//----------------------------------- 33*9880d681SAndroid Build Coastguard Worker// Synchronization and shuffle functions 34*9880d681SAndroid Build Coastguard Worker//----------------------------------- 35*9880d681SAndroid Build Coastguard Workerlet isConvergent = 1 in { 36*9880d681SAndroid Build Coastguard Workerdef INT_BARRIER0 : NVPTXInst<(outs), (ins), 37*9880d681SAndroid Build Coastguard Worker "bar.sync \t0;", 38*9880d681SAndroid Build Coastguard Worker [(int_nvvm_barrier0)]>; 39*9880d681SAndroid Build Coastguard Workerdef INT_BARRIER0_POPC : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred), 40*9880d681SAndroid Build Coastguard Worker !strconcat("{{ \n\t", 41*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .pred \t%p1; \n\t", 42*9880d681SAndroid Build Coastguard Worker !strconcat("setp.ne.u32 \t%p1, $pred, 0; \n\t", 43*9880d681SAndroid Build Coastguard Worker !strconcat("bar.red.popc.u32 \t$dst, 0, %p1; \n\t", 44*9880d681SAndroid Build Coastguard Worker !strconcat("}}", ""))))), 45*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, (int_nvvm_barrier0_popc Int32Regs:$pred))]>; 46*9880d681SAndroid Build Coastguard Workerdef INT_BARRIER0_AND : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred), 47*9880d681SAndroid Build Coastguard Worker !strconcat("{{ \n\t", 48*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .pred \t%p1; \n\t", 49*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .pred \t%p2; \n\t", 50*9880d681SAndroid Build Coastguard Worker !strconcat("setp.ne.u32 \t%p1, $pred, 0; \n\t", 51*9880d681SAndroid Build Coastguard Worker !strconcat("bar.red.and.pred \t%p2, 0, %p1; \n\t", 52*9880d681SAndroid Build Coastguard Worker !strconcat("selp.u32 \t$dst, 1, 0, %p2; \n\t", 53*9880d681SAndroid Build Coastguard Worker !strconcat("}}", ""))))))), 54*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, (int_nvvm_barrier0_and Int32Regs:$pred))]>; 55*9880d681SAndroid Build Coastguard Workerdef INT_BARRIER0_OR : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred), 56*9880d681SAndroid Build Coastguard Worker !strconcat("{{ \n\t", 57*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .pred \t%p1; \n\t", 58*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .pred \t%p2; \n\t", 59*9880d681SAndroid Build Coastguard Worker !strconcat("setp.ne.u32 \t%p1, $pred, 0; \n\t", 60*9880d681SAndroid Build Coastguard Worker !strconcat("bar.red.or.pred \t%p2, 0, %p1; \n\t", 61*9880d681SAndroid Build Coastguard Worker !strconcat("selp.u32 \t$dst, 1, 0, %p2; \n\t", 62*9880d681SAndroid Build Coastguard Worker !strconcat("}}", ""))))))), 63*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, (int_nvvm_barrier0_or Int32Regs:$pred))]>; 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Workerdef INT_BAR_SYNC : NVPTXInst<(outs), (ins i32imm:$i), "bar.sync\t$i;", 66*9880d681SAndroid Build Coastguard Worker [(int_nvvm_bar_sync imm:$i)]>; 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Worker// shfl.{up,down,bfly,idx}.b32 69*9880d681SAndroid Build Coastguard Workermulticlass SHFL<NVPTXRegClass regclass, string mode, Intrinsic IntOp> { 70*9880d681SAndroid Build Coastguard Worker // The last two parameters to shfl can be regs or imms. ptxas is smart 71*9880d681SAndroid Build Coastguard Worker // enough to inline constant registers, so strictly speaking we don't need to 72*9880d681SAndroid Build Coastguard Worker // handle immediates here. But it's easy enough, and it makes our ptx more 73*9880d681SAndroid Build Coastguard Worker // readable. 74*9880d681SAndroid Build Coastguard Worker def reg : NVPTXInst< 75*9880d681SAndroid Build Coastguard Worker (outs regclass:$dst), 76*9880d681SAndroid Build Coastguard Worker (ins regclass:$src, Int32Regs:$offset, Int32Regs:$mask), 77*9880d681SAndroid Build Coastguard Worker !strconcat("shfl.", mode, ".b32 $dst, $src, $offset, $mask;"), 78*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp regclass:$src, Int32Regs:$offset, Int32Regs:$mask))]>; 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Worker def imm1 : NVPTXInst< 81*9880d681SAndroid Build Coastguard Worker (outs regclass:$dst), 82*9880d681SAndroid Build Coastguard Worker (ins regclass:$src, i32imm:$offset, Int32Regs:$mask), 83*9880d681SAndroid Build Coastguard Worker !strconcat("shfl.", mode, ".b32 $dst, $src, $offset, $mask;"), 84*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp regclass:$src, imm:$offset, Int32Regs:$mask))]>; 85*9880d681SAndroid Build Coastguard Worker 86*9880d681SAndroid Build Coastguard Worker def imm2 : NVPTXInst< 87*9880d681SAndroid Build Coastguard Worker (outs regclass:$dst), 88*9880d681SAndroid Build Coastguard Worker (ins regclass:$src, Int32Regs:$offset, i32imm:$mask), 89*9880d681SAndroid Build Coastguard Worker !strconcat("shfl.", mode, ".b32 $dst, $src, $offset, $mask;"), 90*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp regclass:$src, Int32Regs:$offset, imm:$mask))]>; 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Worker def imm3 : NVPTXInst< 93*9880d681SAndroid Build Coastguard Worker (outs regclass:$dst), 94*9880d681SAndroid Build Coastguard Worker (ins regclass:$src, i32imm:$offset, i32imm:$mask), 95*9880d681SAndroid Build Coastguard Worker !strconcat("shfl.", mode, ".b32 $dst, $src, $offset, $mask;"), 96*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp regclass:$src, imm:$offset, imm:$mask))]>; 97*9880d681SAndroid Build Coastguard Worker} 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_DOWN_I32 : SHFL<Int32Regs, "down", int_nvvm_shfl_down_i32>; 100*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_DOWN_F32 : SHFL<Float32Regs, "down", int_nvvm_shfl_down_f32>; 101*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_UP_I32 : SHFL<Int32Regs, "up", int_nvvm_shfl_up_i32>; 102*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_UP_F32 : SHFL<Float32Regs, "up", int_nvvm_shfl_up_f32>; 103*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_BFLY_I32 : SHFL<Int32Regs, "bfly", int_nvvm_shfl_bfly_i32>; 104*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_BFLY_F32 : SHFL<Float32Regs, "bfly", int_nvvm_shfl_bfly_f32>; 105*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_IDX_I32 : SHFL<Int32Regs, "idx", int_nvvm_shfl_idx_i32>; 106*9880d681SAndroid Build Coastguard Workerdefm INT_SHFL_IDX_F32 : SHFL<Float32Regs, "idx", int_nvvm_shfl_idx_f32>; 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker} // isConvergent = 1 109*9880d681SAndroid Build Coastguard Worker 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Worker//----------------------------------- 112*9880d681SAndroid Build Coastguard Worker// Explicit Memory Fence Functions 113*9880d681SAndroid Build Coastguard Worker//----------------------------------- 114*9880d681SAndroid Build Coastguard Workerclass MEMBAR<string StrOp, Intrinsic IntOP> : 115*9880d681SAndroid Build Coastguard Worker NVPTXInst<(outs), (ins), 116*9880d681SAndroid Build Coastguard Worker StrOp, [(IntOP)]>; 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Workerdef INT_MEMBAR_CTA : MEMBAR<"membar.cta;", int_nvvm_membar_cta>; 119*9880d681SAndroid Build Coastguard Workerdef INT_MEMBAR_GL : MEMBAR<"membar.gl;", int_nvvm_membar_gl>; 120*9880d681SAndroid Build Coastguard Workerdef INT_MEMBAR_SYS : MEMBAR<"membar.sys;", int_nvvm_membar_sys>; 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker//----------------------------------- 124*9880d681SAndroid Build Coastguard Worker// Math Functions 125*9880d681SAndroid Build Coastguard Worker//----------------------------------- 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker// Map min(1.0, max(0.0, x)) to sat(x) 128*9880d681SAndroid Build Coastguard Worker// Note that max(0.0, min(x, 1.0)) cannot be mapped to sat(x) because when x is 129*9880d681SAndroid Build Coastguard Worker// NaN 130*9880d681SAndroid Build Coastguard Worker// max(0.0, min(x, 1.0)) is 1.0 while sat(x) is 0. 131*9880d681SAndroid Build Coastguard Worker// Same story for fmax, fmin. 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_f immFloat1, 134*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_f immFloat0, Float32Regs:$a)), 135*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT)>; 136*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_f immFloat1, 137*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_f Float32Regs:$a, immFloat0)), 138*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT)>; 139*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_f 140*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_f immFloat0, Float32Regs:$a), immFloat1), 141*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT)>; 142*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_f 143*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_f Float32Regs:$a, immFloat0), immFloat1), 144*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT)>; 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_d immDouble1, 147*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_d immDouble0, Float64Regs:$a)), 148*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtSAT)>; 149*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_d immDouble1, 150*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_d Float64Regs:$a, immDouble0)), 151*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtSAT)>; 152*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_d 153*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_d immDouble0, Float64Regs:$a), immDouble1), 154*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtSAT)>; 155*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_fmin_d 156*9880d681SAndroid Build Coastguard Worker (int_nvvm_fmax_d Float64Regs:$a, immDouble0), immDouble1), 157*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtSAT)>; 158*9880d681SAndroid Build Coastguard Worker 159*9880d681SAndroid Build Coastguard Worker 160*9880d681SAndroid Build Coastguard Worker// We need a full string for OpcStr here because we need to deal with case like 161*9880d681SAndroid Build Coastguard Worker// INT_PTX_RECIP. 162*9880d681SAndroid Build Coastguard Workerclass F_MATH_1<string OpcStr, NVPTXRegClass target_regclass, 163*9880d681SAndroid Build Coastguard Worker NVPTXRegClass src_regclass, Intrinsic IntOP> 164*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs target_regclass:$dst), (ins src_regclass:$src0), 165*9880d681SAndroid Build Coastguard Worker OpcStr, 166*9880d681SAndroid Build Coastguard Worker [(set target_regclass:$dst, (IntOP src_regclass:$src0))]>; 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker// We need a full string for OpcStr here because we need to deal with the case 169*9880d681SAndroid Build Coastguard Worker// like INT_PTX_NATIVE_POWR_F. 170*9880d681SAndroid Build Coastguard Workerclass F_MATH_2<string OpcStr, NVPTXRegClass t_regclass, 171*9880d681SAndroid Build Coastguard Worker NVPTXRegClass s0_regclass, NVPTXRegClass s1_regclass, Intrinsic IntOP> 172*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs t_regclass:$dst), 173*9880d681SAndroid Build Coastguard Worker (ins s0_regclass:$src0, s1_regclass:$src1), 174*9880d681SAndroid Build Coastguard Worker OpcStr, 175*9880d681SAndroid Build Coastguard Worker [(set t_regclass:$dst, (IntOP s0_regclass:$src0, s1_regclass:$src1))]>; 176*9880d681SAndroid Build Coastguard Worker 177*9880d681SAndroid Build Coastguard Workerclass F_MATH_3<string OpcStr, NVPTXRegClass t_regclass, 178*9880d681SAndroid Build Coastguard Worker NVPTXRegClass s0_regclass, NVPTXRegClass s1_regclass, 179*9880d681SAndroid Build Coastguard Worker NVPTXRegClass s2_regclass, Intrinsic IntOP> 180*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs t_regclass:$dst), 181*9880d681SAndroid Build Coastguard Worker (ins s0_regclass:$src0, s1_regclass:$src1, s2_regclass:$src2), 182*9880d681SAndroid Build Coastguard Worker OpcStr, 183*9880d681SAndroid Build Coastguard Worker [(set t_regclass:$dst, 184*9880d681SAndroid Build Coastguard Worker (IntOP s0_regclass:$src0, s1_regclass:$src1, s2_regclass:$src2))]>; 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Worker// 187*9880d681SAndroid Build Coastguard Worker// MISC 188*9880d681SAndroid Build Coastguard Worker// 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_CLZ_I : F_MATH_1<"clz.b32 \t$dst, $src0;", Int32Regs, Int32Regs, 191*9880d681SAndroid Build Coastguard Worker int_nvvm_clz_i>; 192*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_CLZ_LL : F_MATH_1<"clz.b64 \t$dst, $src0;", Int32Regs, Int64Regs, 193*9880d681SAndroid Build Coastguard Worker int_nvvm_clz_ll>; 194*9880d681SAndroid Build Coastguard Worker 195*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_POPC_I : F_MATH_1<"popc.b32 \t$dst, $src0;", Int32Regs, Int32Regs, 196*9880d681SAndroid Build Coastguard Worker int_nvvm_popc_i>; 197*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_POPC_LL : F_MATH_1<"popc.b64 \t$dst, $src0;", Int32Regs, Int64Regs, 198*9880d681SAndroid Build Coastguard Worker int_nvvm_popc_ll>; 199*9880d681SAndroid Build Coastguard Worker 200*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_PRMT : F_MATH_3<"prmt.b32 \t$dst, $src0, $src1, $src2;", Int32Regs, 201*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, Int32Regs, int_nvvm_prmt>; 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker// 204*9880d681SAndroid Build Coastguard Worker// Min Max 205*9880d681SAndroid Build Coastguard Worker// 206*9880d681SAndroid Build Coastguard Worker 207*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MIN_I : F_MATH_2<"min.s32 \t$dst, $src0, $src1;", Int32Regs, 208*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_min_i>; 209*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MIN_UI : F_MATH_2<"min.u32 \t$dst, $src0, $src1;", Int32Regs, 210*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_min_ui>; 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MIN_LL : F_MATH_2<"min.s64 \t$dst, $src0, $src1;", Int64Regs, 213*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_min_ll>; 214*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MIN_ULL : F_MATH_2<"min.u64 \t$dst, $src0, $src1;", Int64Regs, 215*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_min_ull>; 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MAX_I : F_MATH_2<"max.s32 \t$dst, $src0, $src1;", Int32Regs, 218*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_max_i>; 219*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MAX_UI : F_MATH_2<"max.u32 \t$dst, $src0, $src1;", Int32Regs, 220*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_max_ui>; 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MAX_LL : F_MATH_2<"max.s64 \t$dst, $src0, $src1;", Int64Regs, 223*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_max_ll>; 224*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MAX_ULL : F_MATH_2<"max.u64 \t$dst, $src0, $src1;", Int64Regs, 225*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_max_ull>; 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMIN_F : F_MATH_2<"min.f32 \t$dst, $src0, $src1;", Float32Regs, 228*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_fmin_f>; 229*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMIN_FTZ_F : F_MATH_2<"min.ftz.f32 \t$dst, $src0, $src1;", 230*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fmin_ftz_f>; 231*9880d681SAndroid Build Coastguard Worker 232*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMAX_F : F_MATH_2<"max.f32 \t$dst, $src0, $src1;", Float32Regs, 233*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_fmax_f>; 234*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMAX_FTZ_F : F_MATH_2<"max.ftz.f32 \t$dst, $src0, $src1;", 235*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fmax_ftz_f>; 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMIN_D : F_MATH_2<"min.f64 \t$dst, $src0, $src1;", Float64Regs, 238*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_fmin_d>; 239*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMAX_D : F_MATH_2<"max.f64 \t$dst, $src0, $src1;", Float64Regs, 240*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_fmax_d>; 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Worker// 243*9880d681SAndroid Build Coastguard Worker// Multiplication 244*9880d681SAndroid Build Coastguard Worker// 245*9880d681SAndroid Build Coastguard Worker 246*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MULHI_I : F_MATH_2<"mul.hi.s32 \t$dst, $src0, $src1;", Int32Regs, 247*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_mulhi_i>; 248*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MULHI_UI : F_MATH_2<"mul.hi.u32 \t$dst, $src0, $src1;", Int32Regs, 249*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, int_nvvm_mulhi_ui>; 250*9880d681SAndroid Build Coastguard Worker 251*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MULHI_LL : F_MATH_2<"mul.hi.s64 \t$dst, $src0, $src1;", Int64Regs, 252*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_mulhi_ll>; 253*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MULHI_ULL : F_MATH_2<"mul.hi.u64 \t$dst, $src0, $src1;", Int64Regs, 254*9880d681SAndroid Build Coastguard Worker Int64Regs, Int64Regs, int_nvvm_mulhi_ull>; 255*9880d681SAndroid Build Coastguard Worker 256*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RN_FTZ_F : F_MATH_2<"mul.rn.ftz.f32 \t$dst, $src0, $src1;", 257*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rn_ftz_f>; 258*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RN_F : F_MATH_2<"mul.rn.f32 \t$dst, $src0, $src1;", 259*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rn_f>; 260*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RZ_FTZ_F : F_MATH_2<"mul.rz.ftz.f32 \t$dst, $src0, $src1;", 261*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rz_ftz_f>; 262*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RZ_F : F_MATH_2<"mul.rz.f32 \t$dst, $src0, $src1;", 263*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rz_f>; 264*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RM_FTZ_F : F_MATH_2<"mul.rm.ftz.f32 \t$dst, $src0, $src1;", 265*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rm_ftz_f>; 266*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RM_F : F_MATH_2<"mul.rm.f32 \t$dst, $src0, $src1;", 267*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rm_f>; 268*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RP_FTZ_F : F_MATH_2<"mul.rp.ftz.f32 \t$dst, $src0, $src1;", 269*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rp_ftz_f>; 270*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RP_F : F_MATH_2<"mul.rp.f32 \t$dst, $src0, $src1;", 271*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rp_f>; 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RN_D : F_MATH_2<"mul.rn.f64 \t$dst, $src0, $src1;", 274*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rn_d>; 275*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RZ_D : F_MATH_2<"mul.rz.f64 \t$dst, $src0, $src1;", 276*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rz_d>; 277*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RM_D : F_MATH_2<"mul.rm.f64 \t$dst, $src0, $src1;", 278*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rm_d>; 279*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL_RP_D : F_MATH_2<"mul.rp.f64 \t$dst, $src0, $src1;", 280*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rp_d>; 281*9880d681SAndroid Build Coastguard Worker 282*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL24_I : F_MATH_2<"mul24.lo.s32 \t$dst, $src0, $src1;", 283*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, Int32Regs, int_nvvm_mul24_i>; 284*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_MUL24_UI : F_MATH_2<"mul24.lo.u32 \t$dst, $src0, $src1;", 285*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, Int32Regs, int_nvvm_mul24_ui>; 286*9880d681SAndroid Build Coastguard Worker 287*9880d681SAndroid Build Coastguard Worker// 288*9880d681SAndroid Build Coastguard Worker// Div 289*9880d681SAndroid Build Coastguard Worker// 290*9880d681SAndroid Build Coastguard Worker 291*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_APPROX_FTZ_F 292*9880d681SAndroid Build Coastguard Worker : F_MATH_2<"div.approx.ftz.f32 \t$dst, $src0, $src1;", Float32Regs, 293*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_div_approx_ftz_f>; 294*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_APPROX_F : F_MATH_2<"div.approx.f32 \t$dst, $src0, $src1;", 295*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_approx_f>; 296*9880d681SAndroid Build Coastguard Worker 297*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RN_FTZ_F : F_MATH_2<"div.rn.ftz.f32 \t$dst, $src0, $src1;", 298*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rn_ftz_f>; 299*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RN_F : F_MATH_2<"div.rn.f32 \t$dst, $src0, $src1;", 300*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rn_f>; 301*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RZ_FTZ_F : F_MATH_2<"div.rz.ftz.f32 \t$dst, $src0, $src1;", 302*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rz_ftz_f>; 303*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RZ_F : F_MATH_2<"div.rz.f32 \t$dst, $src0, $src1;", 304*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rz_f>; 305*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RM_FTZ_F : F_MATH_2<"div.rm.ftz.f32 \t$dst, $src0, $src1;", 306*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rm_ftz_f>; 307*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RM_F : F_MATH_2<"div.rm.f32 \t$dst, $src0, $src1;", 308*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rm_f>; 309*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RP_FTZ_F : F_MATH_2<"div.rp.ftz.f32 \t$dst, $src0, $src1;", 310*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rp_ftz_f>; 311*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RP_F : F_MATH_2<"div.rp.f32 \t$dst, $src0, $src1;", 312*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rp_f>; 313*9880d681SAndroid Build Coastguard Worker 314*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RN_D : F_MATH_2<"div.rn.f64 \t$dst, $src0, $src1;", 315*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rn_d>; 316*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RZ_D : F_MATH_2<"div.rz.f64 \t$dst, $src0, $src1;", 317*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rz_d>; 318*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RM_D : F_MATH_2<"div.rm.f64 \t$dst, $src0, $src1;", 319*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rm_d>; 320*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_DIV_RP_D : F_MATH_2<"div.rp.f64 \t$dst, $src0, $src1;", 321*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rp_d>; 322*9880d681SAndroid Build Coastguard Worker 323*9880d681SAndroid Build Coastguard Worker// 324*9880d681SAndroid Build Coastguard Worker// Brev 325*9880d681SAndroid Build Coastguard Worker// 326*9880d681SAndroid Build Coastguard Worker 327*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BREV32 : F_MATH_1<"brev.b32 \t$dst, $src0;", Int32Regs, Int32Regs, 328*9880d681SAndroid Build Coastguard Worker int_nvvm_brev32>; 329*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BREV64 : F_MATH_1<"brev.b64 \t$dst, $src0;", Int64Regs, Int64Regs, 330*9880d681SAndroid Build Coastguard Worker int_nvvm_brev64>; 331*9880d681SAndroid Build Coastguard Worker 332*9880d681SAndroid Build Coastguard Worker// 333*9880d681SAndroid Build Coastguard Worker// Sad 334*9880d681SAndroid Build Coastguard Worker// 335*9880d681SAndroid Build Coastguard Worker 336*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SAD_I : F_MATH_3<"sad.s32 \t$dst, $src0, $src1, $src2;", 337*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, Int32Regs, Int32Regs, int_nvvm_sad_i>; 338*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SAD_UI : F_MATH_3<"sad.u32 \t$dst, $src0, $src1, $src2;", 339*9880d681SAndroid Build Coastguard Worker Int32Regs, Int32Regs, Int32Regs, Int32Regs, int_nvvm_sad_ui>; 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Worker// 342*9880d681SAndroid Build Coastguard Worker// Floor Ceil 343*9880d681SAndroid Build Coastguard Worker// 344*9880d681SAndroid Build Coastguard Worker 345*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_floor_ftz_f Float32Regs:$a), 346*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRMI_FTZ)>; 347*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_floor_f Float32Regs:$a), 348*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRMI)>; 349*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_floor_d Float64Regs:$a), 350*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtRMI)>; 351*9880d681SAndroid Build Coastguard Worker 352*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ceil_ftz_f Float32Regs:$a), 353*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRPI_FTZ)>; 354*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ceil_f Float32Regs:$a), 355*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRPI)>; 356*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ceil_d Float64Regs:$a), 357*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtRPI)>; 358*9880d681SAndroid Build Coastguard Worker 359*9880d681SAndroid Build Coastguard Worker// 360*9880d681SAndroid Build Coastguard Worker// Abs 361*9880d681SAndroid Build Coastguard Worker// 362*9880d681SAndroid Build Coastguard Worker 363*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ABS_I : F_MATH_1<"abs.s32 \t$dst, $src0;", Int32Regs, Int32Regs, 364*9880d681SAndroid Build Coastguard Worker int_nvvm_abs_i>; 365*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ABS_LL : F_MATH_1<"abs.s64 \t$dst, $src0;", Int64Regs, Int64Regs, 366*9880d681SAndroid Build Coastguard Worker int_nvvm_abs_ll>; 367*9880d681SAndroid Build Coastguard Worker 368*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FABS_FTZ_F : F_MATH_1<"abs.ftz.f32 \t$dst, $src0;", Float32Regs, 369*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_fabs_ftz_f>; 370*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FABS_F : F_MATH_1<"abs.f32 \t$dst, $src0;", Float32Regs, 371*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_fabs_f>; 372*9880d681SAndroid Build Coastguard Worker 373*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FABS_D : F_MATH_1<"abs.f64 \t$dst, $src0;", Float64Regs, 374*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_fabs_d>; 375*9880d681SAndroid Build Coastguard Worker 376*9880d681SAndroid Build Coastguard Worker// 377*9880d681SAndroid Build Coastguard Worker// Round 378*9880d681SAndroid Build Coastguard Worker// 379*9880d681SAndroid Build Coastguard Worker 380*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_round_ftz_f Float32Regs:$a), 381*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRNI_FTZ)>; 382*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_round_f Float32Regs:$a), 383*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRNI)>; 384*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_round_d Float64Regs:$a), 385*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtRNI)>; 386*9880d681SAndroid Build Coastguard Worker 387*9880d681SAndroid Build Coastguard Worker// 388*9880d681SAndroid Build Coastguard Worker// Trunc 389*9880d681SAndroid Build Coastguard Worker// 390*9880d681SAndroid Build Coastguard Worker 391*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_trunc_ftz_f Float32Regs:$a), 392*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRZI_FTZ)>; 393*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_trunc_f Float32Regs:$a), 394*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtRZI)>; 395*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_trunc_d Float64Regs:$a), 396*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtRZI)>; 397*9880d681SAndroid Build Coastguard Worker 398*9880d681SAndroid Build Coastguard Worker// 399*9880d681SAndroid Build Coastguard Worker// Saturate 400*9880d681SAndroid Build Coastguard Worker// 401*9880d681SAndroid Build Coastguard Worker 402*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_saturate_ftz_f Float32Regs:$a), 403*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT_FTZ)>; 404*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_saturate_f Float32Regs:$a), 405*9880d681SAndroid Build Coastguard Worker (CVT_f32_f32 Float32Regs:$a, CvtSAT)>; 406*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_saturate_d Float64Regs:$a), 407*9880d681SAndroid Build Coastguard Worker (CVT_f64_f64 Float64Regs:$a, CvtSAT)>; 408*9880d681SAndroid Build Coastguard Worker 409*9880d681SAndroid Build Coastguard Worker// 410*9880d681SAndroid Build Coastguard Worker// Exp2 Log2 411*9880d681SAndroid Build Coastguard Worker// 412*9880d681SAndroid Build Coastguard Worker 413*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_EX2_APPROX_FTZ_F : F_MATH_1<"ex2.approx.ftz.f32 \t$dst, $src0;", 414*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_ex2_approx_ftz_f>; 415*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_EX2_APPROX_F : F_MATH_1<"ex2.approx.f32 \t$dst, $src0;", 416*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_ex2_approx_f>; 417*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_EX2_APPROX_D : F_MATH_1<"ex2.approx.f64 \t$dst, $src0;", 418*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_ex2_approx_d>; 419*9880d681SAndroid Build Coastguard Worker 420*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_LG2_APPROX_FTZ_F : F_MATH_1<"lg2.approx.ftz.f32 \t$dst, $src0;", 421*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_lg2_approx_ftz_f>; 422*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_LG2_APPROX_F : F_MATH_1<"lg2.approx.f32 \t$dst, $src0;", 423*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_lg2_approx_f>; 424*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_LG2_APPROX_D : F_MATH_1<"lg2.approx.f64 \t$dst, $src0;", 425*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_lg2_approx_d>; 426*9880d681SAndroid Build Coastguard Worker 427*9880d681SAndroid Build Coastguard Worker// 428*9880d681SAndroid Build Coastguard Worker// Sin Cos 429*9880d681SAndroid Build Coastguard Worker// 430*9880d681SAndroid Build Coastguard Worker 431*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SIN_APPROX_FTZ_F : F_MATH_1<"sin.approx.ftz.f32 \t$dst, $src0;", 432*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sin_approx_ftz_f>; 433*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SIN_APPROX_F : F_MATH_1<"sin.approx.f32 \t$dst, $src0;", 434*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sin_approx_f>; 435*9880d681SAndroid Build Coastguard Worker 436*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COS_APPROX_FTZ_F : F_MATH_1<"cos.approx.ftz.f32 \t$dst, $src0;", 437*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_cos_approx_ftz_f>; 438*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COS_APPROX_F : F_MATH_1<"cos.approx.f32 \t$dst, $src0;", 439*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_cos_approx_f>; 440*9880d681SAndroid Build Coastguard Worker 441*9880d681SAndroid Build Coastguard Worker// 442*9880d681SAndroid Build Coastguard Worker// Fma 443*9880d681SAndroid Build Coastguard Worker// 444*9880d681SAndroid Build Coastguard Worker 445*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RN_FTZ_F 446*9880d681SAndroid Build Coastguard Worker : F_MATH_3<"fma.rn.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs, 447*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rn_ftz_f>; 448*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RN_F : F_MATH_3<"fma.rn.f32 \t$dst, $src0, $src1, $src2;", 449*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rn_f>; 450*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RZ_FTZ_F 451*9880d681SAndroid Build Coastguard Worker : F_MATH_3<"fma.rz.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs, 452*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rz_ftz_f>; 453*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RZ_F : F_MATH_3<"fma.rz.f32 \t$dst, $src0, $src1, $src2;", 454*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rz_f>; 455*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RM_FTZ_F 456*9880d681SAndroid Build Coastguard Worker : F_MATH_3<"fma.rm.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs, 457*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rm_ftz_f>; 458*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RM_F : F_MATH_3<"fma.rm.f32 \t$dst, $src0, $src1, $src2;", 459*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rm_f>; 460*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RP_FTZ_F 461*9880d681SAndroid Build Coastguard Worker : F_MATH_3<"fma.rp.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs, 462*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rp_ftz_f>; 463*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RP_F : F_MATH_3<"fma.rp.f32 \t$dst, $src0, $src1, $src2;", 464*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rp_f>; 465*9880d681SAndroid Build Coastguard Worker 466*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RN_D : F_MATH_3<"fma.rn.f64 \t$dst, $src0, $src1, $src2;", 467*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rn_d>; 468*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RZ_D : F_MATH_3<"fma.rz.f64 \t$dst, $src0, $src1, $src2;", 469*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rz_d>; 470*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RM_D : F_MATH_3<"fma.rm.f64 \t$dst, $src0, $src1, $src2;", 471*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rm_d>; 472*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_FMA_RP_D : F_MATH_3<"fma.rp.f64 \t$dst, $src0, $src1, $src2;", 473*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rp_d>; 474*9880d681SAndroid Build Coastguard Worker 475*9880d681SAndroid Build Coastguard Worker// 476*9880d681SAndroid Build Coastguard Worker// Rcp 477*9880d681SAndroid Build Coastguard Worker// 478*9880d681SAndroid Build Coastguard Worker 479*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RN_FTZ_F : F_MATH_1<"rcp.rn.ftz.f32 \t$dst, $src0;", 480*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rn_ftz_f>; 481*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RN_F : F_MATH_1<"rcp.rn.f32 \t$dst, $src0;", 482*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rn_f>; 483*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RZ_FTZ_F : F_MATH_1<"rcp.rz.ftz.f32 \t$dst, $src0;", 484*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rz_ftz_f>; 485*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RZ_F : F_MATH_1<"rcp.rz.f32 \t$dst, $src0;", 486*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rz_f>; 487*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RM_FTZ_F : F_MATH_1<"rcp.rm.ftz.f32 \t$dst, $src0;", 488*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rm_ftz_f>; 489*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RM_F : F_MATH_1<"rcp.rm.f32 \t$dst, $src0;", 490*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rm_f>; 491*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RP_FTZ_F : F_MATH_1<"rcp.rp.ftz.f32 \t$dst, $src0;", 492*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rp_ftz_f>; 493*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RP_F : F_MATH_1<"rcp.rp.f32 \t$dst, $src0;", 494*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rcp_rp_f>; 495*9880d681SAndroid Build Coastguard Worker 496*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RN_D : F_MATH_1<"rcp.rn.f64 \t$dst, $src0;", Float64Regs, 497*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_rcp_rn_d>; 498*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RZ_D : F_MATH_1<"rcp.rz.f64 \t$dst, $src0;", Float64Regs, 499*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_rcp_rz_d>; 500*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RM_D : F_MATH_1<"rcp.rm.f64 \t$dst, $src0;", Float64Regs, 501*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_rcp_rm_d>; 502*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_RP_D : F_MATH_1<"rcp.rp.f64 \t$dst, $src0;", Float64Regs, 503*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_rcp_rp_d>; 504*9880d681SAndroid Build Coastguard Worker 505*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RCP_APPROX_FTZ_D : F_MATH_1<"rcp.approx.ftz.f64 \t$dst, $src0;", 506*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_rcp_approx_ftz_d>; 507*9880d681SAndroid Build Coastguard Worker 508*9880d681SAndroid Build Coastguard Worker// 509*9880d681SAndroid Build Coastguard Worker// Sqrt 510*9880d681SAndroid Build Coastguard Worker// 511*9880d681SAndroid Build Coastguard Worker 512*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RN_FTZ_F : F_MATH_1<"sqrt.rn.ftz.f32 \t$dst, $src0;", 513*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_rn_ftz_f>; 514*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RN_F : F_MATH_1<"sqrt.rn.f32 \t$dst, $src0;", Float32Regs, 515*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_sqrt_rn_f>; 516*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RZ_FTZ_F : F_MATH_1<"sqrt.rz.ftz.f32 \t$dst, $src0;", 517*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_rz_ftz_f>; 518*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RZ_F : F_MATH_1<"sqrt.rz.f32 \t$dst, $src0;", Float32Regs, 519*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_sqrt_rz_f>; 520*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RM_FTZ_F : F_MATH_1<"sqrt.rm.ftz.f32 \t$dst, $src0;", 521*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_rm_ftz_f>; 522*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RM_F : F_MATH_1<"sqrt.rm.f32 \t$dst, $src0;", Float32Regs, 523*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_sqrt_rm_f>; 524*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RP_FTZ_F : F_MATH_1<"sqrt.rp.ftz.f32 \t$dst, $src0;", 525*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_rp_ftz_f>; 526*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RP_F : F_MATH_1<"sqrt.rp.f32 \t$dst, $src0;", Float32Regs, 527*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_sqrt_rp_f>; 528*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_APPROX_FTZ_F : F_MATH_1<"sqrt.approx.ftz.f32 \t$dst, $src0;", 529*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_approx_ftz_f>; 530*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_APPROX_F : F_MATH_1<"sqrt.approx.f32 \t$dst, $src0;", 531*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_sqrt_approx_f>; 532*9880d681SAndroid Build Coastguard Worker 533*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RN_D : F_MATH_1<"sqrt.rn.f64 \t$dst, $src0;", Float64Regs, 534*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_sqrt_rn_d>; 535*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RZ_D : F_MATH_1<"sqrt.rz.f64 \t$dst, $src0;", Float64Regs, 536*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_sqrt_rz_d>; 537*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RM_D : F_MATH_1<"sqrt.rm.f64 \t$dst, $src0;", Float64Regs, 538*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_sqrt_rm_d>; 539*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_SQRT_RP_D : F_MATH_1<"sqrt.rp.f64 \t$dst, $src0;", Float64Regs, 540*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_sqrt_rp_d>; 541*9880d681SAndroid Build Coastguard Worker 542*9880d681SAndroid Build Coastguard Worker// nvvm_sqrt intrinsic 543*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sqrt_f Float32Regs:$a), 544*9880d681SAndroid Build Coastguard Worker (INT_NVVM_SQRT_RN_FTZ_F Float32Regs:$a)>, Requires<[doF32FTZ, do_SQRTF32_RN]>; 545*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sqrt_f Float32Regs:$a), 546*9880d681SAndroid Build Coastguard Worker (INT_NVVM_SQRT_RN_F Float32Regs:$a)>, Requires<[do_SQRTF32_RN]>; 547*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sqrt_f Float32Regs:$a), 548*9880d681SAndroid Build Coastguard Worker (INT_NVVM_SQRT_APPROX_FTZ_F Float32Regs:$a)>, Requires<[doF32FTZ]>; 549*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sqrt_f Float32Regs:$a), 550*9880d681SAndroid Build Coastguard Worker (INT_NVVM_SQRT_APPROX_F Float32Regs:$a)>; 551*9880d681SAndroid Build Coastguard Worker 552*9880d681SAndroid Build Coastguard Worker// 553*9880d681SAndroid Build Coastguard Worker// Rsqrt 554*9880d681SAndroid Build Coastguard Worker// 555*9880d681SAndroid Build Coastguard Worker 556*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RSQRT_APPROX_FTZ_F 557*9880d681SAndroid Build Coastguard Worker : F_MATH_1<"rsqrt.approx.ftz.f32 \t$dst, $src0;", Float32Regs, Float32Regs, 558*9880d681SAndroid Build Coastguard Worker int_nvvm_rsqrt_approx_ftz_f>; 559*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RSQRT_APPROX_F : F_MATH_1<"rsqrt.approx.f32 \t$dst, $src0;", 560*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, int_nvvm_rsqrt_approx_f>; 561*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_RSQRT_APPROX_D : F_MATH_1<"rsqrt.approx.f64 \t$dst, $src0;", 562*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, int_nvvm_rsqrt_approx_d>; 563*9880d681SAndroid Build Coastguard Worker 564*9880d681SAndroid Build Coastguard Worker// 565*9880d681SAndroid Build Coastguard Worker// Add 566*9880d681SAndroid Build Coastguard Worker// 567*9880d681SAndroid Build Coastguard Worker 568*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RN_FTZ_F : F_MATH_2<"add.rn.ftz.f32 \t$dst, $src0, $src1;", 569*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rn_ftz_f>; 570*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RN_F : F_MATH_2<"add.rn.f32 \t$dst, $src0, $src1;", 571*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rn_f>; 572*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RZ_FTZ_F : F_MATH_2<"add.rz.ftz.f32 \t$dst, $src0, $src1;", 573*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rz_ftz_f>; 574*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RZ_F : F_MATH_2<"add.rz.f32 \t$dst, $src0, $src1;", 575*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rz_f>; 576*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RM_FTZ_F : F_MATH_2<"add.rm.ftz.f32 \t$dst, $src0, $src1;", 577*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rm_ftz_f>; 578*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RM_F : F_MATH_2<"add.rm.f32 \t$dst, $src0, $src1;", 579*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rm_f>; 580*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RP_FTZ_F : F_MATH_2<"add.rp.ftz.f32 \t$dst, $src0, $src1;", 581*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rp_ftz_f>; 582*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RP_F : F_MATH_2<"add.rp.f32 \t$dst, $src0, $src1;", 583*9880d681SAndroid Build Coastguard Worker Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rp_f>; 584*9880d681SAndroid Build Coastguard Worker 585*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RN_D : F_MATH_2<"add.rn.f64 \t$dst, $src0, $src1;", 586*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rn_d>; 587*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RZ_D : F_MATH_2<"add.rz.f64 \t$dst, $src0, $src1;", 588*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rz_d>; 589*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RM_D : F_MATH_2<"add.rm.f64 \t$dst, $src0, $src1;", 590*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rm_d>; 591*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_ADD_RP_D : F_MATH_2<"add.rp.f64 \t$dst, $src0, $src1;", 592*9880d681SAndroid Build Coastguard Worker Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rp_d>; 593*9880d681SAndroid Build Coastguard Worker 594*9880d681SAndroid Build Coastguard Worker// 595*9880d681SAndroid Build Coastguard Worker// Convert 596*9880d681SAndroid Build Coastguard Worker// 597*9880d681SAndroid Build Coastguard Worker 598*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rn_ftz Float64Regs:$a), 599*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRN_FTZ)>; 600*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rn Float64Regs:$a), 601*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRN)>; 602*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rz_ftz Float64Regs:$a), 603*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRZ_FTZ)>; 604*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rz Float64Regs:$a), 605*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRZ)>; 606*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rm_ftz Float64Regs:$a), 607*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRM_FTZ)>; 608*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rm Float64Regs:$a), 609*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRM)>; 610*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rp_ftz Float64Regs:$a), 611*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRP_FTZ)>; 612*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2f_rp Float64Regs:$a), 613*9880d681SAndroid Build Coastguard Worker (CVT_f32_f64 Float64Regs:$a, CvtRP)>; 614*9880d681SAndroid Build Coastguard Worker 615*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2i_rn Float64Regs:$a), 616*9880d681SAndroid Build Coastguard Worker (CVT_s32_f64 Float64Regs:$a, CvtRNI)>; 617*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2i_rz Float64Regs:$a), 618*9880d681SAndroid Build Coastguard Worker (CVT_s32_f64 Float64Regs:$a, CvtRZI)>; 619*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2i_rm Float64Regs:$a), 620*9880d681SAndroid Build Coastguard Worker (CVT_s32_f64 Float64Regs:$a, CvtRMI)>; 621*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2i_rp Float64Regs:$a), 622*9880d681SAndroid Build Coastguard Worker (CVT_s32_f64 Float64Regs:$a, CvtRPI)>; 623*9880d681SAndroid Build Coastguard Worker 624*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ui_rn Float64Regs:$a), 625*9880d681SAndroid Build Coastguard Worker (CVT_u32_f64 Float64Regs:$a, CvtRNI)>; 626*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ui_rz Float64Regs:$a), 627*9880d681SAndroid Build Coastguard Worker (CVT_u32_f64 Float64Regs:$a, CvtRZI)>; 628*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ui_rm Float64Regs:$a), 629*9880d681SAndroid Build Coastguard Worker (CVT_u32_f64 Float64Regs:$a, CvtRMI)>; 630*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ui_rp Float64Regs:$a), 631*9880d681SAndroid Build Coastguard Worker (CVT_u32_f64 Float64Regs:$a, CvtRPI)>; 632*9880d681SAndroid Build Coastguard Worker 633*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2d_rn Int32Regs:$a), 634*9880d681SAndroid Build Coastguard Worker (CVT_f64_s32 Int32Regs:$a, CvtRN)>; 635*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2d_rz Int32Regs:$a), 636*9880d681SAndroid Build Coastguard Worker (CVT_f64_s32 Int32Regs:$a, CvtRZ)>; 637*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2d_rm Int32Regs:$a), 638*9880d681SAndroid Build Coastguard Worker (CVT_f64_s32 Int32Regs:$a, CvtRM)>; 639*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2d_rp Int32Regs:$a), 640*9880d681SAndroid Build Coastguard Worker (CVT_f64_s32 Int32Regs:$a, CvtRP)>; 641*9880d681SAndroid Build Coastguard Worker 642*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2d_rn Int32Regs:$a), 643*9880d681SAndroid Build Coastguard Worker (CVT_f64_u32 Int32Regs:$a, CvtRN)>; 644*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2d_rz Int32Regs:$a), 645*9880d681SAndroid Build Coastguard Worker (CVT_f64_u32 Int32Regs:$a, CvtRZ)>; 646*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2d_rm Int32Regs:$a), 647*9880d681SAndroid Build Coastguard Worker (CVT_f64_u32 Int32Regs:$a, CvtRM)>; 648*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2d_rp Int32Regs:$a), 649*9880d681SAndroid Build Coastguard Worker (CVT_f64_u32 Int32Regs:$a, CvtRP)>; 650*9880d681SAndroid Build Coastguard Worker 651*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rn_ftz Float32Regs:$a), 652*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRNI_FTZ)>; 653*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rn Float32Regs:$a), 654*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRNI)>; 655*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rz_ftz Float32Regs:$a), 656*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRZI_FTZ)>; 657*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rz Float32Regs:$a), 658*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRZI)>; 659*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rm_ftz Float32Regs:$a), 660*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRMI_FTZ)>; 661*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rm Float32Regs:$a), 662*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRMI)>; 663*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rp_ftz Float32Regs:$a), 664*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRPI_FTZ)>; 665*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2i_rp Float32Regs:$a), 666*9880d681SAndroid Build Coastguard Worker (CVT_s32_f32 Float32Regs:$a, CvtRPI)>; 667*9880d681SAndroid Build Coastguard Worker 668*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rn_ftz Float32Regs:$a), 669*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRNI_FTZ)>; 670*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rn Float32Regs:$a), 671*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRNI)>; 672*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rz_ftz Float32Regs:$a), 673*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRZI_FTZ)>; 674*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rz Float32Regs:$a), 675*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRZI)>; 676*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rm_ftz Float32Regs:$a), 677*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRMI_FTZ)>; 678*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rm Float32Regs:$a), 679*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRMI)>; 680*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rp_ftz Float32Regs:$a), 681*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRPI_FTZ)>; 682*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ui_rp Float32Regs:$a), 683*9880d681SAndroid Build Coastguard Worker (CVT_u32_f32 Float32Regs:$a, CvtRPI)>; 684*9880d681SAndroid Build Coastguard Worker 685*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2f_rn Int32Regs:$a), 686*9880d681SAndroid Build Coastguard Worker (CVT_f32_s32 Int32Regs:$a, CvtRN)>; 687*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2f_rz Int32Regs:$a), 688*9880d681SAndroid Build Coastguard Worker (CVT_f32_s32 Int32Regs:$a, CvtRZ)>; 689*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2f_rm Int32Regs:$a), 690*9880d681SAndroid Build Coastguard Worker (CVT_f32_s32 Int32Regs:$a, CvtRM)>; 691*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_i2f_rp Int32Regs:$a), 692*9880d681SAndroid Build Coastguard Worker (CVT_f32_s32 Int32Regs:$a, CvtRP)>; 693*9880d681SAndroid Build Coastguard Worker 694*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2f_rn Int32Regs:$a), 695*9880d681SAndroid Build Coastguard Worker (CVT_f32_u32 Int32Regs:$a, CvtRN)>; 696*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2f_rz Int32Regs:$a), 697*9880d681SAndroid Build Coastguard Worker (CVT_f32_u32 Int32Regs:$a, CvtRZ)>; 698*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2f_rm Int32Regs:$a), 699*9880d681SAndroid Build Coastguard Worker (CVT_f32_u32 Int32Regs:$a, CvtRM)>; 700*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ui2f_rp Int32Regs:$a), 701*9880d681SAndroid Build Coastguard Worker (CVT_f32_u32 Int32Regs:$a, CvtRP)>; 702*9880d681SAndroid Build Coastguard Worker 703*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_LOHI_I2D : F_MATH_2<"mov.b64 \t$dst, {{$src0, $src1}};", 704*9880d681SAndroid Build Coastguard Worker Float64Regs, Int32Regs, Int32Regs, int_nvvm_lohi_i2d>; 705*9880d681SAndroid Build Coastguard Worker 706*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_D2I_LO : F_MATH_1<!strconcat("{{\n\t", 707*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b32 %temp; \n\t", 708*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b64 \t{$dst, %temp}, $src0;\n\t", 709*9880d681SAndroid Build Coastguard Worker "}}"))), 710*9880d681SAndroid Build Coastguard Worker Int32Regs, Float64Regs, int_nvvm_d2i_lo>; 711*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_D2I_HI : F_MATH_1<!strconcat("{{\n\t", 712*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b32 %temp; \n\t", 713*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b64 \t{%temp, $dst}, $src0;\n\t", 714*9880d681SAndroid Build Coastguard Worker "}}"))), 715*9880d681SAndroid Build Coastguard Worker Int32Regs, Float64Regs, int_nvvm_d2i_hi>; 716*9880d681SAndroid Build Coastguard Worker 717*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rn_ftz Float32Regs:$a), 718*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRNI_FTZ)>; 719*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rn Float32Regs:$a), 720*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRNI)>; 721*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rz_ftz Float32Regs:$a), 722*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRZI_FTZ)>; 723*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rz Float32Regs:$a), 724*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRZI)>; 725*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rm_ftz Float32Regs:$a), 726*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRMI_FTZ)>; 727*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rm Float32Regs:$a), 728*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRMI)>; 729*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rp_ftz Float32Regs:$a), 730*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRPI_FTZ)>; 731*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ll_rp Float32Regs:$a), 732*9880d681SAndroid Build Coastguard Worker (CVT_s64_f32 Float32Regs:$a, CvtRPI)>; 733*9880d681SAndroid Build Coastguard Worker 734*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rn_ftz Float32Regs:$a), 735*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRNI_FTZ)>; 736*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rn Float32Regs:$a), 737*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRNI)>; 738*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rz_ftz Float32Regs:$a), 739*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRZI_FTZ)>; 740*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rz Float32Regs:$a), 741*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRZI)>; 742*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rm_ftz Float32Regs:$a), 743*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRMI_FTZ)>; 744*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rm Float32Regs:$a), 745*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRMI)>; 746*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rp_ftz Float32Regs:$a), 747*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRPI_FTZ)>; 748*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_f2ull_rp Float32Regs:$a), 749*9880d681SAndroid Build Coastguard Worker (CVT_u64_f32 Float32Regs:$a, CvtRPI)>; 750*9880d681SAndroid Build Coastguard Worker 751*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ll_rn Float64Regs:$a), 752*9880d681SAndroid Build Coastguard Worker (CVT_s64_f64 Float64Regs:$a, CvtRNI)>; 753*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ll_rz Float64Regs:$a), 754*9880d681SAndroid Build Coastguard Worker (CVT_s64_f64 Float64Regs:$a, CvtRZI)>; 755*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ll_rm Float64Regs:$a), 756*9880d681SAndroid Build Coastguard Worker (CVT_s64_f64 Float64Regs:$a, CvtRMI)>; 757*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ll_rp Float64Regs:$a), 758*9880d681SAndroid Build Coastguard Worker (CVT_s64_f64 Float64Regs:$a, CvtRPI)>; 759*9880d681SAndroid Build Coastguard Worker 760*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ull_rn Float64Regs:$a), 761*9880d681SAndroid Build Coastguard Worker (CVT_u64_f64 Float64Regs:$a, CvtRNI)>; 762*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ull_rz Float64Regs:$a), 763*9880d681SAndroid Build Coastguard Worker (CVT_u64_f64 Float64Regs:$a, CvtRZI)>; 764*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ull_rm Float64Regs:$a), 765*9880d681SAndroid Build Coastguard Worker (CVT_u64_f64 Float64Regs:$a, CvtRMI)>; 766*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_d2ull_rp Float64Regs:$a), 767*9880d681SAndroid Build Coastguard Worker (CVT_u64_f64 Float64Regs:$a, CvtRPI)>; 768*9880d681SAndroid Build Coastguard Worker 769*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2f_rn Int64Regs:$a), 770*9880d681SAndroid Build Coastguard Worker (CVT_f32_s64 Int64Regs:$a, CvtRN)>; 771*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2f_rz Int64Regs:$a), 772*9880d681SAndroid Build Coastguard Worker (CVT_f32_s64 Int64Regs:$a, CvtRZ)>; 773*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2f_rm Int64Regs:$a), 774*9880d681SAndroid Build Coastguard Worker (CVT_f32_s64 Int64Regs:$a, CvtRM)>; 775*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2f_rp Int64Regs:$a), 776*9880d681SAndroid Build Coastguard Worker (CVT_f32_s64 Int64Regs:$a, CvtRP)>; 777*9880d681SAndroid Build Coastguard Worker 778*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2f_rn Int64Regs:$a), 779*9880d681SAndroid Build Coastguard Worker (CVT_f32_u64 Int64Regs:$a, CvtRN)>; 780*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2f_rz Int64Regs:$a), 781*9880d681SAndroid Build Coastguard Worker (CVT_f32_u64 Int64Regs:$a, CvtRZ)>; 782*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2f_rm Int64Regs:$a), 783*9880d681SAndroid Build Coastguard Worker (CVT_f32_u64 Int64Regs:$a, CvtRM)>; 784*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2f_rp Int64Regs:$a), 785*9880d681SAndroid Build Coastguard Worker (CVT_f32_u64 Int64Regs:$a, CvtRP)>; 786*9880d681SAndroid Build Coastguard Worker 787*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2d_rn Int64Regs:$a), 788*9880d681SAndroid Build Coastguard Worker (CVT_f64_s64 Int64Regs:$a, CvtRN)>; 789*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2d_rz Int64Regs:$a), 790*9880d681SAndroid Build Coastguard Worker (CVT_f64_s64 Int64Regs:$a, CvtRZ)>; 791*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2d_rm Int64Regs:$a), 792*9880d681SAndroid Build Coastguard Worker (CVT_f64_s64 Int64Regs:$a, CvtRM)>; 793*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ll2d_rp Int64Regs:$a), 794*9880d681SAndroid Build Coastguard Worker (CVT_f64_s64 Int64Regs:$a, CvtRP)>; 795*9880d681SAndroid Build Coastguard Worker 796*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2d_rn Int64Regs:$a), 797*9880d681SAndroid Build Coastguard Worker (CVT_f64_u64 Int64Regs:$a, CvtRN)>; 798*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2d_rz Int64Regs:$a), 799*9880d681SAndroid Build Coastguard Worker (CVT_f64_u64 Int64Regs:$a, CvtRZ)>; 800*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2d_rm Int64Regs:$a), 801*9880d681SAndroid Build Coastguard Worker (CVT_f64_u64 Int64Regs:$a, CvtRM)>; 802*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_ull2d_rp Int64Regs:$a), 803*9880d681SAndroid Build Coastguard Worker (CVT_f64_u64 Int64Regs:$a, CvtRP)>; 804*9880d681SAndroid Build Coastguard Worker 805*9880d681SAndroid Build Coastguard Worker 806*9880d681SAndroid Build Coastguard Worker// FIXME: Ideally, we could use these patterns instead of the scope-creating 807*9880d681SAndroid Build Coastguard Worker// patterns, but ptxas does not like these since .s16 is not compatible with 808*9880d681SAndroid Build Coastguard Worker// .f16. The solution is to use .bXX for all integer register types, but we 809*9880d681SAndroid Build Coastguard Worker// are not there yet. 810*9880d681SAndroid Build Coastguard Worker//def : Pat<(int_nvvm_f2h_rn_ftz Float32Regs:$a), 811*9880d681SAndroid Build Coastguard Worker// (CVT_f16_f32 Float32Regs:$a, CvtRN_FTZ)>; 812*9880d681SAndroid Build Coastguard Worker//def : Pat<(int_nvvm_f2h_rn Float32Regs:$a), 813*9880d681SAndroid Build Coastguard Worker// (CVT_f16_f32 Float32Regs:$a, CvtRN)>; 814*9880d681SAndroid Build Coastguard Worker// 815*9880d681SAndroid Build Coastguard Worker//def : Pat<(int_nvvm_h2f Int16Regs:$a), 816*9880d681SAndroid Build Coastguard Worker// (CVT_f32_f16 Int16Regs:$a, CvtNONE)>; 817*9880d681SAndroid Build Coastguard Worker 818*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_F2H_RN_FTZ : F_MATH_1<!strconcat("{{\n\t", 819*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b16 %temp;\n\t", 820*9880d681SAndroid Build Coastguard Worker !strconcat("cvt.rn.ftz.f16.f32 \t%temp, $src0;\n\t", 821*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b16 \t$dst, %temp;\n", 822*9880d681SAndroid Build Coastguard Worker "}}")))), 823*9880d681SAndroid Build Coastguard Worker Int16Regs, Float32Regs, int_nvvm_f2h_rn_ftz>; 824*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_F2H_RN : F_MATH_1<!strconcat("{{\n\t", 825*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b16 %temp;\n\t", 826*9880d681SAndroid Build Coastguard Worker !strconcat("cvt.rn.f16.f32 \t%temp, $src0;\n\t", 827*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b16 \t$dst, %temp;\n", 828*9880d681SAndroid Build Coastguard Worker "}}")))), 829*9880d681SAndroid Build Coastguard Worker Int16Regs, Float32Regs, int_nvvm_f2h_rn>; 830*9880d681SAndroid Build Coastguard Worker 831*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_H2F : F_MATH_1<!strconcat("{{\n\t", 832*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b16 %temp;\n\t", 833*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b16 \t%temp, $src0;\n\t", 834*9880d681SAndroid Build Coastguard Worker !strconcat("cvt.f32.f16 \t$dst, %temp;\n\t", 835*9880d681SAndroid Build Coastguard Worker "}}")))), 836*9880d681SAndroid Build Coastguard Worker Float32Regs, Int16Regs, int_nvvm_h2f>; 837*9880d681SAndroid Build Coastguard Worker 838*9880d681SAndroid Build Coastguard Workerdef : Pat<(f32 (f16_to_fp Int16Regs:$a)), 839*9880d681SAndroid Build Coastguard Worker (CVT_f32_f16 Int16Regs:$a, CvtNONE)>; 840*9880d681SAndroid Build Coastguard Workerdef : Pat<(i16 (fp_to_f16 Float32Regs:$a)), 841*9880d681SAndroid Build Coastguard Worker (CVT_f16_f32 Float32Regs:$a, CvtRN_FTZ)>, Requires<[doF32FTZ]>; 842*9880d681SAndroid Build Coastguard Workerdef : Pat<(i16 (fp_to_f16 Float32Regs:$a)), 843*9880d681SAndroid Build Coastguard Worker (CVT_f16_f32 Float32Regs:$a, CvtRN)>; 844*9880d681SAndroid Build Coastguard Worker 845*9880d681SAndroid Build Coastguard Workerdef : Pat<(f64 (f16_to_fp Int16Regs:$a)), 846*9880d681SAndroid Build Coastguard Worker (CVT_f64_f16 Int16Regs:$a, CvtNONE)>; 847*9880d681SAndroid Build Coastguard Workerdef : Pat<(i16 (fp_to_f16 Float64Regs:$a)), 848*9880d681SAndroid Build Coastguard Worker (CVT_f16_f64 Float64Regs:$a, CvtRN)>; 849*9880d681SAndroid Build Coastguard Worker 850*9880d681SAndroid Build Coastguard Worker// 851*9880d681SAndroid Build Coastguard Worker// Bitcast 852*9880d681SAndroid Build Coastguard Worker// 853*9880d681SAndroid Build Coastguard Worker 854*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BITCAST_F2I : F_MATH_1<"mov.b32 \t$dst, $src0;", Int32Regs, 855*9880d681SAndroid Build Coastguard Worker Float32Regs, int_nvvm_bitcast_f2i>; 856*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BITCAST_I2F : F_MATH_1<"mov.b32 \t$dst, $src0;", Float32Regs, 857*9880d681SAndroid Build Coastguard Worker Int32Regs, int_nvvm_bitcast_i2f>; 858*9880d681SAndroid Build Coastguard Worker 859*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BITCAST_LL2D : F_MATH_1<"mov.b64 \t$dst, $src0;", Float64Regs, 860*9880d681SAndroid Build Coastguard Worker Int64Regs, int_nvvm_bitcast_ll2d>; 861*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_BITCAST_D2LL : F_MATH_1<"mov.b64 \t$dst, $src0;", Int64Regs, 862*9880d681SAndroid Build Coastguard Worker Float64Regs, int_nvvm_bitcast_d2ll>; 863*9880d681SAndroid Build Coastguard Worker 864*9880d681SAndroid Build Coastguard Worker//----------------------------------- 865*9880d681SAndroid Build Coastguard Worker// Atomic Functions 866*9880d681SAndroid Build Coastguard Worker//----------------------------------- 867*9880d681SAndroid Build Coastguard Worker 868*9880d681SAndroid Build Coastguard Workerclass ATOMIC_GLOBAL_CHK <dag ops, dag frag> 869*9880d681SAndroid Build Coastguard Worker : PatFrag<ops, frag, [{ 870*9880d681SAndroid Build Coastguard Worker return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_GLOBAL); 871*9880d681SAndroid Build Coastguard Worker}]>; 872*9880d681SAndroid Build Coastguard Workerclass ATOMIC_SHARED_CHK <dag ops, dag frag> 873*9880d681SAndroid Build Coastguard Worker : PatFrag<ops, frag, [{ 874*9880d681SAndroid Build Coastguard Worker return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_SHARED); 875*9880d681SAndroid Build Coastguard Worker}]>; 876*9880d681SAndroid Build Coastguard Workerclass ATOMIC_GENERIC_CHK <dag ops, dag frag> 877*9880d681SAndroid Build Coastguard Worker : PatFrag<ops, frag, [{ 878*9880d681SAndroid Build Coastguard Worker return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_GENERIC); 879*9880d681SAndroid Build Coastguard Worker}]>; 880*9880d681SAndroid Build Coastguard Worker 881*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_2_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass, 882*9880d681SAndroid Build Coastguard Worker string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp, 883*9880d681SAndroid Build Coastguard Worker Operand IMMType, SDNode IMM, Predicate Pred> { 884*9880d681SAndroid Build Coastguard Worker def reg : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, regclass:$b), 885*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 886*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 887*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 888*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 889*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b;", ""))))), 890*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b))]>, 891*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 892*9880d681SAndroid Build Coastguard Worker def imm : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, IMMType:$b), 893*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 894*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 895*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 896*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 897*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b;", ""))))), 898*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, IMM:$b))]>, 899*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 900*9880d681SAndroid Build Coastguard Worker} 901*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_2<NVPTXRegClass regclass, string SpaceStr, string TypeStr, 902*9880d681SAndroid Build Coastguard Worker string OpcStr, PatFrag IntOp, Operand IMMType, SDNode IMM, Predicate Pred> { 903*9880d681SAndroid Build Coastguard Worker defm p32 : F_ATOMIC_2_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr, 904*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, IMM, Pred>; 905*9880d681SAndroid Build Coastguard Worker defm p64 : F_ATOMIC_2_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr, 906*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, IMM, Pred>; 907*9880d681SAndroid Build Coastguard Worker} 908*9880d681SAndroid Build Coastguard Worker 909*9880d681SAndroid Build Coastguard Worker// has 2 operands, neg the second one 910*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_2_NEG_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass, 911*9880d681SAndroid Build Coastguard Worker string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp, 912*9880d681SAndroid Build Coastguard Worker Operand IMMType, Predicate Pred> { 913*9880d681SAndroid Build Coastguard Worker def reg : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, regclass:$b), 914*9880d681SAndroid Build Coastguard Worker !strconcat("{{ \n\t", 915*9880d681SAndroid Build Coastguard Worker !strconcat(".reg \t.s", 916*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 917*9880d681SAndroid Build Coastguard Worker !strconcat(" temp; \n\t", 918*9880d681SAndroid Build Coastguard Worker !strconcat("neg.s", 919*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 920*9880d681SAndroid Build Coastguard Worker !strconcat(" \ttemp, $b; \n\t", 921*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 922*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 923*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 924*9880d681SAndroid Build Coastguard Worker !strconcat(".u", 925*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 926*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], temp; \n\t", 927*9880d681SAndroid Build Coastguard Worker !strconcat("}}", "")))))))))))))), 928*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b))]>, 929*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 930*9880d681SAndroid Build Coastguard Worker} 931*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_2_NEG<NVPTXRegClass regclass, string SpaceStr, 932*9880d681SAndroid Build Coastguard Worker string TypeStr, string OpcStr, PatFrag IntOp, Operand IMMType, 933*9880d681SAndroid Build Coastguard Worker Predicate Pred> { 934*9880d681SAndroid Build Coastguard Worker defm p32: F_ATOMIC_2_NEG_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr, 935*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, Pred> ; 936*9880d681SAndroid Build Coastguard Worker defm p64: F_ATOMIC_2_NEG_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr, 937*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, Pred> ; 938*9880d681SAndroid Build Coastguard Worker} 939*9880d681SAndroid Build Coastguard Worker 940*9880d681SAndroid Build Coastguard Worker// has 3 operands 941*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_3_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass, 942*9880d681SAndroid Build Coastguard Worker string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp, 943*9880d681SAndroid Build Coastguard Worker Operand IMMType, Predicate Pred> { 944*9880d681SAndroid Build Coastguard Worker def reg : NVPTXInst<(outs regclass:$dst), 945*9880d681SAndroid Build Coastguard Worker (ins ptrclass:$addr, regclass:$b, regclass:$c), 946*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 947*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 948*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 949*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 950*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b, $c;", ""))))), 951*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, 952*9880d681SAndroid Build Coastguard Worker (IntOp ptrclass:$addr, regclass:$b, regclass:$c))]>, 953*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 954*9880d681SAndroid Build Coastguard Worker def imm1 : NVPTXInst<(outs regclass:$dst), 955*9880d681SAndroid Build Coastguard Worker (ins ptrclass:$addr, IMMType:$b, regclass:$c), 956*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 957*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 958*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 959*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 960*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b, $c;", ""))))), 961*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, imm:$b, regclass:$c))]>, 962*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 963*9880d681SAndroid Build Coastguard Worker def imm2 : NVPTXInst<(outs regclass:$dst), 964*9880d681SAndroid Build Coastguard Worker (ins ptrclass:$addr, regclass:$b, IMMType:$c), 965*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 966*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 967*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 968*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 969*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b, $c;", ""))))), 970*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b, imm:$c))]>, 971*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 972*9880d681SAndroid Build Coastguard Worker def imm3 : NVPTXInst<(outs regclass:$dst), 973*9880d681SAndroid Build Coastguard Worker (ins ptrclass:$addr, IMMType:$b, IMMType:$c), 974*9880d681SAndroid Build Coastguard Worker !strconcat("atom", 975*9880d681SAndroid Build Coastguard Worker !strconcat(SpaceStr, 976*9880d681SAndroid Build Coastguard Worker !strconcat(OpcStr, 977*9880d681SAndroid Build Coastguard Worker !strconcat(TypeStr, 978*9880d681SAndroid Build Coastguard Worker !strconcat(" \t$dst, [$addr], $b, $c;", ""))))), 979*9880d681SAndroid Build Coastguard Worker [(set regclass:$dst, (IntOp ptrclass:$addr, imm:$b, imm:$c))]>, 980*9880d681SAndroid Build Coastguard Worker Requires<[Pred]>; 981*9880d681SAndroid Build Coastguard Worker} 982*9880d681SAndroid Build Coastguard Workermulticlass F_ATOMIC_3<NVPTXRegClass regclass, string SpaceStr, string TypeStr, 983*9880d681SAndroid Build Coastguard Worker string OpcStr, PatFrag IntOp, Operand IMMType, Predicate Pred> { 984*9880d681SAndroid Build Coastguard Worker defm p32 : F_ATOMIC_3_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr, 985*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, Pred>; 986*9880d681SAndroid Build Coastguard Worker defm p64 : F_ATOMIC_3_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr, 987*9880d681SAndroid Build Coastguard Worker IntOp, IMMType, Pred>; 988*9880d681SAndroid Build Coastguard Worker} 989*9880d681SAndroid Build Coastguard Worker 990*9880d681SAndroid Build Coastguard Worker// atom_add 991*9880d681SAndroid Build Coastguard Worker 992*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 993*9880d681SAndroid Build Coastguard Worker (atomic_load_add_32 node:$a, node:$b)>; 994*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 995*9880d681SAndroid Build Coastguard Worker (atomic_load_add_32 node:$a, node:$b)>; 996*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 997*9880d681SAndroid Build Coastguard Worker (atomic_load_add_32 node:$a, node:$b)>; 998*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 999*9880d681SAndroid Build Coastguard Worker (atomic_load_add_64 node:$a, node:$b)>; 1000*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1001*9880d681SAndroid Build Coastguard Worker (atomic_load_add_64 node:$a, node:$b)>; 1002*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1003*9880d681SAndroid Build Coastguard Worker (atomic_load_add_64 node:$a, node:$b)>; 1004*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_f32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1005*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_add_f32 node:$a, node:$b)>; 1006*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_f32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1007*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_add_f32 node:$a, node:$b)>; 1008*9880d681SAndroid Build Coastguard Workerdef atomic_load_add_f32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1009*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_add_f32 node:$a, node:$b)>; 1010*9880d681SAndroid Build Coastguard Worker 1011*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".add", 1012*9880d681SAndroid Build Coastguard Worker atomic_load_add_32_g, i32imm, imm, hasAtomRedG32>; 1013*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".add", 1014*9880d681SAndroid Build Coastguard Worker atomic_load_add_32_s, i32imm, imm, hasAtomRedS32>; 1015*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".add", 1016*9880d681SAndroid Build Coastguard Worker atomic_load_add_32_gen, i32imm, imm, hasAtomRedGen32>; 1017*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32", 1018*9880d681SAndroid Build Coastguard Worker ".add", atomic_load_add_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1019*9880d681SAndroid Build Coastguard Worker 1020*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64", ".add", 1021*9880d681SAndroid Build Coastguard Worker atomic_load_add_64_g, i64imm, imm, hasAtomRedG64>; 1022*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64", ".add", 1023*9880d681SAndroid Build Coastguard Worker atomic_load_add_64_s, i64imm, imm, hasAtomRedS64>; 1024*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".add", 1025*9880d681SAndroid Build Coastguard Worker atomic_load_add_64_gen, i64imm, imm, hasAtomRedGen64>; 1026*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".u64", 1027*9880d681SAndroid Build Coastguard Worker ".add", atomic_load_add_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1028*9880d681SAndroid Build Coastguard Worker 1029*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_G_F32 : F_ATOMIC_2<Float32Regs, ".global", ".f32", ".add", 1030*9880d681SAndroid Build Coastguard Worker atomic_load_add_f32_g, f32imm, fpimm, hasAtomAddF32>; 1031*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_S_F32 : F_ATOMIC_2<Float32Regs, ".shared", ".f32", ".add", 1032*9880d681SAndroid Build Coastguard Worker atomic_load_add_f32_s, f32imm, fpimm, hasAtomAddF32>; 1033*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_ADD_GEN_F32 : F_ATOMIC_2<Float32Regs, "", ".f32", ".add", 1034*9880d681SAndroid Build Coastguard Worker atomic_load_add_f32_gen, f32imm, fpimm, hasAtomAddF32>; 1035*9880d681SAndroid Build Coastguard Worker 1036*9880d681SAndroid Build Coastguard Worker// atom_sub 1037*9880d681SAndroid Build Coastguard Worker 1038*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1039*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_32 node:$a, node:$b)>; 1040*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1041*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_32 node:$a, node:$b)>; 1042*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1043*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_32 node:$a, node:$b)>; 1044*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1045*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_64 node:$a, node:$b)>; 1046*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1047*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_64 node:$a, node:$b)>; 1048*9880d681SAndroid Build Coastguard Workerdef atomic_load_sub_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1049*9880d681SAndroid Build Coastguard Worker (atomic_load_sub_64 node:$a, node:$b)>; 1050*9880d681SAndroid Build Coastguard Worker 1051*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_G_32 : F_ATOMIC_2_NEG<Int32Regs, ".global", "32", ".add", 1052*9880d681SAndroid Build Coastguard Worker atomic_load_sub_32_g, i32imm, hasAtomRedG32>; 1053*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_G_64 : F_ATOMIC_2_NEG<Int64Regs, ".global", "64", ".add", 1054*9880d681SAndroid Build Coastguard Worker atomic_load_sub_64_g, i64imm, hasAtomRedG64>; 1055*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_GEN_32 : F_ATOMIC_2_NEG<Int32Regs, "", "32", ".add", 1056*9880d681SAndroid Build Coastguard Worker atomic_load_sub_32_gen, i32imm, hasAtomRedGen32>; 1057*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_GEN_32_USE_G : F_ATOMIC_2_NEG<Int32Regs, ".global", "32", 1058*9880d681SAndroid Build Coastguard Worker ".add", atomic_load_sub_32_gen, i32imm, useAtomRedG32forGen32>; 1059*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_S_32 : F_ATOMIC_2_NEG<Int32Regs, ".shared", "32", ".add", 1060*9880d681SAndroid Build Coastguard Worker atomic_load_sub_32_s, i32imm, hasAtomRedS32>; 1061*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_S_64 : F_ATOMIC_2_NEG<Int64Regs, ".shared", "64", ".add", 1062*9880d681SAndroid Build Coastguard Worker atomic_load_sub_64_s, i64imm, hasAtomRedS64>; 1063*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_GEN_64 : F_ATOMIC_2_NEG<Int64Regs, "", "64", ".add", 1064*9880d681SAndroid Build Coastguard Worker atomic_load_sub_64_gen, i64imm, hasAtomRedGen64>; 1065*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SUB_GEN_64_USE_G : F_ATOMIC_2_NEG<Int64Regs, ".global", "64", 1066*9880d681SAndroid Build Coastguard Worker ".add", atomic_load_sub_64_gen, i64imm, useAtomRedG64forGen64>; 1067*9880d681SAndroid Build Coastguard Worker 1068*9880d681SAndroid Build Coastguard Worker// atom_swap 1069*9880d681SAndroid Build Coastguard Worker 1070*9880d681SAndroid Build Coastguard Workerdef atomic_swap_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1071*9880d681SAndroid Build Coastguard Worker (atomic_swap_32 node:$a, node:$b)>; 1072*9880d681SAndroid Build Coastguard Workerdef atomic_swap_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1073*9880d681SAndroid Build Coastguard Worker (atomic_swap_32 node:$a, node:$b)>; 1074*9880d681SAndroid Build Coastguard Workerdef atomic_swap_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1075*9880d681SAndroid Build Coastguard Worker (atomic_swap_32 node:$a, node:$b)>; 1076*9880d681SAndroid Build Coastguard Workerdef atomic_swap_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1077*9880d681SAndroid Build Coastguard Worker (atomic_swap_64 node:$a, node:$b)>; 1078*9880d681SAndroid Build Coastguard Workerdef atomic_swap_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1079*9880d681SAndroid Build Coastguard Worker (atomic_swap_64 node:$a, node:$b)>; 1080*9880d681SAndroid Build Coastguard Workerdef atomic_swap_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1081*9880d681SAndroid Build Coastguard Worker (atomic_swap_64 node:$a, node:$b)>; 1082*9880d681SAndroid Build Coastguard Worker 1083*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".exch", 1084*9880d681SAndroid Build Coastguard Worker atomic_swap_32_g, i32imm, imm, hasAtomRedG32>; 1085*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".exch", 1086*9880d681SAndroid Build Coastguard Worker atomic_swap_32_s, i32imm, imm, hasAtomRedS32>; 1087*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".exch", 1088*9880d681SAndroid Build Coastguard Worker atomic_swap_32_gen, i32imm, imm, hasAtomRedGen32>; 1089*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32", 1090*9880d681SAndroid Build Coastguard Worker ".exch", atomic_swap_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1091*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".exch", 1092*9880d681SAndroid Build Coastguard Worker atomic_swap_64_g, i64imm, imm, hasAtomRedG64>; 1093*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".exch", 1094*9880d681SAndroid Build Coastguard Worker atomic_swap_64_s, i64imm, imm, hasAtomRedS64>; 1095*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".exch", 1096*9880d681SAndroid Build Coastguard Worker atomic_swap_64_gen, i64imm, imm, hasAtomRedGen64>; 1097*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_SWAP_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64", 1098*9880d681SAndroid Build Coastguard Worker ".exch", atomic_swap_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1099*9880d681SAndroid Build Coastguard Worker 1100*9880d681SAndroid Build Coastguard Worker// atom_max 1101*9880d681SAndroid Build Coastguard Worker 1102*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b) 1103*9880d681SAndroid Build Coastguard Worker , (atomic_load_max_32 node:$a, node:$b)>; 1104*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1105*9880d681SAndroid Build Coastguard Worker (atomic_load_max_32 node:$a, node:$b)>; 1106*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1107*9880d681SAndroid Build Coastguard Worker (atomic_load_max_32 node:$a, node:$b)>; 1108*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b) 1109*9880d681SAndroid Build Coastguard Worker , (atomic_load_max_64 node:$a, node:$b)>; 1110*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1111*9880d681SAndroid Build Coastguard Worker (atomic_load_max_64 node:$a, node:$b)>; 1112*9880d681SAndroid Build Coastguard Workerdef atomic_load_max_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1113*9880d681SAndroid Build Coastguard Worker (atomic_load_max_64 node:$a, node:$b)>; 1114*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1115*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_32 node:$a, node:$b)>; 1116*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1117*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_32 node:$a, node:$b)>; 1118*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1119*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_32 node:$a, node:$b)>; 1120*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1121*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_64 node:$a, node:$b)>; 1122*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1123*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_64 node:$a, node:$b)>; 1124*9880d681SAndroid Build Coastguard Workerdef atomic_load_umax_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1125*9880d681SAndroid Build Coastguard Worker (atomic_load_umax_64 node:$a, node:$b)>; 1126*9880d681SAndroid Build Coastguard Worker 1127*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".s32", 1128*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_max_32_g, i32imm, imm, hasAtomRedG32>; 1129*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".s32", 1130*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_max_32_s, i32imm, imm, hasAtomRedS32>; 1131*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".s32", ".max", 1132*9880d681SAndroid Build Coastguard Worker atomic_load_max_32_gen, i32imm, imm, hasAtomRedGen32>; 1133*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", 1134*9880d681SAndroid Build Coastguard Worker ".s32", ".max", atomic_load_max_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1135*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".s64", 1136*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_max_64_g, i64imm, imm, hasAtomRedG64>; 1137*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".s64", 1138*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_max_64_s, i64imm, imm, hasAtomRedS64>; 1139*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".s64", ".max", 1140*9880d681SAndroid Build Coastguard Worker atomic_load_max_64_gen, i64imm, imm, hasAtomRedGen64>; 1141*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MAX_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", 1142*9880d681SAndroid Build Coastguard Worker ".s64", ".max", atomic_load_max_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1143*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", 1144*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_umax_32_g, i32imm, imm, hasAtomRedG32>; 1145*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", 1146*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_umax_32_s, i32imm, imm, hasAtomRedS32>; 1147*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".max", 1148*9880d681SAndroid Build Coastguard Worker atomic_load_umax_32_gen, i32imm, imm, hasAtomRedGen32>; 1149*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", 1150*9880d681SAndroid Build Coastguard Worker ".u32", ".max", atomic_load_umax_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1151*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64", 1152*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_umax_64_g, i64imm, imm, hasAtomRedG64>; 1153*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64", 1154*9880d681SAndroid Build Coastguard Worker ".max", atomic_load_umax_64_s, i64imm, imm, hasAtomRedS64>; 1155*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".max", 1156*9880d681SAndroid Build Coastguard Worker atomic_load_umax_64_gen, i64imm, imm, hasAtomRedGen64>; 1157*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMAX_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", 1158*9880d681SAndroid Build Coastguard Worker ".u64", ".max", atomic_load_umax_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1159*9880d681SAndroid Build Coastguard Worker 1160*9880d681SAndroid Build Coastguard Worker// atom_min 1161*9880d681SAndroid Build Coastguard Worker 1162*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1163*9880d681SAndroid Build Coastguard Worker (atomic_load_min_32 node:$a, node:$b)>; 1164*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1165*9880d681SAndroid Build Coastguard Worker (atomic_load_min_32 node:$a, node:$b)>; 1166*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1167*9880d681SAndroid Build Coastguard Worker (atomic_load_min_32 node:$a, node:$b)>; 1168*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1169*9880d681SAndroid Build Coastguard Worker (atomic_load_min_64 node:$a, node:$b)>; 1170*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1171*9880d681SAndroid Build Coastguard Worker (atomic_load_min_64 node:$a, node:$b)>; 1172*9880d681SAndroid Build Coastguard Workerdef atomic_load_min_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1173*9880d681SAndroid Build Coastguard Worker (atomic_load_min_64 node:$a, node:$b)>; 1174*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1175*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_32 node:$a, node:$b)>; 1176*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1177*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_32 node:$a, node:$b)>; 1178*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1179*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_32 node:$a, node:$b)>; 1180*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1181*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_64 node:$a, node:$b)>; 1182*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1183*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_64 node:$a, node:$b)>; 1184*9880d681SAndroid Build Coastguard Workerdef atomic_load_umin_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1185*9880d681SAndroid Build Coastguard Worker (atomic_load_umin_64 node:$a, node:$b)>; 1186*9880d681SAndroid Build Coastguard Worker 1187*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".s32", 1188*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_min_32_g, i32imm, imm, hasAtomRedG32>; 1189*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".s32", 1190*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_min_32_s, i32imm, imm, hasAtomRedS32>; 1191*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".s32", ".min", 1192*9880d681SAndroid Build Coastguard Worker atomic_load_min_32_gen, i32imm, imm, hasAtomRedGen32>; 1193*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", 1194*9880d681SAndroid Build Coastguard Worker ".s32", ".min", atomic_load_min_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1195*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".s64", 1196*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_min_64_g, i64imm, imm, hasAtomRedG64>; 1197*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".s64", 1198*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_min_64_s, i64imm, imm, hasAtomRedS64>; 1199*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".s64", ".min", 1200*9880d681SAndroid Build Coastguard Worker atomic_load_min_64_gen, i64imm, imm, hasAtomRedGen64>; 1201*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_MIN_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", 1202*9880d681SAndroid Build Coastguard Worker ".s64", ".min", atomic_load_min_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1203*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", 1204*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_umin_32_g, i32imm, imm, hasAtomRedG32>; 1205*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", 1206*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_umin_32_s, i32imm, imm, hasAtomRedS32>; 1207*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".min", 1208*9880d681SAndroid Build Coastguard Worker atomic_load_umin_32_gen, i32imm, imm, hasAtomRedGen32>; 1209*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", 1210*9880d681SAndroid Build Coastguard Worker ".u32", ".min", atomic_load_umin_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1211*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64", 1212*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_umin_64_g, i64imm, imm, hasAtomRedG64>; 1213*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64", 1214*9880d681SAndroid Build Coastguard Worker ".min", atomic_load_umin_64_s, i64imm, imm, hasAtomRedS64>; 1215*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".min", 1216*9880d681SAndroid Build Coastguard Worker atomic_load_umin_64_gen, i64imm, imm, hasAtomRedGen64>; 1217*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_LOAD_UMIN_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", 1218*9880d681SAndroid Build Coastguard Worker ".u64", ".min", atomic_load_umin_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1219*9880d681SAndroid Build Coastguard Worker 1220*9880d681SAndroid Build Coastguard Worker// atom_inc atom_dec 1221*9880d681SAndroid Build Coastguard Worker 1222*9880d681SAndroid Build Coastguard Workerdef atomic_load_inc_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1223*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>; 1224*9880d681SAndroid Build Coastguard Workerdef atomic_load_inc_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1225*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>; 1226*9880d681SAndroid Build Coastguard Workerdef atomic_load_inc_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1227*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>; 1228*9880d681SAndroid Build Coastguard Workerdef atomic_load_dec_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1229*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>; 1230*9880d681SAndroid Build Coastguard Workerdef atomic_load_dec_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1231*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>; 1232*9880d681SAndroid Build Coastguard Workerdef atomic_load_dec_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1233*9880d681SAndroid Build Coastguard Worker (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>; 1234*9880d681SAndroid Build Coastguard Worker 1235*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_INC_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".inc", 1236*9880d681SAndroid Build Coastguard Worker atomic_load_inc_32_g, i32imm, imm, hasAtomRedG32>; 1237*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_INC_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".inc", 1238*9880d681SAndroid Build Coastguard Worker atomic_load_inc_32_s, i32imm, imm, hasAtomRedS32>; 1239*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_INC_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".inc", 1240*9880d681SAndroid Build Coastguard Worker atomic_load_inc_32_gen, i32imm, imm, hasAtomRedGen32>; 1241*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_INC_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32", 1242*9880d681SAndroid Build Coastguard Worker ".inc", atomic_load_inc_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1243*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_DEC_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".dec", 1244*9880d681SAndroid Build Coastguard Worker atomic_load_dec_32_g, i32imm, imm, hasAtomRedG32>; 1245*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_DEC_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".dec", 1246*9880d681SAndroid Build Coastguard Worker atomic_load_dec_32_s, i32imm, imm, hasAtomRedS32>; 1247*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_DEC_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".dec", 1248*9880d681SAndroid Build Coastguard Worker atomic_load_dec_32_gen, i32imm, imm, hasAtomRedGen32>; 1249*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_DEC_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32", 1250*9880d681SAndroid Build Coastguard Worker ".dec", atomic_load_dec_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1251*9880d681SAndroid Build Coastguard Worker 1252*9880d681SAndroid Build Coastguard Worker// atom_and 1253*9880d681SAndroid Build Coastguard Worker 1254*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1255*9880d681SAndroid Build Coastguard Worker (atomic_load_and_32 node:$a, node:$b)>; 1256*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1257*9880d681SAndroid Build Coastguard Worker (atomic_load_and_32 node:$a, node:$b)>; 1258*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1259*9880d681SAndroid Build Coastguard Worker (atomic_load_and_32 node:$a, node:$b)>; 1260*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1261*9880d681SAndroid Build Coastguard Worker (atomic_load_and_64 node:$a, node:$b)>; 1262*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1263*9880d681SAndroid Build Coastguard Worker (atomic_load_and_64 node:$a, node:$b)>; 1264*9880d681SAndroid Build Coastguard Workerdef atomic_load_and_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1265*9880d681SAndroid Build Coastguard Worker (atomic_load_and_64 node:$a, node:$b)>; 1266*9880d681SAndroid Build Coastguard Worker 1267*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".and", 1268*9880d681SAndroid Build Coastguard Worker atomic_load_and_32_g, i32imm, imm, hasAtomRedG32>; 1269*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".and", 1270*9880d681SAndroid Build Coastguard Worker atomic_load_and_32_s, i32imm, imm, hasAtomRedS32>; 1271*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".and", 1272*9880d681SAndroid Build Coastguard Worker atomic_load_and_32_gen, i32imm, imm, hasAtomRedGen32>; 1273*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32", 1274*9880d681SAndroid Build Coastguard Worker ".and", atomic_load_and_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1275*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".and", 1276*9880d681SAndroid Build Coastguard Worker atomic_load_and_64_g, i64imm, imm, hasAtomRedG64>; 1277*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".and", 1278*9880d681SAndroid Build Coastguard Worker atomic_load_and_64_s, i64imm, imm, hasAtomRedS64>; 1279*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".and", 1280*9880d681SAndroid Build Coastguard Worker atomic_load_and_64_gen, i64imm, imm, hasAtomRedGen64>; 1281*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_AND_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64", 1282*9880d681SAndroid Build Coastguard Worker ".and", atomic_load_and_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1283*9880d681SAndroid Build Coastguard Worker 1284*9880d681SAndroid Build Coastguard Worker// atom_or 1285*9880d681SAndroid Build Coastguard Worker 1286*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1287*9880d681SAndroid Build Coastguard Worker (atomic_load_or_32 node:$a, node:$b)>; 1288*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1289*9880d681SAndroid Build Coastguard Worker (atomic_load_or_32 node:$a, node:$b)>; 1290*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1291*9880d681SAndroid Build Coastguard Worker (atomic_load_or_32 node:$a, node:$b)>; 1292*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1293*9880d681SAndroid Build Coastguard Worker (atomic_load_or_64 node:$a, node:$b)>; 1294*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1295*9880d681SAndroid Build Coastguard Worker (atomic_load_or_64 node:$a, node:$b)>; 1296*9880d681SAndroid Build Coastguard Workerdef atomic_load_or_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1297*9880d681SAndroid Build Coastguard Worker (atomic_load_or_64 node:$a, node:$b)>; 1298*9880d681SAndroid Build Coastguard Worker 1299*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".or", 1300*9880d681SAndroid Build Coastguard Worker atomic_load_or_32_g, i32imm, imm, hasAtomRedG32>; 1301*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".or", 1302*9880d681SAndroid Build Coastguard Worker atomic_load_or_32_gen, i32imm, imm, hasAtomRedGen32>; 1303*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32", 1304*9880d681SAndroid Build Coastguard Worker ".or", atomic_load_or_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1305*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".or", 1306*9880d681SAndroid Build Coastguard Worker atomic_load_or_32_s, i32imm, imm, hasAtomRedS32>; 1307*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".or", 1308*9880d681SAndroid Build Coastguard Worker atomic_load_or_64_g, i64imm, imm, hasAtomRedG64>; 1309*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".or", 1310*9880d681SAndroid Build Coastguard Worker atomic_load_or_64_gen, i64imm, imm, hasAtomRedGen64>; 1311*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64", 1312*9880d681SAndroid Build Coastguard Worker ".or", atomic_load_or_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1313*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_OR_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".or", 1314*9880d681SAndroid Build Coastguard Worker atomic_load_or_64_s, i64imm, imm, hasAtomRedS64>; 1315*9880d681SAndroid Build Coastguard Worker 1316*9880d681SAndroid Build Coastguard Worker// atom_xor 1317*9880d681SAndroid Build Coastguard Worker 1318*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1319*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_32 node:$a, node:$b)>; 1320*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1321*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_32 node:$a, node:$b)>; 1322*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1323*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_32 node:$a, node:$b)>; 1324*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b), 1325*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_64 node:$a, node:$b)>; 1326*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b), 1327*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_64 node:$a, node:$b)>; 1328*9880d681SAndroid Build Coastguard Workerdef atomic_load_xor_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b), 1329*9880d681SAndroid Build Coastguard Worker (atomic_load_xor_64 node:$a, node:$b)>; 1330*9880d681SAndroid Build Coastguard Worker 1331*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".xor", 1332*9880d681SAndroid Build Coastguard Worker atomic_load_xor_32_g, i32imm, imm, hasAtomRedG32>; 1333*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".xor", 1334*9880d681SAndroid Build Coastguard Worker atomic_load_xor_32_s, i32imm, imm, hasAtomRedS32>; 1335*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".xor", 1336*9880d681SAndroid Build Coastguard Worker atomic_load_xor_32_gen, i32imm, imm, hasAtomRedGen32>; 1337*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32", 1338*9880d681SAndroid Build Coastguard Worker ".xor", atomic_load_xor_32_gen, i32imm, imm, useAtomRedG32forGen32>; 1339*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".xor", 1340*9880d681SAndroid Build Coastguard Worker atomic_load_xor_64_g, i64imm, imm, hasAtomRedG64>; 1341*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".xor", 1342*9880d681SAndroid Build Coastguard Worker atomic_load_xor_64_s, i64imm, imm, hasAtomRedS64>; 1343*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".xor", 1344*9880d681SAndroid Build Coastguard Worker atomic_load_xor_64_gen, i64imm, imm, hasAtomRedGen64>; 1345*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_XOR_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64", 1346*9880d681SAndroid Build Coastguard Worker ".xor", atomic_load_xor_64_gen, i64imm, imm, useAtomRedG64forGen64>; 1347*9880d681SAndroid Build Coastguard Worker 1348*9880d681SAndroid Build Coastguard Worker// atom_cas 1349*9880d681SAndroid Build Coastguard Worker 1350*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b, node:$c), 1351*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>; 1352*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b, node:$c), 1353*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>; 1354*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b, node:$c), 1355*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>; 1356*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b, node:$c), 1357*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>; 1358*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b, node:$c), 1359*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>; 1360*9880d681SAndroid Build Coastguard Workerdef atomic_cmp_swap_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b, node:$c), 1361*9880d681SAndroid Build Coastguard Worker (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>; 1362*9880d681SAndroid Build Coastguard Worker 1363*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_G_32 : F_ATOMIC_3<Int32Regs, ".global", ".b32", ".cas", 1364*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_32_g, i32imm, hasAtomRedG32>; 1365*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_S_32 : F_ATOMIC_3<Int32Regs, ".shared", ".b32", ".cas", 1366*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_32_s, i32imm, hasAtomRedS32>; 1367*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_GEN_32 : F_ATOMIC_3<Int32Regs, "", ".b32", ".cas", 1368*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_32_gen, i32imm, hasAtomRedGen32>; 1369*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_GEN_32_USE_G : F_ATOMIC_3<Int32Regs, ".global", ".b32", 1370*9880d681SAndroid Build Coastguard Worker ".cas", atomic_cmp_swap_32_gen, i32imm, useAtomRedG32forGen32>; 1371*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_G_64 : F_ATOMIC_3<Int64Regs, ".global", ".b64", ".cas", 1372*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_64_g, i64imm, hasAtomRedG64>; 1373*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_S_64 : F_ATOMIC_3<Int64Regs, ".shared", ".b64", ".cas", 1374*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_64_s, i64imm, hasAtomRedS64>; 1375*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_GEN_64 : F_ATOMIC_3<Int64Regs, "", ".b64", ".cas", 1376*9880d681SAndroid Build Coastguard Worker atomic_cmp_swap_64_gen, i64imm, hasAtomRedGen64>; 1377*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_ATOM_CAS_GEN_64_USE_G : F_ATOMIC_3<Int64Regs, ".global", ".b64", 1378*9880d681SAndroid Build Coastguard Worker ".cas", atomic_cmp_swap_64_gen, i64imm, useAtomRedG64forGen64>; 1379*9880d681SAndroid Build Coastguard Worker 1380*9880d681SAndroid Build Coastguard Worker 1381*9880d681SAndroid Build Coastguard Worker 1382*9880d681SAndroid Build Coastguard Worker 1383*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1384*9880d681SAndroid Build Coastguard Worker// Support for ldu on sm_20 or later 1385*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1386*9880d681SAndroid Build Coastguard Worker 1387*9880d681SAndroid Build Coastguard Worker// Don't annotate ldu instructions as mayLoad, as they load from memory that is 1388*9880d681SAndroid Build Coastguard Worker// read-only in a kernel. 1389*9880d681SAndroid Build Coastguard Worker 1390*9880d681SAndroid Build Coastguard Worker// Scalar 1391*9880d681SAndroid Build Coastguard Worker 1392*9880d681SAndroid Build Coastguard Workermulticlass LDU_G<string TyStr, NVPTXRegClass regclass> { 1393*9880d681SAndroid Build Coastguard Worker def areg: NVPTXInst<(outs regclass:$result), (ins Int32Regs:$src), 1394*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), 1395*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDU]>; 1396*9880d681SAndroid Build Coastguard Worker def areg64: NVPTXInst<(outs regclass:$result), (ins Int64Regs:$src), 1397*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), 1398*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDU]>; 1399*9880d681SAndroid Build Coastguard Worker def avar: NVPTXInst<(outs regclass:$result), (ins imemAny:$src), 1400*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), 1401*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDU]>; 1402*9880d681SAndroid Build Coastguard Worker def ari : NVPTXInst<(outs regclass:$result), (ins MEMri:$src), 1403*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), 1404*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDU]>; 1405*9880d681SAndroid Build Coastguard Worker def ari64 : NVPTXInst<(outs regclass:$result), (ins MEMri64:$src), 1406*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), 1407*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDU]>; 1408*9880d681SAndroid Build Coastguard Worker} 1409*9880d681SAndroid Build Coastguard Worker 1410*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_i8 : LDU_G<"u8 \t$result, [$src];", Int16Regs>; 1411*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_i16 : LDU_G<"u16 \t$result, [$src];", Int16Regs>; 1412*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_i32 : LDU_G<"u32 \t$result, [$src];", Int32Regs>; 1413*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_i64 : LDU_G<"u64 \t$result, [$src];", Int64Regs>; 1414*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_f32 : LDU_G<"f32 \t$result, [$src];", Float32Regs>; 1415*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_f64 : LDU_G<"f64 \t$result, [$src];", Float64Regs>; 1416*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_p32 : LDU_G<"u32 \t$result, [$src];", Int32Regs>; 1417*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_GLOBAL_p64 : LDU_G<"u64 \t$result, [$src];", Int64Regs>; 1418*9880d681SAndroid Build Coastguard Worker 1419*9880d681SAndroid Build Coastguard Worker// vector 1420*9880d681SAndroid Build Coastguard Worker 1421*9880d681SAndroid Build Coastguard Worker// Elementized vector ldu 1422*9880d681SAndroid Build Coastguard Workermulticlass VLDU_G_ELE_V2<string TyStr, NVPTXRegClass regclass> { 1423*9880d681SAndroid Build Coastguard Worker def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1424*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$src), 1425*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1426*9880d681SAndroid Build Coastguard Worker def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1427*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$src), 1428*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1429*9880d681SAndroid Build Coastguard Worker def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1430*9880d681SAndroid Build Coastguard Worker (ins MEMri:$src), 1431*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1432*9880d681SAndroid Build Coastguard Worker def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1433*9880d681SAndroid Build Coastguard Worker (ins MEMri64:$src), 1434*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1435*9880d681SAndroid Build Coastguard Worker def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1436*9880d681SAndroid Build Coastguard Worker (ins imemAny:$src), 1437*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1438*9880d681SAndroid Build Coastguard Worker} 1439*9880d681SAndroid Build Coastguard Worker 1440*9880d681SAndroid Build Coastguard Workermulticlass VLDU_G_ELE_V4<string TyStr, NVPTXRegClass regclass> { 1441*9880d681SAndroid Build Coastguard Worker def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1442*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins Int32Regs:$src), 1443*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1444*9880d681SAndroid Build Coastguard Worker def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1445*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins Int64Regs:$src), 1446*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1447*9880d681SAndroid Build Coastguard Worker def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1448*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins MEMri:$src), 1449*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1450*9880d681SAndroid Build Coastguard Worker def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1451*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins MEMri64:$src), 1452*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1453*9880d681SAndroid Build Coastguard Worker def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1454*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins imemAny:$src), 1455*9880d681SAndroid Build Coastguard Worker !strconcat("ldu.global.", TyStr), []>; 1456*9880d681SAndroid Build Coastguard Worker} 1457*9880d681SAndroid Build Coastguard Worker 1458*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2i8_ELE 1459*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.u8 \t{{$dst1, $dst2}}, [$src];", Int16Regs>; 1460*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2i16_ELE 1461*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.u16 \t{{$dst1, $dst2}}, [$src];", Int16Regs>; 1462*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2i32_ELE 1463*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.u32 \t{{$dst1, $dst2}}, [$src];", Int32Regs>; 1464*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2f32_ELE 1465*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.f32 \t{{$dst1, $dst2}}, [$src];", Float32Regs>; 1466*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2i64_ELE 1467*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.u64 \t{{$dst1, $dst2}}, [$src];", Int64Regs>; 1468*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v2f64_ELE 1469*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V2<"v2.f64 \t{{$dst1, $dst2}}, [$src];", Float64Regs>; 1470*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v4i8_ELE 1471*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V4<"v4.u8 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>; 1472*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v4i16_ELE 1473*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V4<"v4.u16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", 1474*9880d681SAndroid Build Coastguard Worker Int16Regs>; 1475*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v4i32_ELE 1476*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V4<"v4.u32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", 1477*9880d681SAndroid Build Coastguard Worker Int32Regs>; 1478*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDU_G_v4f32_ELE 1479*9880d681SAndroid Build Coastguard Worker : VLDU_G_ELE_V4<"v4.f32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", 1480*9880d681SAndroid Build Coastguard Worker Float32Regs>; 1481*9880d681SAndroid Build Coastguard Worker 1482*9880d681SAndroid Build Coastguard Worker 1483*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1484*9880d681SAndroid Build Coastguard Worker// Support for ldg on sm_35 or later 1485*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1486*9880d681SAndroid Build Coastguard Worker 1487*9880d681SAndroid Build Coastguard Worker// Don't annotate ld.global.nc as mayLoad, because these loads go through the 1488*9880d681SAndroid Build Coastguard Worker// non-coherent texture cache, and therefore the values read must be read-only 1489*9880d681SAndroid Build Coastguard Worker// during the lifetime of the kernel. 1490*9880d681SAndroid Build Coastguard Worker 1491*9880d681SAndroid Build Coastguard Workermulticlass LDG_G<string TyStr, NVPTXRegClass regclass> { 1492*9880d681SAndroid Build Coastguard Worker def areg: NVPTXInst<(outs regclass:$result), (ins Int32Regs:$src), 1493*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), 1494*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDG]>; 1495*9880d681SAndroid Build Coastguard Worker def areg64: NVPTXInst<(outs regclass:$result), (ins Int64Regs:$src), 1496*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), 1497*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDG]>; 1498*9880d681SAndroid Build Coastguard Worker def avar: NVPTXInst<(outs regclass:$result), (ins imemAny:$src), 1499*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), 1500*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDG]>; 1501*9880d681SAndroid Build Coastguard Worker def ari : NVPTXInst<(outs regclass:$result), (ins MEMri:$src), 1502*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), 1503*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDG]>; 1504*9880d681SAndroid Build Coastguard Worker def ari64 : NVPTXInst<(outs regclass:$result), (ins MEMri64:$src), 1505*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), 1506*9880d681SAndroid Build Coastguard Worker []>, Requires<[hasLDG]>; 1507*9880d681SAndroid Build Coastguard Worker} 1508*9880d681SAndroid Build Coastguard Worker 1509*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_i8 1510*9880d681SAndroid Build Coastguard Worker : LDG_G<"u8 \t$result, [$src];", Int16Regs>; 1511*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_i16 1512*9880d681SAndroid Build Coastguard Worker : LDG_G<"u16 \t$result, [$src];", Int16Regs>; 1513*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_i32 1514*9880d681SAndroid Build Coastguard Worker : LDG_G<"u32 \t$result, [$src];", Int32Regs>; 1515*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_i64 1516*9880d681SAndroid Build Coastguard Worker : LDG_G<"u64 \t$result, [$src];", Int64Regs>; 1517*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_f32 1518*9880d681SAndroid Build Coastguard Worker : LDG_G<"f32 \t$result, [$src];", Float32Regs>; 1519*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_f64 1520*9880d681SAndroid Build Coastguard Worker : LDG_G<"f64 \t$result, [$src];", Float64Regs>; 1521*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_p32 1522*9880d681SAndroid Build Coastguard Worker : LDG_G<"u32 \t$result, [$src];", Int32Regs>; 1523*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_GLOBAL_p64 1524*9880d681SAndroid Build Coastguard Worker : LDG_G<"u64 \t$result, [$src];", Int64Regs>; 1525*9880d681SAndroid Build Coastguard Worker 1526*9880d681SAndroid Build Coastguard Worker// vector 1527*9880d681SAndroid Build Coastguard Worker 1528*9880d681SAndroid Build Coastguard Worker// Elementized vector ldg 1529*9880d681SAndroid Build Coastguard Workermulticlass VLDG_G_ELE_V2<string TyStr, NVPTXRegClass regclass> { 1530*9880d681SAndroid Build Coastguard Worker def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1531*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$src), 1532*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1533*9880d681SAndroid Build Coastguard Worker def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1534*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$src), 1535*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1536*9880d681SAndroid Build Coastguard Worker def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1537*9880d681SAndroid Build Coastguard Worker (ins MEMri:$src), 1538*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1539*9880d681SAndroid Build Coastguard Worker def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1540*9880d681SAndroid Build Coastguard Worker (ins MEMri64:$src), 1541*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1542*9880d681SAndroid Build Coastguard Worker def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2), 1543*9880d681SAndroid Build Coastguard Worker (ins imemAny:$src), 1544*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1545*9880d681SAndroid Build Coastguard Worker} 1546*9880d681SAndroid Build Coastguard Worker 1547*9880d681SAndroid Build Coastguard Workermulticlass VLDG_G_ELE_V4<string TyStr, NVPTXRegClass regclass> { 1548*9880d681SAndroid Build Coastguard Worker def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1549*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins Int32Regs:$src), 1550*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1551*9880d681SAndroid Build Coastguard Worker def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1552*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins Int64Regs:$src), 1553*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1554*9880d681SAndroid Build Coastguard Worker def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1555*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins MEMri:$src), 1556*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1557*9880d681SAndroid Build Coastguard Worker def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1558*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins MEMri64:$src), 1559*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1560*9880d681SAndroid Build Coastguard Worker def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, 1561*9880d681SAndroid Build Coastguard Worker regclass:$dst4), (ins imemAny:$src), 1562*9880d681SAndroid Build Coastguard Worker !strconcat("ld.global.nc.", TyStr), []>; 1563*9880d681SAndroid Build Coastguard Worker} 1564*9880d681SAndroid Build Coastguard Worker 1565*9880d681SAndroid Build Coastguard Worker// FIXME: 8-bit LDG should be fixed once LDG/LDU nodes are made into proper loads. 1566*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2i8_ELE 1567*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.u8 \t{{$dst1, $dst2}}, [$src];", Int16Regs>; 1568*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2i16_ELE 1569*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.u16 \t{{$dst1, $dst2}}, [$src];", Int16Regs>; 1570*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2i32_ELE 1571*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.u32 \t{{$dst1, $dst2}}, [$src];", Int32Regs>; 1572*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2f32_ELE 1573*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.f32 \t{{$dst1, $dst2}}, [$src];", Float32Regs>; 1574*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2i64_ELE 1575*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.u64 \t{{$dst1, $dst2}}, [$src];", Int64Regs>; 1576*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v2f64_ELE 1577*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V2<"v2.f64 \t{{$dst1, $dst2}}, [$src];", Float64Regs>; 1578*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v4i8_ELE 1579*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V4<"v4.u8 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>; 1580*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v4i16_ELE 1581*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V4<"v4.u16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>; 1582*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v4i32_ELE 1583*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V4<"v4.u32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int32Regs>; 1584*9880d681SAndroid Build Coastguard Workerdefm INT_PTX_LDG_G_v4f32_ELE 1585*9880d681SAndroid Build Coastguard Worker : VLDG_G_ELE_V4<"v4.f32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Float32Regs>; 1586*9880d681SAndroid Build Coastguard Worker 1587*9880d681SAndroid Build Coastguard Worker 1588*9880d681SAndroid Build Coastguard Workermulticlass NG_TO_G<string Str, Intrinsic Intrin> { 1589*9880d681SAndroid Build Coastguard Worker def _yes : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src), 1590*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.", !strconcat(Str, ".u32 \t$result, $src;")), 1591*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>, 1592*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>; 1593*9880d681SAndroid Build Coastguard Worker def _yes_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src), 1594*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.", !strconcat(Str, ".u64 \t$result, $src;")), 1595*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>, 1596*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>; 1597*9880d681SAndroid Build Coastguard Worker 1598*9880d681SAndroid Build Coastguard Worker// @TODO: Are these actually needed? I believe global addresses will be copied 1599*9880d681SAndroid Build Coastguard Worker// to register values anyway. 1600*9880d681SAndroid Build Coastguard Worker /*def __addr_yes : NVPTXInst<(outs Int32Regs:$result), (ins imemAny:$src), 1601*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.", !strconcat(Str, ".u32 \t$result, $src;")), 1602*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin (Wrapper tglobaladdr:$src)))]>, 1603*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>; 1604*9880d681SAndroid Build Coastguard Worker def __addr_yes_64 : NVPTXInst<(outs Int64Regs:$result), (ins imemAny:$src), 1605*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.", !strconcat(Str, ".u64 \t$result, $src;")), 1606*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin (Wrapper tglobaladdr:$src)))]>, 1607*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>;*/ 1608*9880d681SAndroid Build Coastguard Worker 1609*9880d681SAndroid Build Coastguard Worker def _no : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src), 1610*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$result, $src;", 1611*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>; 1612*9880d681SAndroid Build Coastguard Worker def _no_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src), 1613*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$result, $src;", 1614*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>; 1615*9880d681SAndroid Build Coastguard Worker 1616*9880d681SAndroid Build Coastguard Worker// @TODO: Are these actually needed? I believe global addresses will be copied 1617*9880d681SAndroid Build Coastguard Worker// to register values anyway. 1618*9880d681SAndroid Build Coastguard Worker /*def _addr_no : NVPTXInst<(outs Int32Regs:$result), (ins imem:$src), 1619*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$result, $src;", 1620*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin (Wrapper tglobaladdr:$src)))]>; 1621*9880d681SAndroid Build Coastguard Worker def _addr_no_64 : NVPTXInst<(outs Int64Regs:$result), (ins imem:$src), 1622*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$result, $src;", 1623*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin (Wrapper tglobaladdr:$src)))]>;*/ 1624*9880d681SAndroid Build Coastguard Worker} 1625*9880d681SAndroid Build Coastguard Worker 1626*9880d681SAndroid Build Coastguard Workermulticlass G_TO_NG<string Str, Intrinsic Intrin> { 1627*9880d681SAndroid Build Coastguard Worker def _yes : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src), 1628*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.to.", !strconcat(Str, ".u32 \t$result, $src;")), 1629*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>, 1630*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>; 1631*9880d681SAndroid Build Coastguard Worker def _yes_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src), 1632*9880d681SAndroid Build Coastguard Worker !strconcat("cvta.to.", !strconcat(Str, ".u64 \t$result, $src;")), 1633*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>, 1634*9880d681SAndroid Build Coastguard Worker Requires<[hasGenericLdSt]>; 1635*9880d681SAndroid Build Coastguard Worker def _no : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src), 1636*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$result, $src;", 1637*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>; 1638*9880d681SAndroid Build Coastguard Worker def _no_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src), 1639*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$result, $src;", 1640*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>; 1641*9880d681SAndroid Build Coastguard Worker} 1642*9880d681SAndroid Build Coastguard Worker 1643*9880d681SAndroid Build Coastguard Workerdefm cvta_local : NG_TO_G<"local", int_nvvm_ptr_local_to_gen>; 1644*9880d681SAndroid Build Coastguard Workerdefm cvta_shared : NG_TO_G<"shared", int_nvvm_ptr_shared_to_gen>; 1645*9880d681SAndroid Build Coastguard Workerdefm cvta_global : NG_TO_G<"global", int_nvvm_ptr_global_to_gen>; 1646*9880d681SAndroid Build Coastguard Workerdefm cvta_const : NG_TO_G<"const", int_nvvm_ptr_constant_to_gen>; 1647*9880d681SAndroid Build Coastguard Worker 1648*9880d681SAndroid Build Coastguard Workerdefm cvta_to_local : G_TO_NG<"local", int_nvvm_ptr_gen_to_local>; 1649*9880d681SAndroid Build Coastguard Workerdefm cvta_to_shared : G_TO_NG<"shared", int_nvvm_ptr_gen_to_shared>; 1650*9880d681SAndroid Build Coastguard Workerdefm cvta_to_global : G_TO_NG<"global", int_nvvm_ptr_gen_to_global>; 1651*9880d681SAndroid Build Coastguard Workerdefm cvta_to_const : G_TO_NG<"const", int_nvvm_ptr_gen_to_constant>; 1652*9880d681SAndroid Build Coastguard Worker 1653*9880d681SAndroid Build Coastguard Worker 1654*9880d681SAndroid Build Coastguard Worker// nvvm.ptr.gen.to.param 1655*9880d681SAndroid Build Coastguard Workerdef nvvm_ptr_gen_to_param : NVPTXInst<(outs Int32Regs:$result), 1656*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$src), 1657*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$result, $src;", 1658*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$result, 1659*9880d681SAndroid Build Coastguard Worker (int_nvvm_ptr_gen_to_param Int32Regs:$src))]>; 1660*9880d681SAndroid Build Coastguard Workerdef nvvm_ptr_gen_to_param_64 : NVPTXInst<(outs Int64Regs:$result), 1661*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$src), 1662*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$result, $src;", 1663*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$result, 1664*9880d681SAndroid Build Coastguard Worker (int_nvvm_ptr_gen_to_param Int64Regs:$src))]>; 1665*9880d681SAndroid Build Coastguard Worker 1666*9880d681SAndroid Build Coastguard Worker 1667*9880d681SAndroid Build Coastguard Worker// nvvm.move intrinsicc 1668*9880d681SAndroid Build Coastguard Workerdef nvvm_move_i16 : NVPTXInst<(outs Int16Regs:$r), (ins Int16Regs:$s), 1669*9880d681SAndroid Build Coastguard Worker "mov.b16 \t$r, $s;", 1670*9880d681SAndroid Build Coastguard Worker [(set Int16Regs:$r, 1671*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_i16 Int16Regs:$s))]>; 1672*9880d681SAndroid Build Coastguard Workerdef nvvm_move_i32 : NVPTXInst<(outs Int32Regs:$r), (ins Int32Regs:$s), 1673*9880d681SAndroid Build Coastguard Worker "mov.b32 \t$r, $s;", 1674*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$r, 1675*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_i32 Int32Regs:$s))]>; 1676*9880d681SAndroid Build Coastguard Workerdef nvvm_move_i64 : NVPTXInst<(outs Int64Regs:$r), (ins Int64Regs:$s), 1677*9880d681SAndroid Build Coastguard Worker "mov.b64 \t$r, $s;", 1678*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$r, 1679*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_i64 Int64Regs:$s))]>; 1680*9880d681SAndroid Build Coastguard Workerdef nvvm_move_float : NVPTXInst<(outs Float32Regs:$r), (ins Float32Regs:$s), 1681*9880d681SAndroid Build Coastguard Worker "mov.f32 \t$r, $s;", 1682*9880d681SAndroid Build Coastguard Worker [(set Float32Regs:$r, 1683*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_float Float32Regs:$s))]>; 1684*9880d681SAndroid Build Coastguard Workerdef nvvm_move_double : NVPTXInst<(outs Float64Regs:$r), (ins Float64Regs:$s), 1685*9880d681SAndroid Build Coastguard Worker "mov.f64 \t$r, $s;", 1686*9880d681SAndroid Build Coastguard Worker [(set Float64Regs:$r, 1687*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_double Float64Regs:$s))]>; 1688*9880d681SAndroid Build Coastguard Workerdef nvvm_move_ptr32 : NVPTXInst<(outs Int32Regs:$r), (ins Int32Regs:$s), 1689*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$r, $s;", 1690*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$r, 1691*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_ptr Int32Regs:$s))]>; 1692*9880d681SAndroid Build Coastguard Workerdef nvvm_move_ptr64 : NVPTXInst<(outs Int64Regs:$r), (ins Int64Regs:$s), 1693*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$r, $s;", 1694*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$r, 1695*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_ptr Int64Regs:$s))]>; 1696*9880d681SAndroid Build Coastguard Worker 1697*9880d681SAndroid Build Coastguard Worker// @TODO: Are these actually needed, or will we always just see symbols 1698*9880d681SAndroid Build Coastguard Worker// copied to registers first? 1699*9880d681SAndroid Build Coastguard Worker/*def nvvm_move_sym32 : NVPTXInst<(outs Int32Regs:$r), (ins imem:$s), 1700*9880d681SAndroid Build Coastguard Worker "mov.u32 \t$r, $s;", 1701*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$r, 1702*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_ptr texternalsym:$s))]>; 1703*9880d681SAndroid Build Coastguard Workerdef nvvm_move_sym64 : NVPTXInst<(outs Int64Regs:$r), (ins imem:$s), 1704*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$r, $s;", 1705*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$r, 1706*9880d681SAndroid Build Coastguard Worker (int_nvvm_move_ptr texternalsym:$s))]>;*/ 1707*9880d681SAndroid Build Coastguard Worker 1708*9880d681SAndroid Build Coastguard Worker 1709*9880d681SAndroid Build Coastguard Worker// MoveParam %r1, param 1710*9880d681SAndroid Build Coastguard Worker// ptr_local_to_gen %r2, %r1 1711*9880d681SAndroid Build Coastguard Worker// ptr_gen_to_local %r3, %r2 1712*9880d681SAndroid Build Coastguard Worker// -> 1713*9880d681SAndroid Build Coastguard Worker// mov %r1, param 1714*9880d681SAndroid Build Coastguard Worker 1715*9880d681SAndroid Build Coastguard Worker// @TODO: Revisit this. There is a type 1716*9880d681SAndroid Build Coastguard Worker// contradiction between iPTRAny and iPTR for the addr defs, so the move_sym 1717*9880d681SAndroid Build Coastguard Worker// instructions are not currently defined. However, we can use the ptr 1718*9880d681SAndroid Build Coastguard Worker// variants and the asm printer will do the right thing. 1719*9880d681SAndroid Build Coastguard Workerdef : Pat<(i64 (int_nvvm_ptr_gen_to_local (int_nvvm_ptr_local_to_gen 1720*9880d681SAndroid Build Coastguard Worker (MoveParam texternalsym:$src)))), 1721*9880d681SAndroid Build Coastguard Worker (nvvm_move_ptr64 texternalsym:$src)>; 1722*9880d681SAndroid Build Coastguard Workerdef : Pat<(i32 (int_nvvm_ptr_gen_to_local (int_nvvm_ptr_local_to_gen 1723*9880d681SAndroid Build Coastguard Worker (MoveParam texternalsym:$src)))), 1724*9880d681SAndroid Build Coastguard Worker (nvvm_move_ptr32 texternalsym:$src)>; 1725*9880d681SAndroid Build Coastguard Worker 1726*9880d681SAndroid Build Coastguard Workerdef texsurf_handles 1727*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$result), (ins imem:$src), 1728*9880d681SAndroid Build Coastguard Worker "mov.u64 \t$result, $src;", []>; 1729*9880d681SAndroid Build Coastguard Worker 1730*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1731*9880d681SAndroid Build Coastguard Worker// Compiler Error Warn 1732*9880d681SAndroid Build Coastguard Worker// - Just ignore them in codegen 1733*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1734*9880d681SAndroid Build Coastguard Worker 1735*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COMPILER_WARN_32 : NVPTXInst<(outs), (ins Int32Regs:$a), 1736*9880d681SAndroid Build Coastguard Worker "// llvm.nvvm.compiler.warn()", 1737*9880d681SAndroid Build Coastguard Worker [(int_nvvm_compiler_warn Int32Regs:$a)]>; 1738*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COMPILER_WARN_64 : NVPTXInst<(outs), (ins Int64Regs:$a), 1739*9880d681SAndroid Build Coastguard Worker "// llvm.nvvm.compiler.warn()", 1740*9880d681SAndroid Build Coastguard Worker [(int_nvvm_compiler_warn Int64Regs:$a)]>; 1741*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COMPILER_ERROR_32 : NVPTXInst<(outs), (ins Int32Regs:$a), 1742*9880d681SAndroid Build Coastguard Worker "// llvm.nvvm.compiler.error()", 1743*9880d681SAndroid Build Coastguard Worker [(int_nvvm_compiler_error Int32Regs:$a)]>; 1744*9880d681SAndroid Build Coastguard Workerdef INT_NVVM_COMPILER_ERROR_64 : NVPTXInst<(outs), (ins Int64Regs:$a), 1745*9880d681SAndroid Build Coastguard Worker "// llvm.nvvm.compiler.error()", 1746*9880d681SAndroid Build Coastguard Worker [(int_nvvm_compiler_error Int64Regs:$a)]>; 1747*9880d681SAndroid Build Coastguard Worker 1748*9880d681SAndroid Build Coastguard Worker 1749*9880d681SAndroid Build Coastguard Worker// isspacep 1750*9880d681SAndroid Build Coastguard Worker 1751*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_CONST_32 1752*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a), 1753*9880d681SAndroid Build Coastguard Worker "isspacep.const \t$d, $a;", 1754*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_const Int32Regs:$a))]>, 1755*9880d681SAndroid Build Coastguard Worker Requires<[hasPTX31]>; 1756*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_CONST_64 1757*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 1758*9880d681SAndroid Build Coastguard Worker "isspacep.const \t$d, $a;", 1759*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_const Int64Regs:$a))]>, 1760*9880d681SAndroid Build Coastguard Worker Requires<[hasPTX31]>; 1761*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_GLOBAL_32 1762*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a), 1763*9880d681SAndroid Build Coastguard Worker "isspacep.global \t$d, $a;", 1764*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_global Int32Regs:$a))]>; 1765*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_GLOBAL_64 1766*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 1767*9880d681SAndroid Build Coastguard Worker "isspacep.global \t$d, $a;", 1768*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_global Int64Regs:$a))]>; 1769*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_LOCAL_32 1770*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a), 1771*9880d681SAndroid Build Coastguard Worker "isspacep.local \t$d, $a;", 1772*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_local Int32Regs:$a))]>; 1773*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_LOCAL_64 1774*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 1775*9880d681SAndroid Build Coastguard Worker "isspacep.local \t$d, $a;", 1776*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_local Int64Regs:$a))]>; 1777*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_SHARED_32 1778*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a), 1779*9880d681SAndroid Build Coastguard Worker "isspacep.shared \t$d, $a;", 1780*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_shared Int32Regs:$a))]>; 1781*9880d681SAndroid Build Coastguard Workerdef ISSPACEP_SHARED_64 1782*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 1783*9880d681SAndroid Build Coastguard Worker "isspacep.shared \t$d, $a;", 1784*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_isspacep_shared Int64Regs:$a))]>; 1785*9880d681SAndroid Build Coastguard Worker 1786*9880d681SAndroid Build Coastguard Worker 1787*9880d681SAndroid Build Coastguard Worker// Special register reads 1788*9880d681SAndroid Build Coastguard Workerdef MOV_SPECIAL : NVPTXInst<(outs Int32Regs:$d), 1789*9880d681SAndroid Build Coastguard Worker (ins SpecialRegs:$r), 1790*9880d681SAndroid Build Coastguard Worker "mov.b32\t$d, $r;", []>; 1791*9880d681SAndroid Build Coastguard Worker 1792*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg0), (MOV_SPECIAL ENVREG0)>; 1793*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg1), (MOV_SPECIAL ENVREG1)>; 1794*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg2), (MOV_SPECIAL ENVREG2)>; 1795*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg3), (MOV_SPECIAL ENVREG3)>; 1796*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg4), (MOV_SPECIAL ENVREG4)>; 1797*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg5), (MOV_SPECIAL ENVREG5)>; 1798*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg6), (MOV_SPECIAL ENVREG6)>; 1799*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg7), (MOV_SPECIAL ENVREG7)>; 1800*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg8), (MOV_SPECIAL ENVREG8)>; 1801*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg9), (MOV_SPECIAL ENVREG9)>; 1802*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg10), (MOV_SPECIAL ENVREG10)>; 1803*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg11), (MOV_SPECIAL ENVREG11)>; 1804*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg12), (MOV_SPECIAL ENVREG12)>; 1805*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg13), (MOV_SPECIAL ENVREG13)>; 1806*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg14), (MOV_SPECIAL ENVREG14)>; 1807*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg15), (MOV_SPECIAL ENVREG15)>; 1808*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg16), (MOV_SPECIAL ENVREG16)>; 1809*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg17), (MOV_SPECIAL ENVREG17)>; 1810*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg18), (MOV_SPECIAL ENVREG18)>; 1811*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg19), (MOV_SPECIAL ENVREG19)>; 1812*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg20), (MOV_SPECIAL ENVREG20)>; 1813*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg21), (MOV_SPECIAL ENVREG21)>; 1814*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg22), (MOV_SPECIAL ENVREG22)>; 1815*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg23), (MOV_SPECIAL ENVREG23)>; 1816*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg24), (MOV_SPECIAL ENVREG24)>; 1817*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg25), (MOV_SPECIAL ENVREG25)>; 1818*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg26), (MOV_SPECIAL ENVREG26)>; 1819*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg27), (MOV_SPECIAL ENVREG27)>; 1820*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg28), (MOV_SPECIAL ENVREG28)>; 1821*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg29), (MOV_SPECIAL ENVREG29)>; 1822*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg30), (MOV_SPECIAL ENVREG30)>; 1823*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_read_ptx_sreg_envreg31), (MOV_SPECIAL ENVREG31)>; 1824*9880d681SAndroid Build Coastguard Worker 1825*9880d681SAndroid Build Coastguard Worker 1826*9880d681SAndroid Build Coastguard Worker// rotate builtin support 1827*9880d681SAndroid Build Coastguard Worker 1828*9880d681SAndroid Build Coastguard Workerdef ROTATE_B32_HW_IMM 1829*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1830*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$src, i32imm:$amt), 1831*9880d681SAndroid Build Coastguard Worker "shf.l.wrap.b32 \t$dst, $src, $src, $amt;", 1832*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, 1833*9880d681SAndroid Build Coastguard Worker (int_nvvm_rotate_b32 Int32Regs:$src, (i32 imm:$amt)))]>, 1834*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]> ; 1835*9880d681SAndroid Build Coastguard Worker 1836*9880d681SAndroid Build Coastguard Workerdef ROTATE_B32_HW_REG 1837*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1838*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$src, Int32Regs:$amt), 1839*9880d681SAndroid Build Coastguard Worker "shf.l.wrap.b32 \t$dst, $src, $src, $amt;", 1840*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, 1841*9880d681SAndroid Build Coastguard Worker (int_nvvm_rotate_b32 Int32Regs:$src, Int32Regs:$amt))]>, 1842*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]> ; 1843*9880d681SAndroid Build Coastguard Worker 1844*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b32 Int32Regs:$src, (i32 imm:$amt)), 1845*9880d681SAndroid Build Coastguard Worker (ROT32imm_sw Int32Regs:$src, imm:$amt, (SUB_FRM_32 node:$amt))>, 1846*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]> ; 1847*9880d681SAndroid Build Coastguard Worker 1848*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b32 Int32Regs:$src, Int32Regs:$amt), 1849*9880d681SAndroid Build Coastguard Worker (ROTL32reg_sw Int32Regs:$src, Int32Regs:$amt)>, 1850*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]> ; 1851*9880d681SAndroid Build Coastguard Worker 1852*9880d681SAndroid Build Coastguard Workerlet hasSideEffects = 0 in { 1853*9880d681SAndroid Build Coastguard Worker def GET_LO_INT64 1854*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), (ins Int64Regs:$src), 1855*9880d681SAndroid Build Coastguard Worker !strconcat("{{\n\t", 1856*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b32 %dummy;\n\t", 1857*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b64 \t{$dst,%dummy}, $src;\n\t", 1858*9880d681SAndroid Build Coastguard Worker !strconcat("}}", "")))), 1859*9880d681SAndroid Build Coastguard Worker []> ; 1860*9880d681SAndroid Build Coastguard Worker 1861*9880d681SAndroid Build Coastguard Worker def GET_HI_INT64 1862*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), (ins Int64Regs:$src), 1863*9880d681SAndroid Build Coastguard Worker !strconcat("{{\n\t", 1864*9880d681SAndroid Build Coastguard Worker !strconcat(".reg .b32 %dummy;\n\t", 1865*9880d681SAndroid Build Coastguard Worker !strconcat("mov.b64 \t{%dummy,$dst}, $src;\n\t", 1866*9880d681SAndroid Build Coastguard Worker !strconcat("}}", "")))), 1867*9880d681SAndroid Build Coastguard Worker []> ; 1868*9880d681SAndroid Build Coastguard Worker} 1869*9880d681SAndroid Build Coastguard Worker 1870*9880d681SAndroid Build Coastguard Workerlet hasSideEffects = 0 in { 1871*9880d681SAndroid Build Coastguard Worker def PACK_TWO_INT32 1872*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$dst), (ins Int32Regs:$lo, Int32Regs:$hi), 1873*9880d681SAndroid Build Coastguard Worker "mov.b64 \t$dst, {{$lo, $hi}};", []> ; 1874*9880d681SAndroid Build Coastguard Worker} 1875*9880d681SAndroid Build Coastguard Worker 1876*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_swap_lo_hi_b64 Int64Regs:$src), 1877*9880d681SAndroid Build Coastguard Worker (PACK_TWO_INT32 (GET_HI_INT64 Int64Regs:$src), 1878*9880d681SAndroid Build Coastguard Worker (GET_LO_INT64 Int64Regs:$src))> ; 1879*9880d681SAndroid Build Coastguard Worker 1880*9880d681SAndroid Build Coastguard Worker// Funnel shift, requires >= sm_32. Does not trap if amt is out of range, so 1881*9880d681SAndroid Build Coastguard Worker// no side effects. 1882*9880d681SAndroid Build Coastguard Workerlet hasSideEffects = 0 in { 1883*9880d681SAndroid Build Coastguard Worker def SHF_L_WRAP_B32_IMM 1884*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1885*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$lo, Int32Regs:$hi, i32imm:$amt), 1886*9880d681SAndroid Build Coastguard Worker "shf.l.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>, 1887*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1888*9880d681SAndroid Build Coastguard Worker 1889*9880d681SAndroid Build Coastguard Worker def SHF_L_WRAP_B32_REG 1890*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1891*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$lo, Int32Regs:$hi, Int32Regs:$amt), 1892*9880d681SAndroid Build Coastguard Worker "shf.l.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>, 1893*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1894*9880d681SAndroid Build Coastguard Worker 1895*9880d681SAndroid Build Coastguard Worker def SHF_R_WRAP_B32_IMM 1896*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1897*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$lo, Int32Regs:$hi, i32imm:$amt), 1898*9880d681SAndroid Build Coastguard Worker "shf.r.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>, 1899*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1900*9880d681SAndroid Build Coastguard Worker 1901*9880d681SAndroid Build Coastguard Worker def SHF_R_WRAP_B32_REG 1902*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$dst), 1903*9880d681SAndroid Build Coastguard Worker (ins Int32Regs:$lo, Int32Regs:$hi, Int32Regs:$amt), 1904*9880d681SAndroid Build Coastguard Worker "shf.r.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>, 1905*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1906*9880d681SAndroid Build Coastguard Worker} 1907*9880d681SAndroid Build Coastguard Worker 1908*9880d681SAndroid Build Coastguard Worker// HW version of rotate 64 1909*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, (i32 imm:$amt)), 1910*9880d681SAndroid Build Coastguard Worker (PACK_TWO_INT32 1911*9880d681SAndroid Build Coastguard Worker (SHF_L_WRAP_B32_IMM (GET_HI_INT64 Int64Regs:$src), 1912*9880d681SAndroid Build Coastguard Worker (GET_LO_INT64 Int64Regs:$src), imm:$amt), 1913*9880d681SAndroid Build Coastguard Worker (SHF_L_WRAP_B32_IMM (GET_LO_INT64 Int64Regs:$src), 1914*9880d681SAndroid Build Coastguard Worker (GET_HI_INT64 Int64Regs:$src), imm:$amt))>, 1915*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1916*9880d681SAndroid Build Coastguard Worker 1917*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, Int32Regs:$amt), 1918*9880d681SAndroid Build Coastguard Worker (PACK_TWO_INT32 1919*9880d681SAndroid Build Coastguard Worker (SHF_L_WRAP_B32_REG (GET_HI_INT64 Int64Regs:$src), 1920*9880d681SAndroid Build Coastguard Worker (GET_LO_INT64 Int64Regs:$src), Int32Regs:$amt), 1921*9880d681SAndroid Build Coastguard Worker (SHF_L_WRAP_B32_REG (GET_LO_INT64 Int64Regs:$src), 1922*9880d681SAndroid Build Coastguard Worker (GET_HI_INT64 Int64Regs:$src), Int32Regs:$amt))>, 1923*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1924*9880d681SAndroid Build Coastguard Worker 1925*9880d681SAndroid Build Coastguard Worker 1926*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, (i32 imm:$amt)), 1927*9880d681SAndroid Build Coastguard Worker (PACK_TWO_INT32 1928*9880d681SAndroid Build Coastguard Worker (SHF_R_WRAP_B32_IMM (GET_LO_INT64 Int64Regs:$src), 1929*9880d681SAndroid Build Coastguard Worker (GET_HI_INT64 Int64Regs:$src), imm:$amt), 1930*9880d681SAndroid Build Coastguard Worker (SHF_R_WRAP_B32_IMM (GET_HI_INT64 Int64Regs:$src), 1931*9880d681SAndroid Build Coastguard Worker (GET_LO_INT64 Int64Regs:$src), imm:$amt))>, 1932*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1933*9880d681SAndroid Build Coastguard Worker 1934*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, Int32Regs:$amt), 1935*9880d681SAndroid Build Coastguard Worker (PACK_TWO_INT32 1936*9880d681SAndroid Build Coastguard Worker (SHF_R_WRAP_B32_REG (GET_LO_INT64 Int64Regs:$src), 1937*9880d681SAndroid Build Coastguard Worker (GET_HI_INT64 Int64Regs:$src), Int32Regs:$amt), 1938*9880d681SAndroid Build Coastguard Worker (SHF_R_WRAP_B32_REG (GET_HI_INT64 Int64Regs:$src), 1939*9880d681SAndroid Build Coastguard Worker (GET_LO_INT64 Int64Regs:$src), Int32Regs:$amt))>, 1940*9880d681SAndroid Build Coastguard Worker Requires<[hasHWROT32]>; 1941*9880d681SAndroid Build Coastguard Worker 1942*9880d681SAndroid Build Coastguard Worker// SW version of rotate 64 1943*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, (i32 imm:$amt)), 1944*9880d681SAndroid Build Coastguard Worker (ROT64imm_sw Int64Regs:$src, imm:$amt, (SUB_FRM_32 node:$amt))>, 1945*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]>; 1946*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, Int32Regs:$amt), 1947*9880d681SAndroid Build Coastguard Worker (ROTL64reg_sw Int64Regs:$src, Int32Regs:$amt)>, 1948*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]>; 1949*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, (i32 imm:$amt)), 1950*9880d681SAndroid Build Coastguard Worker (ROT64imm_sw Int64Regs:$src, (SUB_FRM_64 node:$amt), imm:$amt)>, 1951*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]>; 1952*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, Int32Regs:$amt), 1953*9880d681SAndroid Build Coastguard Worker (ROTR64reg_sw Int64Regs:$src, Int32Regs:$amt)>, 1954*9880d681SAndroid Build Coastguard Worker Requires<[noHWROT32]>; 1955*9880d681SAndroid Build Coastguard Worker 1956*9880d681SAndroid Build Coastguard Worker 1957*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1958*9880d681SAndroid Build Coastguard Worker// Texture Intrinsics 1959*9880d681SAndroid Build Coastguard Worker//----------------------------------- 1960*9880d681SAndroid Build Coastguard Worker 1961*9880d681SAndroid Build Coastguard Worker// NOTE: For Fermi support, any new texture/surface/sampler intrinsics must be 1962*9880d681SAndroid Build Coastguard Worker// also defined in NVPTXReplaceImageHandles.cpp 1963*9880d681SAndroid Build Coastguard Worker 1964*9880d681SAndroid Build Coastguard Worker// texmode_independent 1965*9880d681SAndroid Build Coastguard Workerlet IsTex = 1, IsTexModeUnified = 0 in { 1966*9880d681SAndroid Build Coastguard Worker// Texture fetch instructions using handles 1967*9880d681SAndroid Build Coastguard Workerdef TEX_1D_F32_S32 1968*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 1969*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 1970*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x), 1971*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 1972*9880d681SAndroid Build Coastguard Worker []>; 1973*9880d681SAndroid Build Coastguard Workerdef TEX_1D_F32_F32 1974*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 1975*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 1976*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x), 1977*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 1978*9880d681SAndroid Build Coastguard Worker []>; 1979*9880d681SAndroid Build Coastguard Workerdef TEX_1D_F32_F32_LEVEL 1980*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 1981*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 1982*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$lod), 1983*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 1984*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], $lod;", 1985*9880d681SAndroid Build Coastguard Worker []>; 1986*9880d681SAndroid Build Coastguard Workerdef TEX_1D_F32_F32_GRAD 1987*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 1988*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 1989*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, 1990*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 1991*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 1992*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 1993*9880d681SAndroid Build Coastguard Worker []>; 1994*9880d681SAndroid Build Coastguard Workerdef TEX_1D_S32_S32 1995*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 1996*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 1997*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x), 1998*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 1999*9880d681SAndroid Build Coastguard Worker []>; 2000*9880d681SAndroid Build Coastguard Workerdef TEX_1D_S32_F32 2001*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2002*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2003*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x), 2004*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 2005*9880d681SAndroid Build Coastguard Worker []>; 2006*9880d681SAndroid Build Coastguard Workerdef TEX_1D_S32_F32_LEVEL 2007*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2008*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2009*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, 2010*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2011*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2012*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], $lod;", 2013*9880d681SAndroid Build Coastguard Worker []>; 2014*9880d681SAndroid Build Coastguard Workerdef TEX_1D_S32_F32_GRAD 2015*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2016*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2017*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, 2018*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2019*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2020*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 2021*9880d681SAndroid Build Coastguard Worker []>; 2022*9880d681SAndroid Build Coastguard Workerdef TEX_1D_U32_S32 2023*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2024*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2025*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x), 2026*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 2027*9880d681SAndroid Build Coastguard Worker []>; 2028*9880d681SAndroid Build Coastguard Workerdef TEX_1D_U32_F32 2029*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2030*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2031*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x), 2032*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];", 2033*9880d681SAndroid Build Coastguard Worker []>; 2034*9880d681SAndroid Build Coastguard Workerdef TEX_1D_U32_F32_LEVEL 2035*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2036*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2037*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, 2038*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2039*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2040*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], $lod;", 2041*9880d681SAndroid Build Coastguard Worker []>; 2042*9880d681SAndroid Build Coastguard Workerdef TEX_1D_U32_F32_GRAD 2043*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2044*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2045*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, 2046*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2047*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2048*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 2049*9880d681SAndroid Build Coastguard Worker []>; 2050*9880d681SAndroid Build Coastguard Worker 2051*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_F32_S32 2052*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2053*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2054*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 2055*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2056*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2057*9880d681SAndroid Build Coastguard Worker []>; 2058*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_F32_F32 2059*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2060*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2061*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x), 2062*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2063*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2064*9880d681SAndroid Build Coastguard Worker []>; 2065*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_F32_F32_LEVEL 2066*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2067*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2068*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2069*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2070*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2071*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], $lod;", 2072*9880d681SAndroid Build Coastguard Worker []>; 2073*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_F32_F32_GRAD 2074*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2075*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2076*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2077*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2078*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2079*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2080*9880d681SAndroid Build Coastguard Worker []>; 2081*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_S32_S32 2082*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2083*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2084*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 2085*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2086*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2087*9880d681SAndroid Build Coastguard Worker []>; 2088*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_S32_F32 2089*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2090*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2091*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x), 2092*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2093*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2094*9880d681SAndroid Build Coastguard Worker []>; 2095*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_S32_F32_LEVEL 2096*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2097*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2098*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2099*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2100*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2101*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], $lod;", 2102*9880d681SAndroid Build Coastguard Worker []>; 2103*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_S32_F32_GRAD 2104*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2105*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2106*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2107*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2108*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2109*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2110*9880d681SAndroid Build Coastguard Worker []>; 2111*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_U32_S32 2112*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2113*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2114*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 2115*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2116*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2117*9880d681SAndroid Build Coastguard Worker []>; 2118*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_U32_F32 2119*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2120*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2121*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x), 2122*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2123*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}];", 2124*9880d681SAndroid Build Coastguard Worker []>; 2125*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_U32_F32_LEVEL 2126*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2127*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2128*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2129*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2130*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2131*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], $lod;", 2132*9880d681SAndroid Build Coastguard Worker []>; 2133*9880d681SAndroid Build Coastguard Workerdef TEX_1D_ARRAY_U32_F32_GRAD 2134*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2135*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2136*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2137*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2138*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2139*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2140*9880d681SAndroid Build Coastguard Worker []>; 2141*9880d681SAndroid Build Coastguard Worker 2142*9880d681SAndroid Build Coastguard Workerdef TEX_2D_F32_S32 2143*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2144*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2145*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 2146*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2147*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2148*9880d681SAndroid Build Coastguard Worker []>; 2149*9880d681SAndroid Build Coastguard Workerdef TEX_2D_F32_F32 2150*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2151*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2152*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2153*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2154*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2155*9880d681SAndroid Build Coastguard Worker []>; 2156*9880d681SAndroid Build Coastguard Workerdef TEX_2D_F32_F32_LEVEL 2157*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2158*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2159*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2160*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2161*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2162*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], $lod;", 2163*9880d681SAndroid Build Coastguard Worker []>; 2164*9880d681SAndroid Build Coastguard Workerdef TEX_2D_F32_F32_GRAD 2165*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2166*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2167*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2168*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2169*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2170*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2171*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2172*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2173*9880d681SAndroid Build Coastguard Worker []>; 2174*9880d681SAndroid Build Coastguard Workerdef TEX_2D_S32_S32 2175*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2176*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2177*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 2178*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2179*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2180*9880d681SAndroid Build Coastguard Worker []>; 2181*9880d681SAndroid Build Coastguard Workerdef TEX_2D_S32_F32 2182*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2183*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2184*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2185*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2186*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2187*9880d681SAndroid Build Coastguard Worker []>; 2188*9880d681SAndroid Build Coastguard Workerdef TEX_2D_S32_F32_LEVEL 2189*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2190*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2191*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2192*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2193*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2194*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], $lod;", 2195*9880d681SAndroid Build Coastguard Worker []>; 2196*9880d681SAndroid Build Coastguard Workerdef TEX_2D_S32_F32_GRAD 2197*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2198*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2199*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2200*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2201*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2202*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2203*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2204*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2205*9880d681SAndroid Build Coastguard Worker []>; 2206*9880d681SAndroid Build Coastguard Workerdef TEX_2D_U32_S32 2207*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2208*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2209*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 2210*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2211*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2212*9880d681SAndroid Build Coastguard Worker []>; 2213*9880d681SAndroid Build Coastguard Workerdef TEX_2D_U32_F32 2214*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2215*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2216*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2217*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2218*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2219*9880d681SAndroid Build Coastguard Worker []>; 2220*9880d681SAndroid Build Coastguard Workerdef TEX_2D_U32_F32_LEVEL 2221*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2222*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2223*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2224*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2225*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2226*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], $lod;", 2227*9880d681SAndroid Build Coastguard Worker []>; 2228*9880d681SAndroid Build Coastguard Workerdef TEX_2D_U32_F32_GRAD 2229*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2230*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2231*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2232*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2233*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2234*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2235*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2236*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2237*9880d681SAndroid Build Coastguard Worker []>; 2238*9880d681SAndroid Build Coastguard Worker 2239*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_F32_S32 2240*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2241*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2242*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 2243*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2244*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2245*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2246*9880d681SAndroid Build Coastguard Worker []>; 2247*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_F32_F32 2248*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2249*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2250*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2251*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 2252*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2253*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2254*9880d681SAndroid Build Coastguard Worker []>; 2255*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_F32_F32_LEVEL 2256*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2257*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2258*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2259*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 2260*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2261*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;", 2262*9880d681SAndroid Build Coastguard Worker []>; 2263*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_F32_F32_GRAD 2264*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2265*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2266*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2267*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$gradx0, Float32Regs:$gradx1, 2268*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2269*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2270*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 2271*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2272*9880d681SAndroid Build Coastguard Worker []>; 2273*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_S32_S32 2274*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2275*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2276*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 2277*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2278*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2279*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2280*9880d681SAndroid Build Coastguard Worker []>; 2281*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_S32_F32 2282*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2283*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2284*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2285*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 2286*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2287*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2288*9880d681SAndroid Build Coastguard Worker []>; 2289*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_S32_F32_LEVEL 2290*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2291*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2292*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2293*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 2294*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2295*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;", 2296*9880d681SAndroid Build Coastguard Worker []>; 2297*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_S32_F32_GRAD 2298*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2299*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2300*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2301*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, 2302*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2303*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2304*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2305*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 2306*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2307*9880d681SAndroid Build Coastguard Worker []>; 2308*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_U32_S32 2309*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2310*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2311*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 2312*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2313*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2314*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2315*9880d681SAndroid Build Coastguard Worker []>; 2316*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_U32_F32 2317*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2318*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2319*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2320*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 2321*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2322*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}];", 2323*9880d681SAndroid Build Coastguard Worker []>; 2324*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_U32_F32_LEVEL 2325*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2326*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2327*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2328*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 2329*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2330*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;", 2331*9880d681SAndroid Build Coastguard Worker []>; 2332*9880d681SAndroid Build Coastguard Workerdef TEX_2D_ARRAY_U32_F32_GRAD 2333*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2334*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2335*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x, 2336*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, 2337*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2338*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2339*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2340*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 2341*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2342*9880d681SAndroid Build Coastguard Worker []>; 2343*9880d681SAndroid Build Coastguard Worker 2344*9880d681SAndroid Build Coastguard Workerdef TEX_3D_F32_S32 2345*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2346*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2347*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 2348*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 2349*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2350*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2351*9880d681SAndroid Build Coastguard Worker []>; 2352*9880d681SAndroid Build Coastguard Workerdef TEX_3D_F32_F32 2353*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2354*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2355*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2356*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 2357*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2358*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2359*9880d681SAndroid Build Coastguard Worker []>; 2360*9880d681SAndroid Build Coastguard Workerdef TEX_3D_F32_F32_LEVEL 2361*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2362*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2363*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2364*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 2365*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2366*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2367*9880d681SAndroid Build Coastguard Worker []>; 2368*9880d681SAndroid Build Coastguard Workerdef TEX_3D_F32_F32_GRAD 2369*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2370*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2371*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2372*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 2373*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2374*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 2375*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 2376*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2377*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], " 2378*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 2379*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 2380*9880d681SAndroid Build Coastguard Worker []>; 2381*9880d681SAndroid Build Coastguard Workerdef TEX_3D_S32_S32 2382*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2383*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2384*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 2385*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 2386*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2387*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2388*9880d681SAndroid Build Coastguard Worker []>; 2389*9880d681SAndroid Build Coastguard Workerdef TEX_3D_S32_F32 2390*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2391*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2392*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2393*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 2394*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2395*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2396*9880d681SAndroid Build Coastguard Worker []>; 2397*9880d681SAndroid Build Coastguard Workerdef TEX_3D_S32_F32_LEVEL 2398*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2399*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2400*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2401*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 2402*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2403*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2404*9880d681SAndroid Build Coastguard Worker []>; 2405*9880d681SAndroid Build Coastguard Workerdef TEX_3D_S32_F32_GRAD 2406*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2407*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2408*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2409*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 2410*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2411*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 2412*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 2413*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2414*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], " 2415*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 2416*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 2417*9880d681SAndroid Build Coastguard Worker []>; 2418*9880d681SAndroid Build Coastguard Workerdef TEX_3D_U32_S32 2419*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2420*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2421*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 2422*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 2423*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2424*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2425*9880d681SAndroid Build Coastguard Worker []>; 2426*9880d681SAndroid Build Coastguard Workerdef TEX_3D_U32_F32 2427*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2428*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2429*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2430*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 2431*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2432*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2433*9880d681SAndroid Build Coastguard Worker []>; 2434*9880d681SAndroid Build Coastguard Workerdef TEX_3D_U32_F32_LEVEL 2435*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2436*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2437*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2438*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 2439*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2440*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2441*9880d681SAndroid Build Coastguard Worker []>; 2442*9880d681SAndroid Build Coastguard Workerdef TEX_3D_U32_F32_GRAD 2443*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2444*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2445*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y, 2446*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 2447*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2448*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 2449*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 2450*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2451*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], " 2452*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 2453*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 2454*9880d681SAndroid Build Coastguard Worker []>; 2455*9880d681SAndroid Build Coastguard Worker 2456*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_F32_F32 2457*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2458*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2459*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2460*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2461*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2462*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2463*9880d681SAndroid Build Coastguard Worker []>; 2464*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_F32_F32_LEVEL 2465*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2466*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2467*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2468*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2469*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2470*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2471*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2472*9880d681SAndroid Build Coastguard Worker []>; 2473*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_S32_F32 2474*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2475*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2476*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2477*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2478*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2479*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2480*9880d681SAndroid Build Coastguard Worker []>; 2481*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_S32_F32_LEVEL 2482*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2483*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2484*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2485*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2486*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2487*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2488*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2489*9880d681SAndroid Build Coastguard Worker []>; 2490*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_U32_F32 2491*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2492*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2493*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2494*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2495*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2496*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}];", 2497*9880d681SAndroid Build Coastguard Worker []>; 2498*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_U32_F32_LEVEL 2499*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2500*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2501*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, 2502*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2503*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2504*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2505*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;", 2506*9880d681SAndroid Build Coastguard Worker []>; 2507*9880d681SAndroid Build Coastguard Worker 2508*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_F32_F32 2509*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2510*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2511*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2512*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2513*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2514*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}];", 2515*9880d681SAndroid Build Coastguard Worker []>; 2516*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_F32_F32_LEVEL 2517*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2518*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2519*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2520*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2521*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2522*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2523*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;", 2524*9880d681SAndroid Build Coastguard Worker []>; 2525*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_S32_F32 2526*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2527*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2528*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2529*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2530*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2531*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}];", 2532*9880d681SAndroid Build Coastguard Worker []>; 2533*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_S32_F32_LEVEL 2534*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2535*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2536*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2537*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2538*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2539*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2540*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;", 2541*9880d681SAndroid Build Coastguard Worker []>; 2542*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_U32_F32 2543*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2544*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2545*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2546*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 2547*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2548*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}];", 2549*9880d681SAndroid Build Coastguard Worker []>; 2550*9880d681SAndroid Build Coastguard Workerdef TEX_CUBE_ARRAY_U32_F32_LEVEL 2551*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2552*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2553*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, 2554*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 2555*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2556*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2557*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;", 2558*9880d681SAndroid Build Coastguard Worker []>; 2559*9880d681SAndroid Build Coastguard Worker 2560*9880d681SAndroid Build Coastguard Workerdef TLD4_R_2D_F32_F32 2561*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 2562*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 2563*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2564*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2565*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2566*9880d681SAndroid Build Coastguard Worker []>; 2567*9880d681SAndroid Build Coastguard Workerdef TLD4_G_2D_F32_F32 2568*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 2569*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 2570*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2571*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2572*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2573*9880d681SAndroid Build Coastguard Worker []>; 2574*9880d681SAndroid Build Coastguard Workerdef TLD4_B_2D_F32_F32 2575*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 2576*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 2577*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2578*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2579*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2580*9880d681SAndroid Build Coastguard Worker []>; 2581*9880d681SAndroid Build Coastguard Workerdef TLD4_A_2D_F32_F32 2582*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 2583*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 2584*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2585*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2586*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2587*9880d681SAndroid Build Coastguard Worker []>; 2588*9880d681SAndroid Build Coastguard Workerdef TLD4_R_2D_S32_F32 2589*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2590*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2591*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2592*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2593*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2594*9880d681SAndroid Build Coastguard Worker []>; 2595*9880d681SAndroid Build Coastguard Workerdef TLD4_G_2D_S32_F32 2596*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2597*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2598*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2599*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2600*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2601*9880d681SAndroid Build Coastguard Worker []>; 2602*9880d681SAndroid Build Coastguard Workerdef TLD4_B_2D_S32_F32 2603*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2604*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2605*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2606*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2607*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2608*9880d681SAndroid Build Coastguard Worker []>; 2609*9880d681SAndroid Build Coastguard Workerdef TLD4_A_2D_S32_F32 2610*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2611*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2612*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2613*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2614*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2615*9880d681SAndroid Build Coastguard Worker []>; 2616*9880d681SAndroid Build Coastguard Workerdef TLD4_R_2D_U32_F32 2617*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2618*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2619*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2620*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2621*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2622*9880d681SAndroid Build Coastguard Worker []>; 2623*9880d681SAndroid Build Coastguard Workerdef TLD4_G_2D_U32_F32 2624*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2625*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2626*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2627*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2628*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2629*9880d681SAndroid Build Coastguard Worker []>; 2630*9880d681SAndroid Build Coastguard Workerdef TLD4_B_2D_U32_F32 2631*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2632*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2633*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2634*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2635*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2636*9880d681SAndroid Build Coastguard Worker []>; 2637*9880d681SAndroid Build Coastguard Workerdef TLD4_A_2D_U32_F32 2638*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 2639*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 2640*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y), 2641*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 2642*9880d681SAndroid Build Coastguard Worker "[$t, $s, \\{$x, $y\\}];", 2643*9880d681SAndroid Build Coastguard Worker []>; 2644*9880d681SAndroid Build Coastguard Worker} 2645*9880d681SAndroid Build Coastguard Worker 2646*9880d681SAndroid Build Coastguard Worker 2647*9880d681SAndroid Build Coastguard Worker// texmode_unified 2648*9880d681SAndroid Build Coastguard Workerlet IsTex = 1, IsTexModeUnified = 1 in { 2649*9880d681SAndroid Build Coastguard Worker// Texture fetch instructions using handles 2650*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_F32_S32 2651*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2652*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2653*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x), 2654*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2655*9880d681SAndroid Build Coastguard Worker []>; 2656*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_F32_F32 2657*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2658*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2659*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x), 2660*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2661*9880d681SAndroid Build Coastguard Worker []>; 2662*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_F32_F32_LEVEL 2663*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2664*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2665*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$lod), 2666*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2667*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], $lod;", 2668*9880d681SAndroid Build Coastguard Worker []>; 2669*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_F32_F32_GRAD 2670*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2671*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2672*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, 2673*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2674*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2675*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 2676*9880d681SAndroid Build Coastguard Worker []>; 2677*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_S32_S32 2678*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2679*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2680*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x), 2681*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2682*9880d681SAndroid Build Coastguard Worker []>; 2683*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_S32_F32 2684*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2685*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2686*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x), 2687*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2688*9880d681SAndroid Build Coastguard Worker []>; 2689*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_S32_F32_LEVEL 2690*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2691*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2692*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, 2693*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2694*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2695*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], $lod;", 2696*9880d681SAndroid Build Coastguard Worker []>; 2697*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_S32_F32_GRAD 2698*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2699*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2700*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, 2701*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2702*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2703*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 2704*9880d681SAndroid Build Coastguard Worker []>; 2705*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_U32_S32 2706*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2707*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2708*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x), 2709*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2710*9880d681SAndroid Build Coastguard Worker []>; 2711*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_U32_F32 2712*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2713*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2714*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x), 2715*9880d681SAndroid Build Coastguard Worker "tex.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];", 2716*9880d681SAndroid Build Coastguard Worker []>; 2717*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_U32_F32_LEVEL 2718*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2719*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2720*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, 2721*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2722*9880d681SAndroid Build Coastguard Worker "tex.level.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2723*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], $lod;", 2724*9880d681SAndroid Build Coastguard Worker []>; 2725*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_U32_F32_GRAD 2726*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2727*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2728*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, 2729*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2730*9880d681SAndroid Build Coastguard Worker "tex.grad.1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2731*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};", 2732*9880d681SAndroid Build Coastguard Worker []>; 2733*9880d681SAndroid Build Coastguard Worker 2734*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_F32_S32 2735*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2736*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2737*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x), 2738*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2739*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2740*9880d681SAndroid Build Coastguard Worker []>; 2741*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_F32_F32 2742*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2743*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2744*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x), 2745*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2746*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2747*9880d681SAndroid Build Coastguard Worker []>; 2748*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_F32_F32_LEVEL 2749*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2750*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2751*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2752*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2753*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2754*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], $lod;", 2755*9880d681SAndroid Build Coastguard Worker []>; 2756*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_F32_F32_GRAD 2757*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2758*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2759*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2760*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2761*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2762*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2763*9880d681SAndroid Build Coastguard Worker []>; 2764*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_S32_S32 2765*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2766*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2767*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x), 2768*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2769*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2770*9880d681SAndroid Build Coastguard Worker []>; 2771*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_S32_F32 2772*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2773*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2774*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x), 2775*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2776*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2777*9880d681SAndroid Build Coastguard Worker []>; 2778*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_S32_F32_LEVEL 2779*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2780*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2781*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2782*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2783*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2784*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], $lod;", 2785*9880d681SAndroid Build Coastguard Worker []>; 2786*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_S32_F32_GRAD 2787*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2788*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2789*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2790*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2791*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2792*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2793*9880d681SAndroid Build Coastguard Worker []>; 2794*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_U32_S32 2795*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2796*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2797*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x), 2798*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2799*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2800*9880d681SAndroid Build Coastguard Worker []>; 2801*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_U32_F32 2802*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2803*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2804*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x), 2805*9880d681SAndroid Build Coastguard Worker "tex.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2806*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}];", 2807*9880d681SAndroid Build Coastguard Worker []>; 2808*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_U32_F32_LEVEL 2809*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2810*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2811*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2812*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2813*9880d681SAndroid Build Coastguard Worker "tex.level.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2814*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], $lod;", 2815*9880d681SAndroid Build Coastguard Worker []>; 2816*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_1D_ARRAY_U32_F32_GRAD 2817*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2818*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2819*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2820*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx, Float32Regs:$grady), 2821*9880d681SAndroid Build Coastguard Worker "tex.grad.a1d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2822*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};", 2823*9880d681SAndroid Build Coastguard Worker []>; 2824*9880d681SAndroid Build Coastguard Worker 2825*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_F32_S32 2826*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2827*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2828*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y), 2829*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2830*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2831*9880d681SAndroid Build Coastguard Worker []>; 2832*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_F32_F32 2833*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2834*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2835*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 2836*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2837*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2838*9880d681SAndroid Build Coastguard Worker []>; 2839*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_F32_F32_LEVEL 2840*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2841*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2842*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2843*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2844*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2845*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], $lod;", 2846*9880d681SAndroid Build Coastguard Worker []>; 2847*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_F32_F32_GRAD 2848*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2849*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2850*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2851*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2852*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2853*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2854*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2855*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2856*9880d681SAndroid Build Coastguard Worker []>; 2857*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_S32_S32 2858*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2859*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2860*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y), 2861*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2862*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2863*9880d681SAndroid Build Coastguard Worker []>; 2864*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_S32_F32 2865*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2866*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2867*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 2868*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2869*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2870*9880d681SAndroid Build Coastguard Worker []>; 2871*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_S32_F32_LEVEL 2872*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2873*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2874*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2875*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2876*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2877*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], $lod;", 2878*9880d681SAndroid Build Coastguard Worker []>; 2879*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_S32_F32_GRAD 2880*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2881*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2882*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2883*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2884*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2885*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2886*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2887*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2888*9880d681SAndroid Build Coastguard Worker []>; 2889*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_U32_S32 2890*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2891*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2892*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y), 2893*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2894*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2895*9880d681SAndroid Build Coastguard Worker []>; 2896*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_U32_F32 2897*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2898*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2899*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 2900*9880d681SAndroid Build Coastguard Worker "tex.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2901*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 2902*9880d681SAndroid Build Coastguard Worker []>; 2903*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_U32_F32_LEVEL 2904*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2905*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2906*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2907*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 2908*9880d681SAndroid Build Coastguard Worker "tex.level.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2909*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], $lod;", 2910*9880d681SAndroid Build Coastguard Worker []>; 2911*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_U32_F32_GRAD 2912*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2913*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2914*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 2915*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2916*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2917*9880d681SAndroid Build Coastguard Worker "tex.grad.2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 2918*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, " 2919*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2920*9880d681SAndroid Build Coastguard Worker []>; 2921*9880d681SAndroid Build Coastguard Worker 2922*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_F32_S32 2923*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2924*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2925*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x, 2926*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2927*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 2928*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 2929*9880d681SAndroid Build Coastguard Worker []>; 2930*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_F32_F32 2931*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2932*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2933*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2934*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 2935*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2936*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 2937*9880d681SAndroid Build Coastguard Worker []>; 2938*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_F32_F32_LEVEL 2939*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2940*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2941*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2942*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 2943*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2944*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], $lod;", 2945*9880d681SAndroid Build Coastguard Worker []>; 2946*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_F32_F32_GRAD 2947*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 2948*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 2949*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2950*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$gradx0, Float32Regs:$gradx1, 2951*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2952*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 2953*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 2954*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2955*9880d681SAndroid Build Coastguard Worker []>; 2956*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_S32_S32 2957*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2958*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2959*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x, 2960*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2961*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 2962*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 2963*9880d681SAndroid Build Coastguard Worker []>; 2964*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_S32_F32 2965*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2966*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2967*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2968*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 2969*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2970*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 2971*9880d681SAndroid Build Coastguard Worker []>; 2972*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_S32_F32_LEVEL 2973*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2974*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2975*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2976*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 2977*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2978*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], $lod;", 2979*9880d681SAndroid Build Coastguard Worker []>; 2980*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_S32_F32_GRAD 2981*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2982*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2983*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 2984*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, 2985*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 2986*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 2987*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 2988*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 2989*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 2990*9880d681SAndroid Build Coastguard Worker []>; 2991*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_U32_S32 2992*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 2993*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 2994*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x, 2995*9880d681SAndroid Build Coastguard Worker Int32Regs:$y), 2996*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 2997*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 2998*9880d681SAndroid Build Coastguard Worker []>; 2999*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_U32_F32 3000*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3001*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3002*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 3003*9880d681SAndroid Build Coastguard Worker Float32Regs:$y), 3004*9880d681SAndroid Build Coastguard Worker "tex.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3005*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}];", 3006*9880d681SAndroid Build Coastguard Worker []>; 3007*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_U32_F32_LEVEL 3008*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3009*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3010*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 3011*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, Float32Regs:$lod), 3012*9880d681SAndroid Build Coastguard Worker "tex.level.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3013*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], $lod;", 3014*9880d681SAndroid Build Coastguard Worker []>; 3015*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_2D_ARRAY_U32_F32_GRAD 3016*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3017*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3018*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x, 3019*9880d681SAndroid Build Coastguard Worker Float32Regs:$y, 3020*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 3021*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady0, Float32Regs:$grady1), 3022*9880d681SAndroid Build Coastguard Worker "tex.grad.a2d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3023*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, " 3024*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1\\};", 3025*9880d681SAndroid Build Coastguard Worker []>; 3026*9880d681SAndroid Build Coastguard Worker 3027*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_F32_S32 3028*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3029*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3030*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y, 3031*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 3032*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.f32.s32\t\\{$r, $g, $b, $a\\}, " 3033*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3034*9880d681SAndroid Build Coastguard Worker []>; 3035*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_F32_F32 3036*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3037*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3038*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3039*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 3040*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3041*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3042*9880d681SAndroid Build Coastguard Worker []>; 3043*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_F32_F32_LEVEL 3044*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3045*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3046*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3047*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 3048*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3049*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3050*9880d681SAndroid Build Coastguard Worker []>; 3051*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_F32_F32_GRAD 3052*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3053*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3054*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3055*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 3056*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 3057*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 3058*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 3059*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3060*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], " 3061*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 3062*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 3063*9880d681SAndroid Build Coastguard Worker []>; 3064*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_S32_S32 3065*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3066*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3067*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y, 3068*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 3069*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.s32.s32\t\\{$r, $g, $b, $a\\}, " 3070*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3071*9880d681SAndroid Build Coastguard Worker []>; 3072*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_S32_F32 3073*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3074*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3075*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3076*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 3077*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3078*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3079*9880d681SAndroid Build Coastguard Worker []>; 3080*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_S32_F32_LEVEL 3081*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3082*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3083*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3084*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 3085*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3086*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3087*9880d681SAndroid Build Coastguard Worker []>; 3088*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_S32_F32_GRAD 3089*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3090*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3091*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3092*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 3093*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 3094*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 3095*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 3096*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3097*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], " 3098*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 3099*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 3100*9880d681SAndroid Build Coastguard Worker []>; 3101*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_U32_S32 3102*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3103*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3104*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y, 3105*9880d681SAndroid Build Coastguard Worker Int32Regs:$z), 3106*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.u32.s32\t\\{$r, $g, $b, $a\\}, " 3107*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3108*9880d681SAndroid Build Coastguard Worker []>; 3109*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_U32_F32 3110*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3111*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3112*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3113*9880d681SAndroid Build Coastguard Worker Float32Regs:$z), 3114*9880d681SAndroid Build Coastguard Worker "tex.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3115*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3116*9880d681SAndroid Build Coastguard Worker []>; 3117*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_U32_F32_LEVEL 3118*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3119*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3120*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3121*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, Float32Regs:$lod), 3122*9880d681SAndroid Build Coastguard Worker "tex.level.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3123*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3124*9880d681SAndroid Build Coastguard Worker []>; 3125*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_3D_U32_F32_GRAD 3126*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3127*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3128*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y, 3129*9880d681SAndroid Build Coastguard Worker Float32Regs:$z, 3130*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx0, Float32Regs:$gradx1, 3131*9880d681SAndroid Build Coastguard Worker Float32Regs:$gradx2, Float32Regs:$grady0, 3132*9880d681SAndroid Build Coastguard Worker Float32Regs:$grady1, Float32Regs:$grady2), 3133*9880d681SAndroid Build Coastguard Worker "tex.grad.3d.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3134*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], " 3135*9880d681SAndroid Build Coastguard Worker "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, " 3136*9880d681SAndroid Build Coastguard Worker "\\{$grady0, $grady1, $grady2, $grady2\\};", 3137*9880d681SAndroid Build Coastguard Worker []>; 3138*9880d681SAndroid Build Coastguard Worker 3139*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_F32_F32 3140*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3141*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3142*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3143*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3144*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3145*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3146*9880d681SAndroid Build Coastguard Worker []>; 3147*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_F32_F32_LEVEL 3148*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3149*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3150*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3151*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3152*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3153*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3154*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3155*9880d681SAndroid Build Coastguard Worker []>; 3156*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_S32_F32 3157*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3158*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3159*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3160*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3161*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3162*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3163*9880d681SAndroid Build Coastguard Worker []>; 3164*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_S32_F32_LEVEL 3165*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3166*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3167*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3168*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3169*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3170*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3171*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3172*9880d681SAndroid Build Coastguard Worker []>; 3173*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_U32_F32 3174*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3175*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3176*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3177*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3178*9880d681SAndroid Build Coastguard Worker "tex.cube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3179*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}];", 3180*9880d681SAndroid Build Coastguard Worker []>; 3181*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_U32_F32_LEVEL 3182*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3183*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3184*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, 3185*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3186*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3187*9880d681SAndroid Build Coastguard Worker "tex.level.cube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3188*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y, $z, $z\\}], $lod;", 3189*9880d681SAndroid Build Coastguard Worker []>; 3190*9880d681SAndroid Build Coastguard Worker 3191*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_F32_F32 3192*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3193*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3194*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3195*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3196*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3197*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}];", 3198*9880d681SAndroid Build Coastguard Worker []>; 3199*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_F32_F32_LEVEL 3200*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g, 3201*9880d681SAndroid Build Coastguard Worker Float32Regs:$b, Float32Regs:$a), 3202*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3203*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3204*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3205*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.f32.f32\t\\{$r, $g, $b, $a\\}, " 3206*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}], $lod;", 3207*9880d681SAndroid Build Coastguard Worker []>; 3208*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_S32_F32 3209*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3210*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3211*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3212*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3213*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3214*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}];", 3215*9880d681SAndroid Build Coastguard Worker []>; 3216*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_S32_F32_LEVEL 3217*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3218*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3219*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3220*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3221*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3222*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.s32.f32\t\\{$r, $g, $b, $a\\}, " 3223*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}], $lod;", 3224*9880d681SAndroid Build Coastguard Worker []>; 3225*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_U32_F32 3226*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3227*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3228*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3229*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z), 3230*9880d681SAndroid Build Coastguard Worker "tex.acube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3231*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}];", 3232*9880d681SAndroid Build Coastguard Worker []>; 3233*9880d681SAndroid Build Coastguard Workerdef TEX_UNIFIED_CUBE_ARRAY_U32_F32_LEVEL 3234*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, 3235*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 3236*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Int32Regs:$l, 3237*9880d681SAndroid Build Coastguard Worker Float32Regs:$x, Float32Regs:$y, Float32Regs:$z, 3238*9880d681SAndroid Build Coastguard Worker Float32Regs:$lod), 3239*9880d681SAndroid Build Coastguard Worker "tex.level.acube.v4.u32.f32\t\\{$r, $g, $b, $a\\}, " 3240*9880d681SAndroid Build Coastguard Worker "[$t, \\{$l, $x, $y, $z\\}], $lod;", 3241*9880d681SAndroid Build Coastguard Worker []>; 3242*9880d681SAndroid Build Coastguard Worker 3243*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_R_2D_F32_F32 3244*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 3245*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 3246*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3247*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3248*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3249*9880d681SAndroid Build Coastguard Worker []>; 3250*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_G_2D_F32_F32 3251*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 3252*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 3253*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3254*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3255*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3256*9880d681SAndroid Build Coastguard Worker []>; 3257*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_B_2D_F32_F32 3258*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 3259*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 3260*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3261*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3262*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3263*9880d681SAndroid Build Coastguard Worker []>; 3264*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_A_2D_F32_F32 3265*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1, 3266*9880d681SAndroid Build Coastguard Worker Float32Regs:$v2, Float32Regs:$v3), 3267*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3268*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.f32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3269*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3270*9880d681SAndroid Build Coastguard Worker []>; 3271*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_R_2D_S32_F32 3272*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3273*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3274*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3275*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3276*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3277*9880d681SAndroid Build Coastguard Worker []>; 3278*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_G_2D_S32_F32 3279*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3280*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3281*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3282*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3283*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3284*9880d681SAndroid Build Coastguard Worker []>; 3285*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_B_2D_S32_F32 3286*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3287*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3288*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3289*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3290*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3291*9880d681SAndroid Build Coastguard Worker []>; 3292*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_A_2D_S32_F32 3293*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3294*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3295*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3296*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.s32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3297*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3298*9880d681SAndroid Build Coastguard Worker []>; 3299*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_R_2D_U32_F32 3300*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3301*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3302*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3303*9880d681SAndroid Build Coastguard Worker "tld4.r.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3304*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3305*9880d681SAndroid Build Coastguard Worker []>; 3306*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_G_2D_U32_F32 3307*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3308*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3309*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3310*9880d681SAndroid Build Coastguard Worker "tld4.g.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3311*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3312*9880d681SAndroid Build Coastguard Worker []>; 3313*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_B_2D_U32_F32 3314*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3315*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3316*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3317*9880d681SAndroid Build Coastguard Worker "tld4.b.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3318*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3319*9880d681SAndroid Build Coastguard Worker []>; 3320*9880d681SAndroid Build Coastguard Workerdef TLD4_UNIFIED_A_2D_U32_F32 3321*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1, 3322*9880d681SAndroid Build Coastguard Worker Int32Regs:$v2, Int32Regs:$v3), 3323*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y), 3324*9880d681SAndroid Build Coastguard Worker "tld4.a.2d.v4.u32.f32\t\\{$v0, $v1, $v2, $v3\\}, " 3325*9880d681SAndroid Build Coastguard Worker "[$t, \\{$x, $y\\}];", 3326*9880d681SAndroid Build Coastguard Worker []>; 3327*9880d681SAndroid Build Coastguard Worker} 3328*9880d681SAndroid Build Coastguard Worker 3329*9880d681SAndroid Build Coastguard Worker 3330*9880d681SAndroid Build Coastguard Worker 3331*9880d681SAndroid Build Coastguard Worker//=== Surface load instructions 3332*9880d681SAndroid Build Coastguard Worker// .clamp variant 3333*9880d681SAndroid Build Coastguard Workerlet IsSuld = 1 in { 3334*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I8_CLAMP 3335*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3336*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3337*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b8.clamp \\{$r\\}, [$s, \\{$x\\}];", 3338*9880d681SAndroid Build Coastguard Worker []>; 3339*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I16_CLAMP 3340*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3341*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3342*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b16.clamp \\{$r\\}, [$s, \\{$x\\}];", 3343*9880d681SAndroid Build Coastguard Worker []>; 3344*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I32_CLAMP 3345*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3346*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3347*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b32.clamp \\{$r\\}, [$s, \\{$x\\}];", 3348*9880d681SAndroid Build Coastguard Worker []>; 3349*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I64_CLAMP 3350*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3351*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3352*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b64.clamp \\{$r\\}, [$s, \\{$x\\}];", 3353*9880d681SAndroid Build Coastguard Worker []>; 3354*9880d681SAndroid Build Coastguard Worker 3355*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I8_CLAMP 3356*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3357*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3358*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b8.clamp \\{$r\\}, [$s, \\{$l, $x\\}];", 3359*9880d681SAndroid Build Coastguard Worker []>; 3360*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I16_CLAMP 3361*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3362*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3363*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b16.clamp \\{$r\\}, [$s, \\{$l, $x\\}];", 3364*9880d681SAndroid Build Coastguard Worker []>; 3365*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I32_CLAMP 3366*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3367*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3368*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b32.clamp \\{$r\\}, [$s, \\{$l, $x\\}];", 3369*9880d681SAndroid Build Coastguard Worker []>; 3370*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I64_CLAMP 3371*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3372*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3373*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b64.clamp \\{$r\\}, [$s, \\{$l, $x\\}];", 3374*9880d681SAndroid Build Coastguard Worker []>; 3375*9880d681SAndroid Build Coastguard Worker 3376*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I8_CLAMP 3377*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3378*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3379*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b8.clamp \\{$r\\}, [$s, \\{$x, $y\\}];", 3380*9880d681SAndroid Build Coastguard Worker []>; 3381*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I16_CLAMP 3382*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3383*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3384*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b16.clamp \\{$r\\}, [$s, \\{$x, $y\\}];", 3385*9880d681SAndroid Build Coastguard Worker []>; 3386*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I32_CLAMP 3387*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3388*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3389*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b32.clamp \\{$r\\}, [$s, \\{$x, $y\\}];", 3390*9880d681SAndroid Build Coastguard Worker []>; 3391*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I64_CLAMP 3392*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3393*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3394*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b64.clamp \\{$r\\}, [$s, \\{$x, $y\\}];", 3395*9880d681SAndroid Build Coastguard Worker []>; 3396*9880d681SAndroid Build Coastguard Worker 3397*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I8_CLAMP 3398*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3399*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3400*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b8.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3401*9880d681SAndroid Build Coastguard Worker []>; 3402*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I16_CLAMP 3403*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3404*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3405*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b16.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3406*9880d681SAndroid Build Coastguard Worker []>; 3407*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I32_CLAMP 3408*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3409*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3410*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b32.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3411*9880d681SAndroid Build Coastguard Worker []>; 3412*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I64_CLAMP 3413*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3414*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3415*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b64.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3416*9880d681SAndroid Build Coastguard Worker []>; 3417*9880d681SAndroid Build Coastguard Worker 3418*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I8_CLAMP 3419*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3420*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3421*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b8.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3422*9880d681SAndroid Build Coastguard Worker []>; 3423*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I16_CLAMP 3424*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3425*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3426*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b16.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3427*9880d681SAndroid Build Coastguard Worker []>; 3428*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I32_CLAMP 3429*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3430*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3431*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b32.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3432*9880d681SAndroid Build Coastguard Worker []>; 3433*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I64_CLAMP 3434*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3435*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3436*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b64.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3437*9880d681SAndroid Build Coastguard Worker []>; 3438*9880d681SAndroid Build Coastguard Worker} 3439*9880d681SAndroid Build Coastguard Worker 3440*9880d681SAndroid Build Coastguard Workerlet IsSuld = 2 in { 3441*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I8_CLAMP 3442*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3443*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3444*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x\\}];", 3445*9880d681SAndroid Build Coastguard Worker []>; 3446*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I16_CLAMP 3447*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3448*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3449*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x\\}];", 3450*9880d681SAndroid Build Coastguard Worker []>; 3451*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I32_CLAMP 3452*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3453*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3454*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x\\}];", 3455*9880d681SAndroid Build Coastguard Worker []>; 3456*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I64_CLAMP 3457*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3458*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3459*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x\\}];", 3460*9880d681SAndroid Build Coastguard Worker []>; 3461*9880d681SAndroid Build Coastguard Worker 3462*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I8_CLAMP 3463*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3464*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3465*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3466*9880d681SAndroid Build Coastguard Worker []>; 3467*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I16_CLAMP 3468*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3469*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3470*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3471*9880d681SAndroid Build Coastguard Worker []>; 3472*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I32_CLAMP 3473*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3474*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3475*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3476*9880d681SAndroid Build Coastguard Worker []>; 3477*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I64_CLAMP 3478*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3479*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3480*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3481*9880d681SAndroid Build Coastguard Worker []>; 3482*9880d681SAndroid Build Coastguard Worker 3483*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I8_CLAMP 3484*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3485*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3486*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3487*9880d681SAndroid Build Coastguard Worker []>; 3488*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I16_CLAMP 3489*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3490*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3491*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3492*9880d681SAndroid Build Coastguard Worker []>; 3493*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I32_CLAMP 3494*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3495*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3496*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3497*9880d681SAndroid Build Coastguard Worker []>; 3498*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I64_CLAMP 3499*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3500*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3501*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3502*9880d681SAndroid Build Coastguard Worker []>; 3503*9880d681SAndroid Build Coastguard Worker 3504*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I8_CLAMP 3505*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3506*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3507*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b8.clamp \\{$r, $g\\}, " 3508*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3509*9880d681SAndroid Build Coastguard Worker []>; 3510*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I16_CLAMP 3511*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3512*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3513*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b16.clamp \\{$r, $g\\}, " 3514*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3515*9880d681SAndroid Build Coastguard Worker []>; 3516*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I32_CLAMP 3517*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3518*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3519*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b32.clamp \\{$r, $g\\}, " 3520*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3521*9880d681SAndroid Build Coastguard Worker []>; 3522*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I64_CLAMP 3523*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3524*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3525*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b64.clamp \\{$r, $g\\}, " 3526*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3527*9880d681SAndroid Build Coastguard Worker []>; 3528*9880d681SAndroid Build Coastguard Worker 3529*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I8_CLAMP 3530*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3531*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3532*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3533*9880d681SAndroid Build Coastguard Worker []>; 3534*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I16_CLAMP 3535*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3536*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3537*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3538*9880d681SAndroid Build Coastguard Worker []>; 3539*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I32_CLAMP 3540*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3541*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3542*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3543*9880d681SAndroid Build Coastguard Worker []>; 3544*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I64_CLAMP 3545*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3546*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3547*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3548*9880d681SAndroid Build Coastguard Worker []>; 3549*9880d681SAndroid Build Coastguard Worker} 3550*9880d681SAndroid Build Coastguard Worker 3551*9880d681SAndroid Build Coastguard Workerlet IsSuld = 3 in { 3552*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I8_CLAMP 3553*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3554*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3555*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b8.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3556*9880d681SAndroid Build Coastguard Worker []>; 3557*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I16_CLAMP 3558*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3559*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3560*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b16.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3561*9880d681SAndroid Build Coastguard Worker []>; 3562*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I32_CLAMP 3563*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3564*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3565*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b32.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3566*9880d681SAndroid Build Coastguard Worker []>; 3567*9880d681SAndroid Build Coastguard Worker 3568*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I8_CLAMP 3569*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3570*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3571*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b8.clamp \\{$r, $g, $b, $a\\}, " 3572*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3573*9880d681SAndroid Build Coastguard Worker []>; 3574*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I16_CLAMP 3575*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3576*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3577*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b16.clamp \\{$r, $g, $b, $a\\}, " 3578*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3579*9880d681SAndroid Build Coastguard Worker []>; 3580*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I32_CLAMP 3581*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3582*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3583*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b32.clamp \\{$r, $g, $b, $a\\}, " 3584*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3585*9880d681SAndroid Build Coastguard Worker []>; 3586*9880d681SAndroid Build Coastguard Worker 3587*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I8_CLAMP 3588*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3589*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3590*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b8.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3591*9880d681SAndroid Build Coastguard Worker []>; 3592*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I16_CLAMP 3593*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3594*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3595*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b16.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3596*9880d681SAndroid Build Coastguard Worker []>; 3597*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I32_CLAMP 3598*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3599*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3600*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b32.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3601*9880d681SAndroid Build Coastguard Worker []>; 3602*9880d681SAndroid Build Coastguard Worker 3603*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I8_CLAMP 3604*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3605*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3606*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b8.clamp \\{$r, $g, $b, $a\\}, " 3607*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3608*9880d681SAndroid Build Coastguard Worker []>; 3609*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I16_CLAMP 3610*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3611*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3612*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b16.clamp \\{$r, $g, $b, $a\\}, " 3613*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3614*9880d681SAndroid Build Coastguard Worker []>; 3615*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I32_CLAMP 3616*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3617*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3618*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b32.clamp \\{$r, $g, $b, $a\\}, " 3619*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3620*9880d681SAndroid Build Coastguard Worker []>; 3621*9880d681SAndroid Build Coastguard Worker 3622*9880d681SAndroid Build Coastguard Worker 3623*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I8_CLAMP 3624*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3625*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3626*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b8.clamp \\{$r, $g, $b, $a\\}, " 3627*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3628*9880d681SAndroid Build Coastguard Worker []>; 3629*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I16_CLAMP 3630*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3631*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3632*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b16.clamp \\{$r, $g, $b, $a\\}, " 3633*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3634*9880d681SAndroid Build Coastguard Worker []>; 3635*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I32_CLAMP 3636*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3637*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3638*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b32.clamp \\{$r, $g, $b, $a\\}, " 3639*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3640*9880d681SAndroid Build Coastguard Worker []>; 3641*9880d681SAndroid Build Coastguard Worker} 3642*9880d681SAndroid Build Coastguard Worker 3643*9880d681SAndroid Build Coastguard Worker 3644*9880d681SAndroid Build Coastguard Worker// .trap variant 3645*9880d681SAndroid Build Coastguard Workerlet IsSuld = 1 in { 3646*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I8_TRAP 3647*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3648*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3649*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b8.trap \\{$r\\}, [$s, \\{$x\\}];", 3650*9880d681SAndroid Build Coastguard Worker []>; 3651*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I16_TRAP 3652*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3653*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3654*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b16.trap \\{$r\\}, [$s, \\{$x\\}];", 3655*9880d681SAndroid Build Coastguard Worker []>; 3656*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I32_TRAP 3657*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3658*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3659*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b32.trap \\{$r\\}, [$s, \\{$x\\}];", 3660*9880d681SAndroid Build Coastguard Worker []>; 3661*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I64_TRAP 3662*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3663*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3664*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b64.trap \\{$r\\}, [$s, \\{$x\\}];", 3665*9880d681SAndroid Build Coastguard Worker []>; 3666*9880d681SAndroid Build Coastguard Worker 3667*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I8_TRAP 3668*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3669*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3670*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b8.trap \\{$r\\}, [$s, \\{$l, $x\\}];", 3671*9880d681SAndroid Build Coastguard Worker []>; 3672*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I16_TRAP 3673*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3674*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3675*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b16.trap \\{$r\\}, [$s, \\{$l, $x\\}];", 3676*9880d681SAndroid Build Coastguard Worker []>; 3677*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I32_TRAP 3678*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3679*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3680*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b32.trap \\{$r\\}, [$s, \\{$l, $x\\}];", 3681*9880d681SAndroid Build Coastguard Worker []>; 3682*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I64_TRAP 3683*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3684*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3685*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b64.trap \\{$r\\}, [$s, \\{$l, $x\\}];", 3686*9880d681SAndroid Build Coastguard Worker []>; 3687*9880d681SAndroid Build Coastguard Worker 3688*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I8_TRAP 3689*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3690*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3691*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b8.trap \\{$r\\}, [$s, \\{$x, $y\\}];", 3692*9880d681SAndroid Build Coastguard Worker []>; 3693*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I16_TRAP 3694*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3695*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3696*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b16.trap \\{$r\\}, [$s, \\{$x, $y\\}];", 3697*9880d681SAndroid Build Coastguard Worker []>; 3698*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I32_TRAP 3699*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3700*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3701*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b32.trap \\{$r\\}, [$s, \\{$x, $y\\}];", 3702*9880d681SAndroid Build Coastguard Worker []>; 3703*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I64_TRAP 3704*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3705*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3706*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b64.trap \\{$r\\}, [$s, \\{$x, $y\\}];", 3707*9880d681SAndroid Build Coastguard Worker []>; 3708*9880d681SAndroid Build Coastguard Worker 3709*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I8_TRAP 3710*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3711*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3712*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b8.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3713*9880d681SAndroid Build Coastguard Worker []>; 3714*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I16_TRAP 3715*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3716*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3717*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b16.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3718*9880d681SAndroid Build Coastguard Worker []>; 3719*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I32_TRAP 3720*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3721*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3722*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b32.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3723*9880d681SAndroid Build Coastguard Worker []>; 3724*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I64_TRAP 3725*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3726*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3727*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b64.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 3728*9880d681SAndroid Build Coastguard Worker []>; 3729*9880d681SAndroid Build Coastguard Worker 3730*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I8_TRAP 3731*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3732*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3733*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b8.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3734*9880d681SAndroid Build Coastguard Worker []>; 3735*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I16_TRAP 3736*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3737*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3738*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b16.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3739*9880d681SAndroid Build Coastguard Worker []>; 3740*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I32_TRAP 3741*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3742*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3743*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b32.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3744*9880d681SAndroid Build Coastguard Worker []>; 3745*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I64_TRAP 3746*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3747*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3748*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b64.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 3749*9880d681SAndroid Build Coastguard Worker []>; 3750*9880d681SAndroid Build Coastguard Worker} 3751*9880d681SAndroid Build Coastguard Worker 3752*9880d681SAndroid Build Coastguard Workerlet IsSuld = 2 in { 3753*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I8_TRAP 3754*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3755*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3756*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x\\}];", 3757*9880d681SAndroid Build Coastguard Worker []>; 3758*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I16_TRAP 3759*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3760*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3761*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x\\}];", 3762*9880d681SAndroid Build Coastguard Worker []>; 3763*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I32_TRAP 3764*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3765*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3766*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x\\}];", 3767*9880d681SAndroid Build Coastguard Worker []>; 3768*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I64_TRAP 3769*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3770*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3771*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x\\}];", 3772*9880d681SAndroid Build Coastguard Worker []>; 3773*9880d681SAndroid Build Coastguard Worker 3774*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I8_TRAP 3775*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3776*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3777*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3778*9880d681SAndroid Build Coastguard Worker []>; 3779*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I16_TRAP 3780*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3781*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3782*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3783*9880d681SAndroid Build Coastguard Worker []>; 3784*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I32_TRAP 3785*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3786*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3787*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3788*9880d681SAndroid Build Coastguard Worker []>; 3789*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I64_TRAP 3790*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3791*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3792*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 3793*9880d681SAndroid Build Coastguard Worker []>; 3794*9880d681SAndroid Build Coastguard Worker 3795*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I8_TRAP 3796*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3797*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3798*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3799*9880d681SAndroid Build Coastguard Worker []>; 3800*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I16_TRAP 3801*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3802*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3803*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3804*9880d681SAndroid Build Coastguard Worker []>; 3805*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I32_TRAP 3806*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3807*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3808*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3809*9880d681SAndroid Build Coastguard Worker []>; 3810*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I64_TRAP 3811*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3812*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3813*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 3814*9880d681SAndroid Build Coastguard Worker []>; 3815*9880d681SAndroid Build Coastguard Worker 3816*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I8_TRAP 3817*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3818*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3819*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b8.trap \\{$r, $g\\}, " 3820*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3821*9880d681SAndroid Build Coastguard Worker []>; 3822*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I16_TRAP 3823*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3824*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3825*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b16.trap \\{$r, $g\\}, " 3826*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3827*9880d681SAndroid Build Coastguard Worker []>; 3828*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I32_TRAP 3829*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3830*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3831*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b32.trap \\{$r, $g\\}, " 3832*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3833*9880d681SAndroid Build Coastguard Worker []>; 3834*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I64_TRAP 3835*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3836*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3837*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b64.trap \\{$r, $g\\}, " 3838*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3839*9880d681SAndroid Build Coastguard Worker []>; 3840*9880d681SAndroid Build Coastguard Worker 3841*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I8_TRAP 3842*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3843*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3844*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3845*9880d681SAndroid Build Coastguard Worker []>; 3846*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I16_TRAP 3847*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 3848*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3849*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3850*9880d681SAndroid Build Coastguard Worker []>; 3851*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I32_TRAP 3852*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 3853*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3854*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3855*9880d681SAndroid Build Coastguard Worker []>; 3856*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I64_TRAP 3857*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 3858*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3859*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 3860*9880d681SAndroid Build Coastguard Worker []>; 3861*9880d681SAndroid Build Coastguard Worker} 3862*9880d681SAndroid Build Coastguard Worker 3863*9880d681SAndroid Build Coastguard Workerlet IsSuld = 3 in { 3864*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I8_TRAP 3865*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3866*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3867*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b8.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3868*9880d681SAndroid Build Coastguard Worker []>; 3869*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I16_TRAP 3870*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3871*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3872*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b16.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3873*9880d681SAndroid Build Coastguard Worker []>; 3874*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I32_TRAP 3875*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3876*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3877*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b32.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 3878*9880d681SAndroid Build Coastguard Worker []>; 3879*9880d681SAndroid Build Coastguard Worker 3880*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I8_TRAP 3881*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3882*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3883*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b8.trap \\{$r, $g, $b, $a\\}, " 3884*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3885*9880d681SAndroid Build Coastguard Worker []>; 3886*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I16_TRAP 3887*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3888*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3889*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b16.trap \\{$r, $g, $b, $a\\}, " 3890*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3891*9880d681SAndroid Build Coastguard Worker []>; 3892*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I32_TRAP 3893*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3894*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3895*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b32.trap \\{$r, $g, $b, $a\\}, " 3896*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 3897*9880d681SAndroid Build Coastguard Worker []>; 3898*9880d681SAndroid Build Coastguard Worker 3899*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I8_TRAP 3900*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3901*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3902*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b8.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3903*9880d681SAndroid Build Coastguard Worker []>; 3904*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I16_TRAP 3905*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3906*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3907*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b16.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3908*9880d681SAndroid Build Coastguard Worker []>; 3909*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I32_TRAP 3910*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3911*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 3912*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b32.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 3913*9880d681SAndroid Build Coastguard Worker []>; 3914*9880d681SAndroid Build Coastguard Worker 3915*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I8_TRAP 3916*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3917*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3918*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b8.trap \\{$r, $g, $b, $a\\}, " 3919*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3920*9880d681SAndroid Build Coastguard Worker []>; 3921*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I16_TRAP 3922*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3923*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3924*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b16.trap \\{$r, $g, $b, $a\\}, " 3925*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3926*9880d681SAndroid Build Coastguard Worker []>; 3927*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I32_TRAP 3928*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3929*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 3930*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b32.trap \\{$r, $g, $b, $a\\}, " 3931*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 3932*9880d681SAndroid Build Coastguard Worker []>; 3933*9880d681SAndroid Build Coastguard Worker 3934*9880d681SAndroid Build Coastguard Worker 3935*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I8_TRAP 3936*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3937*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3938*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b8.trap \\{$r, $g, $b, $a\\}, " 3939*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3940*9880d681SAndroid Build Coastguard Worker []>; 3941*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I16_TRAP 3942*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 3943*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3944*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b16.trap \\{$r, $g, $b, $a\\}, " 3945*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3946*9880d681SAndroid Build Coastguard Worker []>; 3947*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I32_TRAP 3948*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 3949*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 3950*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b32.trap \\{$r, $g, $b, $a\\}, " 3951*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 3952*9880d681SAndroid Build Coastguard Worker []>; 3953*9880d681SAndroid Build Coastguard Worker} 3954*9880d681SAndroid Build Coastguard Worker 3955*9880d681SAndroid Build Coastguard Worker// .zero variant 3956*9880d681SAndroid Build Coastguard Workerlet IsSuld = 1 in { 3957*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I8_ZERO 3958*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3959*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3960*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b8.zero \\{$r\\}, [$s, \\{$x\\}];", 3961*9880d681SAndroid Build Coastguard Worker []>; 3962*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I16_ZERO 3963*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3964*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3965*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b16.zero \\{$r\\}, [$s, \\{$x\\}];", 3966*9880d681SAndroid Build Coastguard Worker []>; 3967*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I32_ZERO 3968*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3969*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3970*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b32.zero \\{$r\\}, [$s, \\{$x\\}];", 3971*9880d681SAndroid Build Coastguard Worker []>; 3972*9880d681SAndroid Build Coastguard Workerdef SULD_1D_I64_ZERO 3973*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3974*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 3975*9880d681SAndroid Build Coastguard Worker "suld.b.1d.b64.zero \\{$r\\}, [$s, \\{$x\\}];", 3976*9880d681SAndroid Build Coastguard Worker []>; 3977*9880d681SAndroid Build Coastguard Worker 3978*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I8_ZERO 3979*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3980*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3981*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b8.zero \\{$r\\}, [$s, \\{$l, $x\\}];", 3982*9880d681SAndroid Build Coastguard Worker []>; 3983*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I16_ZERO 3984*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 3985*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3986*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b16.zero \\{$r\\}, [$s, \\{$l, $x\\}];", 3987*9880d681SAndroid Build Coastguard Worker []>; 3988*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I32_ZERO 3989*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 3990*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3991*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b32.zero \\{$r\\}, [$s, \\{$l, $x\\}];", 3992*9880d681SAndroid Build Coastguard Worker []>; 3993*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_I64_ZERO 3994*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 3995*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 3996*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.b64.zero \\{$r\\}, [$s, \\{$l, $x\\}];", 3997*9880d681SAndroid Build Coastguard Worker []>; 3998*9880d681SAndroid Build Coastguard Worker 3999*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I8_ZERO 4000*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4001*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4002*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b8.zero \\{$r\\}, [$s, \\{$x, $y\\}];", 4003*9880d681SAndroid Build Coastguard Worker []>; 4004*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I16_ZERO 4005*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4006*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4007*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b16.zero \\{$r\\}, [$s, \\{$x, $y\\}];", 4008*9880d681SAndroid Build Coastguard Worker []>; 4009*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I32_ZERO 4010*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 4011*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4012*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b32.zero \\{$r\\}, [$s, \\{$x, $y\\}];", 4013*9880d681SAndroid Build Coastguard Worker []>; 4014*9880d681SAndroid Build Coastguard Workerdef SULD_2D_I64_ZERO 4015*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 4016*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4017*9880d681SAndroid Build Coastguard Worker "suld.b.2d.b64.zero \\{$r\\}, [$s, \\{$x, $y\\}];", 4018*9880d681SAndroid Build Coastguard Worker []>; 4019*9880d681SAndroid Build Coastguard Worker 4020*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I8_ZERO 4021*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4022*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4023*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b8.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 4024*9880d681SAndroid Build Coastguard Worker []>; 4025*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I16_ZERO 4026*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4027*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4028*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b16.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 4029*9880d681SAndroid Build Coastguard Worker []>; 4030*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I32_ZERO 4031*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 4032*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4033*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b32.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 4034*9880d681SAndroid Build Coastguard Worker []>; 4035*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_I64_ZERO 4036*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 4037*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4038*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.b64.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];", 4039*9880d681SAndroid Build Coastguard Worker []>; 4040*9880d681SAndroid Build Coastguard Worker 4041*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I8_ZERO 4042*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4043*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4044*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b8.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 4045*9880d681SAndroid Build Coastguard Worker []>; 4046*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I16_ZERO 4047*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r), 4048*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4049*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b16.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 4050*9880d681SAndroid Build Coastguard Worker []>; 4051*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I32_ZERO 4052*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r), 4053*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4054*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b32.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 4055*9880d681SAndroid Build Coastguard Worker []>; 4056*9880d681SAndroid Build Coastguard Workerdef SULD_3D_I64_ZERO 4057*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r), 4058*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4059*9880d681SAndroid Build Coastguard Worker "suld.b.3d.b64.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];", 4060*9880d681SAndroid Build Coastguard Worker []>; 4061*9880d681SAndroid Build Coastguard Worker} 4062*9880d681SAndroid Build Coastguard Worker 4063*9880d681SAndroid Build Coastguard Workerlet IsSuld = 2 in { 4064*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I8_ZERO 4065*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4066*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4067*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x\\}];", 4068*9880d681SAndroid Build Coastguard Worker []>; 4069*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I16_ZERO 4070*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4071*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4072*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x\\}];", 4073*9880d681SAndroid Build Coastguard Worker []>; 4074*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I32_ZERO 4075*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 4076*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4077*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x\\}];", 4078*9880d681SAndroid Build Coastguard Worker []>; 4079*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V2I64_ZERO 4080*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 4081*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4082*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x\\}];", 4083*9880d681SAndroid Build Coastguard Worker []>; 4084*9880d681SAndroid Build Coastguard Worker 4085*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I8_ZERO 4086*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4087*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4088*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 4089*9880d681SAndroid Build Coastguard Worker []>; 4090*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I16_ZERO 4091*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4092*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4093*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 4094*9880d681SAndroid Build Coastguard Worker []>; 4095*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I32_ZERO 4096*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 4097*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4098*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 4099*9880d681SAndroid Build Coastguard Worker []>; 4100*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V2I64_ZERO 4101*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 4102*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4103*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];", 4104*9880d681SAndroid Build Coastguard Worker []>; 4105*9880d681SAndroid Build Coastguard Worker 4106*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I8_ZERO 4107*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4108*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4109*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 4110*9880d681SAndroid Build Coastguard Worker []>; 4111*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I16_ZERO 4112*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4113*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4114*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 4115*9880d681SAndroid Build Coastguard Worker []>; 4116*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I32_ZERO 4117*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 4118*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4119*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 4120*9880d681SAndroid Build Coastguard Worker []>; 4121*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V2I64_ZERO 4122*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 4123*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4124*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];", 4125*9880d681SAndroid Build Coastguard Worker []>; 4126*9880d681SAndroid Build Coastguard Worker 4127*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I8_ZERO 4128*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4129*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4130*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b8.zero \\{$r, $g\\}, " 4131*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4132*9880d681SAndroid Build Coastguard Worker []>; 4133*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I16_ZERO 4134*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4135*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4136*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b16.zero \\{$r, $g\\}, " 4137*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4138*9880d681SAndroid Build Coastguard Worker []>; 4139*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I32_ZERO 4140*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 4141*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4142*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b32.zero \\{$r, $g\\}, " 4143*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4144*9880d681SAndroid Build Coastguard Worker []>; 4145*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V2I64_ZERO 4146*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 4147*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4148*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v2.b64.zero \\{$r, $g\\}, " 4149*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4150*9880d681SAndroid Build Coastguard Worker []>; 4151*9880d681SAndroid Build Coastguard Worker 4152*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I8_ZERO 4153*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4154*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4155*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 4156*9880d681SAndroid Build Coastguard Worker []>; 4157*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I16_ZERO 4158*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g), 4159*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4160*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 4161*9880d681SAndroid Build Coastguard Worker []>; 4162*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I32_ZERO 4163*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g), 4164*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4165*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 4166*9880d681SAndroid Build Coastguard Worker []>; 4167*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V2I64_ZERO 4168*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g), 4169*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4170*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];", 4171*9880d681SAndroid Build Coastguard Worker []>; 4172*9880d681SAndroid Build Coastguard Worker} 4173*9880d681SAndroid Build Coastguard Worker 4174*9880d681SAndroid Build Coastguard Workerlet IsSuld = 3 in { 4175*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I8_ZERO 4176*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4177*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4178*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b8.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 4179*9880d681SAndroid Build Coastguard Worker []>; 4180*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I16_ZERO 4181*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4182*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4183*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b16.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 4184*9880d681SAndroid Build Coastguard Worker []>; 4185*9880d681SAndroid Build Coastguard Workerdef SULD_1D_V4I32_ZERO 4186*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4187*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x), 4188*9880d681SAndroid Build Coastguard Worker "suld.b.1d.v4.b32.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];", 4189*9880d681SAndroid Build Coastguard Worker []>; 4190*9880d681SAndroid Build Coastguard Worker 4191*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I8_ZERO 4192*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4193*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4194*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b8.zero \\{$r, $g, $b, $a\\}, " 4195*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 4196*9880d681SAndroid Build Coastguard Worker []>; 4197*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I16_ZERO 4198*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4199*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4200*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b16.zero \\{$r, $g, $b, $a\\}, " 4201*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 4202*9880d681SAndroid Build Coastguard Worker []>; 4203*9880d681SAndroid Build Coastguard Workerdef SULD_1D_ARRAY_V4I32_ZERO 4204*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4205*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x), 4206*9880d681SAndroid Build Coastguard Worker "suld.b.a1d.v4.b32.zero \\{$r, $g, $b, $a\\}, " 4207*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x\\}];", 4208*9880d681SAndroid Build Coastguard Worker []>; 4209*9880d681SAndroid Build Coastguard Worker 4210*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I8_ZERO 4211*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4212*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4213*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b8.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 4214*9880d681SAndroid Build Coastguard Worker []>; 4215*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I16_ZERO 4216*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4217*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4218*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b16.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 4219*9880d681SAndroid Build Coastguard Worker []>; 4220*9880d681SAndroid Build Coastguard Workerdef SULD_2D_V4I32_ZERO 4221*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4222*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y), 4223*9880d681SAndroid Build Coastguard Worker "suld.b.2d.v4.b32.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];", 4224*9880d681SAndroid Build Coastguard Worker []>; 4225*9880d681SAndroid Build Coastguard Worker 4226*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I8_ZERO 4227*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4228*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4229*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b8.zero \\{$r, $g, $b, $a\\}, " 4230*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4231*9880d681SAndroid Build Coastguard Worker []>; 4232*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I16_ZERO 4233*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4234*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4235*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b16.zero \\{$r, $g, $b, $a\\}, " 4236*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4237*9880d681SAndroid Build Coastguard Worker []>; 4238*9880d681SAndroid Build Coastguard Workerdef SULD_2D_ARRAY_V4I32_ZERO 4239*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4240*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y), 4241*9880d681SAndroid Build Coastguard Worker "suld.b.a2d.v4.b32.zero \\{$r, $g, $b, $a\\}, " 4242*9880d681SAndroid Build Coastguard Worker "[$s, \\{$l, $x, $y, $y\\}];", 4243*9880d681SAndroid Build Coastguard Worker []>; 4244*9880d681SAndroid Build Coastguard Worker 4245*9880d681SAndroid Build Coastguard Worker 4246*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I8_ZERO 4247*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4248*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4249*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b8.zero \\{$r, $g, $b, $a\\}, " 4250*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 4251*9880d681SAndroid Build Coastguard Worker []>; 4252*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I16_ZERO 4253*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4254*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4255*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b16.zero \\{$r, $g, $b, $a\\}, " 4256*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 4257*9880d681SAndroid Build Coastguard Worker []>; 4258*9880d681SAndroid Build Coastguard Workerdef SULD_3D_V4I32_ZERO 4259*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4260*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z), 4261*9880d681SAndroid Build Coastguard Worker "suld.b.3d.v4.b32.zero \\{$r, $g, $b, $a\\}, " 4262*9880d681SAndroid Build Coastguard Worker "[$s, \\{$x, $y, $z, $z\\}];", 4263*9880d681SAndroid Build Coastguard Worker []>; 4264*9880d681SAndroid Build Coastguard Worker} 4265*9880d681SAndroid Build Coastguard Worker 4266*9880d681SAndroid Build Coastguard Worker//----------------------------------- 4267*9880d681SAndroid Build Coastguard Worker// Texture Query Intrinsics 4268*9880d681SAndroid Build Coastguard Worker//----------------------------------- 4269*9880d681SAndroid Build Coastguard Worker 4270*9880d681SAndroid Build Coastguard Workerlet IsSurfTexQuery = 1 in { 4271*9880d681SAndroid Build Coastguard Workerdef TXQ_CHANNEL_ORDER 4272*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4273*9880d681SAndroid Build Coastguard Worker "txq.channel_order.b32 \t$d, [$a];", 4274*9880d681SAndroid Build Coastguard Worker []>; 4275*9880d681SAndroid Build Coastguard Workerdef TXQ_CHANNEL_DATA_TYPE 4276*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4277*9880d681SAndroid Build Coastguard Worker "txq.channel_data_type.b32 \t$d, [$a];", 4278*9880d681SAndroid Build Coastguard Worker []>; 4279*9880d681SAndroid Build Coastguard Workerdef TXQ_WIDTH 4280*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4281*9880d681SAndroid Build Coastguard Worker "txq.width.b32 \t$d, [$a];", 4282*9880d681SAndroid Build Coastguard Worker []>; 4283*9880d681SAndroid Build Coastguard Workerdef TXQ_HEIGHT 4284*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4285*9880d681SAndroid Build Coastguard Worker "txq.height.b32 \t$d, [$a];", 4286*9880d681SAndroid Build Coastguard Worker []>; 4287*9880d681SAndroid Build Coastguard Workerdef TXQ_DEPTH 4288*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4289*9880d681SAndroid Build Coastguard Worker "txq.depth.b32 \t$d, [$a];", 4290*9880d681SAndroid Build Coastguard Worker []>; 4291*9880d681SAndroid Build Coastguard Workerdef TXQ_ARRAY_SIZE 4292*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4293*9880d681SAndroid Build Coastguard Worker "txq.array_size.b32 \t$d, [$a];", 4294*9880d681SAndroid Build Coastguard Worker []>; 4295*9880d681SAndroid Build Coastguard Workerdef TXQ_NUM_SAMPLES 4296*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4297*9880d681SAndroid Build Coastguard Worker "txq.num_samples.b32 \t$d, [$a];", 4298*9880d681SAndroid Build Coastguard Worker []>; 4299*9880d681SAndroid Build Coastguard Workerdef TXQ_NUM_MIPMAP_LEVELS 4300*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4301*9880d681SAndroid Build Coastguard Worker "txq.num_mipmap_levels.b32 \t$d, [$a];", 4302*9880d681SAndroid Build Coastguard Worker []>; 4303*9880d681SAndroid Build Coastguard Worker} 4304*9880d681SAndroid Build Coastguard Worker 4305*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_channel_order Int64Regs:$a), 4306*9880d681SAndroid Build Coastguard Worker (TXQ_CHANNEL_ORDER Int64Regs:$a)>; 4307*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_channel_data_type Int64Regs:$a), 4308*9880d681SAndroid Build Coastguard Worker (TXQ_CHANNEL_DATA_TYPE Int64Regs:$a)>; 4309*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_width Int64Regs:$a), 4310*9880d681SAndroid Build Coastguard Worker (TXQ_WIDTH Int64Regs:$a)>; 4311*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_height Int64Regs:$a), 4312*9880d681SAndroid Build Coastguard Worker (TXQ_HEIGHT Int64Regs:$a)>; 4313*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_depth Int64Regs:$a), 4314*9880d681SAndroid Build Coastguard Worker (TXQ_DEPTH Int64Regs:$a)>; 4315*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_array_size Int64Regs:$a), 4316*9880d681SAndroid Build Coastguard Worker (TXQ_ARRAY_SIZE Int64Regs:$a)>; 4317*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_num_samples Int64Regs:$a), 4318*9880d681SAndroid Build Coastguard Worker (TXQ_NUM_SAMPLES Int64Regs:$a)>; 4319*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_txq_num_mipmap_levels Int64Regs:$a), 4320*9880d681SAndroid Build Coastguard Worker (TXQ_NUM_MIPMAP_LEVELS Int64Regs:$a)>; 4321*9880d681SAndroid Build Coastguard Worker 4322*9880d681SAndroid Build Coastguard Worker 4323*9880d681SAndroid Build Coastguard Worker//----------------------------------- 4324*9880d681SAndroid Build Coastguard Worker// Surface Query Intrinsics 4325*9880d681SAndroid Build Coastguard Worker//----------------------------------- 4326*9880d681SAndroid Build Coastguard Worker 4327*9880d681SAndroid Build Coastguard Workerlet IsSurfTexQuery = 1 in { 4328*9880d681SAndroid Build Coastguard Workerdef SUQ_CHANNEL_ORDER 4329*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4330*9880d681SAndroid Build Coastguard Worker "suq.channel_order.b32 \t$d, [$a];", 4331*9880d681SAndroid Build Coastguard Worker []>; 4332*9880d681SAndroid Build Coastguard Workerdef SUQ_CHANNEL_DATA_TYPE 4333*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4334*9880d681SAndroid Build Coastguard Worker "suq.channel_data_type.b32 \t$d, [$a];", 4335*9880d681SAndroid Build Coastguard Worker []>; 4336*9880d681SAndroid Build Coastguard Workerdef SUQ_WIDTH 4337*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4338*9880d681SAndroid Build Coastguard Worker "suq.width.b32 \t$d, [$a];", 4339*9880d681SAndroid Build Coastguard Worker []>; 4340*9880d681SAndroid Build Coastguard Workerdef SUQ_HEIGHT 4341*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4342*9880d681SAndroid Build Coastguard Worker "suq.height.b32 \t$d, [$a];", 4343*9880d681SAndroid Build Coastguard Worker []>; 4344*9880d681SAndroid Build Coastguard Workerdef SUQ_DEPTH 4345*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4346*9880d681SAndroid Build Coastguard Worker "suq.depth.b32 \t$d, [$a];", 4347*9880d681SAndroid Build Coastguard Worker []>; 4348*9880d681SAndroid Build Coastguard Workerdef SUQ_ARRAY_SIZE 4349*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a), 4350*9880d681SAndroid Build Coastguard Worker "suq.array_size.b32 \t$d, [$a];", 4351*9880d681SAndroid Build Coastguard Worker []>; 4352*9880d681SAndroid Build Coastguard Worker} 4353*9880d681SAndroid Build Coastguard Worker 4354*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_channel_order Int64Regs:$a), 4355*9880d681SAndroid Build Coastguard Worker (SUQ_CHANNEL_ORDER Int64Regs:$a)>; 4356*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_channel_data_type Int64Regs:$a), 4357*9880d681SAndroid Build Coastguard Worker (SUQ_CHANNEL_DATA_TYPE Int64Regs:$a)>; 4358*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_width Int64Regs:$a), 4359*9880d681SAndroid Build Coastguard Worker (SUQ_WIDTH Int64Regs:$a)>; 4360*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_height Int64Regs:$a), 4361*9880d681SAndroid Build Coastguard Worker (SUQ_HEIGHT Int64Regs:$a)>; 4362*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_depth Int64Regs:$a), 4363*9880d681SAndroid Build Coastguard Worker (SUQ_DEPTH Int64Regs:$a)>; 4364*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_suq_array_size Int64Regs:$a), 4365*9880d681SAndroid Build Coastguard Worker (SUQ_ARRAY_SIZE Int64Regs:$a)>; 4366*9880d681SAndroid Build Coastguard Worker 4367*9880d681SAndroid Build Coastguard Worker 4368*9880d681SAndroid Build Coastguard Worker//===- Handle Query -------------------------------------------------------===// 4369*9880d681SAndroid Build Coastguard Worker 4370*9880d681SAndroid Build Coastguard Worker// TODO: These intrinsics are not yet finalized, pending PTX ISA design work 4371*9880d681SAndroid Build Coastguard Workerdef ISTYPEP_SAMPLER 4372*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 4373*9880d681SAndroid Build Coastguard Worker "istypep.samplerref \t$d, $a;", 4374*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_istypep_sampler Int64Regs:$a))]>; 4375*9880d681SAndroid Build Coastguard Workerdef ISTYPEP_SURFACE 4376*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 4377*9880d681SAndroid Build Coastguard Worker "istypep.surfref \t$d, $a;", 4378*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_istypep_surface Int64Regs:$a))]>; 4379*9880d681SAndroid Build Coastguard Workerdef ISTYPEP_TEXTURE 4380*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a), 4381*9880d681SAndroid Build Coastguard Worker "istypep.texref \t$d, $a;", 4382*9880d681SAndroid Build Coastguard Worker [(set Int1Regs:$d, (int_nvvm_istypep_texture Int64Regs:$a))]>; 4383*9880d681SAndroid Build Coastguard Worker 4384*9880d681SAndroid Build Coastguard Worker//===- Surface Stores -----------------------------------------------------===// 4385*9880d681SAndroid Build Coastguard Worker 4386*9880d681SAndroid Build Coastguard Workerlet IsSust = 1 in { 4387*9880d681SAndroid Build Coastguard Worker// Unformatted 4388*9880d681SAndroid Build Coastguard Worker// .clamp variant 4389*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B8_CLAMP 4390*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4391*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 4392*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b8.clamp \t[$s, \\{$x\\}], \\{$r\\};", 4393*9880d681SAndroid Build Coastguard Worker []>; 4394*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B16_CLAMP 4395*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4396*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 4397*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b16.clamp \t[$s, \\{$x\\}], \\{$r\\};", 4398*9880d681SAndroid Build Coastguard Worker []>; 4399*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B32_CLAMP 4400*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4401*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 4402*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b32.clamp \t[$s, \\{$x\\}], \\{$r\\};", 4403*9880d681SAndroid Build Coastguard Worker []>; 4404*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B64_CLAMP 4405*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4406*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 4407*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b64.clamp \t[$s, \\{$x\\}], \\{$r\\};", 4408*9880d681SAndroid Build Coastguard Worker []>; 4409*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B8_CLAMP 4410*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4411*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 4412*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b8.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};", 4413*9880d681SAndroid Build Coastguard Worker []>; 4414*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B16_CLAMP 4415*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4416*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 4417*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b16.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};", 4418*9880d681SAndroid Build Coastguard Worker []>; 4419*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B32_CLAMP 4420*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4421*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 4422*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b32.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};", 4423*9880d681SAndroid Build Coastguard Worker []>; 4424*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B64_CLAMP 4425*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4426*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 4427*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b64.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};", 4428*9880d681SAndroid Build Coastguard Worker []>; 4429*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B8_CLAMP 4430*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4431*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 4432*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 4433*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b8.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4434*9880d681SAndroid Build Coastguard Worker []>; 4435*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B16_CLAMP 4436*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4437*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 4438*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 4439*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b16.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4440*9880d681SAndroid Build Coastguard Worker []>; 4441*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B32_CLAMP 4442*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4443*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g, 4444*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 4445*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b32.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4446*9880d681SAndroid Build Coastguard Worker []>; 4447*9880d681SAndroid Build Coastguard Worker 4448*9880d681SAndroid Build Coastguard Worker 4449*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B8_CLAMP 4450*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4451*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 4452*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b8.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4453*9880d681SAndroid Build Coastguard Worker []>; 4454*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B16_CLAMP 4455*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4456*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 4457*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b16.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4458*9880d681SAndroid Build Coastguard Worker []>; 4459*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B32_CLAMP 4460*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4461*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r), 4462*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b32.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4463*9880d681SAndroid Build Coastguard Worker []>; 4464*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B64_CLAMP 4465*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4466*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r), 4467*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b64.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4468*9880d681SAndroid Build Coastguard Worker []>; 4469*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B8_CLAMP 4470*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4471*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4472*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4473*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b8.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4474*9880d681SAndroid Build Coastguard Worker []>; 4475*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B16_CLAMP 4476*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4477*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4478*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4479*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b16.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4480*9880d681SAndroid Build Coastguard Worker []>; 4481*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B32_CLAMP 4482*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4483*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 4484*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 4485*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b32.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4486*9880d681SAndroid Build Coastguard Worker []>; 4487*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B64_CLAMP 4488*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4489*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r, 4490*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 4491*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b64.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4492*9880d681SAndroid Build Coastguard Worker []>; 4493*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B8_CLAMP 4494*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4495*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4496*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4497*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b8.clamp \t[$s, \\{$idx, $x\\}], " 4498*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4499*9880d681SAndroid Build Coastguard Worker []>; 4500*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B16_CLAMP 4501*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4502*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4503*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4504*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b16.clamp \t[$s, \\{$idx, $x\\}], " 4505*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4506*9880d681SAndroid Build Coastguard Worker []>; 4507*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B32_CLAMP 4508*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4509*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 4510*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4511*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b32.clamp \t[$s, \\{$idx, $x\\}], " 4512*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4513*9880d681SAndroid Build Coastguard Worker []>; 4514*9880d681SAndroid Build Coastguard Worker 4515*9880d681SAndroid Build Coastguard Worker 4516*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B8_CLAMP 4517*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4518*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 4519*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b8.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};", 4520*9880d681SAndroid Build Coastguard Worker []>; 4521*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B16_CLAMP 4522*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4523*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 4524*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b16.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};", 4525*9880d681SAndroid Build Coastguard Worker []>; 4526*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B32_CLAMP 4527*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4528*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 4529*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b32.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};", 4530*9880d681SAndroid Build Coastguard Worker []>; 4531*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B64_CLAMP 4532*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4533*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 4534*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b64.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};", 4535*9880d681SAndroid Build Coastguard Worker []>; 4536*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B8_CLAMP 4537*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4538*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4539*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4540*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b8.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4541*9880d681SAndroid Build Coastguard Worker []>; 4542*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B16_CLAMP 4543*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4544*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4545*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4546*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b16.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4547*9880d681SAndroid Build Coastguard Worker []>; 4548*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B32_CLAMP 4549*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4550*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 4551*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 4552*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b32.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4553*9880d681SAndroid Build Coastguard Worker []>; 4554*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B64_CLAMP 4555*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4556*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 4557*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 4558*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b64.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4559*9880d681SAndroid Build Coastguard Worker []>; 4560*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B8_CLAMP 4561*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4562*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4563*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4564*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b8.clamp \t[$s, \\{$x, $y\\}], " 4565*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4566*9880d681SAndroid Build Coastguard Worker []>; 4567*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B16_CLAMP 4568*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4569*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4570*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4571*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b16.clamp \t[$s, \\{$x, $y\\}], " 4572*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4573*9880d681SAndroid Build Coastguard Worker []>; 4574*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B32_CLAMP 4575*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4576*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 4577*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4578*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b32.clamp \t[$s, \\{$x, $y\\}], " 4579*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4580*9880d681SAndroid Build Coastguard Worker []>; 4581*9880d681SAndroid Build Coastguard Worker 4582*9880d681SAndroid Build Coastguard Worker 4583*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B8_CLAMP 4584*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4585*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4586*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4587*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4588*9880d681SAndroid Build Coastguard Worker []>; 4589*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B16_CLAMP 4590*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4591*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4592*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4593*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4594*9880d681SAndroid Build Coastguard Worker []>; 4595*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B32_CLAMP 4596*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4597*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4598*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 4599*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4600*9880d681SAndroid Build Coastguard Worker []>; 4601*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B64_CLAMP 4602*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4603*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4604*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 4605*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b64.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4606*9880d681SAndroid Build Coastguard Worker []>; 4607*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B8_CLAMP 4608*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4609*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4610*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4611*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4612*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4613*9880d681SAndroid Build Coastguard Worker []>; 4614*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B16_CLAMP 4615*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4616*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4617*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4618*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4619*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4620*9880d681SAndroid Build Coastguard Worker []>; 4621*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B32_CLAMP 4622*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4623*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4624*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 4625*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4626*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4627*9880d681SAndroid Build Coastguard Worker []>; 4628*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B64_CLAMP 4629*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4630*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4631*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 4632*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b64.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4633*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4634*9880d681SAndroid Build Coastguard Worker []>; 4635*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B8_CLAMP 4636*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4637*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4638*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4639*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4640*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4641*9880d681SAndroid Build Coastguard Worker []>; 4642*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B16_CLAMP 4643*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4644*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4645*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4646*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4647*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4648*9880d681SAndroid Build Coastguard Worker []>; 4649*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B32_CLAMP 4650*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4651*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4652*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4653*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], " 4654*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4655*9880d681SAndroid Build Coastguard Worker []>; 4656*9880d681SAndroid Build Coastguard Worker 4657*9880d681SAndroid Build Coastguard Worker 4658*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B8_CLAMP 4659*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4660*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4661*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4662*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 4663*9880d681SAndroid Build Coastguard Worker []>; 4664*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B16_CLAMP 4665*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4666*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4667*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4668*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 4669*9880d681SAndroid Build Coastguard Worker []>; 4670*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B32_CLAMP 4671*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4672*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4673*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 4674*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 4675*9880d681SAndroid Build Coastguard Worker []>; 4676*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B64_CLAMP 4677*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4678*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4679*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 4680*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b64.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 4681*9880d681SAndroid Build Coastguard Worker []>; 4682*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B8_CLAMP 4683*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4684*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4685*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4686*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4687*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4688*9880d681SAndroid Build Coastguard Worker []>; 4689*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B16_CLAMP 4690*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4691*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4692*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4693*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4694*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4695*9880d681SAndroid Build Coastguard Worker []>; 4696*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B32_CLAMP 4697*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4698*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4699*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 4700*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4701*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4702*9880d681SAndroid Build Coastguard Worker []>; 4703*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B64_CLAMP 4704*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4705*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4706*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 4707*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b64.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4708*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4709*9880d681SAndroid Build Coastguard Worker []>; 4710*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B8_CLAMP 4711*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4712*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4713*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4714*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4715*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4716*9880d681SAndroid Build Coastguard Worker []>; 4717*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B16_CLAMP 4718*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4719*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4720*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4721*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4722*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4723*9880d681SAndroid Build Coastguard Worker []>; 4724*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B32_CLAMP 4725*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4726*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 4727*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4728*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], " 4729*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4730*9880d681SAndroid Build Coastguard Worker []>; 4731*9880d681SAndroid Build Coastguard Worker 4732*9880d681SAndroid Build Coastguard Worker 4733*9880d681SAndroid Build Coastguard Worker// .trap variant 4734*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B8_TRAP 4735*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4736*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 4737*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b8.trap \t[$s, \\{$x\\}], \\{$r\\};", 4738*9880d681SAndroid Build Coastguard Worker []>; 4739*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B16_TRAP 4740*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4741*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 4742*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b16.trap \t[$s, \\{$x\\}], \\{$r\\};", 4743*9880d681SAndroid Build Coastguard Worker []>; 4744*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B32_TRAP 4745*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4746*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 4747*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b32.trap \t[$s, \\{$x\\}], \\{$r\\};", 4748*9880d681SAndroid Build Coastguard Worker []>; 4749*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B64_TRAP 4750*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4751*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 4752*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b64.trap \t[$s, \\{$x\\}], \\{$r\\};", 4753*9880d681SAndroid Build Coastguard Worker []>; 4754*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B8_TRAP 4755*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4756*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 4757*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b8.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 4758*9880d681SAndroid Build Coastguard Worker []>; 4759*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B16_TRAP 4760*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4761*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 4762*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b16.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 4763*9880d681SAndroid Build Coastguard Worker []>; 4764*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B32_TRAP 4765*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4766*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 4767*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b32.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 4768*9880d681SAndroid Build Coastguard Worker []>; 4769*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B64_TRAP 4770*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4771*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 4772*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b64.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 4773*9880d681SAndroid Build Coastguard Worker []>; 4774*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B8_TRAP 4775*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4776*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 4777*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 4778*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b8.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4779*9880d681SAndroid Build Coastguard Worker []>; 4780*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B16_TRAP 4781*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4782*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 4783*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 4784*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b16.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4785*9880d681SAndroid Build Coastguard Worker []>; 4786*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B32_TRAP 4787*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4788*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g, 4789*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 4790*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b32.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 4791*9880d681SAndroid Build Coastguard Worker []>; 4792*9880d681SAndroid Build Coastguard Worker 4793*9880d681SAndroid Build Coastguard Worker 4794*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B8_TRAP 4795*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4796*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 4797*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4798*9880d681SAndroid Build Coastguard Worker []>; 4799*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B16_TRAP 4800*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4801*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 4802*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4803*9880d681SAndroid Build Coastguard Worker []>; 4804*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B32_TRAP 4805*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4806*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r), 4807*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4808*9880d681SAndroid Build Coastguard Worker []>; 4809*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B64_TRAP 4810*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4811*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r), 4812*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b64.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 4813*9880d681SAndroid Build Coastguard Worker []>; 4814*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B8_TRAP 4815*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4816*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4817*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4818*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4819*9880d681SAndroid Build Coastguard Worker []>; 4820*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B16_TRAP 4821*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4822*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4823*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4824*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4825*9880d681SAndroid Build Coastguard Worker []>; 4826*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B32_TRAP 4827*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4828*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 4829*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 4830*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4831*9880d681SAndroid Build Coastguard Worker []>; 4832*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B64_TRAP 4833*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4834*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r, 4835*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 4836*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b64.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 4837*9880d681SAndroid Build Coastguard Worker []>; 4838*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B8_TRAP 4839*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4840*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4841*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4842*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b8.trap \t[$s, \\{$idx, $x\\}], " 4843*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4844*9880d681SAndroid Build Coastguard Worker []>; 4845*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B16_TRAP 4846*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4847*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 4848*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4849*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b16.trap \t[$s, \\{$idx, $x\\}], " 4850*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4851*9880d681SAndroid Build Coastguard Worker []>; 4852*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B32_TRAP 4853*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4854*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 4855*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4856*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b32.trap \t[$s, \\{$idx, $x\\}], " 4857*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4858*9880d681SAndroid Build Coastguard Worker []>; 4859*9880d681SAndroid Build Coastguard Worker 4860*9880d681SAndroid Build Coastguard Worker 4861*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B8_TRAP 4862*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4863*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 4864*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b8.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 4865*9880d681SAndroid Build Coastguard Worker []>; 4866*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B16_TRAP 4867*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4868*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 4869*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b16.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 4870*9880d681SAndroid Build Coastguard Worker []>; 4871*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B32_TRAP 4872*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4873*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 4874*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b32.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 4875*9880d681SAndroid Build Coastguard Worker []>; 4876*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B64_TRAP 4877*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4878*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 4879*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b64.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 4880*9880d681SAndroid Build Coastguard Worker []>; 4881*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B8_TRAP 4882*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4883*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4884*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4885*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b8.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4886*9880d681SAndroid Build Coastguard Worker []>; 4887*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B16_TRAP 4888*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4889*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4890*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 4891*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b16.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4892*9880d681SAndroid Build Coastguard Worker []>; 4893*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B32_TRAP 4894*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4895*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 4896*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 4897*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b32.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4898*9880d681SAndroid Build Coastguard Worker []>; 4899*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B64_TRAP 4900*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4901*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 4902*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 4903*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b64.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 4904*9880d681SAndroid Build Coastguard Worker []>; 4905*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B8_TRAP 4906*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4907*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4908*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4909*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b8.trap \t[$s, \\{$x, $y\\}], " 4910*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4911*9880d681SAndroid Build Coastguard Worker []>; 4912*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B16_TRAP 4913*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4914*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 4915*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4916*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b16.trap \t[$s, \\{$x, $y\\}], " 4917*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4918*9880d681SAndroid Build Coastguard Worker []>; 4919*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B32_TRAP 4920*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4921*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 4922*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4923*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b32.trap \t[$s, \\{$x, $y\\}], " 4924*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4925*9880d681SAndroid Build Coastguard Worker []>; 4926*9880d681SAndroid Build Coastguard Worker 4927*9880d681SAndroid Build Coastguard Worker 4928*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B8_TRAP 4929*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4930*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4931*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4932*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4933*9880d681SAndroid Build Coastguard Worker []>; 4934*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B16_TRAP 4935*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4936*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4937*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 4938*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4939*9880d681SAndroid Build Coastguard Worker []>; 4940*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B32_TRAP 4941*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4942*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4943*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 4944*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4945*9880d681SAndroid Build Coastguard Worker []>; 4946*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B64_TRAP 4947*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4948*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4949*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 4950*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b64.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 4951*9880d681SAndroid Build Coastguard Worker []>; 4952*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B8_TRAP 4953*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4954*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4955*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4956*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4957*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4958*9880d681SAndroid Build Coastguard Worker []>; 4959*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B16_TRAP 4960*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4961*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4962*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 4963*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4964*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4965*9880d681SAndroid Build Coastguard Worker []>; 4966*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B32_TRAP 4967*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4968*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4969*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 4970*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4971*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4972*9880d681SAndroid Build Coastguard Worker []>; 4973*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B64_TRAP 4974*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4975*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4976*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 4977*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b64.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4978*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 4979*9880d681SAndroid Build Coastguard Worker []>; 4980*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B8_TRAP 4981*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4982*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4983*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4984*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4985*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4986*9880d681SAndroid Build Coastguard Worker []>; 4987*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B16_TRAP 4988*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4989*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4990*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 4991*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4992*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 4993*9880d681SAndroid Build Coastguard Worker []>; 4994*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B32_TRAP 4995*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 4996*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 4997*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 4998*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 4999*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5000*9880d681SAndroid Build Coastguard Worker []>; 5001*9880d681SAndroid Build Coastguard Worker 5002*9880d681SAndroid Build Coastguard Worker 5003*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B8_TRAP 5004*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5005*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5006*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5007*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5008*9880d681SAndroid Build Coastguard Worker []>; 5009*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B16_TRAP 5010*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5011*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5012*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5013*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5014*9880d681SAndroid Build Coastguard Worker []>; 5015*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B32_TRAP 5016*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5017*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5018*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5019*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5020*9880d681SAndroid Build Coastguard Worker []>; 5021*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B64_TRAP 5022*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5023*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5024*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 5025*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b64.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5026*9880d681SAndroid Build Coastguard Worker []>; 5027*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B8_TRAP 5028*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5029*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5030*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5031*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5032*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5033*9880d681SAndroid Build Coastguard Worker []>; 5034*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B16_TRAP 5035*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5036*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5037*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5038*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5039*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5040*9880d681SAndroid Build Coastguard Worker []>; 5041*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B32_TRAP 5042*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5043*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5044*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 5045*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5046*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5047*9880d681SAndroid Build Coastguard Worker []>; 5048*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B64_TRAP 5049*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5050*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5051*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 5052*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b64.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5053*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5054*9880d681SAndroid Build Coastguard Worker []>; 5055*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B8_TRAP 5056*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5057*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5058*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5059*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5060*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5061*9880d681SAndroid Build Coastguard Worker []>; 5062*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B16_TRAP 5063*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5064*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5065*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5066*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5067*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5068*9880d681SAndroid Build Coastguard Worker []>; 5069*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B32_TRAP 5070*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5071*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5072*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5073*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5074*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5075*9880d681SAndroid Build Coastguard Worker []>; 5076*9880d681SAndroid Build Coastguard Worker 5077*9880d681SAndroid Build Coastguard Worker 5078*9880d681SAndroid Build Coastguard Worker// .zero variant 5079*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B8_ZERO 5080*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5081*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5082*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b8.zero \t[$s, \\{$x\\}], \\{$r\\};", 5083*9880d681SAndroid Build Coastguard Worker []>; 5084*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B16_ZERO 5085*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5086*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5087*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b16.zero \t[$s, \\{$x\\}], \\{$r\\};", 5088*9880d681SAndroid Build Coastguard Worker []>; 5089*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B32_ZERO 5090*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5091*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 5092*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b32.zero \t[$s, \\{$x\\}], \\{$r\\};", 5093*9880d681SAndroid Build Coastguard Worker []>; 5094*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_B64_ZERO 5095*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5096*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 5097*9880d681SAndroid Build Coastguard Worker "sust.b.1d.b64.zero \t[$s, \\{$x\\}], \\{$r\\};", 5098*9880d681SAndroid Build Coastguard Worker []>; 5099*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B8_ZERO 5100*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5101*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5102*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b8.zero \t[$s, \\{$x\\}], \\{$r, $g\\};", 5103*9880d681SAndroid Build Coastguard Worker []>; 5104*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B16_ZERO 5105*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5106*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5107*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b16.zero \t[$s, \\{$x\\}], \\{$r, $g\\};", 5108*9880d681SAndroid Build Coastguard Worker []>; 5109*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B32_ZERO 5110*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5111*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 5112*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b32.zero \t[$s, \\{$x\\}], \\{$r, $g\\};", 5113*9880d681SAndroid Build Coastguard Worker []>; 5114*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V2B64_ZERO 5115*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5116*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 5117*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v2.b64.zero \t[$s, \\{$x\\}], \\{$r, $g\\};", 5118*9880d681SAndroid Build Coastguard Worker []>; 5119*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B8_ZERO 5120*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5121*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 5122*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 5123*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b8.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5124*9880d681SAndroid Build Coastguard Worker []>; 5125*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B16_ZERO 5126*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5127*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 5128*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 5129*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b16.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5130*9880d681SAndroid Build Coastguard Worker []>; 5131*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_V4B32_ZERO 5132*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5133*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g, 5134*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 5135*9880d681SAndroid Build Coastguard Worker "sust.b.1d.v4.b32.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5136*9880d681SAndroid Build Coastguard Worker []>; 5137*9880d681SAndroid Build Coastguard Worker 5138*9880d681SAndroid Build Coastguard Worker 5139*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B8_ZERO 5140*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5141*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 5142*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b8.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5143*9880d681SAndroid Build Coastguard Worker []>; 5144*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B16_ZERO 5145*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5146*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 5147*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b16.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5148*9880d681SAndroid Build Coastguard Worker []>; 5149*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B32_ZERO 5150*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5151*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r), 5152*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b32.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5153*9880d681SAndroid Build Coastguard Worker []>; 5154*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_B64_ZERO 5155*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5156*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r), 5157*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.b64.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5158*9880d681SAndroid Build Coastguard Worker []>; 5159*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B8_ZERO 5160*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5161*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5162*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5163*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b8.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5164*9880d681SAndroid Build Coastguard Worker []>; 5165*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B16_ZERO 5166*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5167*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5168*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5169*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b16.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5170*9880d681SAndroid Build Coastguard Worker []>; 5171*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B32_ZERO 5172*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5173*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 5174*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 5175*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b32.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5176*9880d681SAndroid Build Coastguard Worker []>; 5177*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V2B64_ZERO 5178*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5179*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r, 5180*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 5181*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v2.b64.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5182*9880d681SAndroid Build Coastguard Worker []>; 5183*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B8_ZERO 5184*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5185*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5186*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5187*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b8.zero \t[$s, \\{$idx, $x\\}], " 5188*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5189*9880d681SAndroid Build Coastguard Worker []>; 5190*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B16_ZERO 5191*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5192*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5193*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5194*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b16.zero \t[$s, \\{$idx, $x\\}], " 5195*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5196*9880d681SAndroid Build Coastguard Worker []>; 5197*9880d681SAndroid Build Coastguard Workerdef SUST_B_1D_ARRAY_V4B32_ZERO 5198*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5199*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 5200*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5201*9880d681SAndroid Build Coastguard Worker "sust.b.a1d.v4.b32.zero \t[$s, \\{$idx, $x\\}], " 5202*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5203*9880d681SAndroid Build Coastguard Worker []>; 5204*9880d681SAndroid Build Coastguard Worker 5205*9880d681SAndroid Build Coastguard Worker 5206*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B8_ZERO 5207*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5208*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5209*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b8.zero \t[$s, \\{$x, $y\\}], \\{$r\\};", 5210*9880d681SAndroid Build Coastguard Worker []>; 5211*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B16_ZERO 5212*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5213*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5214*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b16.zero \t[$s, \\{$x, $y\\}], \\{$r\\};", 5215*9880d681SAndroid Build Coastguard Worker []>; 5216*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B32_ZERO 5217*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5218*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 5219*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b32.zero \t[$s, \\{$x, $y\\}], \\{$r\\};", 5220*9880d681SAndroid Build Coastguard Worker []>; 5221*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_B64_ZERO 5222*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5223*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 5224*9880d681SAndroid Build Coastguard Worker "sust.b.2d.b64.zero \t[$s, \\{$x, $y\\}], \\{$r\\};", 5225*9880d681SAndroid Build Coastguard Worker []>; 5226*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B8_ZERO 5227*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5228*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5229*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5230*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b8.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5231*9880d681SAndroid Build Coastguard Worker []>; 5232*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B16_ZERO 5233*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5234*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5235*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5236*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b16.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5237*9880d681SAndroid Build Coastguard Worker []>; 5238*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B32_ZERO 5239*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5240*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 5241*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 5242*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b32.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5243*9880d681SAndroid Build Coastguard Worker []>; 5244*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V2B64_ZERO 5245*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5246*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 5247*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 5248*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v2.b64.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5249*9880d681SAndroid Build Coastguard Worker []>; 5250*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B8_ZERO 5251*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5252*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5253*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5254*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b8.zero \t[$s, \\{$x, $y\\}], " 5255*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5256*9880d681SAndroid Build Coastguard Worker []>; 5257*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B16_ZERO 5258*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5259*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5260*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5261*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b16.zero \t[$s, \\{$x, $y\\}], " 5262*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5263*9880d681SAndroid Build Coastguard Worker []>; 5264*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_V4B32_ZERO 5265*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5266*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 5267*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5268*9880d681SAndroid Build Coastguard Worker "sust.b.2d.v4.b32.zero \t[$s, \\{$x, $y\\}], " 5269*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5270*9880d681SAndroid Build Coastguard Worker []>; 5271*9880d681SAndroid Build Coastguard Worker 5272*9880d681SAndroid Build Coastguard Worker 5273*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B8_ZERO 5274*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5275*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5276*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5277*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5278*9880d681SAndroid Build Coastguard Worker []>; 5279*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B16_ZERO 5280*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5281*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5282*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5283*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5284*9880d681SAndroid Build Coastguard Worker []>; 5285*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B32_ZERO 5286*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5287*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5288*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5289*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5290*9880d681SAndroid Build Coastguard Worker []>; 5291*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_B64_ZERO 5292*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5293*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5294*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 5295*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.b64.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5296*9880d681SAndroid Build Coastguard Worker []>; 5297*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B8_ZERO 5298*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5299*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5300*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5301*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5302*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5303*9880d681SAndroid Build Coastguard Worker []>; 5304*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B16_ZERO 5305*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5306*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5307*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5308*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5309*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5310*9880d681SAndroid Build Coastguard Worker []>; 5311*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B32_ZERO 5312*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5313*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5314*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 5315*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5316*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5317*9880d681SAndroid Build Coastguard Worker []>; 5318*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V2B64_ZERO 5319*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5320*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5321*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 5322*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v2.b64.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5323*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5324*9880d681SAndroid Build Coastguard Worker []>; 5325*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B8_ZERO 5326*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5327*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5328*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5329*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5330*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5331*9880d681SAndroid Build Coastguard Worker []>; 5332*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B16_ZERO 5333*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5334*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5335*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5336*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5337*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5338*9880d681SAndroid Build Coastguard Worker []>; 5339*9880d681SAndroid Build Coastguard Workerdef SUST_B_2D_ARRAY_V4B32_ZERO 5340*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5341*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5342*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5343*9880d681SAndroid Build Coastguard Worker "sust.b.a2d.v4.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], " 5344*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5345*9880d681SAndroid Build Coastguard Worker []>; 5346*9880d681SAndroid Build Coastguard Worker 5347*9880d681SAndroid Build Coastguard Worker 5348*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B8_ZERO 5349*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5350*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5351*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5352*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5353*9880d681SAndroid Build Coastguard Worker []>; 5354*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B16_ZERO 5355*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5356*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5357*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5358*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5359*9880d681SAndroid Build Coastguard Worker []>; 5360*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B32_ZERO 5361*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5362*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5363*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5364*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5365*9880d681SAndroid Build Coastguard Worker []>; 5366*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_B64_ZERO 5367*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5368*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5369*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 5370*9880d681SAndroid Build Coastguard Worker "sust.b.3d.b64.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5371*9880d681SAndroid Build Coastguard Worker []>; 5372*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B8_ZERO 5373*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5374*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5375*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5376*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5377*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5378*9880d681SAndroid Build Coastguard Worker []>; 5379*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B16_ZERO 5380*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5381*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5382*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5383*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5384*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5385*9880d681SAndroid Build Coastguard Worker []>; 5386*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B32_ZERO 5387*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5388*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5389*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 5390*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5391*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5392*9880d681SAndroid Build Coastguard Worker []>; 5393*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V2B64_ZERO 5394*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5395*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5396*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 5397*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v2.b64.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5398*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5399*9880d681SAndroid Build Coastguard Worker []>; 5400*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B8_ZERO 5401*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5402*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5403*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5404*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5405*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5406*9880d681SAndroid Build Coastguard Worker []>; 5407*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B16_ZERO 5408*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5409*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5410*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5411*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5412*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5413*9880d681SAndroid Build Coastguard Worker []>; 5414*9880d681SAndroid Build Coastguard Workerdef SUST_B_3D_V4B32_ZERO 5415*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5416*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5417*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5418*9880d681SAndroid Build Coastguard Worker "sust.b.3d.v4.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], " 5419*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5420*9880d681SAndroid Build Coastguard Worker []>; 5421*9880d681SAndroid Build Coastguard Worker 5422*9880d681SAndroid Build Coastguard Worker 5423*9880d681SAndroid Build Coastguard Worker 5424*9880d681SAndroid Build Coastguard Worker// Formatted 5425*9880d681SAndroid Build Coastguard Worker 5426*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_B8_TRAP 5427*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5428*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5429*9880d681SAndroid Build Coastguard Worker "sust.p.1d.b8.trap \t[$s, \\{$x\\}], \\{$r\\};", 5430*9880d681SAndroid Build Coastguard Worker []>; 5431*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_B16_TRAP 5432*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5433*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5434*9880d681SAndroid Build Coastguard Worker "sust.p.1d.b16.trap \t[$s, \\{$x\\}], \\{$r\\};", 5435*9880d681SAndroid Build Coastguard Worker []>; 5436*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_B32_TRAP 5437*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5438*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 5439*9880d681SAndroid Build Coastguard Worker "sust.p.1d.b32.trap \t[$s, \\{$x\\}], \\{$r\\};", 5440*9880d681SAndroid Build Coastguard Worker []>; 5441*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V2B8_TRAP 5442*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5443*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5444*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v2.b8.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 5445*9880d681SAndroid Build Coastguard Worker []>; 5446*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V2B16_TRAP 5447*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5448*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5449*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v2.b16.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 5450*9880d681SAndroid Build Coastguard Worker []>; 5451*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V2B32_TRAP 5452*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5453*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 5454*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v2.b32.trap \t[$s, \\{$x\\}], \\{$r, $g\\};", 5455*9880d681SAndroid Build Coastguard Worker []>; 5456*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V4B8_TRAP 5457*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5458*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 5459*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 5460*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v4.b8.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5461*9880d681SAndroid Build Coastguard Worker []>; 5462*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V4B16_TRAP 5463*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5464*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g, 5465*9880d681SAndroid Build Coastguard Worker Int16Regs:$b, Int16Regs:$a), 5466*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v4.b16.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5467*9880d681SAndroid Build Coastguard Worker []>; 5468*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_V4B32_TRAP 5469*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5470*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g, 5471*9880d681SAndroid Build Coastguard Worker Int32Regs:$b, Int32Regs:$a), 5472*9880d681SAndroid Build Coastguard Worker "sust.p.1d.v4.b32.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};", 5473*9880d681SAndroid Build Coastguard Worker []>; 5474*9880d681SAndroid Build Coastguard Worker 5475*9880d681SAndroid Build Coastguard Worker 5476*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_B8_TRAP 5477*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5478*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 5479*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5480*9880d681SAndroid Build Coastguard Worker []>; 5481*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_B16_TRAP 5482*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5483*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r), 5484*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5485*9880d681SAndroid Build Coastguard Worker []>; 5486*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_B32_TRAP 5487*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5488*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r), 5489*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};", 5490*9880d681SAndroid Build Coastguard Worker []>; 5491*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V2B8_TRAP 5492*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5493*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5494*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5495*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v2.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5496*9880d681SAndroid Build Coastguard Worker []>; 5497*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V2B16_TRAP 5498*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5499*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5500*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5501*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v2.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5502*9880d681SAndroid Build Coastguard Worker []>; 5503*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V2B32_TRAP 5504*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5505*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 5506*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 5507*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v2.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};", 5508*9880d681SAndroid Build Coastguard Worker []>; 5509*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V4B8_TRAP 5510*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5511*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5512*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5513*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v4.b8.trap \t[$s, \\{$idx, $x\\}], " 5514*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5515*9880d681SAndroid Build Coastguard Worker []>; 5516*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V4B16_TRAP 5517*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5518*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r, 5519*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5520*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v4.b16.trap \t[$s, \\{$idx, $x\\}], " 5521*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5522*9880d681SAndroid Build Coastguard Worker []>; 5523*9880d681SAndroid Build Coastguard Workerdef SUST_P_1D_ARRAY_V4B32_TRAP 5524*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5525*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r, 5526*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5527*9880d681SAndroid Build Coastguard Worker "sust.p.a1d.v4.b32.trap \t[$s, \\{$idx, $x\\}], " 5528*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5529*9880d681SAndroid Build Coastguard Worker []>; 5530*9880d681SAndroid Build Coastguard Worker 5531*9880d681SAndroid Build Coastguard Worker 5532*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_B8_TRAP 5533*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5534*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5535*9880d681SAndroid Build Coastguard Worker "sust.p.2d.b8.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 5536*9880d681SAndroid Build Coastguard Worker []>; 5537*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_B16_TRAP 5538*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5539*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5540*9880d681SAndroid Build Coastguard Worker "sust.p.2d.b16.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 5541*9880d681SAndroid Build Coastguard Worker []>; 5542*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_B32_TRAP 5543*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5544*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 5545*9880d681SAndroid Build Coastguard Worker "sust.p.2d.b32.trap \t[$s, \\{$x, $y\\}], \\{$r\\};", 5546*9880d681SAndroid Build Coastguard Worker []>; 5547*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V2B8_TRAP 5548*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5549*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5550*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5551*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v2.b8.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5552*9880d681SAndroid Build Coastguard Worker []>; 5553*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V2B16_TRAP 5554*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5555*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5556*9880d681SAndroid Build Coastguard Worker Int16Regs:$g), 5557*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v2.b16.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5558*9880d681SAndroid Build Coastguard Worker []>; 5559*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V2B32_TRAP 5560*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5561*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 5562*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 5563*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v2.b32.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};", 5564*9880d681SAndroid Build Coastguard Worker []>; 5565*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V4B8_TRAP 5566*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5567*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5568*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5569*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v4.b8.trap \t[$s, \\{$x, $y\\}], " 5570*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5571*9880d681SAndroid Build Coastguard Worker []>; 5572*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V4B16_TRAP 5573*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5574*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, 5575*9880d681SAndroid Build Coastguard Worker Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5576*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v4.b16.trap \t[$s, \\{$x, $y\\}], " 5577*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5578*9880d681SAndroid Build Coastguard Worker []>; 5579*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_V4B32_TRAP 5580*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5581*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 5582*9880d681SAndroid Build Coastguard Worker Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5583*9880d681SAndroid Build Coastguard Worker "sust.p.2d.v4.b32.trap \t[$s, \\{$x, $y\\}], " 5584*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5585*9880d681SAndroid Build Coastguard Worker []>; 5586*9880d681SAndroid Build Coastguard Worker 5587*9880d681SAndroid Build Coastguard Worker 5588*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_B8_TRAP 5589*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5590*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5591*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5592*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5593*9880d681SAndroid Build Coastguard Worker []>; 5594*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_B16_TRAP 5595*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5596*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5597*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5598*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5599*9880d681SAndroid Build Coastguard Worker []>; 5600*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_B32_TRAP 5601*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5602*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5603*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5604*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};", 5605*9880d681SAndroid Build Coastguard Worker []>; 5606*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V2B8_TRAP 5607*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5608*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5609*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5610*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v2.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5611*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5612*9880d681SAndroid Build Coastguard Worker []>; 5613*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V2B16_TRAP 5614*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5615*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5616*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5617*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v2.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5618*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5619*9880d681SAndroid Build Coastguard Worker []>; 5620*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V2B32_TRAP 5621*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5622*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5623*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 5624*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v2.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5625*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5626*9880d681SAndroid Build Coastguard Worker []>; 5627*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V4B8_TRAP 5628*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5629*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5630*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5631*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v4.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5632*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5633*9880d681SAndroid Build Coastguard Worker []>; 5634*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V4B16_TRAP 5635*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5636*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5637*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5638*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v4.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5639*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5640*9880d681SAndroid Build Coastguard Worker []>; 5641*9880d681SAndroid Build Coastguard Workerdef SUST_P_2D_ARRAY_V4B32_TRAP 5642*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5643*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y, 5644*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5645*9880d681SAndroid Build Coastguard Worker "sust.p.a2d.v4.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], " 5646*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5647*9880d681SAndroid Build Coastguard Worker []>; 5648*9880d681SAndroid Build Coastguard Worker 5649*9880d681SAndroid Build Coastguard Worker 5650*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_B8_TRAP 5651*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5652*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5653*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5654*9880d681SAndroid Build Coastguard Worker "sust.p.3d.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5655*9880d681SAndroid Build Coastguard Worker []>; 5656*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_B16_TRAP 5657*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5658*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5659*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5660*9880d681SAndroid Build Coastguard Worker "sust.p.3d.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5661*9880d681SAndroid Build Coastguard Worker []>; 5662*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_B32_TRAP 5663*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5664*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5665*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5666*9880d681SAndroid Build Coastguard Worker "sust.p.3d.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};", 5667*9880d681SAndroid Build Coastguard Worker []>; 5668*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V2B8_TRAP 5669*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5670*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5671*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5672*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v2.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5673*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5674*9880d681SAndroid Build Coastguard Worker []>; 5675*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V2B16_TRAP 5676*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5677*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5678*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5679*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v2.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5680*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5681*9880d681SAndroid Build Coastguard Worker []>; 5682*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V2B32_TRAP 5683*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5684*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5685*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 5686*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v2.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5687*9880d681SAndroid Build Coastguard Worker "\\{$r, $g\\};", 5688*9880d681SAndroid Build Coastguard Worker []>; 5689*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V4B8_TRAP 5690*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5691*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5692*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5693*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v4.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5694*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5695*9880d681SAndroid Build Coastguard Worker []>; 5696*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V4B16_TRAP 5697*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5698*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5699*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5700*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v4.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5701*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5702*9880d681SAndroid Build Coastguard Worker []>; 5703*9880d681SAndroid Build Coastguard Workerdef SUST_P_3D_V4B32_TRAP 5704*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs), 5705*9880d681SAndroid Build Coastguard Worker (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5706*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5707*9880d681SAndroid Build Coastguard Worker "sust.p.3d.v4.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], " 5708*9880d681SAndroid Build Coastguard Worker "\\{$r, $g, $b, $a\\};", 5709*9880d681SAndroid Build Coastguard Worker []>; 5710*9880d681SAndroid Build Coastguard Worker} 5711*9880d681SAndroid Build Coastguard Worker 5712*9880d681SAndroid Build Coastguard Worker// Surface store instruction patterns 5713*9880d681SAndroid Build Coastguard Worker// I'm not sure why we can't just include these in the instruction definitions, 5714*9880d681SAndroid Build Coastguard Worker// but TableGen complains of type errors :( 5715*9880d681SAndroid Build Coastguard Worker 5716*9880d681SAndroid Build Coastguard Worker// .clamp variant 5717*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i8_clamp 5718*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5719*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 5720*9880d681SAndroid Build Coastguard Worker 5721*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i16_clamp 5722*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 5723*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 5724*9880d681SAndroid Build Coastguard Worker 5725*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i32_clamp 5726*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 5727*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>; 5728*9880d681SAndroid Build Coastguard Worker 5729*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i64_clamp 5730*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 5731*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>; 5732*9880d681SAndroid Build Coastguard Worker 5733*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i8_clamp 5734*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5735*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B8_CLAMP Int64Regs:$s, Int32Regs:$x, 5736*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5737*9880d681SAndroid Build Coastguard Worker 5738*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i16_clamp 5739*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5740*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B16_CLAMP Int64Regs:$s, Int32Regs:$x, 5741*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5742*9880d681SAndroid Build Coastguard Worker 5743*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i32_clamp 5744*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 5745*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B32_CLAMP Int64Regs:$s, Int32Regs:$x, 5746*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 5747*9880d681SAndroid Build Coastguard Worker 5748*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i64_clamp 5749*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 5750*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B64_CLAMP Int64Regs:$s, Int32Regs:$x, 5751*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 5752*9880d681SAndroid Build Coastguard Worker 5753*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i8_clamp 5754*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 5755*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5756*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B8_CLAMP Int64Regs:$s, Int32Regs:$x, 5757*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5758*9880d681SAndroid Build Coastguard Worker 5759*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i16_clamp 5760*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 5761*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5762*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B16_CLAMP Int64Regs:$s, Int32Regs:$x, 5763*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5764*9880d681SAndroid Build Coastguard Worker 5765*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i32_clamp 5766*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 5767*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5768*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B32_CLAMP Int64Regs:$s, Int32Regs:$x, 5769*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 5770*9880d681SAndroid Build Coastguard Worker 5771*9880d681SAndroid Build Coastguard Worker 5772*9880d681SAndroid Build Coastguard Worker 5773*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i8_clamp 5774*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 5775*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5776*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5777*9880d681SAndroid Build Coastguard Worker 5778*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i16_clamp 5779*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 5780*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5781*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5782*9880d681SAndroid Build Coastguard Worker 5783*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i32_clamp 5784*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r), 5785*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5786*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 5787*9880d681SAndroid Build Coastguard Worker 5788*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i64_clamp 5789*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r), 5790*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B64_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5791*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 5792*9880d681SAndroid Build Coastguard Worker 5793*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i8_clamp 5794*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5795*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5796*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5797*9880d681SAndroid Build Coastguard Worker 5798*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i16_clamp 5799*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 5800*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5801*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5802*9880d681SAndroid Build Coastguard Worker 5803*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i32_clamp 5804*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 5805*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5806*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 5807*9880d681SAndroid Build Coastguard Worker 5808*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i64_clamp 5809*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 5810*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B64_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5811*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 5812*9880d681SAndroid Build Coastguard Worker 5813*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i8_clamp 5814*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5815*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5816*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5817*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5818*9880d681SAndroid Build Coastguard Worker 5819*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i16_clamp 5820*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5821*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5822*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5823*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5824*9880d681SAndroid Build Coastguard Worker 5825*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i32_clamp 5826*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5827*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5828*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 5829*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 5830*9880d681SAndroid Build Coastguard Worker 5831*9880d681SAndroid Build Coastguard Worker 5832*9880d681SAndroid Build Coastguard Worker 5833*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i8_clamp 5834*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5835*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5836*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5837*9880d681SAndroid Build Coastguard Worker 5838*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i16_clamp 5839*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5840*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5841*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5842*9880d681SAndroid Build Coastguard Worker 5843*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i32_clamp 5844*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 5845*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5846*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 5847*9880d681SAndroid Build Coastguard Worker 5848*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i64_clamp 5849*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 5850*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5851*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 5852*9880d681SAndroid Build Coastguard Worker 5853*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i8_clamp 5854*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 5855*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5856*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5857*9880d681SAndroid Build Coastguard Worker 5858*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i16_clamp 5859*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 5860*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5861*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5862*9880d681SAndroid Build Coastguard Worker 5863*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i32_clamp 5864*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g), 5865*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5866*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 5867*9880d681SAndroid Build Coastguard Worker 5868*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i64_clamp 5869*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g), 5870*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5871*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 5872*9880d681SAndroid Build Coastguard Worker 5873*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i8_clamp 5874*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5875*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5876*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5877*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5878*9880d681SAndroid Build Coastguard Worker 5879*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i16_clamp 5880*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5881*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5882*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5883*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5884*9880d681SAndroid Build Coastguard Worker 5885*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i32_clamp 5886*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5887*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5888*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 5889*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 5890*9880d681SAndroid Build Coastguard Worker 5891*9880d681SAndroid Build Coastguard Worker 5892*9880d681SAndroid Build Coastguard Worker 5893*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i8_clamp 5894*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5895*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B8_CLAMP Int64Regs:$s, 5896*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5897*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5898*9880d681SAndroid Build Coastguard Worker 5899*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i16_clamp 5900*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 5901*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B16_CLAMP Int64Regs:$s, 5902*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5903*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5904*9880d681SAndroid Build Coastguard Worker 5905*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i32_clamp 5906*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 5907*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B32_CLAMP Int64Regs:$s, 5908*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5909*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 5910*9880d681SAndroid Build Coastguard Worker 5911*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i64_clamp 5912*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 5913*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B64_CLAMP Int64Regs:$s, 5914*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5915*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 5916*9880d681SAndroid Build Coastguard Worker 5917*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i8_clamp 5918*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5919*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5920*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B8_CLAMP Int64Regs:$s, Int32Regs:$l, 5921*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 5922*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5923*9880d681SAndroid Build Coastguard Worker 5924*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i16_clamp 5925*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5926*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5927*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B16_CLAMP Int64Regs:$s, Int32Regs:$l, 5928*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 5929*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 5930*9880d681SAndroid Build Coastguard Worker 5931*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i32_clamp 5932*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 5933*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 5934*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B32_CLAMP Int64Regs:$s, Int32Regs:$l, 5935*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>; 5936*9880d681SAndroid Build Coastguard Worker 5937*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i64_clamp 5938*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 5939*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 5940*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B64_CLAMP Int64Regs:$s, Int32Regs:$l, 5941*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>; 5942*9880d681SAndroid Build Coastguard Worker 5943*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i8_clamp 5944*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5945*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5946*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B8_CLAMP Int64Regs:$s, 5947*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5948*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5949*9880d681SAndroid Build Coastguard Worker 5950*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i16_clamp 5951*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5952*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 5953*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B16_CLAMP Int64Regs:$s, 5954*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5955*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 5956*9880d681SAndroid Build Coastguard Worker 5957*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i32_clamp 5958*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 5959*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 5960*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B32_CLAMP Int64Regs:$s, Int32Regs:$l, 5961*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 5962*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 5963*9880d681SAndroid Build Coastguard Worker 5964*9880d681SAndroid Build Coastguard Worker 5965*9880d681SAndroid Build Coastguard Worker 5966*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i8_clamp 5967*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5968*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5969*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B8_CLAMP Int64Regs:$s, 5970*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5971*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5972*9880d681SAndroid Build Coastguard Worker 5973*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i16_clamp 5974*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5975*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 5976*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B16_CLAMP Int64Regs:$s, 5977*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5978*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 5979*9880d681SAndroid Build Coastguard Worker 5980*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i32_clamp 5981*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5982*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 5983*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B32_CLAMP Int64Regs:$s, 5984*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5985*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 5986*9880d681SAndroid Build Coastguard Worker 5987*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i64_clamp 5988*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5989*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 5990*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B64_CLAMP Int64Regs:$s, 5991*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5992*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 5993*9880d681SAndroid Build Coastguard Worker 5994*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i8_clamp 5995*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5996*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 5997*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B8_CLAMP Int64Regs:$s, 5998*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 5999*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6000*9880d681SAndroid Build Coastguard Worker 6001*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i16_clamp 6002*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6003*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6004*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B16_CLAMP Int64Regs:$s, 6005*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6006*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6007*9880d681SAndroid Build Coastguard Worker 6008*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i32_clamp 6009*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6010*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 6011*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B32_CLAMP Int64Regs:$s, 6012*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6013*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6014*9880d681SAndroid Build Coastguard Worker 6015*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i64_clamp 6016*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6017*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 6018*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B64_CLAMP Int64Regs:$s, 6019*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6020*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6021*9880d681SAndroid Build Coastguard Worker 6022*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i8_clamp 6023*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6024*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6025*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B8_CLAMP Int64Regs:$s, 6026*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6027*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6028*9880d681SAndroid Build Coastguard Worker 6029*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i16_clamp 6030*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6031*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6032*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B16_CLAMP Int64Regs:$s, 6033*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6034*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6035*9880d681SAndroid Build Coastguard Worker 6036*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i32_clamp 6037*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6038*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6039*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B32_CLAMP Int64Regs:$s, 6040*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6041*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6042*9880d681SAndroid Build Coastguard Worker 6043*9880d681SAndroid Build Coastguard Worker 6044*9880d681SAndroid Build Coastguard Worker// .trap variant 6045*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i8_trap 6046*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6047*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6048*9880d681SAndroid Build Coastguard Worker 6049*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i16_trap 6050*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6051*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6052*9880d681SAndroid Build Coastguard Worker 6053*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i32_trap 6054*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 6055*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>; 6056*9880d681SAndroid Build Coastguard Worker 6057*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i64_trap 6058*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 6059*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B64_TRAP Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>; 6060*9880d681SAndroid Build Coastguard Worker 6061*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i8_trap 6062*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6063*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, 6064*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6065*9880d681SAndroid Build Coastguard Worker 6066*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i16_trap 6067*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6068*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, 6069*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6070*9880d681SAndroid Build Coastguard Worker 6071*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i32_trap 6072*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6073*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, 6074*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6075*9880d681SAndroid Build Coastguard Worker 6076*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i64_trap 6077*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 6078*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B64_TRAP Int64Regs:$s, Int32Regs:$x, 6079*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6080*9880d681SAndroid Build Coastguard Worker 6081*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i8_trap 6082*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6083*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6084*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, 6085*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6086*9880d681SAndroid Build Coastguard Worker 6087*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i16_trap 6088*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6089*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6090*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, 6091*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6092*9880d681SAndroid Build Coastguard Worker 6093*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i32_trap 6094*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6095*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6096*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, 6097*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6098*9880d681SAndroid Build Coastguard Worker 6099*9880d681SAndroid Build Coastguard Worker 6100*9880d681SAndroid Build Coastguard Worker 6101*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i8_trap 6102*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6103*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6104*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6105*9880d681SAndroid Build Coastguard Worker 6106*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i16_trap 6107*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6108*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6109*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6110*9880d681SAndroid Build Coastguard Worker 6111*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i32_trap 6112*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r), 6113*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6114*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6115*9880d681SAndroid Build Coastguard Worker 6116*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i64_trap 6117*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r), 6118*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B64_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6119*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6120*9880d681SAndroid Build Coastguard Worker 6121*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i8_trap 6122*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6123*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6124*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6125*9880d681SAndroid Build Coastguard Worker 6126*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i16_trap 6127*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6128*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6129*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6130*9880d681SAndroid Build Coastguard Worker 6131*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i32_trap 6132*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6133*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6134*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6135*9880d681SAndroid Build Coastguard Worker 6136*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i64_trap 6137*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 6138*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B64_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6139*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6140*9880d681SAndroid Build Coastguard Worker 6141*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i8_trap 6142*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6143*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6144*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6145*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6146*9880d681SAndroid Build Coastguard Worker 6147*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i16_trap 6148*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6149*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6150*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6151*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6152*9880d681SAndroid Build Coastguard Worker 6153*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i32_trap 6154*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6155*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6156*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6157*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6158*9880d681SAndroid Build Coastguard Worker 6159*9880d681SAndroid Build Coastguard Worker 6160*9880d681SAndroid Build Coastguard Worker 6161*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i8_trap 6162*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6163*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6164*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6165*9880d681SAndroid Build Coastguard Worker 6166*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i16_trap 6167*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6168*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6169*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6170*9880d681SAndroid Build Coastguard Worker 6171*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i32_trap 6172*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6173*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6174*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6175*9880d681SAndroid Build Coastguard Worker 6176*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i64_trap 6177*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 6178*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B64_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6179*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6180*9880d681SAndroid Build Coastguard Worker 6181*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i8_trap 6182*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6183*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6184*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6185*9880d681SAndroid Build Coastguard Worker 6186*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i16_trap 6187*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6188*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6189*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6190*9880d681SAndroid Build Coastguard Worker 6191*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i32_trap 6192*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g), 6193*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6194*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6195*9880d681SAndroid Build Coastguard Worker 6196*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i64_trap 6197*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g), 6198*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B64_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6199*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6200*9880d681SAndroid Build Coastguard Worker 6201*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i8_trap 6202*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6203*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6204*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6205*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6206*9880d681SAndroid Build Coastguard Worker 6207*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i16_trap 6208*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6209*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6210*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6211*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6212*9880d681SAndroid Build Coastguard Worker 6213*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i32_trap 6214*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6215*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6216*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6217*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6218*9880d681SAndroid Build Coastguard Worker 6219*9880d681SAndroid Build Coastguard Worker 6220*9880d681SAndroid Build Coastguard Worker 6221*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i8_trap 6222*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6223*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B8_TRAP Int64Regs:$s, 6224*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6225*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6226*9880d681SAndroid Build Coastguard Worker 6227*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i16_trap 6228*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6229*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B16_TRAP Int64Regs:$s, 6230*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6231*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6232*9880d681SAndroid Build Coastguard Worker 6233*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i32_trap 6234*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6235*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B32_TRAP Int64Regs:$s, 6236*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6237*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6238*9880d681SAndroid Build Coastguard Worker 6239*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i64_trap 6240*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 6241*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B64_TRAP Int64Regs:$s, 6242*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6243*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6244*9880d681SAndroid Build Coastguard Worker 6245*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i8_trap 6246*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6247*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6248*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, 6249*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6250*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6251*9880d681SAndroid Build Coastguard Worker 6252*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i16_trap 6253*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6254*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6255*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, 6256*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6257*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6258*9880d681SAndroid Build Coastguard Worker 6259*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i32_trap 6260*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 6261*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 6262*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, 6263*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>; 6264*9880d681SAndroid Build Coastguard Worker 6265*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i64_trap 6266*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 6267*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 6268*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B64_TRAP Int64Regs:$s, Int32Regs:$l, 6269*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>; 6270*9880d681SAndroid Build Coastguard Worker 6271*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i8_trap 6272*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6273*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6274*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B8_TRAP Int64Regs:$s, 6275*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6276*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6277*9880d681SAndroid Build Coastguard Worker 6278*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i16_trap 6279*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6280*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6281*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B16_TRAP Int64Regs:$s, 6282*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6283*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6284*9880d681SAndroid Build Coastguard Worker 6285*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i32_trap 6286*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6287*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6288*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, 6289*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6290*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6291*9880d681SAndroid Build Coastguard Worker 6292*9880d681SAndroid Build Coastguard Worker 6293*9880d681SAndroid Build Coastguard Worker 6294*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i8_trap 6295*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6296*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6297*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B8_TRAP Int64Regs:$s, 6298*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6299*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6300*9880d681SAndroid Build Coastguard Worker 6301*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i16_trap 6302*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6303*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6304*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B16_TRAP Int64Regs:$s, 6305*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6306*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6307*9880d681SAndroid Build Coastguard Worker 6308*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i32_trap 6309*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6310*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 6311*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B32_TRAP Int64Regs:$s, 6312*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6313*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6314*9880d681SAndroid Build Coastguard Worker 6315*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i64_trap 6316*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6317*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 6318*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B64_TRAP Int64Regs:$s, 6319*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6320*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6321*9880d681SAndroid Build Coastguard Worker 6322*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i8_trap 6323*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6324*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6325*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B8_TRAP Int64Regs:$s, 6326*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6327*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6328*9880d681SAndroid Build Coastguard Worker 6329*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i16_trap 6330*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6331*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6332*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B16_TRAP Int64Regs:$s, 6333*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6334*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6335*9880d681SAndroid Build Coastguard Worker 6336*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i32_trap 6337*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6338*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 6339*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B32_TRAP Int64Regs:$s, 6340*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6341*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6342*9880d681SAndroid Build Coastguard Worker 6343*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i64_trap 6344*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6345*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 6346*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B64_TRAP Int64Regs:$s, 6347*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6348*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6349*9880d681SAndroid Build Coastguard Worker 6350*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i8_trap 6351*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6352*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6353*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B8_TRAP Int64Regs:$s, 6354*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6355*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6356*9880d681SAndroid Build Coastguard Worker 6357*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i16_trap 6358*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6359*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6360*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B16_TRAP Int64Regs:$s, 6361*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6362*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6363*9880d681SAndroid Build Coastguard Worker 6364*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i32_trap 6365*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6366*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6367*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B32_TRAP Int64Regs:$s, 6368*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6369*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6370*9880d681SAndroid Build Coastguard Worker 6371*9880d681SAndroid Build Coastguard Worker 6372*9880d681SAndroid Build Coastguard Worker// .zero variant 6373*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i8_zero 6374*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6375*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B8_ZERO Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6376*9880d681SAndroid Build Coastguard Worker 6377*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i16_zero 6378*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6379*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B16_ZERO Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6380*9880d681SAndroid Build Coastguard Worker 6381*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i32_zero 6382*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 6383*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>; 6384*9880d681SAndroid Build Coastguard Worker 6385*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_i64_zero 6386*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r), 6387*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_B64_ZERO Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>; 6388*9880d681SAndroid Build Coastguard Worker 6389*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i8_zero 6390*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6391*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B8_ZERO Int64Regs:$s, Int32Regs:$x, 6392*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6393*9880d681SAndroid Build Coastguard Worker 6394*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i16_zero 6395*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6396*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B16_ZERO Int64Regs:$s, Int32Regs:$x, 6397*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6398*9880d681SAndroid Build Coastguard Worker 6399*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i32_zero 6400*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6401*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B32_ZERO Int64Regs:$s, Int32Regs:$x, 6402*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6403*9880d681SAndroid Build Coastguard Worker 6404*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v2i64_zero 6405*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 6406*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V2B64_ZERO Int64Regs:$s, Int32Regs:$x, 6407*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6408*9880d681SAndroid Build Coastguard Worker 6409*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i8_zero 6410*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6411*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6412*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B8_ZERO Int64Regs:$s, Int32Regs:$x, 6413*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6414*9880d681SAndroid Build Coastguard Worker 6415*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i16_zero 6416*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6417*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6418*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B16_ZERO Int64Regs:$s, Int32Regs:$x, 6419*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6420*9880d681SAndroid Build Coastguard Worker 6421*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_v4i32_zero 6422*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6423*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6424*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_V4B32_ZERO Int64Regs:$s, Int32Regs:$x, 6425*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6426*9880d681SAndroid Build Coastguard Worker 6427*9880d681SAndroid Build Coastguard Worker 6428*9880d681SAndroid Build Coastguard Worker 6429*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i8_zero 6430*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6431*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6432*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6433*9880d681SAndroid Build Coastguard Worker 6434*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i16_zero 6435*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6436*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6437*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6438*9880d681SAndroid Build Coastguard Worker 6439*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i32_zero 6440*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r), 6441*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6442*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6443*9880d681SAndroid Build Coastguard Worker 6444*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_i64_zero 6445*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r), 6446*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_B64_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6447*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6448*9880d681SAndroid Build Coastguard Worker 6449*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i8_zero 6450*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6451*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6452*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6453*9880d681SAndroid Build Coastguard Worker 6454*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i16_zero 6455*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6456*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6457*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6458*9880d681SAndroid Build Coastguard Worker 6459*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i32_zero 6460*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6461*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6462*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6463*9880d681SAndroid Build Coastguard Worker 6464*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v2i64_zero 6465*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g), 6466*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V2B64_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6467*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6468*9880d681SAndroid Build Coastguard Worker 6469*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i8_zero 6470*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6471*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6472*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6473*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6474*9880d681SAndroid Build Coastguard Worker 6475*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i16_zero 6476*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6477*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6478*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6479*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6480*9880d681SAndroid Build Coastguard Worker 6481*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_1d_array_v4i32_zero 6482*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6483*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6484*9880d681SAndroid Build Coastguard Worker (SUST_B_1D_ARRAY_V4B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6485*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6486*9880d681SAndroid Build Coastguard Worker 6487*9880d681SAndroid Build Coastguard Worker 6488*9880d681SAndroid Build Coastguard Worker 6489*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i8_zero 6490*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6491*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6492*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6493*9880d681SAndroid Build Coastguard Worker 6494*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i16_zero 6495*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6496*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6497*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6498*9880d681SAndroid Build Coastguard Worker 6499*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i32_zero 6500*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6501*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6502*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6503*9880d681SAndroid Build Coastguard Worker 6504*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_i64_zero 6505*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 6506*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_B64_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6507*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6508*9880d681SAndroid Build Coastguard Worker 6509*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i8_zero 6510*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6511*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6512*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6513*9880d681SAndroid Build Coastguard Worker 6514*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i16_zero 6515*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6516*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6517*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6518*9880d681SAndroid Build Coastguard Worker 6519*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i32_zero 6520*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g), 6521*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6522*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6523*9880d681SAndroid Build Coastguard Worker 6524*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v2i64_zero 6525*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g), 6526*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V2B64_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6527*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6528*9880d681SAndroid Build Coastguard Worker 6529*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i8_zero 6530*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6531*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6532*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6533*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6534*9880d681SAndroid Build Coastguard Worker 6535*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i16_zero 6536*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6537*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6538*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6539*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6540*9880d681SAndroid Build Coastguard Worker 6541*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_v4i32_zero 6542*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6543*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6544*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_V4B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6545*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6546*9880d681SAndroid Build Coastguard Worker 6547*9880d681SAndroid Build Coastguard Worker 6548*9880d681SAndroid Build Coastguard Worker 6549*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i8_zero 6550*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6551*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B8_ZERO Int64Regs:$s, 6552*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6553*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6554*9880d681SAndroid Build Coastguard Worker 6555*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i16_zero 6556*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6557*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B16_ZERO Int64Regs:$s, 6558*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6559*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6560*9880d681SAndroid Build Coastguard Worker 6561*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i32_zero 6562*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6563*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B32_ZERO Int64Regs:$s, 6564*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6565*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6566*9880d681SAndroid Build Coastguard Worker 6567*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_i64_zero 6568*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r), 6569*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_B64_ZERO Int64Regs:$s, 6570*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6571*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6572*9880d681SAndroid Build Coastguard Worker 6573*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i8_zero 6574*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6575*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6576*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B8_ZERO Int64Regs:$s, Int32Regs:$l, 6577*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6578*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6579*9880d681SAndroid Build Coastguard Worker 6580*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i16_zero 6581*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6582*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6583*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B16_ZERO Int64Regs:$s, Int32Regs:$l, 6584*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6585*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6586*9880d681SAndroid Build Coastguard Worker 6587*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i32_zero 6588*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 6589*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 6590*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B32_ZERO Int64Regs:$s, Int32Regs:$l, 6591*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>; 6592*9880d681SAndroid Build Coastguard Worker 6593*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v2i64_zero 6594*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, 6595*9880d681SAndroid Build Coastguard Worker Int64Regs:$g), 6596*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V2B64_ZERO Int64Regs:$s, Int32Regs:$l, 6597*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>; 6598*9880d681SAndroid Build Coastguard Worker 6599*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i8_zero 6600*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6601*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6602*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B8_ZERO Int64Regs:$s, 6603*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6604*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6605*9880d681SAndroid Build Coastguard Worker 6606*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i16_zero 6607*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6608*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6609*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B16_ZERO Int64Regs:$s, 6610*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6611*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6612*9880d681SAndroid Build Coastguard Worker 6613*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_2d_array_v4i32_zero 6614*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6615*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6616*9880d681SAndroid Build Coastguard Worker (SUST_B_2D_ARRAY_V4B32_ZERO Int64Regs:$s, Int32Regs:$l, 6617*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6618*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6619*9880d681SAndroid Build Coastguard Worker 6620*9880d681SAndroid Build Coastguard Worker 6621*9880d681SAndroid Build Coastguard Worker 6622*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i8_zero 6623*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6624*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6625*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B8_ZERO Int64Regs:$s, 6626*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6627*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6628*9880d681SAndroid Build Coastguard Worker 6629*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i16_zero 6630*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6631*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6632*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B16_ZERO Int64Regs:$s, 6633*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6634*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6635*9880d681SAndroid Build Coastguard Worker 6636*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i32_zero 6637*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6638*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 6639*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B32_ZERO Int64Regs:$s, 6640*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6641*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6642*9880d681SAndroid Build Coastguard Worker 6643*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_i64_zero 6644*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6645*9880d681SAndroid Build Coastguard Worker Int64Regs:$r), 6646*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_B64_ZERO Int64Regs:$s, 6647*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6648*9880d681SAndroid Build Coastguard Worker Int64Regs:$r)>; 6649*9880d681SAndroid Build Coastguard Worker 6650*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i8_zero 6651*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6652*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6653*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B8_ZERO Int64Regs:$s, 6654*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6655*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6656*9880d681SAndroid Build Coastguard Worker 6657*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i16_zero 6658*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6659*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6660*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B16_ZERO Int64Regs:$s, 6661*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6662*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6663*9880d681SAndroid Build Coastguard Worker 6664*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i32_zero 6665*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6666*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 6667*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B32_ZERO Int64Regs:$s, 6668*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6669*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6670*9880d681SAndroid Build Coastguard Worker 6671*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v2i64_zero 6672*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6673*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g), 6674*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V2B64_ZERO Int64Regs:$s, 6675*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6676*9880d681SAndroid Build Coastguard Worker Int64Regs:$r, Int64Regs:$g)>; 6677*9880d681SAndroid Build Coastguard Worker 6678*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i8_zero 6679*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6680*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6681*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B8_ZERO Int64Regs:$s, 6682*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6683*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6684*9880d681SAndroid Build Coastguard Worker 6685*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i16_zero 6686*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6687*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6688*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B16_ZERO Int64Regs:$s, 6689*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6690*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6691*9880d681SAndroid Build Coastguard Worker 6692*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_b_3d_v4i32_zero 6693*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6694*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6695*9880d681SAndroid Build Coastguard Worker (SUST_B_3D_V4B32_ZERO Int64Regs:$s, 6696*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6697*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6698*9880d681SAndroid Build Coastguard Worker 6699*9880d681SAndroid Build Coastguard Worker 6700*9880d681SAndroid Build Coastguard Worker 6701*9880d681SAndroid Build Coastguard Worker 6702*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_i8_trap 6703*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6704*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6705*9880d681SAndroid Build Coastguard Worker 6706*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_i16_trap 6707*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r), 6708*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>; 6709*9880d681SAndroid Build Coastguard Worker 6710*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_i32_trap 6711*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r), 6712*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>; 6713*9880d681SAndroid Build Coastguard Worker 6714*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v2i8_trap 6715*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6716*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, 6717*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6718*9880d681SAndroid Build Coastguard Worker 6719*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v2i16_trap 6720*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6721*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, 6722*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6723*9880d681SAndroid Build Coastguard Worker 6724*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v2i32_trap 6725*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6726*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, 6727*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6728*9880d681SAndroid Build Coastguard Worker 6729*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v4i8_trap 6730*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6731*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6732*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, 6733*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6734*9880d681SAndroid Build Coastguard Worker 6735*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v4i16_trap 6736*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6737*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6738*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, 6739*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6740*9880d681SAndroid Build Coastguard Worker 6741*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_v4i32_trap 6742*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, 6743*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6744*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, 6745*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6746*9880d681SAndroid Build Coastguard Worker 6747*9880d681SAndroid Build Coastguard Worker 6748*9880d681SAndroid Build Coastguard Worker 6749*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_i8_trap 6750*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6751*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6752*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6753*9880d681SAndroid Build Coastguard Worker 6754*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_i16_trap 6755*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r), 6756*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6757*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6758*9880d681SAndroid Build Coastguard Worker 6759*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_i32_trap 6760*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r), 6761*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6762*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6763*9880d681SAndroid Build Coastguard Worker 6764*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v2i8_trap 6765*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6766*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6767*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6768*9880d681SAndroid Build Coastguard Worker 6769*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v2i16_trap 6770*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g), 6771*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6772*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6773*9880d681SAndroid Build Coastguard Worker 6774*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v2i32_trap 6775*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g), 6776*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6777*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6778*9880d681SAndroid Build Coastguard Worker 6779*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v4i8_trap 6780*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6781*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6782*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V4B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6783*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6784*9880d681SAndroid Build Coastguard Worker 6785*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v4i16_trap 6786*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6787*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6788*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V4B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6789*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6790*9880d681SAndroid Build Coastguard Worker 6791*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_1d_array_v4i32_trap 6792*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6793*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6794*9880d681SAndroid Build Coastguard Worker (SUST_P_1D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, 6795*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6796*9880d681SAndroid Build Coastguard Worker 6797*9880d681SAndroid Build Coastguard Worker 6798*9880d681SAndroid Build Coastguard Worker 6799*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_i8_trap 6800*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6801*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6802*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6803*9880d681SAndroid Build Coastguard Worker 6804*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_i16_trap 6805*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6806*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6807*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6808*9880d681SAndroid Build Coastguard Worker 6809*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_i32_trap 6810*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6811*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6812*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6813*9880d681SAndroid Build Coastguard Worker 6814*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v2i8_trap 6815*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6816*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6817*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6818*9880d681SAndroid Build Coastguard Worker 6819*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v2i16_trap 6820*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g), 6821*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6822*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6823*9880d681SAndroid Build Coastguard Worker 6824*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v2i32_trap 6825*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g), 6826*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6827*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6828*9880d681SAndroid Build Coastguard Worker 6829*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v4i8_trap 6830*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6831*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6832*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6833*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6834*9880d681SAndroid Build Coastguard Worker 6835*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v4i16_trap 6836*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6837*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6838*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6839*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6840*9880d681SAndroid Build Coastguard Worker 6841*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_v4i32_trap 6842*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6843*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6844*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, 6845*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6846*9880d681SAndroid Build Coastguard Worker 6847*9880d681SAndroid Build Coastguard Worker 6848*9880d681SAndroid Build Coastguard Worker 6849*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_i8_trap 6850*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6851*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_B8_TRAP Int64Regs:$s, 6852*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6853*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6854*9880d681SAndroid Build Coastguard Worker 6855*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_i16_trap 6856*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r), 6857*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_B16_TRAP Int64Regs:$s, 6858*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6859*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6860*9880d681SAndroid Build Coastguard Worker 6861*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_i32_trap 6862*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r), 6863*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_B32_TRAP Int64Regs:$s, 6864*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6865*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6866*9880d681SAndroid Build Coastguard Worker 6867*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v2i8_trap 6868*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6869*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6870*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, 6871*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6872*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6873*9880d681SAndroid Build Coastguard Worker 6874*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v2i16_trap 6875*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6876*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6877*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, 6878*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6879*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6880*9880d681SAndroid Build Coastguard Worker 6881*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v2i32_trap 6882*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, 6883*9880d681SAndroid Build Coastguard Worker Int32Regs:$g), 6884*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, 6885*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>; 6886*9880d681SAndroid Build Coastguard Worker 6887*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v4i8_trap 6888*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6889*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6890*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V4B8_TRAP Int64Regs:$s, 6891*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6892*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6893*9880d681SAndroid Build Coastguard Worker 6894*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v4i16_trap 6895*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6896*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6897*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V4B16_TRAP Int64Regs:$s, 6898*9880d681SAndroid Build Coastguard Worker Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6899*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6900*9880d681SAndroid Build Coastguard Worker 6901*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_2d_array_v4i32_trap 6902*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, 6903*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6904*9880d681SAndroid Build Coastguard Worker (SUST_P_2D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, 6905*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, 6906*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6907*9880d681SAndroid Build Coastguard Worker 6908*9880d681SAndroid Build Coastguard Worker 6909*9880d681SAndroid Build Coastguard Worker 6910*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_i8_trap 6911*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6912*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6913*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_B8_TRAP Int64Regs:$s, 6914*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6915*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6916*9880d681SAndroid Build Coastguard Worker 6917*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_i16_trap 6918*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6919*9880d681SAndroid Build Coastguard Worker Int16Regs:$r), 6920*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_B16_TRAP Int64Regs:$s, 6921*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6922*9880d681SAndroid Build Coastguard Worker Int16Regs:$r)>; 6923*9880d681SAndroid Build Coastguard Worker 6924*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_i32_trap 6925*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6926*9880d681SAndroid Build Coastguard Worker Int32Regs:$r), 6927*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_B32_TRAP Int64Regs:$s, 6928*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6929*9880d681SAndroid Build Coastguard Worker Int32Regs:$r)>; 6930*9880d681SAndroid Build Coastguard Worker 6931*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v2i8_trap 6932*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6933*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6934*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V2B8_TRAP Int64Regs:$s, 6935*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6936*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6937*9880d681SAndroid Build Coastguard Worker 6938*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v2i16_trap 6939*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6940*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g), 6941*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V2B16_TRAP Int64Regs:$s, 6942*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6943*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g)>; 6944*9880d681SAndroid Build Coastguard Worker 6945*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v2i32_trap 6946*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6947*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g), 6948*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V2B32_TRAP Int64Regs:$s, 6949*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6950*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g)>; 6951*9880d681SAndroid Build Coastguard Worker 6952*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v4i8_trap 6953*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6954*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6955*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V4B8_TRAP Int64Regs:$s, 6956*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6957*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6958*9880d681SAndroid Build Coastguard Worker 6959*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v4i16_trap 6960*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6961*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a), 6962*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V4B16_TRAP Int64Regs:$s, 6963*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6964*9880d681SAndroid Build Coastguard Worker Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>; 6965*9880d681SAndroid Build Coastguard Worker 6966*9880d681SAndroid Build Coastguard Workerdef : Pat<(int_nvvm_sust_p_3d_v4i32_trap 6967*9880d681SAndroid Build Coastguard Worker Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6968*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a), 6969*9880d681SAndroid Build Coastguard Worker (SUST_P_3D_V4B32_TRAP Int64Regs:$s, 6970*9880d681SAndroid Build Coastguard Worker Int32Regs:$x, Int32Regs:$y, Int32Regs:$z, 6971*9880d681SAndroid Build Coastguard Worker Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>; 6972*9880d681SAndroid Build Coastguard Worker 6973*9880d681SAndroid Build Coastguard Worker//----------------------------------- 6974*9880d681SAndroid Build Coastguard Worker// Read Special Registers 6975*9880d681SAndroid Build Coastguard Worker//----------------------------------- 6976*9880d681SAndroid Build Coastguard Worker 6977*9880d681SAndroid Build Coastguard Workerclass PTX_READ_SREG_R64<string regname, Intrinsic intop> 6978*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int64Regs:$d), (ins), 6979*9880d681SAndroid Build Coastguard Worker !strconcat(!strconcat("mov.u64\t$d, %", regname), ";"), 6980*9880d681SAndroid Build Coastguard Worker [(set Int64Regs:$d, (intop))]>; 6981*9880d681SAndroid Build Coastguard Worker 6982*9880d681SAndroid Build Coastguard Workerclass PTX_READ_SREG_R32<string regname, Intrinsic intop> 6983*9880d681SAndroid Build Coastguard Worker : NVPTXInst<(outs Int32Regs:$d), (ins), 6984*9880d681SAndroid Build Coastguard Worker !strconcat(!strconcat("mov.u32\t$d, %", regname), ";"), 6985*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$d, (intop))]>; 6986*9880d681SAndroid Build Coastguard Worker 6987*9880d681SAndroid Build Coastguard Worker// TODO Add read vector-version of special registers 6988*9880d681SAndroid Build Coastguard Worker 6989*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_TID_X : 6990*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"tid.x", int_nvvm_read_ptx_sreg_tid_x>; 6991*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_TID_Y : 6992*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"tid.y", int_nvvm_read_ptx_sreg_tid_y>; 6993*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_TID_Z : 6994*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"tid.z", int_nvvm_read_ptx_sreg_tid_z>; 6995*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_TID_W : 6996*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"tid.w", int_nvvm_read_ptx_sreg_tid_w>; 6997*9880d681SAndroid Build Coastguard Worker 6998*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NTID_X : 6999*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ntid.x", int_nvvm_read_ptx_sreg_ntid_x>; 7000*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NTID_Y : 7001*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ntid.y", int_nvvm_read_ptx_sreg_ntid_y>; 7002*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NTID_Z : 7003*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ntid.z", int_nvvm_read_ptx_sreg_ntid_z>; 7004*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NTID_W : 7005*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ntid.w", int_nvvm_read_ptx_sreg_ntid_w>; 7006*9880d681SAndroid Build Coastguard Worker 7007*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEID : 7008*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"laneid", int_nvvm_read_ptx_sreg_laneid>; 7009*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_WARPID : 7010*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"warpid", int_nvvm_read_ptx_sreg_warpid>; 7011*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NWARPID : 7012*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nwarpid", int_nvvm_read_ptx_sreg_nwarpid>; 7013*9880d681SAndroid Build Coastguard Worker 7014*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CTAID_X : 7015*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ctaid.x", int_nvvm_read_ptx_sreg_ctaid_x>; 7016*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CTAID_Y : 7017*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ctaid.y", int_nvvm_read_ptx_sreg_ctaid_y>; 7018*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CTAID_Z : 7019*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ctaid.z", int_nvvm_read_ptx_sreg_ctaid_z>; 7020*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CTAID_W : 7021*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"ctaid.w", int_nvvm_read_ptx_sreg_ctaid_w>; 7022*9880d681SAndroid Build Coastguard Worker 7023*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NCTAID_X : 7024*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nctaid.x", int_nvvm_read_ptx_sreg_nctaid_x>; 7025*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NCTAID_Y : 7026*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nctaid.y", int_nvvm_read_ptx_sreg_nctaid_y>; 7027*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NCTAID_Z : 7028*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nctaid.z", int_nvvm_read_ptx_sreg_nctaid_z>; 7029*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NCTAID_W : 7030*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nctaid.w", int_nvvm_read_ptx_sreg_nctaid_w>; 7031*9880d681SAndroid Build Coastguard Worker 7032*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_SMID : 7033*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"smid", int_nvvm_read_ptx_sreg_smid>; 7034*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_NSMID : 7035*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"nsmid", int_nvvm_read_ptx_sreg_nsmid>; 7036*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_GRIDID : 7037*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"gridid", int_nvvm_read_ptx_sreg_gridid>; 7038*9880d681SAndroid Build Coastguard Worker 7039*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEMASK_EQ : 7040*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"lanemask_eq", int_nvvm_read_ptx_sreg_lanemask_eq>; 7041*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEMASK_LE : 7042*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"lanemask_le", int_nvvm_read_ptx_sreg_lanemask_le>; 7043*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEMASK_LT : 7044*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"lanemask_lt", int_nvvm_read_ptx_sreg_lanemask_lt>; 7045*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEMASK_GE : 7046*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"lanemask_ge", int_nvvm_read_ptx_sreg_lanemask_ge>; 7047*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_LANEMASK_GT : 7048*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"lanemask_gt", int_nvvm_read_ptx_sreg_lanemask_gt>; 7049*9880d681SAndroid Build Coastguard Worker 7050*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CLOCK : 7051*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R32<"clock", int_nvvm_read_ptx_sreg_clock>; 7052*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_CLOCK64 : 7053*9880d681SAndroid Build Coastguard Worker PTX_READ_SREG_R64<"clock64", int_nvvm_read_ptx_sreg_clock64>; 7054*9880d681SAndroid Build Coastguard Worker 7055*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_PM0 : PTX_READ_SREG_R32<"pm0", int_nvvm_read_ptx_sreg_pm0>; 7056*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_PM1 : PTX_READ_SREG_R32<"pm1", int_nvvm_read_ptx_sreg_pm1>; 7057*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_PM2 : PTX_READ_SREG_R32<"pm2", int_nvvm_read_ptx_sreg_pm2>; 7058*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_PM3 : PTX_READ_SREG_R32<"pm3", int_nvvm_read_ptx_sreg_pm3>; 7059*9880d681SAndroid Build Coastguard Worker 7060*9880d681SAndroid Build Coastguard Worker// TODO: It would be nice to use PTX_READ_SREG here, but it doesn't 7061*9880d681SAndroid Build Coastguard Worker// handle the constant. 7062*9880d681SAndroid Build Coastguard Workerdef INT_PTX_SREG_WARPSIZE : 7063*9880d681SAndroid Build Coastguard Worker NVPTXInst<(outs Int32Regs:$dst), (ins), "mov.u32 \t$dst, WARP_SZ;", 7064*9880d681SAndroid Build Coastguard Worker [(set Int32Regs:$dst, (int_nvvm_read_ptx_sreg_warpsize))]>; 7065