1 //===- IntrinsicsNVVM.td - Defines NVVM intrinsics ---------*- tablegen -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file defines all of the NVVM-specific intrinsics for use with NVPTX. 11 // 12 //===----------------------------------------------------------------------===// 13 14 def llvm_anyi64ptr_ty : LLVMAnyPointerType<llvm_i64_ty>; // (space)i64* 15 16 // 17 // MISC 18 // 19 20 let TargetPrefix = "nvvm" in { 21 def int_nvvm_clz_i : GCCBuiltin<"__nvvm_clz_i">, 22 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; 23 def int_nvvm_clz_ll : GCCBuiltin<"__nvvm_clz_ll">, 24 Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>; 25 26 def int_nvvm_popc_i : GCCBuiltin<"__nvvm_popc_i">, 27 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; 28 def int_nvvm_popc_ll : GCCBuiltin<"__nvvm_popc_ll">, 29 Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>; 30 31 def int_nvvm_prmt : GCCBuiltin<"__nvvm_prmt">, 32 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 33 [IntrNoMem, Commutative]>; 34 35 // 36 // Min Max 37 // 38 39 def int_nvvm_min_i : GCCBuiltin<"__nvvm_min_i">, 40 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 41 [IntrNoMem, Commutative]>; 42 def int_nvvm_min_ui : GCCBuiltin<"__nvvm_min_ui">, 43 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 44 [IntrNoMem, Commutative]>; 45 46 def int_nvvm_min_ll : GCCBuiltin<"__nvvm_min_ll">, 47 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 48 [IntrNoMem, Commutative]>; 49 def int_nvvm_min_ull : GCCBuiltin<"__nvvm_min_ull">, 50 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 51 [IntrNoMem, Commutative]>; 52 53 def int_nvvm_max_i : GCCBuiltin<"__nvvm_max_i">, 54 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 55 [IntrNoMem, Commutative]>; 56 def int_nvvm_max_ui : GCCBuiltin<"__nvvm_max_ui">, 57 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 58 [IntrNoMem, Commutative]>; 59 60 def int_nvvm_max_ll : GCCBuiltin<"__nvvm_max_ll">, 61 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 62 [IntrNoMem, Commutative]>; 63 def int_nvvm_max_ull : GCCBuiltin<"__nvvm_max_ull">, 64 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 65 [IntrNoMem, Commutative]>; 66 67 def int_nvvm_fmin_f : GCCBuiltin<"__nvvm_fmin_f">, 68 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 69 [IntrNoMem, Commutative]>; 70 def int_nvvm_fmin_ftz_f : GCCBuiltin<"__nvvm_fmin_ftz_f">, 71 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 72 [IntrNoMem, Commutative]>; 73 74 def int_nvvm_fmax_f : GCCBuiltin<"__nvvm_fmax_f">, 75 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty] 76 , [IntrNoMem, Commutative]>; 77 def int_nvvm_fmax_ftz_f : GCCBuiltin<"__nvvm_fmax_ftz_f">, 78 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 79 [IntrNoMem, Commutative]>; 80 81 def int_nvvm_fmin_d : GCCBuiltin<"__nvvm_fmin_d">, 82 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 83 [IntrNoMem, Commutative]>; 84 def int_nvvm_fmax_d : GCCBuiltin<"__nvvm_fmax_d">, 85 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 86 [IntrNoMem, Commutative]>; 87 88 // 89 // Multiplication 90 // 91 92 def int_nvvm_mulhi_i : GCCBuiltin<"__nvvm_mulhi_i">, 93 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 94 [IntrNoMem, Commutative]>; 95 def int_nvvm_mulhi_ui : GCCBuiltin<"__nvvm_mulhi_ui">, 96 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 97 [IntrNoMem, Commutative]>; 98 99 def int_nvvm_mulhi_ll : GCCBuiltin<"__nvvm_mulhi_ll">, 100 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 101 [IntrNoMem, Commutative]>; 102 def int_nvvm_mulhi_ull : GCCBuiltin<"__nvvm_mulhi_ull">, 103 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], 104 [IntrNoMem, Commutative]>; 105 106 def int_nvvm_mul_rn_ftz_f : GCCBuiltin<"__nvvm_mul_rn_ftz_f">, 107 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 108 [IntrNoMem, Commutative]>; 109 def int_nvvm_mul_rn_f : GCCBuiltin<"__nvvm_mul_rn_f">, 110 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 111 [IntrNoMem, Commutative]>; 112 def int_nvvm_mul_rz_ftz_f : GCCBuiltin<"__nvvm_mul_rz_ftz_f">, 113 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 114 [IntrNoMem, Commutative]>; 115 def int_nvvm_mul_rz_f : GCCBuiltin<"__nvvm_mul_rz_f">, 116 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 117 [IntrNoMem, Commutative]>; 118 def int_nvvm_mul_rm_ftz_f : GCCBuiltin<"__nvvm_mul_rm_ftz_f">, 119 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 120 [IntrNoMem, Commutative]>; 121 def int_nvvm_mul_rm_f : GCCBuiltin<"__nvvm_mul_rm_f">, 122 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 123 [IntrNoMem, Commutative]>; 124 def int_nvvm_mul_rp_ftz_f : GCCBuiltin<"__nvvm_mul_rp_ftz_f">, 125 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 126 [IntrNoMem, Commutative]>; 127 def int_nvvm_mul_rp_f : GCCBuiltin<"__nvvm_mul_rp_f">, 128 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 129 [IntrNoMem, Commutative]>; 130 131 def int_nvvm_mul_rn_d : GCCBuiltin<"__nvvm_mul_rn_d">, 132 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 133 [IntrNoMem, Commutative]>; 134 def int_nvvm_mul_rz_d : GCCBuiltin<"__nvvm_mul_rz_d">, 135 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 136 [IntrNoMem, Commutative]>; 137 def int_nvvm_mul_rm_d : GCCBuiltin<"__nvvm_mul_rm_d">, 138 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 139 [IntrNoMem, Commutative]>; 140 def int_nvvm_mul_rp_d : GCCBuiltin<"__nvvm_mul_rp_d">, 141 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 142 [IntrNoMem, Commutative]>; 143 144 def int_nvvm_mul24_i : GCCBuiltin<"__nvvm_mul24_i">, 145 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 146 [IntrNoMem, Commutative]>; 147 def int_nvvm_mul24_ui : GCCBuiltin<"__nvvm_mul24_ui">, 148 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 149 [IntrNoMem, Commutative]>; 150 151 // 152 // Div 153 // 154 155 def int_nvvm_div_approx_ftz_f : GCCBuiltin<"__nvvm_div_approx_ftz_f">, 156 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 157 [IntrNoMem, Commutative]>; 158 def int_nvvm_div_approx_f : GCCBuiltin<"__nvvm_div_approx_f">, 159 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 160 [IntrNoMem, Commutative]>; 161 162 def int_nvvm_div_rn_ftz_f : GCCBuiltin<"__nvvm_div_rn_ftz_f">, 163 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 164 [IntrNoMem, Commutative]>; 165 def int_nvvm_div_rn_f : GCCBuiltin<"__nvvm_div_rn_f">, 166 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 167 [IntrNoMem, Commutative]>; 168 169 def int_nvvm_div_rz_ftz_f : GCCBuiltin<"__nvvm_div_rz_ftz_f">, 170 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 171 [IntrNoMem, Commutative]>; 172 def int_nvvm_div_rz_f : GCCBuiltin<"__nvvm_div_rz_f">, 173 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 174 [IntrNoMem, Commutative]>; 175 176 def int_nvvm_div_rm_ftz_f : GCCBuiltin<"__nvvm_div_rm_ftz_f">, 177 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 178 [IntrNoMem, Commutative]>; 179 def int_nvvm_div_rm_f : GCCBuiltin<"__nvvm_div_rm_f">, 180 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 181 [IntrNoMem, Commutative]>; 182 183 def int_nvvm_div_rp_ftz_f : GCCBuiltin<"__nvvm_div_rp_ftz_f">, 184 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 185 [IntrNoMem, Commutative]>; 186 def int_nvvm_div_rp_f : GCCBuiltin<"__nvvm_div_rp_f">, 187 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 188 [IntrNoMem, Commutative]>; 189 190 def int_nvvm_div_rn_d : GCCBuiltin<"__nvvm_div_rn_d">, 191 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 192 [IntrNoMem, Commutative]>; 193 def int_nvvm_div_rz_d : GCCBuiltin<"__nvvm_div_rz_d">, 194 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 195 [IntrNoMem, Commutative]>; 196 def int_nvvm_div_rm_d : GCCBuiltin<"__nvvm_div_rm_d">, 197 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 198 [IntrNoMem, Commutative]>; 199 def int_nvvm_div_rp_d : GCCBuiltin<"__nvvm_div_rp_d">, 200 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 201 [IntrNoMem, Commutative]>; 202 203 // 204 // Brev 205 // 206 207 def int_nvvm_brev32 : GCCBuiltin<"__nvvm_brev32">, 208 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; 209 def int_nvvm_brev64 : GCCBuiltin<"__nvvm_brev64">, 210 Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem]>; 211 212 // 213 // Sad 214 // 215 216 def int_nvvm_sad_i : GCCBuiltin<"__nvvm_sad_i">, 217 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 218 [IntrNoMem, Commutative]>; 219 def int_nvvm_sad_ui : GCCBuiltin<"__nvvm_sad_ui">, 220 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 221 [IntrNoMem, Commutative]>; 222 223 // 224 // Floor Ceil 225 // 226 227 def int_nvvm_floor_ftz_f : GCCBuiltin<"__nvvm_floor_ftz_f">, 228 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 229 def int_nvvm_floor_f : GCCBuiltin<"__nvvm_floor_f">, 230 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 231 def int_nvvm_floor_d : GCCBuiltin<"__nvvm_floor_d">, 232 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 233 234 def int_nvvm_ceil_ftz_f : GCCBuiltin<"__nvvm_ceil_ftz_f">, 235 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 236 def int_nvvm_ceil_f : GCCBuiltin<"__nvvm_ceil_f">, 237 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 238 def int_nvvm_ceil_d : GCCBuiltin<"__nvvm_ceil_d">, 239 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 240 241 // 242 // Abs 243 // 244 245 def int_nvvm_abs_i : GCCBuiltin<"__nvvm_abs_i">, 246 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; 247 def int_nvvm_abs_ll : GCCBuiltin<"__nvvm_abs_ll">, 248 Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem]>; 249 250 def int_nvvm_fabs_ftz_f : GCCBuiltin<"__nvvm_fabs_ftz_f">, 251 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 252 def int_nvvm_fabs_f : GCCBuiltin<"__nvvm_fabs_f">, 253 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 254 255 def int_nvvm_fabs_d : GCCBuiltin<"__nvvm_fabs_d">, 256 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 257 258 // 259 // Round 260 // 261 262 def int_nvvm_round_ftz_f : GCCBuiltin<"__nvvm_round_ftz_f">, 263 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 264 def int_nvvm_round_f : GCCBuiltin<"__nvvm_round_f">, 265 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 266 267 def int_nvvm_round_d : GCCBuiltin<"__nvvm_round_d">, 268 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 269 270 // 271 // Trunc 272 // 273 274 def int_nvvm_trunc_ftz_f : GCCBuiltin<"__nvvm_trunc_ftz_f">, 275 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 276 def int_nvvm_trunc_f : GCCBuiltin<"__nvvm_trunc_f">, 277 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 278 279 def int_nvvm_trunc_d : GCCBuiltin<"__nvvm_trunc_d">, 280 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 281 282 // 283 // Saturate 284 // 285 286 def int_nvvm_saturate_ftz_f : GCCBuiltin<"__nvvm_saturate_ftz_f">, 287 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 288 def int_nvvm_saturate_f : GCCBuiltin<"__nvvm_saturate_f">, 289 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 290 291 def int_nvvm_saturate_d : GCCBuiltin<"__nvvm_saturate_d">, 292 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 293 294 // 295 // Exp2 Log2 296 // 297 298 def int_nvvm_ex2_approx_ftz_f : GCCBuiltin<"__nvvm_ex2_approx_ftz_f">, 299 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 300 def int_nvvm_ex2_approx_f : GCCBuiltin<"__nvvm_ex2_approx_f">, 301 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 302 def int_nvvm_ex2_approx_d : GCCBuiltin<"__nvvm_ex2_approx_d">, 303 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 304 305 def int_nvvm_lg2_approx_ftz_f : GCCBuiltin<"__nvvm_lg2_approx_ftz_f">, 306 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 307 def int_nvvm_lg2_approx_f : GCCBuiltin<"__nvvm_lg2_approx_f">, 308 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 309 def int_nvvm_lg2_approx_d : GCCBuiltin<"__nvvm_lg2_approx_d">, 310 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 311 312 // 313 // Sin Cos 314 // 315 316 def int_nvvm_sin_approx_ftz_f : GCCBuiltin<"__nvvm_sin_approx_ftz_f">, 317 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 318 def int_nvvm_sin_approx_f : GCCBuiltin<"__nvvm_sin_approx_f">, 319 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 320 321 def int_nvvm_cos_approx_ftz_f : GCCBuiltin<"__nvvm_cos_approx_ftz_f">, 322 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 323 def int_nvvm_cos_approx_f : GCCBuiltin<"__nvvm_cos_approx_f">, 324 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 325 326 // 327 // Fma 328 // 329 330 def int_nvvm_fma_rn_ftz_f : GCCBuiltin<"__nvvm_fma_rn_ftz_f">, 331 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 332 [IntrNoMem, Commutative]>; 333 def int_nvvm_fma_rn_f : GCCBuiltin<"__nvvm_fma_rn_f">, 334 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 335 [IntrNoMem, Commutative]>; 336 def int_nvvm_fma_rz_ftz_f : GCCBuiltin<"__nvvm_fma_rz_ftz_f">, 337 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 338 [IntrNoMem, Commutative]>; 339 def int_nvvm_fma_rz_f : GCCBuiltin<"__nvvm_fma_rz_f">, 340 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 341 [IntrNoMem, Commutative]>; 342 def int_nvvm_fma_rm_ftz_f : GCCBuiltin<"__nvvm_fma_rm_ftz_f">, 343 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 344 [IntrNoMem, Commutative]>; 345 def int_nvvm_fma_rm_f : GCCBuiltin<"__nvvm_fma_rm_f">, 346 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 347 [IntrNoMem, Commutative]>; 348 def int_nvvm_fma_rp_ftz_f : GCCBuiltin<"__nvvm_fma_rp_ftz_f">, 349 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 350 [IntrNoMem, Commutative]>; 351 def int_nvvm_fma_rp_f : GCCBuiltin<"__nvvm_fma_rp_f">, 352 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], 353 [IntrNoMem, Commutative]>; 354 355 def int_nvvm_fma_rn_d : GCCBuiltin<"__nvvm_fma_rn_d">, 356 Intrinsic<[llvm_double_ty], 357 [llvm_double_ty, llvm_double_ty, llvm_double_ty], 358 [IntrNoMem, Commutative]>; 359 def int_nvvm_fma_rz_d : GCCBuiltin<"__nvvm_fma_rz_d">, 360 Intrinsic<[llvm_double_ty], 361 [llvm_double_ty, llvm_double_ty, llvm_double_ty], 362 [IntrNoMem, Commutative]>; 363 def int_nvvm_fma_rm_d : GCCBuiltin<"__nvvm_fma_rm_d">, 364 Intrinsic<[llvm_double_ty], 365 [llvm_double_ty, llvm_double_ty, llvm_double_ty], 366 [IntrNoMem, Commutative]>; 367 def int_nvvm_fma_rp_d : GCCBuiltin<"__nvvm_fma_rp_d">, 368 Intrinsic<[llvm_double_ty], 369 [llvm_double_ty, llvm_double_ty, llvm_double_ty], 370 [IntrNoMem, Commutative]>; 371 372 // 373 // Rcp 374 // 375 376 def int_nvvm_rcp_rn_ftz_f : GCCBuiltin<"__nvvm_rcp_rn_ftz_f">, 377 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 378 def int_nvvm_rcp_rn_f : GCCBuiltin<"__nvvm_rcp_rn_f">, 379 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 380 def int_nvvm_rcp_rz_ftz_f : GCCBuiltin<"__nvvm_rcp_rz_ftz_f">, 381 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 382 def int_nvvm_rcp_rz_f : GCCBuiltin<"__nvvm_rcp_rz_f">, 383 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 384 def int_nvvm_rcp_rm_ftz_f : GCCBuiltin<"__nvvm_rcp_rm_ftz_f">, 385 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 386 def int_nvvm_rcp_rm_f : GCCBuiltin<"__nvvm_rcp_rm_f">, 387 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 388 def int_nvvm_rcp_rp_ftz_f : GCCBuiltin<"__nvvm_rcp_rp_ftz_f">, 389 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 390 def int_nvvm_rcp_rp_f : GCCBuiltin<"__nvvm_rcp_rp_f">, 391 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 392 393 def int_nvvm_rcp_rn_d : GCCBuiltin<"__nvvm_rcp_rn_d">, 394 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 395 def int_nvvm_rcp_rz_d : GCCBuiltin<"__nvvm_rcp_rz_d">, 396 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 397 def int_nvvm_rcp_rm_d : GCCBuiltin<"__nvvm_rcp_rm_d">, 398 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 399 def int_nvvm_rcp_rp_d : GCCBuiltin<"__nvvm_rcp_rp_d">, 400 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 401 402 def int_nvvm_rcp_approx_ftz_d : GCCBuiltin<"__nvvm_rcp_approx_ftz_d">, 403 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 404 405 // 406 // Sqrt 407 // 408 409 def int_nvvm_sqrt_f : GCCBuiltin<"__nvvm_sqrt_f">, 410 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 411 def int_nvvm_sqrt_rn_ftz_f : GCCBuiltin<"__nvvm_sqrt_rn_ftz_f">, 412 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 413 def int_nvvm_sqrt_rn_f : GCCBuiltin<"__nvvm_sqrt_rn_f">, 414 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 415 def int_nvvm_sqrt_rz_ftz_f : GCCBuiltin<"__nvvm_sqrt_rz_ftz_f">, 416 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 417 def int_nvvm_sqrt_rz_f : GCCBuiltin<"__nvvm_sqrt_rz_f">, 418 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 419 def int_nvvm_sqrt_rm_ftz_f : GCCBuiltin<"__nvvm_sqrt_rm_ftz_f">, 420 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 421 def int_nvvm_sqrt_rm_f : GCCBuiltin<"__nvvm_sqrt_rm_f">, 422 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 423 def int_nvvm_sqrt_rp_ftz_f : GCCBuiltin<"__nvvm_sqrt_rp_ftz_f">, 424 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 425 def int_nvvm_sqrt_rp_f : GCCBuiltin<"__nvvm_sqrt_rp_f">, 426 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 427 def int_nvvm_sqrt_approx_ftz_f : GCCBuiltin<"__nvvm_sqrt_approx_ftz_f">, 428 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 429 def int_nvvm_sqrt_approx_f : GCCBuiltin<"__nvvm_sqrt_approx_f">, 430 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 431 432 def int_nvvm_sqrt_rn_d : GCCBuiltin<"__nvvm_sqrt_rn_d">, 433 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 434 def int_nvvm_sqrt_rz_d : GCCBuiltin<"__nvvm_sqrt_rz_d">, 435 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 436 def int_nvvm_sqrt_rm_d : GCCBuiltin<"__nvvm_sqrt_rm_d">, 437 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 438 def int_nvvm_sqrt_rp_d : GCCBuiltin<"__nvvm_sqrt_rp_d">, 439 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 440 441 // 442 // Rsqrt 443 // 444 445 def int_nvvm_rsqrt_approx_ftz_f : GCCBuiltin<"__nvvm_rsqrt_approx_ftz_f">, 446 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 447 def int_nvvm_rsqrt_approx_f : GCCBuiltin<"__nvvm_rsqrt_approx_f">, 448 Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; 449 def int_nvvm_rsqrt_approx_d : GCCBuiltin<"__nvvm_rsqrt_approx_d">, 450 Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; 451 452 // 453 // Add 454 // 455 456 def int_nvvm_add_rn_ftz_f : GCCBuiltin<"__nvvm_add_rn_ftz_f">, 457 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 458 [IntrNoMem, Commutative]>; 459 def int_nvvm_add_rn_f : GCCBuiltin<"__nvvm_add_rn_f">, 460 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 461 [IntrNoMem, Commutative]>; 462 def int_nvvm_add_rz_ftz_f : GCCBuiltin<"__nvvm_add_rz_ftz_f">, 463 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 464 [IntrNoMem, Commutative]>; 465 def int_nvvm_add_rz_f : GCCBuiltin<"__nvvm_add_rz_f">, 466 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 467 [IntrNoMem, Commutative]>; 468 def int_nvvm_add_rm_ftz_f : GCCBuiltin<"__nvvm_add_rm_ftz_f">, 469 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 470 [IntrNoMem, Commutative]>; 471 def int_nvvm_add_rm_f : GCCBuiltin<"__nvvm_add_rm_f">, 472 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 473 [IntrNoMem, Commutative]>; 474 def int_nvvm_add_rp_ftz_f : GCCBuiltin<"__nvvm_add_rp_ftz_f">, 475 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 476 [IntrNoMem, Commutative]>; 477 def int_nvvm_add_rp_f : GCCBuiltin<"__nvvm_add_rp_f">, 478 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], 479 [IntrNoMem, Commutative]>; 480 481 def int_nvvm_add_rn_d : GCCBuiltin<"__nvvm_add_rn_d">, 482 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 483 [IntrNoMem, Commutative]>; 484 def int_nvvm_add_rz_d : GCCBuiltin<"__nvvm_add_rz_d">, 485 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 486 [IntrNoMem, Commutative]>; 487 def int_nvvm_add_rm_d : GCCBuiltin<"__nvvm_add_rm_d">, 488 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 489 [IntrNoMem, Commutative]>; 490 def int_nvvm_add_rp_d : GCCBuiltin<"__nvvm_add_rp_d">, 491 Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], 492 [IntrNoMem, Commutative]>; 493 494 // 495 // Convert 496 // 497 498 def int_nvvm_d2f_rn_ftz : GCCBuiltin<"__nvvm_d2f_rn_ftz">, 499 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 500 def int_nvvm_d2f_rn : GCCBuiltin<"__nvvm_d2f_rn">, 501 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 502 def int_nvvm_d2f_rz_ftz : GCCBuiltin<"__nvvm_d2f_rz_ftz">, 503 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 504 def int_nvvm_d2f_rz : GCCBuiltin<"__nvvm_d2f_rz">, 505 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 506 def int_nvvm_d2f_rm_ftz : GCCBuiltin<"__nvvm_d2f_rm_ftz">, 507 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 508 def int_nvvm_d2f_rm : GCCBuiltin<"__nvvm_d2f_rm">, 509 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 510 def int_nvvm_d2f_rp_ftz : GCCBuiltin<"__nvvm_d2f_rp_ftz">, 511 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 512 def int_nvvm_d2f_rp : GCCBuiltin<"__nvvm_d2f_rp">, 513 Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; 514 515 def int_nvvm_d2i_rn : GCCBuiltin<"__nvvm_d2i_rn">, 516 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 517 def int_nvvm_d2i_rz : GCCBuiltin<"__nvvm_d2i_rz">, 518 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 519 def int_nvvm_d2i_rm : GCCBuiltin<"__nvvm_d2i_rm">, 520 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 521 def int_nvvm_d2i_rp : GCCBuiltin<"__nvvm_d2i_rp">, 522 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 523 524 def int_nvvm_d2ui_rn : GCCBuiltin<"__nvvm_d2ui_rn">, 525 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 526 def int_nvvm_d2ui_rz : GCCBuiltin<"__nvvm_d2ui_rz">, 527 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 528 def int_nvvm_d2ui_rm : GCCBuiltin<"__nvvm_d2ui_rm">, 529 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 530 def int_nvvm_d2ui_rp : GCCBuiltin<"__nvvm_d2ui_rp">, 531 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 532 533 def int_nvvm_i2d_rn : GCCBuiltin<"__nvvm_i2d_rn">, 534 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 535 def int_nvvm_i2d_rz : GCCBuiltin<"__nvvm_i2d_rz">, 536 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 537 def int_nvvm_i2d_rm : GCCBuiltin<"__nvvm_i2d_rm">, 538 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 539 def int_nvvm_i2d_rp : GCCBuiltin<"__nvvm_i2d_rp">, 540 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 541 542 def int_nvvm_ui2d_rn : GCCBuiltin<"__nvvm_ui2d_rn">, 543 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 544 def int_nvvm_ui2d_rz : GCCBuiltin<"__nvvm_ui2d_rz">, 545 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 546 def int_nvvm_ui2d_rm : GCCBuiltin<"__nvvm_ui2d_rm">, 547 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 548 def int_nvvm_ui2d_rp : GCCBuiltin<"__nvvm_ui2d_rp">, 549 Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; 550 551 def int_nvvm_f2i_rn_ftz : GCCBuiltin<"__nvvm_f2i_rn_ftz">, 552 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 553 def int_nvvm_f2i_rn : GCCBuiltin<"__nvvm_f2i_rn">, 554 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 555 def int_nvvm_f2i_rz_ftz : GCCBuiltin<"__nvvm_f2i_rz_ftz">, 556 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 557 def int_nvvm_f2i_rz : GCCBuiltin<"__nvvm_f2i_rz">, 558 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 559 def int_nvvm_f2i_rm_ftz : GCCBuiltin<"__nvvm_f2i_rm_ftz">, 560 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 561 def int_nvvm_f2i_rm : GCCBuiltin<"__nvvm_f2i_rm">, 562 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 563 def int_nvvm_f2i_rp_ftz : GCCBuiltin<"__nvvm_f2i_rp_ftz">, 564 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 565 def int_nvvm_f2i_rp : GCCBuiltin<"__nvvm_f2i_rp">, 566 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 567 568 def int_nvvm_f2ui_rn_ftz : GCCBuiltin<"__nvvm_f2ui_rn_ftz">, 569 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 570 def int_nvvm_f2ui_rn : GCCBuiltin<"__nvvm_f2ui_rn">, 571 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 572 def int_nvvm_f2ui_rz_ftz : GCCBuiltin<"__nvvm_f2ui_rz_ftz">, 573 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 574 def int_nvvm_f2ui_rz : GCCBuiltin<"__nvvm_f2ui_rz">, 575 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 576 def int_nvvm_f2ui_rm_ftz : GCCBuiltin<"__nvvm_f2ui_rm_ftz">, 577 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 578 def int_nvvm_f2ui_rm : GCCBuiltin<"__nvvm_f2ui_rm">, 579 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 580 def int_nvvm_f2ui_rp_ftz : GCCBuiltin<"__nvvm_f2ui_rp_ftz">, 581 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 582 def int_nvvm_f2ui_rp : GCCBuiltin<"__nvvm_f2ui_rp">, 583 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 584 585 def int_nvvm_i2f_rn : GCCBuiltin<"__nvvm_i2f_rn">, 586 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 587 def int_nvvm_i2f_rz : GCCBuiltin<"__nvvm_i2f_rz">, 588 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 589 def int_nvvm_i2f_rm : GCCBuiltin<"__nvvm_i2f_rm">, 590 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 591 def int_nvvm_i2f_rp : GCCBuiltin<"__nvvm_i2f_rp">, 592 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 593 594 def int_nvvm_ui2f_rn : GCCBuiltin<"__nvvm_ui2f_rn">, 595 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 596 def int_nvvm_ui2f_rz : GCCBuiltin<"__nvvm_ui2f_rz">, 597 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 598 def int_nvvm_ui2f_rm : GCCBuiltin<"__nvvm_ui2f_rm">, 599 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 600 def int_nvvm_ui2f_rp : GCCBuiltin<"__nvvm_ui2f_rp">, 601 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 602 603 def int_nvvm_lohi_i2d : GCCBuiltin<"__nvvm_lohi_i2d">, 604 Intrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty], 605 [IntrNoMem, Commutative]>; 606 607 def int_nvvm_d2i_lo : GCCBuiltin<"__nvvm_d2i_lo">, 608 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 609 def int_nvvm_d2i_hi : GCCBuiltin<"__nvvm_d2i_hi">, 610 Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; 611 612 def int_nvvm_f2ll_rn_ftz : GCCBuiltin<"__nvvm_f2ll_rn_ftz">, 613 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 614 def int_nvvm_f2ll_rn : GCCBuiltin<"__nvvm_f2ll_rn">, 615 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 616 def int_nvvm_f2ll_rz_ftz : GCCBuiltin<"__nvvm_f2ll_rz_ftz">, 617 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 618 def int_nvvm_f2ll_rz : GCCBuiltin<"__nvvm_f2ll_rz">, 619 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 620 def int_nvvm_f2ll_rm_ftz : GCCBuiltin<"__nvvm_f2ll_rm_ftz">, 621 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 622 def int_nvvm_f2ll_rm : GCCBuiltin<"__nvvm_f2ll_rm">, 623 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 624 def int_nvvm_f2ll_rp_ftz : GCCBuiltin<"__nvvm_f2ll_rp_ftz">, 625 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 626 def int_nvvm_f2ll_rp : GCCBuiltin<"__nvvm_f2ll_rp">, 627 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 628 629 def int_nvvm_f2ull_rn_ftz : GCCBuiltin<"__nvvm_f2ull_rn_ftz">, 630 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 631 def int_nvvm_f2ull_rn : GCCBuiltin<"__nvvm_f2ull_rn">, 632 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 633 def int_nvvm_f2ull_rz_ftz : GCCBuiltin<"__nvvm_f2ull_rz_ftz">, 634 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 635 def int_nvvm_f2ull_rz : GCCBuiltin<"__nvvm_f2ull_rz">, 636 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 637 def int_nvvm_f2ull_rm_ftz : GCCBuiltin<"__nvvm_f2ull_rm_ftz">, 638 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 639 def int_nvvm_f2ull_rm : GCCBuiltin<"__nvvm_f2ull_rm">, 640 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 641 def int_nvvm_f2ull_rp_ftz : GCCBuiltin<"__nvvm_f2ull_rp_ftz">, 642 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 643 def int_nvvm_f2ull_rp : GCCBuiltin<"__nvvm_f2ull_rp">, 644 Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; 645 646 def int_nvvm_d2ll_rn : GCCBuiltin<"__nvvm_d2ll_rn">, 647 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 648 def int_nvvm_d2ll_rz : GCCBuiltin<"__nvvm_d2ll_rz">, 649 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 650 def int_nvvm_d2ll_rm : GCCBuiltin<"__nvvm_d2ll_rm">, 651 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 652 def int_nvvm_d2ll_rp : GCCBuiltin<"__nvvm_d2ll_rp">, 653 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 654 655 def int_nvvm_d2ull_rn : GCCBuiltin<"__nvvm_d2ull_rn">, 656 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 657 def int_nvvm_d2ull_rz : GCCBuiltin<"__nvvm_d2ull_rz">, 658 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 659 def int_nvvm_d2ull_rm : GCCBuiltin<"__nvvm_d2ull_rm">, 660 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 661 def int_nvvm_d2ull_rp : GCCBuiltin<"__nvvm_d2ull_rp">, 662 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 663 664 def int_nvvm_ll2f_rn : GCCBuiltin<"__nvvm_ll2f_rn">, 665 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 666 def int_nvvm_ll2f_rz : GCCBuiltin<"__nvvm_ll2f_rz">, 667 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 668 def int_nvvm_ll2f_rm : GCCBuiltin<"__nvvm_ll2f_rm">, 669 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 670 def int_nvvm_ll2f_rp : GCCBuiltin<"__nvvm_ll2f_rp">, 671 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 672 def int_nvvm_ull2f_rn : GCCBuiltin<"__nvvm_ull2f_rn">, 673 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 674 def int_nvvm_ull2f_rz : GCCBuiltin<"__nvvm_ull2f_rz">, 675 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 676 def int_nvvm_ull2f_rm : GCCBuiltin<"__nvvm_ull2f_rm">, 677 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 678 def int_nvvm_ull2f_rp : GCCBuiltin<"__nvvm_ull2f_rp">, 679 Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; 680 681 def int_nvvm_ll2d_rn : GCCBuiltin<"__nvvm_ll2d_rn">, 682 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 683 def int_nvvm_ll2d_rz : GCCBuiltin<"__nvvm_ll2d_rz">, 684 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 685 def int_nvvm_ll2d_rm : GCCBuiltin<"__nvvm_ll2d_rm">, 686 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 687 def int_nvvm_ll2d_rp : GCCBuiltin<"__nvvm_ll2d_rp">, 688 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 689 def int_nvvm_ull2d_rn : GCCBuiltin<"__nvvm_ull2d_rn">, 690 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 691 def int_nvvm_ull2d_rz : GCCBuiltin<"__nvvm_ull2d_rz">, 692 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 693 def int_nvvm_ull2d_rm : GCCBuiltin<"__nvvm_ull2d_rm">, 694 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 695 def int_nvvm_ull2d_rp : GCCBuiltin<"__nvvm_ull2d_rp">, 696 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 697 698 def int_nvvm_f2h_rn_ftz : GCCBuiltin<"__nvvm_f2h_rn_ftz">, 699 Intrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem]>; 700 def int_nvvm_f2h_rn : GCCBuiltin<"__nvvm_f2h_rn">, 701 Intrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem]>; 702 703 def int_nvvm_h2f : GCCBuiltin<"__nvvm_h2f">, 704 Intrinsic<[llvm_float_ty], [llvm_i16_ty], [IntrNoMem]>; 705 706 // 707 // Bitcast 708 // 709 710 def int_nvvm_bitcast_f2i : GCCBuiltin<"__nvvm_bitcast_f2i">, 711 Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; 712 def int_nvvm_bitcast_i2f : GCCBuiltin<"__nvvm_bitcast_i2f">, 713 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; 714 715 def int_nvvm_bitcast_ll2d : GCCBuiltin<"__nvvm_bitcast_ll2d">, 716 Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; 717 def int_nvvm_bitcast_d2ll : GCCBuiltin<"__nvvm_bitcast_d2ll">, 718 Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; 719 720 721 // Atomic not available as an llvm intrinsic. 722 def int_nvvm_atomic_load_add_f32 : Intrinsic<[llvm_float_ty], 723 [LLVMAnyPointerType<llvm_float_ty>, llvm_float_ty], 724 [IntrArgMemOnly, NoCapture<0>]>; 725 def int_nvvm_atomic_load_inc_32 : Intrinsic<[llvm_i32_ty], 726 [LLVMAnyPointerType<llvm_i32_ty>, llvm_i32_ty], 727 [IntrArgMemOnly, NoCapture<0>]>; 728 def int_nvvm_atomic_load_dec_32 : Intrinsic<[llvm_i32_ty], 729 [LLVMAnyPointerType<llvm_i32_ty>, llvm_i32_ty], 730 [IntrArgMemOnly, NoCapture<0>]>; 731 732 // Bar.Sync 733 734 // The builtin for "bar.sync 0" is called __syncthreads. Unlike most of the 735 // intrinsics in this file, this one is a user-facing API. 736 def int_nvvm_barrier0 : GCCBuiltin<"__syncthreads">, 737 Intrinsic<[], [], [IntrConvergent]>; 738 def int_nvvm_barrier0_popc : GCCBuiltin<"__nvvm_bar0_popc">, 739 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; 740 def int_nvvm_barrier0_and : GCCBuiltin<"__nvvm_bar0_and">, 741 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; 742 def int_nvvm_barrier0_or : GCCBuiltin<"__nvvm_bar0_or">, 743 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; 744 745 def int_nvvm_bar_sync : 746 Intrinsic<[], [llvm_i32_ty], [IntrConvergent]>, 747 GCCBuiltin<"__nvvm_bar_sync">; 748 749 // Membar 750 def int_nvvm_membar_cta : GCCBuiltin<"__nvvm_membar_cta">, 751 Intrinsic<[], [], []>; 752 def int_nvvm_membar_gl : GCCBuiltin<"__nvvm_membar_gl">, 753 Intrinsic<[], [], []>; 754 def int_nvvm_membar_sys : GCCBuiltin<"__nvvm_membar_sys">, 755 Intrinsic<[], [], []>; 756 757 // Generated within nvvm. Use for ldu on sm_20 or later. Second arg is the 758 // pointer's alignment. 759 def int_nvvm_ldu_global_i : Intrinsic<[llvm_anyint_ty], 760 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 761 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 762 "llvm.nvvm.ldu.global.i">; 763 def int_nvvm_ldu_global_f : Intrinsic<[llvm_anyfloat_ty], 764 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 765 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 766 "llvm.nvvm.ldu.global.f">; 767 def int_nvvm_ldu_global_p : Intrinsic<[llvm_anyptr_ty], 768 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 769 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 770 "llvm.nvvm.ldu.global.p">; 771 772 // Generated within nvvm. Use for ldg on sm_35 or later. Second arg is the 773 // pointer's alignment. 774 def int_nvvm_ldg_global_i : Intrinsic<[llvm_anyint_ty], 775 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 776 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 777 "llvm.nvvm.ldg.global.i">; 778 def int_nvvm_ldg_global_f : Intrinsic<[llvm_anyfloat_ty], 779 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 780 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 781 "llvm.nvvm.ldg.global.f">; 782 def int_nvvm_ldg_global_p : Intrinsic<[llvm_anyptr_ty], 783 [LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], 784 [IntrReadMem, IntrArgMemOnly, NoCapture<0>], 785 "llvm.nvvm.ldg.global.p">; 786 787 // Use for generic pointers 788 // - These intrinsics are used to convert address spaces. 789 // - The input pointer and output pointer must have the same type, except for 790 // the address-space. (This restriction is not enforced here as there is 791 // currently no way to describe it). 792 // - This complements the llvm bitcast, which can be used to cast one type 793 // of pointer to another type of pointer, while the address space remains 794 // the same. 795 def int_nvvm_ptr_local_to_gen: Intrinsic<[llvm_anyptr_ty], 796 [llvm_anyptr_ty], [IntrNoMem], 797 "llvm.nvvm.ptr.local.to.gen">; 798 def int_nvvm_ptr_shared_to_gen: Intrinsic<[llvm_anyptr_ty], 799 [llvm_anyptr_ty], [IntrNoMem], 800 "llvm.nvvm.ptr.shared.to.gen">; 801 def int_nvvm_ptr_global_to_gen: Intrinsic<[llvm_anyptr_ty], 802 [llvm_anyptr_ty], [IntrNoMem], 803 "llvm.nvvm.ptr.global.to.gen">; 804 def int_nvvm_ptr_constant_to_gen: Intrinsic<[llvm_anyptr_ty], 805 [llvm_anyptr_ty], [IntrNoMem], 806 "llvm.nvvm.ptr.constant.to.gen">; 807 808 def int_nvvm_ptr_gen_to_global: Intrinsic<[llvm_anyptr_ty], 809 [llvm_anyptr_ty], [IntrNoMem], 810 "llvm.nvvm.ptr.gen.to.global">; 811 def int_nvvm_ptr_gen_to_shared: Intrinsic<[llvm_anyptr_ty], 812 [llvm_anyptr_ty], [IntrNoMem], 813 "llvm.nvvm.ptr.gen.to.shared">; 814 def int_nvvm_ptr_gen_to_local: Intrinsic<[llvm_anyptr_ty], 815 [llvm_anyptr_ty], [IntrNoMem], 816 "llvm.nvvm.ptr.gen.to.local">; 817 def int_nvvm_ptr_gen_to_constant: Intrinsic<[llvm_anyptr_ty], 818 [llvm_anyptr_ty], [IntrNoMem], 819 "llvm.nvvm.ptr.gen.to.constant">; 820 821 // Used in nvvm internally to help address space opt and ptx code generation 822 // This is for params that are passed to kernel functions by pointer by-val. 823 def int_nvvm_ptr_gen_to_param: Intrinsic<[llvm_anyptr_ty], 824 [llvm_anyptr_ty], 825 [IntrNoMem], 826 "llvm.nvvm.ptr.gen.to.param">; 827 828 // Move intrinsics, used in nvvm internally 829 830 def int_nvvm_move_i16 : Intrinsic<[llvm_i16_ty], [llvm_i16_ty], [IntrNoMem], 831 "llvm.nvvm.move.i16">; 832 def int_nvvm_move_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem], 833 "llvm.nvvm.move.i32">; 834 def int_nvvm_move_i64 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem], 835 "llvm.nvvm.move.i64">; 836 def int_nvvm_move_float : Intrinsic<[llvm_float_ty], [llvm_float_ty], 837 [IntrNoMem], "llvm.nvvm.move.float">; 838 def int_nvvm_move_double : Intrinsic<[llvm_double_ty], [llvm_double_ty], 839 [IntrNoMem], "llvm.nvvm.move.double">; 840 def int_nvvm_move_ptr : Intrinsic<[llvm_anyptr_ty], [llvm_anyptr_ty], 841 [IntrNoMem, NoCapture<0>], "llvm.nvvm.move.ptr">; 842 843 844 // For getting the handle from a texture or surface variable 845 def int_nvvm_texsurf_handle 846 : Intrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyi64ptr_ty], 847 [IntrNoMem], "llvm.nvvm.texsurf.handle">; 848 def int_nvvm_texsurf_handle_internal 849 : Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty], 850 [IntrNoMem], "llvm.nvvm.texsurf.handle.internal">; 851 852 /// Error / Warn 853 def int_nvvm_compiler_error : 854 Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.error">; 855 def int_nvvm_compiler_warn : 856 Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.warn">; 857 858 def int_nvvm_reflect : 859 Intrinsic<[llvm_i32_ty], [llvm_anyptr_ty], [IntrNoMem], "llvm.nvvm.reflect">; 860 861 // isspacep.{const, global, local, shared} 862 def int_nvvm_isspacep_const 863 : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], 864 "llvm.nvvm.isspacep.const">, 865 GCCBuiltin<"__nvvm_isspacep_const">; 866 def int_nvvm_isspacep_global 867 : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], 868 "llvm.nvvm.isspacep.global">, 869 GCCBuiltin<"__nvvm_isspacep_global">; 870 def int_nvvm_isspacep_local 871 : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], 872 "llvm.nvvm.isspacep.local">, 873 GCCBuiltin<"__nvvm_isspacep_local">; 874 def int_nvvm_isspacep_shared 875 : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], 876 "llvm.nvvm.isspacep.shared">, 877 GCCBuiltin<"__nvvm_isspacep_shared">; 878 879 // Environment register read 880 def int_nvvm_read_ptx_sreg_envreg0 881 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 882 "llvm.nvvm.read.ptx.sreg.envreg0">, 883 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg0">; 884 def int_nvvm_read_ptx_sreg_envreg1 885 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 886 "llvm.nvvm.read.ptx.sreg.envreg1">, 887 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg1">; 888 def int_nvvm_read_ptx_sreg_envreg2 889 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 890 "llvm.nvvm.read.ptx.sreg.envreg2">, 891 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg2">; 892 def int_nvvm_read_ptx_sreg_envreg3 893 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 894 "llvm.nvvm.read.ptx.sreg.envreg3">, 895 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg3">; 896 def int_nvvm_read_ptx_sreg_envreg4 897 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 898 "llvm.nvvm.read.ptx.sreg.envreg4">, 899 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg4">; 900 def int_nvvm_read_ptx_sreg_envreg5 901 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 902 "llvm.nvvm.read.ptx.sreg.envreg5">, 903 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg5">; 904 def int_nvvm_read_ptx_sreg_envreg6 905 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 906 "llvm.nvvm.read.ptx.sreg.envreg6">, 907 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg6">; 908 def int_nvvm_read_ptx_sreg_envreg7 909 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 910 "llvm.nvvm.read.ptx.sreg.envreg7">, 911 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg7">; 912 def int_nvvm_read_ptx_sreg_envreg8 913 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 914 "llvm.nvvm.read.ptx.sreg.envreg8">, 915 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg8">; 916 def int_nvvm_read_ptx_sreg_envreg9 917 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 918 "llvm.nvvm.read.ptx.sreg.envreg9">, 919 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg9">; 920 def int_nvvm_read_ptx_sreg_envreg10 921 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 922 "llvm.nvvm.read.ptx.sreg.envreg10">, 923 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg10">; 924 def int_nvvm_read_ptx_sreg_envreg11 925 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 926 "llvm.nvvm.read.ptx.sreg.envreg11">, 927 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg11">; 928 def int_nvvm_read_ptx_sreg_envreg12 929 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 930 "llvm.nvvm.read.ptx.sreg.envreg12">, 931 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg12">; 932 def int_nvvm_read_ptx_sreg_envreg13 933 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 934 "llvm.nvvm.read.ptx.sreg.envreg13">, 935 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg13">; 936 def int_nvvm_read_ptx_sreg_envreg14 937 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 938 "llvm.nvvm.read.ptx.sreg.envreg14">, 939 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg14">; 940 def int_nvvm_read_ptx_sreg_envreg15 941 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 942 "llvm.nvvm.read.ptx.sreg.envreg15">, 943 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg15">; 944 def int_nvvm_read_ptx_sreg_envreg16 945 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 946 "llvm.nvvm.read.ptx.sreg.envreg16">, 947 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg16">; 948 def int_nvvm_read_ptx_sreg_envreg17 949 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 950 "llvm.nvvm.read.ptx.sreg.envreg17">, 951 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg17">; 952 def int_nvvm_read_ptx_sreg_envreg18 953 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 954 "llvm.nvvm.read.ptx.sreg.envreg18">, 955 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg18">; 956 def int_nvvm_read_ptx_sreg_envreg19 957 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 958 "llvm.nvvm.read.ptx.sreg.envreg19">, 959 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg19">; 960 def int_nvvm_read_ptx_sreg_envreg20 961 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 962 "llvm.nvvm.read.ptx.sreg.envreg20">, 963 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg20">; 964 def int_nvvm_read_ptx_sreg_envreg21 965 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 966 "llvm.nvvm.read.ptx.sreg.envreg21">, 967 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg21">; 968 def int_nvvm_read_ptx_sreg_envreg22 969 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 970 "llvm.nvvm.read.ptx.sreg.envreg22">, 971 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg22">; 972 def int_nvvm_read_ptx_sreg_envreg23 973 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 974 "llvm.nvvm.read.ptx.sreg.envreg23">, 975 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg23">; 976 def int_nvvm_read_ptx_sreg_envreg24 977 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 978 "llvm.nvvm.read.ptx.sreg.envreg24">, 979 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg24">; 980 def int_nvvm_read_ptx_sreg_envreg25 981 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 982 "llvm.nvvm.read.ptx.sreg.envreg25">, 983 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg25">; 984 def int_nvvm_read_ptx_sreg_envreg26 985 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 986 "llvm.nvvm.read.ptx.sreg.envreg26">, 987 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg26">; 988 def int_nvvm_read_ptx_sreg_envreg27 989 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 990 "llvm.nvvm.read.ptx.sreg.envreg27">, 991 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg27">; 992 def int_nvvm_read_ptx_sreg_envreg28 993 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 994 "llvm.nvvm.read.ptx.sreg.envreg28">, 995 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg28">; 996 def int_nvvm_read_ptx_sreg_envreg29 997 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 998 "llvm.nvvm.read.ptx.sreg.envreg29">, 999 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg29">; 1000 def int_nvvm_read_ptx_sreg_envreg30 1001 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 1002 "llvm.nvvm.read.ptx.sreg.envreg30">, 1003 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg30">; 1004 def int_nvvm_read_ptx_sreg_envreg31 1005 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem], 1006 "llvm.nvvm.read.ptx.sreg.envreg31">, 1007 GCCBuiltin<"__nvvm_read_ptx_sreg_envreg31">; 1008 1009 1010 // Texture Fetch 1011 // texmode_independent 1012 def int_nvvm_tex_1d_v4f32_s32 1013 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1014 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], 1015 "llvm.nvvm.tex.1d.v4f32.s32">; 1016 def int_nvvm_tex_1d_v4f32_f32 1017 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1018 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], 1019 "llvm.nvvm.tex.1d.v4f32.f32">; 1020 def int_nvvm_tex_1d_level_v4f32_f32 1021 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1022 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1023 "llvm.nvvm.tex.1d.level.v4f32.f32">; 1024 def int_nvvm_tex_1d_grad_v4f32_f32 1025 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1026 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1027 llvm_float_ty], [], 1028 "llvm.nvvm.tex.1d.grad.v4f32.f32">; 1029 def int_nvvm_tex_1d_v4s32_s32 1030 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1031 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], 1032 "llvm.nvvm.tex.1d.v4s32.s32">; 1033 def int_nvvm_tex_1d_v4s32_f32 1034 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1035 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], 1036 "llvm.nvvm.tex.1d.v4s32.f32">; 1037 def int_nvvm_tex_1d_level_v4s32_f32 1038 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1039 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1040 "llvm.nvvm.tex.1d.level.v4s32.f32">; 1041 def int_nvvm_tex_1d_grad_v4s32_f32 1042 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1043 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1044 llvm_float_ty], [], 1045 "llvm.nvvm.tex.1d.grad.v4s32.f32">; 1046 def int_nvvm_tex_1d_v4u32_s32 1047 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1048 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], 1049 "llvm.nvvm.tex.1d.v4u32.s32">; 1050 def int_nvvm_tex_1d_v4u32_f32 1051 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1052 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], 1053 "llvm.nvvm.tex.1d.v4u32.f32">; 1054 def int_nvvm_tex_1d_level_v4u32_f32 1055 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1056 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1057 "llvm.nvvm.tex.1d.level.v4u32.f32">; 1058 def int_nvvm_tex_1d_grad_v4u32_f32 1059 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1060 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1061 llvm_float_ty], [], 1062 "llvm.nvvm.tex.1d.grad.v4u32.f32">; 1063 1064 def int_nvvm_tex_1d_array_v4f32_s32 1065 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1066 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1067 "llvm.nvvm.tex.1d.array.v4f32.s32">; 1068 def int_nvvm_tex_1d_array_v4f32_f32 1069 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1070 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1071 "llvm.nvvm.tex.1d.array.v4f32.f32">; 1072 def int_nvvm_tex_1d_array_level_v4f32_f32 1073 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1074 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1075 llvm_float_ty], [], 1076 "llvm.nvvm.tex.1d.array.level.v4f32.f32">; 1077 def int_nvvm_tex_1d_array_grad_v4f32_f32 1078 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1079 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1080 llvm_float_ty, llvm_float_ty], [], 1081 "llvm.nvvm.tex.1d.array.grad.v4f32.f32">; 1082 def int_nvvm_tex_1d_array_v4s32_s32 1083 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1084 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1085 "llvm.nvvm.tex.1d.array.v4s32.s32">; 1086 def int_nvvm_tex_1d_array_v4s32_f32 1087 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1088 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1089 "llvm.nvvm.tex.1d.array.v4s32.f32">; 1090 def int_nvvm_tex_1d_array_level_v4s32_f32 1091 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1092 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1093 llvm_float_ty], [], 1094 "llvm.nvvm.tex.1d.array.level.v4s32.f32">; 1095 def int_nvvm_tex_1d_array_grad_v4s32_f32 1096 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1097 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1098 llvm_float_ty, llvm_float_ty], [], 1099 "llvm.nvvm.tex.1d.array.grad.v4s32.f32">; 1100 def int_nvvm_tex_1d_array_v4u32_s32 1101 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1102 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1103 "llvm.nvvm.tex.1d.array.v4u32.s32">; 1104 def int_nvvm_tex_1d_array_v4u32_f32 1105 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1106 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1107 "llvm.nvvm.tex.1d.array.v4u32.f32">; 1108 def int_nvvm_tex_1d_array_level_v4u32_f32 1109 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1110 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1111 llvm_float_ty], [], 1112 "llvm.nvvm.tex.1d.array.level.v4u32.f32">; 1113 def int_nvvm_tex_1d_array_grad_v4u32_f32 1114 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1115 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1116 llvm_float_ty, llvm_float_ty], [], 1117 "llvm.nvvm.tex.1d.array.grad.v4u32.f32">; 1118 1119 def int_nvvm_tex_2d_v4f32_s32 1120 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1121 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1122 "llvm.nvvm.tex.2d.v4f32.s32">; 1123 def int_nvvm_tex_2d_v4f32_f32 1124 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1125 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1126 "llvm.nvvm.tex.2d.v4f32.f32">; 1127 def int_nvvm_tex_2d_level_v4f32_f32 1128 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1129 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1130 llvm_float_ty], [], 1131 "llvm.nvvm.tex.2d.level.v4f32.f32">; 1132 def int_nvvm_tex_2d_grad_v4f32_f32 1133 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1134 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1135 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1136 "llvm.nvvm.tex.2d.grad.v4f32.f32">; 1137 def int_nvvm_tex_2d_v4s32_s32 1138 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1139 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1140 "llvm.nvvm.tex.2d.v4s32.s32">; 1141 def int_nvvm_tex_2d_v4s32_f32 1142 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1143 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1144 "llvm.nvvm.tex.2d.v4s32.f32">; 1145 def int_nvvm_tex_2d_level_v4s32_f32 1146 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1147 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1148 llvm_float_ty], [], 1149 "llvm.nvvm.tex.2d.level.v4s32.f32">; 1150 def int_nvvm_tex_2d_grad_v4s32_f32 1151 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1152 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1153 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1154 "llvm.nvvm.tex.2d.grad.v4s32.f32">; 1155 def int_nvvm_tex_2d_v4u32_s32 1156 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1157 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1158 "llvm.nvvm.tex.2d.v4u32.s32">; 1159 def int_nvvm_tex_2d_v4u32_f32 1160 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1161 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1162 "llvm.nvvm.tex.2d.v4u32.f32">; 1163 def int_nvvm_tex_2d_level_v4u32_f32 1164 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1165 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1166 llvm_float_ty], [], 1167 "llvm.nvvm.tex.2d.level.v4u32.f32">; 1168 def int_nvvm_tex_2d_grad_v4u32_f32 1169 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1170 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1171 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1172 "llvm.nvvm.tex.2d.grad.v4u32.f32">; 1173 1174 def int_nvvm_tex_2d_array_v4f32_s32 1175 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1176 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1177 llvm_i32_ty], [], 1178 "llvm.nvvm.tex.2d.array.v4f32.s32">; 1179 def int_nvvm_tex_2d_array_v4f32_f32 1180 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1181 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1182 llvm_float_ty], [], 1183 "llvm.nvvm.tex.2d.array.v4f32.f32">; 1184 def int_nvvm_tex_2d_array_level_v4f32_f32 1185 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1186 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1187 llvm_float_ty, llvm_float_ty], [], 1188 "llvm.nvvm.tex.2d.array.level.v4f32.f32">; 1189 def int_nvvm_tex_2d_array_grad_v4f32_f32 1190 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1191 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1192 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1193 llvm_float_ty], [], 1194 "llvm.nvvm.tex.2d.array.grad.v4f32.f32">; 1195 def int_nvvm_tex_2d_array_v4s32_s32 1196 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1197 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1198 llvm_i32_ty], [], 1199 "llvm.nvvm.tex.2d.array.v4s32.s32">; 1200 def int_nvvm_tex_2d_array_v4s32_f32 1201 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1202 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1203 llvm_float_ty], [], 1204 "llvm.nvvm.tex.2d.array.v4s32.f32">; 1205 def int_nvvm_tex_2d_array_level_v4s32_f32 1206 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1207 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1208 llvm_float_ty, llvm_float_ty], [], 1209 "llvm.nvvm.tex.2d.array.level.v4s32.f32">; 1210 def int_nvvm_tex_2d_array_grad_v4s32_f32 1211 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1212 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1213 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1214 llvm_float_ty], [], 1215 "llvm.nvvm.tex.2d.array.grad.v4s32.f32">; 1216 def int_nvvm_tex_2d_array_v4u32_s32 1217 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1218 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1219 llvm_i32_ty], [], 1220 "llvm.nvvm.tex.2d.array.v4u32.s32">; 1221 def int_nvvm_tex_2d_array_v4u32_f32 1222 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1223 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1224 llvm_float_ty], [], 1225 "llvm.nvvm.tex.2d.array.v4u32.f32">; 1226 def int_nvvm_tex_2d_array_level_v4u32_f32 1227 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1228 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1229 llvm_float_ty, llvm_float_ty], [], 1230 "llvm.nvvm.tex.2d.array.level.v4u32.f32">; 1231 def int_nvvm_tex_2d_array_grad_v4u32_f32 1232 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1233 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1234 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1235 llvm_float_ty], [], 1236 "llvm.nvvm.tex.2d.array.grad.v4u32.f32">; 1237 1238 def int_nvvm_tex_3d_v4f32_s32 1239 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1240 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1241 [], "llvm.nvvm.tex.3d.v4f32.s32">; 1242 def int_nvvm_tex_3d_v4f32_f32 1243 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1244 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1245 llvm_float_ty], [], 1246 "llvm.nvvm.tex.3d.v4f32.f32">; 1247 def int_nvvm_tex_3d_level_v4f32_f32 1248 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1249 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1250 llvm_float_ty, llvm_float_ty], [], 1251 "llvm.nvvm.tex.3d.level.v4f32.f32">; 1252 def int_nvvm_tex_3d_grad_v4f32_f32 1253 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1254 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1255 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1256 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1257 "llvm.nvvm.tex.3d.grad.v4f32.f32">; 1258 def int_nvvm_tex_3d_v4s32_s32 1259 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1260 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1261 [], "llvm.nvvm.tex.3d.v4s32.s32">; 1262 def int_nvvm_tex_3d_v4s32_f32 1263 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1264 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1265 llvm_float_ty], [], 1266 "llvm.nvvm.tex.3d.v4s32.f32">; 1267 def int_nvvm_tex_3d_level_v4s32_f32 1268 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1269 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1270 llvm_float_ty, llvm_float_ty], [], 1271 "llvm.nvvm.tex.3d.level.v4s32.f32">; 1272 def int_nvvm_tex_3d_grad_v4s32_f32 1273 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1274 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1275 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1276 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1277 "llvm.nvvm.tex.3d.grad.v4s32.f32">; 1278 def int_nvvm_tex_3d_v4u32_s32 1279 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1280 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1281 [], "llvm.nvvm.tex.3d.v4u32.s32">; 1282 def int_nvvm_tex_3d_v4u32_f32 1283 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1284 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1285 llvm_float_ty], [], 1286 "llvm.nvvm.tex.3d.v4u32.f32">; 1287 def int_nvvm_tex_3d_level_v4u32_f32 1288 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1289 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1290 llvm_float_ty, llvm_float_ty], [], 1291 "llvm.nvvm.tex.3d.level.v4u32.f32">; 1292 def int_nvvm_tex_3d_grad_v4u32_f32 1293 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1294 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1295 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1296 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1297 "llvm.nvvm.tex.3d.grad.v4u32.f32">; 1298 1299 def int_nvvm_tex_cube_v4f32_f32 1300 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1301 [llvm_i64_ty, llvm_i64_ty, 1302 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1303 "llvm.nvvm.tex.cube.v4f32.f32">; 1304 def int_nvvm_tex_cube_level_v4f32_f32 1305 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1306 [llvm_i64_ty, llvm_i64_ty, 1307 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1308 "llvm.nvvm.tex.cube.level.v4f32.f32">; 1309 def int_nvvm_tex_cube_v4s32_f32 1310 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1311 [llvm_i64_ty, llvm_i64_ty, 1312 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1313 "llvm.nvvm.tex.cube.v4s32.f32">; 1314 def int_nvvm_tex_cube_level_v4s32_f32 1315 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1316 [llvm_i64_ty, llvm_i64_ty, 1317 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1318 "llvm.nvvm.tex.cube.level.v4s32.f32">; 1319 def int_nvvm_tex_cube_v4u32_f32 1320 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1321 [llvm_i64_ty, llvm_i64_ty, 1322 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1323 "llvm.nvvm.tex.cube.v4u32.f32">; 1324 def int_nvvm_tex_cube_level_v4u32_f32 1325 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1326 [llvm_i64_ty, llvm_i64_ty, 1327 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1328 "llvm.nvvm.tex.cube.level.v4u32.f32">; 1329 1330 def int_nvvm_tex_cube_array_v4f32_f32 1331 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1332 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1333 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1334 "llvm.nvvm.tex.cube.array.v4f32.f32">; 1335 def int_nvvm_tex_cube_array_level_v4f32_f32 1336 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1337 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1338 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1339 "llvm.nvvm.tex.cube.array.level.v4f32.f32">; 1340 def int_nvvm_tex_cube_array_v4s32_f32 1341 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1342 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1343 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1344 "llvm.nvvm.tex.cube.array.v4s32.f32">; 1345 def int_nvvm_tex_cube_array_level_v4s32_f32 1346 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1347 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1348 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1349 "llvm.nvvm.tex.cube.array.level.v4s32.f32">; 1350 def int_nvvm_tex_cube_array_v4u32_f32 1351 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1352 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1353 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1354 "llvm.nvvm.tex.cube.array.v4u32.f32">; 1355 def int_nvvm_tex_cube_array_level_v4u32_f32 1356 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1357 [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, 1358 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1359 "llvm.nvvm.tex.cube.array.level.v4u32.f32">; 1360 1361 def int_nvvm_tld4_r_2d_v4f32_f32 1362 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1363 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1364 "llvm.nvvm.tld4.r.2d.v4f32.f32">; 1365 def int_nvvm_tld4_g_2d_v4f32_f32 1366 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1367 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1368 "llvm.nvvm.tld4.g.2d.v4f32.f32">; 1369 def int_nvvm_tld4_b_2d_v4f32_f32 1370 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1371 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1372 "llvm.nvvm.tld4.b.2d.v4f32.f32">; 1373 def int_nvvm_tld4_a_2d_v4f32_f32 1374 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1375 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1376 "llvm.nvvm.tld4.a.2d.v4f32.f32">; 1377 def int_nvvm_tld4_r_2d_v4s32_f32 1378 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1379 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1380 "llvm.nvvm.tld4.r.2d.v4s32.f32">; 1381 def int_nvvm_tld4_g_2d_v4s32_f32 1382 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1383 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1384 "llvm.nvvm.tld4.g.2d.v4s32.f32">; 1385 def int_nvvm_tld4_b_2d_v4s32_f32 1386 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1387 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1388 "llvm.nvvm.tld4.b.2d.v4s32.f32">; 1389 def int_nvvm_tld4_a_2d_v4s32_f32 1390 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1391 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1392 "llvm.nvvm.tld4.a.2d.v4s32.f32">; 1393 def int_nvvm_tld4_r_2d_v4u32_f32 1394 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1395 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1396 "llvm.nvvm.tld4.r.2d.v4u32.f32">; 1397 def int_nvvm_tld4_g_2d_v4u32_f32 1398 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1399 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1400 "llvm.nvvm.tld4.g.2d.v4u32.f32">; 1401 def int_nvvm_tld4_b_2d_v4u32_f32 1402 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1403 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1404 "llvm.nvvm.tld4.b.2d.v4u32.f32">; 1405 def int_nvvm_tld4_a_2d_v4u32_f32 1406 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1407 [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1408 "llvm.nvvm.tld4.a.2d.v4u32.f32">; 1409 1410 1411 // texmode_unified 1412 def int_nvvm_tex_unified_1d_v4f32_s32 1413 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1414 [llvm_i64_ty, llvm_i32_ty], [], 1415 "llvm.nvvm.tex.unified.1d.v4f32.s32">; 1416 def int_nvvm_tex_unified_1d_v4f32_f32 1417 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1418 [llvm_i64_ty, llvm_float_ty], [], 1419 "llvm.nvvm.tex.unified.1d.v4f32.f32">; 1420 def int_nvvm_tex_unified_1d_level_v4f32_f32 1421 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1422 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1423 "llvm.nvvm.tex.unified.1d.level.v4f32.f32">; 1424 def int_nvvm_tex_unified_1d_grad_v4f32_f32 1425 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1426 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1427 llvm_float_ty], [], 1428 "llvm.nvvm.tex.unified.1d.grad.v4f32.f32">; 1429 def int_nvvm_tex_unified_1d_v4s32_s32 1430 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1431 [llvm_i64_ty, llvm_i32_ty], [], 1432 "llvm.nvvm.tex.unified.1d.v4s32.s32">; 1433 def int_nvvm_tex_unified_1d_v4s32_f32 1434 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1435 [llvm_i64_ty, llvm_float_ty], [], 1436 "llvm.nvvm.tex.unified.1d.v4s32.f32">; 1437 def int_nvvm_tex_unified_1d_level_v4s32_f32 1438 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1439 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1440 "llvm.nvvm.tex.unified.1d.level.v4s32.f32">; 1441 def int_nvvm_tex_unified_1d_grad_v4s32_f32 1442 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1443 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1444 llvm_float_ty], [], 1445 "llvm.nvvm.tex.unified.1d.grad.v4s32.f32">; 1446 def int_nvvm_tex_unified_1d_v4u32_s32 1447 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1448 [llvm_i64_ty, llvm_i32_ty], [], 1449 "llvm.nvvm.tex.unified.1d.v4u32.s32">; 1450 def int_nvvm_tex_unified_1d_v4u32_f32 1451 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1452 [llvm_i64_ty, llvm_float_ty], [], 1453 "llvm.nvvm.tex.unified.1d.v4u32.f32">; 1454 def int_nvvm_tex_unified_1d_level_v4u32_f32 1455 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1456 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1457 "llvm.nvvm.tex.unified.1d.level.v4u32.f32">; 1458 def int_nvvm_tex_unified_1d_grad_v4u32_f32 1459 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1460 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1461 llvm_float_ty], [], 1462 "llvm.nvvm.tex.unified.1d.grad.v4u32.f32">; 1463 1464 def int_nvvm_tex_unified_1d_array_v4f32_s32 1465 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1466 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1467 "llvm.nvvm.tex.unified.1d.array.v4f32.s32">; 1468 def int_nvvm_tex_unified_1d_array_v4f32_f32 1469 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1470 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1471 "llvm.nvvm.tex.unified.1d.array.v4f32.f32">; 1472 def int_nvvm_tex_unified_1d_array_level_v4f32_f32 1473 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1474 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1475 llvm_float_ty], [], 1476 "llvm.nvvm.tex.unified.1d.array.level.v4f32.f32">; 1477 def int_nvvm_tex_unified_1d_array_grad_v4f32_f32 1478 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1479 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1480 llvm_float_ty, llvm_float_ty], [], 1481 "llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32">; 1482 def int_nvvm_tex_unified_1d_array_v4s32_s32 1483 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1484 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1485 "llvm.nvvm.tex.unified.1d.array.v4s32.s32">; 1486 def int_nvvm_tex_unified_1d_array_v4s32_f32 1487 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1488 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1489 "llvm.nvvm.tex.unified.1d.array.v4s32.f32">; 1490 def int_nvvm_tex_unified_1d_array_level_v4s32_f32 1491 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1492 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1493 llvm_float_ty], [], 1494 "llvm.nvvm.tex.unified.1d.array.level.v4s32.f32">; 1495 def int_nvvm_tex_unified_1d_array_grad_v4s32_f32 1496 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1497 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1498 llvm_float_ty, llvm_float_ty], [], 1499 "llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32">; 1500 def int_nvvm_tex_unified_1d_array_v4u32_s32 1501 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1502 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1503 "llvm.nvvm.tex.unified.1d.array.v4u32.s32">; 1504 def int_nvvm_tex_unified_1d_array_v4u32_f32 1505 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1506 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], 1507 "llvm.nvvm.tex.unified.1d.array.v4u32.f32">; 1508 def int_nvvm_tex_unified_1d_array_level_v4u32_f32 1509 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1510 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1511 llvm_float_ty], [], 1512 "llvm.nvvm.tex.unified.1d.array.level.v4u32.f32">; 1513 def int_nvvm_tex_unified_1d_array_grad_v4u32_f32 1514 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1515 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1516 llvm_float_ty, llvm_float_ty], [], 1517 "llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32">; 1518 1519 def int_nvvm_tex_unified_2d_v4f32_s32 1520 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1521 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1522 "llvm.nvvm.tex.unified.2d.v4f32.s32">; 1523 def int_nvvm_tex_unified_2d_v4f32_f32 1524 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1525 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1526 "llvm.nvvm.tex.unified.2d.v4f32.f32">; 1527 def int_nvvm_tex_unified_2d_level_v4f32_f32 1528 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1529 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1530 llvm_float_ty], [], 1531 "llvm.nvvm.tex.unified.2d.level.v4f32.f32">; 1532 def int_nvvm_tex_unified_2d_grad_v4f32_f32 1533 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1534 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1535 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1536 "llvm.nvvm.tex.unified.2d.grad.v4f32.f32">; 1537 def int_nvvm_tex_unified_2d_v4s32_s32 1538 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1539 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1540 "llvm.nvvm.tex.unified.2d.v4s32.s32">; 1541 def int_nvvm_tex_unified_2d_v4s32_f32 1542 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1543 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1544 "llvm.nvvm.tex.unified.2d.v4s32.f32">; 1545 def int_nvvm_tex_unified_2d_level_v4s32_f32 1546 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1547 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1548 llvm_float_ty], [], 1549 "llvm.nvvm.tex.unified.2d.level.v4s32.f32">; 1550 def int_nvvm_tex_unified_2d_grad_v4s32_f32 1551 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1552 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1553 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1554 "llvm.nvvm.tex.unified.2d.grad.v4s32.f32">; 1555 def int_nvvm_tex_unified_2d_v4u32_s32 1556 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1557 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1558 "llvm.nvvm.tex.unified.2d.v4u32.s32">; 1559 def int_nvvm_tex_unified_2d_v4u32_f32 1560 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1561 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1562 "llvm.nvvm.tex.unified.2d.v4u32.f32">; 1563 def int_nvvm_tex_unified_2d_level_v4u32_f32 1564 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1565 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1566 llvm_float_ty], [], 1567 "llvm.nvvm.tex.unified.2d.level.v4u32.f32">; 1568 def int_nvvm_tex_unified_2d_grad_v4u32_f32 1569 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1570 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1571 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1572 "llvm.nvvm.tex.unified.2d.grad.v4u32.f32">; 1573 1574 def int_nvvm_tex_unified_2d_array_v4f32_s32 1575 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1576 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1577 llvm_i32_ty], [], 1578 "llvm.nvvm.tex.unified.2d.array.v4f32.s32">; 1579 def int_nvvm_tex_unified_2d_array_v4f32_f32 1580 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1581 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1582 llvm_float_ty], [], 1583 "llvm.nvvm.tex.unified.2d.array.v4f32.f32">; 1584 def int_nvvm_tex_unified_2d_array_level_v4f32_f32 1585 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1586 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1587 llvm_float_ty, llvm_float_ty], [], 1588 "llvm.nvvm.tex.unified.2d.array.level.v4f32.f32">; 1589 def int_nvvm_tex_unified_2d_array_grad_v4f32_f32 1590 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1591 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1592 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1593 llvm_float_ty], [], 1594 "llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32">; 1595 def int_nvvm_tex_unified_2d_array_v4s32_s32 1596 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1597 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1598 llvm_i32_ty], [], 1599 "llvm.nvvm.tex.unified.2d.array.v4s32.s32">; 1600 def int_nvvm_tex_unified_2d_array_v4s32_f32 1601 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1602 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1603 llvm_float_ty], [], 1604 "llvm.nvvm.tex.unified.2d.array.v4s32.f32">; 1605 def int_nvvm_tex_unified_2d_array_level_v4s32_f32 1606 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1607 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1608 llvm_float_ty, llvm_float_ty], [], 1609 "llvm.nvvm.tex.unified.2d.array.level.v4s32.f32">; 1610 def int_nvvm_tex_unified_2d_array_grad_v4s32_f32 1611 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1612 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1613 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1614 llvm_float_ty], [], 1615 "llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32">; 1616 def int_nvvm_tex_unified_2d_array_v4u32_s32 1617 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1618 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 1619 llvm_i32_ty], [], 1620 "llvm.nvvm.tex.unified.2d.array.v4u32.s32">; 1621 def int_nvvm_tex_unified_2d_array_v4u32_f32 1622 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1623 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1624 llvm_float_ty], [], 1625 "llvm.nvvm.tex.unified.2d.array.v4u32.f32">; 1626 def int_nvvm_tex_unified_2d_array_level_v4u32_f32 1627 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1628 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1629 llvm_float_ty, llvm_float_ty], [], 1630 "llvm.nvvm.tex.unified.2d.array.level.v4u32.f32">; 1631 def int_nvvm_tex_unified_2d_array_grad_v4u32_f32 1632 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1633 [llvm_i64_ty, llvm_i32_ty, llvm_float_ty, 1634 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1635 llvm_float_ty], [], 1636 "llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32">; 1637 1638 def int_nvvm_tex_unified_3d_v4f32_s32 1639 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1640 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1641 [], "llvm.nvvm.tex.unified.3d.v4f32.s32">; 1642 def int_nvvm_tex_unified_3d_v4f32_f32 1643 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1644 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1645 llvm_float_ty], [], 1646 "llvm.nvvm.tex.unified.3d.v4f32.f32">; 1647 def int_nvvm_tex_unified_3d_level_v4f32_f32 1648 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1649 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1650 llvm_float_ty, llvm_float_ty], [], 1651 "llvm.nvvm.tex.unified.3d.level.v4f32.f32">; 1652 def int_nvvm_tex_unified_3d_grad_v4f32_f32 1653 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1654 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1655 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1656 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1657 "llvm.nvvm.tex.unified.3d.grad.v4f32.f32">; 1658 def int_nvvm_tex_unified_3d_v4s32_s32 1659 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1660 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1661 [], "llvm.nvvm.tex.unified.3d.v4s32.s32">; 1662 def int_nvvm_tex_unified_3d_v4s32_f32 1663 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1664 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1665 llvm_float_ty], [], 1666 "llvm.nvvm.tex.unified.3d.v4s32.f32">; 1667 def int_nvvm_tex_unified_3d_level_v4s32_f32 1668 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1669 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1670 llvm_float_ty, llvm_float_ty], [], 1671 "llvm.nvvm.tex.unified.3d.level.v4s32.f32">; 1672 def int_nvvm_tex_unified_3d_grad_v4s32_f32 1673 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1674 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1675 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1676 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1677 "llvm.nvvm.tex.unified.3d.grad.v4s32.f32">; 1678 def int_nvvm_tex_unified_3d_v4u32_s32 1679 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1680 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1681 [], "llvm.nvvm.tex.unified.3d.v4u32.s32">; 1682 def int_nvvm_tex_unified_3d_v4u32_f32 1683 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1684 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1685 llvm_float_ty], [], 1686 "llvm.nvvm.tex.unified.3d.v4u32.f32">; 1687 def int_nvvm_tex_unified_3d_level_v4u32_f32 1688 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1689 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1690 llvm_float_ty, llvm_float_ty], [], 1691 "llvm.nvvm.tex.unified.3d.level.v4u32.f32">; 1692 def int_nvvm_tex_unified_3d_grad_v4u32_f32 1693 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1694 [llvm_i64_ty, llvm_float_ty, llvm_float_ty, 1695 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, 1696 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1697 "llvm.nvvm.tex.unified.3d.grad.v4u32.f32">; 1698 1699 def int_nvvm_tex_unified_cube_v4f32_f32 1700 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1701 [llvm_i64_ty, 1702 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1703 "llvm.nvvm.tex.unified.cube.v4f32.f32">; 1704 def int_nvvm_tex_unified_cube_level_v4f32_f32 1705 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1706 [llvm_i64_ty, 1707 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1708 "llvm.nvvm.tex.unified.cube.level.v4f32.f32">; 1709 def int_nvvm_tex_unified_cube_v4s32_f32 1710 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1711 [llvm_i64_ty, 1712 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1713 "llvm.nvvm.tex.unified.cube.v4s32.f32">; 1714 def int_nvvm_tex_unified_cube_level_v4s32_f32 1715 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1716 [llvm_i64_ty, 1717 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1718 "llvm.nvvm.tex.unified.cube.level.v4s32.f32">; 1719 def int_nvvm_tex_unified_cube_v4u32_f32 1720 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1721 [llvm_i64_ty, 1722 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1723 "llvm.nvvm.tex.unified.cube.v4u32.f32">; 1724 def int_nvvm_tex_unified_cube_level_v4u32_f32 1725 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1726 [llvm_i64_ty, 1727 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1728 "llvm.nvvm.tex.unified.cube.level.v4u32.f32">; 1729 1730 def int_nvvm_tex_unified_cube_array_v4f32_f32 1731 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1732 [llvm_i64_ty, llvm_i32_ty, 1733 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1734 "llvm.nvvm.tex.unified.cube.array.v4f32.f32">; 1735 def int_nvvm_tex_unified_cube_array_level_v4f32_f32 1736 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1737 [llvm_i64_ty, llvm_i32_ty, 1738 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1739 "llvm.nvvm.tex.unified.cube.array.level.v4f32.f32">; 1740 def int_nvvm_tex_unified_cube_array_v4s32_f32 1741 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1742 [llvm_i64_ty, llvm_i32_ty, 1743 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1744 "llvm.nvvm.tex.unified.cube.array.v4s32.f32">; 1745 def int_nvvm_tex_unified_cube_array_level_v4s32_f32 1746 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1747 [llvm_i64_ty, llvm_i32_ty, 1748 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1749 "llvm.nvvm.tex.unified.cube.array.level.v4s32.f32">; 1750 def int_nvvm_tex_unified_cube_array_v4u32_f32 1751 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1752 [llvm_i64_ty, llvm_i32_ty, 1753 llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1754 "llvm.nvvm.tex.unified.cube.array.v4u32.f32">; 1755 def int_nvvm_tex_unified_cube_array_level_v4u32_f32 1756 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1757 [llvm_i64_ty, llvm_i32_ty, 1758 llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], 1759 "llvm.nvvm.tex.unified.cube.array.level.v4u32.f32">; 1760 1761 def int_nvvm_tld4_unified_r_2d_v4f32_f32 1762 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1763 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1764 "llvm.nvvm.tld4.unified.r.2d.v4f32.f32">; 1765 def int_nvvm_tld4_unified_g_2d_v4f32_f32 1766 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1767 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1768 "llvm.nvvm.tld4.unified.g.2d.v4f32.f32">; 1769 def int_nvvm_tld4_unified_b_2d_v4f32_f32 1770 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1771 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1772 "llvm.nvvm.tld4.unified.b.2d.v4f32.f32">; 1773 def int_nvvm_tld4_unified_a_2d_v4f32_f32 1774 : Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], 1775 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1776 "llvm.nvvm.tld4.unified.a.2d.v4f32.f32">; 1777 def int_nvvm_tld4_unified_r_2d_v4s32_f32 1778 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1779 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1780 "llvm.nvvm.tld4.unified.r.2d.v4s32.f32">; 1781 def int_nvvm_tld4_unified_g_2d_v4s32_f32 1782 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1783 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1784 "llvm.nvvm.tld4.unified.g.2d.v4s32.f32">; 1785 def int_nvvm_tld4_unified_b_2d_v4s32_f32 1786 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1787 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1788 "llvm.nvvm.tld4.unified.b.2d.v4s32.f32">; 1789 def int_nvvm_tld4_unified_a_2d_v4s32_f32 1790 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1791 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1792 "llvm.nvvm.tld4.unified.a.2d.v4s32.f32">; 1793 def int_nvvm_tld4_unified_r_2d_v4u32_f32 1794 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1795 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1796 "llvm.nvvm.tld4.unified.r.2d.v4u32.f32">; 1797 def int_nvvm_tld4_unified_g_2d_v4u32_f32 1798 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1799 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1800 "llvm.nvvm.tld4.unified.g.2d.v4u32.f32">; 1801 def int_nvvm_tld4_unified_b_2d_v4u32_f32 1802 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1803 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1804 "llvm.nvvm.tld4.unified.b.2d.v4u32.f32">; 1805 def int_nvvm_tld4_unified_a_2d_v4u32_f32 1806 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1807 [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], 1808 "llvm.nvvm.tld4.unified.a.2d.v4u32.f32">; 1809 1810 1811 //=== Surface Load 1812 // .clamp variants 1813 def int_nvvm_suld_1d_i8_clamp 1814 : Intrinsic<[llvm_i16_ty], 1815 [llvm_i64_ty, llvm_i32_ty], [], 1816 "llvm.nvvm.suld.1d.i8.clamp">; 1817 def int_nvvm_suld_1d_i16_clamp 1818 : Intrinsic<[llvm_i16_ty], 1819 [llvm_i64_ty, llvm_i32_ty], [], 1820 "llvm.nvvm.suld.1d.i16.clamp">; 1821 def int_nvvm_suld_1d_i32_clamp 1822 : Intrinsic<[llvm_i32_ty], 1823 [llvm_i64_ty, llvm_i32_ty], [], 1824 "llvm.nvvm.suld.1d.i32.clamp">; 1825 def int_nvvm_suld_1d_i64_clamp 1826 : Intrinsic<[llvm_i64_ty], 1827 [llvm_i64_ty, llvm_i32_ty], [], 1828 "llvm.nvvm.suld.1d.i64.clamp">; 1829 def int_nvvm_suld_1d_v2i8_clamp 1830 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1831 [llvm_i64_ty, llvm_i32_ty], [], 1832 "llvm.nvvm.suld.1d.v2i8.clamp">; 1833 def int_nvvm_suld_1d_v2i16_clamp 1834 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1835 [llvm_i64_ty, llvm_i32_ty], [], 1836 "llvm.nvvm.suld.1d.v2i16.clamp">; 1837 def int_nvvm_suld_1d_v2i32_clamp 1838 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 1839 [llvm_i64_ty, llvm_i32_ty], [], 1840 "llvm.nvvm.suld.1d.v2i32.clamp">; 1841 def int_nvvm_suld_1d_v2i64_clamp 1842 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 1843 [llvm_i64_ty, llvm_i32_ty], [], 1844 "llvm.nvvm.suld.1d.v2i64.clamp">; 1845 def int_nvvm_suld_1d_v4i8_clamp 1846 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1847 [llvm_i64_ty, llvm_i32_ty], [], 1848 "llvm.nvvm.suld.1d.v4i8.clamp">; 1849 def int_nvvm_suld_1d_v4i16_clamp 1850 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1851 [llvm_i64_ty, llvm_i32_ty], [], 1852 "llvm.nvvm.suld.1d.v4i16.clamp">; 1853 def int_nvvm_suld_1d_v4i32_clamp 1854 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1855 [llvm_i64_ty, llvm_i32_ty], [], 1856 "llvm.nvvm.suld.1d.v4i32.clamp">; 1857 1858 def int_nvvm_suld_1d_array_i8_clamp 1859 : Intrinsic<[llvm_i16_ty], 1860 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1861 "llvm.nvvm.suld.1d.array.i8.clamp">; 1862 def int_nvvm_suld_1d_array_i16_clamp 1863 : Intrinsic<[llvm_i16_ty], 1864 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1865 "llvm.nvvm.suld.1d.array.i16.clamp">; 1866 def int_nvvm_suld_1d_array_i32_clamp 1867 : Intrinsic<[llvm_i32_ty], 1868 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1869 "llvm.nvvm.suld.1d.array.i32.clamp">; 1870 def int_nvvm_suld_1d_array_i64_clamp 1871 : Intrinsic<[llvm_i64_ty], 1872 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1873 "llvm.nvvm.suld.1d.array.i64.clamp">; 1874 def int_nvvm_suld_1d_array_v2i8_clamp 1875 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1876 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1877 "llvm.nvvm.suld.1d.array.v2i8.clamp">; 1878 def int_nvvm_suld_1d_array_v2i16_clamp 1879 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1880 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1881 "llvm.nvvm.suld.1d.array.v2i16.clamp">; 1882 def int_nvvm_suld_1d_array_v2i32_clamp 1883 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 1884 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1885 "llvm.nvvm.suld.1d.array.v2i32.clamp">; 1886 def int_nvvm_suld_1d_array_v2i64_clamp 1887 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 1888 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1889 "llvm.nvvm.suld.1d.array.v2i64.clamp">; 1890 def int_nvvm_suld_1d_array_v4i8_clamp 1891 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1892 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1893 "llvm.nvvm.suld.1d.array.v4i8.clamp">; 1894 def int_nvvm_suld_1d_array_v4i16_clamp 1895 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1896 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1897 "llvm.nvvm.suld.1d.array.v4i16.clamp">; 1898 def int_nvvm_suld_1d_array_v4i32_clamp 1899 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1900 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1901 "llvm.nvvm.suld.1d.array.v4i32.clamp">; 1902 1903 def int_nvvm_suld_2d_i8_clamp 1904 : Intrinsic<[llvm_i16_ty], 1905 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1906 "llvm.nvvm.suld.2d.i8.clamp">; 1907 def int_nvvm_suld_2d_i16_clamp 1908 : Intrinsic<[llvm_i16_ty], 1909 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1910 "llvm.nvvm.suld.2d.i16.clamp">; 1911 def int_nvvm_suld_2d_i32_clamp 1912 : Intrinsic<[llvm_i32_ty], 1913 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1914 "llvm.nvvm.suld.2d.i32.clamp">; 1915 def int_nvvm_suld_2d_i64_clamp 1916 : Intrinsic<[llvm_i64_ty], 1917 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1918 "llvm.nvvm.suld.2d.i64.clamp">; 1919 def int_nvvm_suld_2d_v2i8_clamp 1920 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1921 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1922 "llvm.nvvm.suld.2d.v2i8.clamp">; 1923 def int_nvvm_suld_2d_v2i16_clamp 1924 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1925 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1926 "llvm.nvvm.suld.2d.v2i16.clamp">; 1927 def int_nvvm_suld_2d_v2i32_clamp 1928 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 1929 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1930 "llvm.nvvm.suld.2d.v2i32.clamp">; 1931 def int_nvvm_suld_2d_v2i64_clamp 1932 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 1933 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1934 "llvm.nvvm.suld.2d.v2i64.clamp">; 1935 def int_nvvm_suld_2d_v4i8_clamp 1936 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1937 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1938 "llvm.nvvm.suld.2d.v4i8.clamp">; 1939 def int_nvvm_suld_2d_v4i16_clamp 1940 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1941 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1942 "llvm.nvvm.suld.2d.v4i16.clamp">; 1943 def int_nvvm_suld_2d_v4i32_clamp 1944 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1945 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 1946 "llvm.nvvm.suld.2d.v4i32.clamp">; 1947 1948 def int_nvvm_suld_2d_array_i8_clamp 1949 : Intrinsic<[llvm_i16_ty], 1950 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1951 "llvm.nvvm.suld.2d.array.i8.clamp">; 1952 def int_nvvm_suld_2d_array_i16_clamp 1953 : Intrinsic<[llvm_i16_ty], 1954 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1955 "llvm.nvvm.suld.2d.array.i16.clamp">; 1956 def int_nvvm_suld_2d_array_i32_clamp 1957 : Intrinsic<[llvm_i32_ty], 1958 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1959 "llvm.nvvm.suld.2d.array.i32.clamp">; 1960 def int_nvvm_suld_2d_array_i64_clamp 1961 : Intrinsic<[llvm_i64_ty], 1962 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1963 "llvm.nvvm.suld.2d.array.i64.clamp">; 1964 def int_nvvm_suld_2d_array_v2i8_clamp 1965 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1966 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1967 "llvm.nvvm.suld.2d.array.v2i8.clamp">; 1968 def int_nvvm_suld_2d_array_v2i16_clamp 1969 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 1970 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1971 "llvm.nvvm.suld.2d.array.v2i16.clamp">; 1972 def int_nvvm_suld_2d_array_v2i32_clamp 1973 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 1974 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1975 "llvm.nvvm.suld.2d.array.v2i32.clamp">; 1976 def int_nvvm_suld_2d_array_v2i64_clamp 1977 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 1978 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1979 "llvm.nvvm.suld.2d.array.v2i64.clamp">; 1980 def int_nvvm_suld_2d_array_v4i8_clamp 1981 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1982 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1983 "llvm.nvvm.suld.2d.array.v4i8.clamp">; 1984 def int_nvvm_suld_2d_array_v4i16_clamp 1985 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 1986 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1987 "llvm.nvvm.suld.2d.array.v4i16.clamp">; 1988 def int_nvvm_suld_2d_array_v4i32_clamp 1989 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1990 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1991 "llvm.nvvm.suld.2d.array.v4i32.clamp">; 1992 1993 def int_nvvm_suld_3d_i8_clamp 1994 : Intrinsic<[llvm_i16_ty], 1995 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 1996 "llvm.nvvm.suld.3d.i8.clamp">; 1997 def int_nvvm_suld_3d_i16_clamp 1998 : Intrinsic<[llvm_i16_ty], 1999 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2000 "llvm.nvvm.suld.3d.i16.clamp">; 2001 def int_nvvm_suld_3d_i32_clamp 2002 : Intrinsic<[llvm_i32_ty], 2003 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2004 "llvm.nvvm.suld.3d.i32.clamp">; 2005 def int_nvvm_suld_3d_i64_clamp 2006 : Intrinsic<[llvm_i64_ty], 2007 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2008 "llvm.nvvm.suld.3d.i64.clamp">; 2009 def int_nvvm_suld_3d_v2i8_clamp 2010 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2011 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2012 "llvm.nvvm.suld.3d.v2i8.clamp">; 2013 def int_nvvm_suld_3d_v2i16_clamp 2014 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2015 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2016 "llvm.nvvm.suld.3d.v2i16.clamp">; 2017 def int_nvvm_suld_3d_v2i32_clamp 2018 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2019 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2020 "llvm.nvvm.suld.3d.v2i32.clamp">; 2021 def int_nvvm_suld_3d_v2i64_clamp 2022 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2023 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2024 "llvm.nvvm.suld.3d.v2i64.clamp">; 2025 def int_nvvm_suld_3d_v4i8_clamp 2026 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2027 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2028 "llvm.nvvm.suld.3d.v4i8.clamp">; 2029 def int_nvvm_suld_3d_v4i16_clamp 2030 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2031 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2032 "llvm.nvvm.suld.3d.v4i16.clamp">; 2033 def int_nvvm_suld_3d_v4i32_clamp 2034 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2035 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2036 "llvm.nvvm.suld.3d.v4i32.clamp">; 2037 2038 // .trap variants 2039 def int_nvvm_suld_1d_i8_trap 2040 : Intrinsic<[llvm_i16_ty], 2041 [llvm_i64_ty, llvm_i32_ty], [], 2042 "llvm.nvvm.suld.1d.i8.trap">; 2043 def int_nvvm_suld_1d_i16_trap 2044 : Intrinsic<[llvm_i16_ty], 2045 [llvm_i64_ty, llvm_i32_ty], [], 2046 "llvm.nvvm.suld.1d.i16.trap">; 2047 def int_nvvm_suld_1d_i32_trap 2048 : Intrinsic<[llvm_i32_ty], 2049 [llvm_i64_ty, llvm_i32_ty], [], 2050 "llvm.nvvm.suld.1d.i32.trap">; 2051 def int_nvvm_suld_1d_i64_trap 2052 : Intrinsic<[llvm_i64_ty], 2053 [llvm_i64_ty, llvm_i32_ty], [], 2054 "llvm.nvvm.suld.1d.i64.trap">; 2055 def int_nvvm_suld_1d_v2i8_trap 2056 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2057 [llvm_i64_ty, llvm_i32_ty], [], 2058 "llvm.nvvm.suld.1d.v2i8.trap">; 2059 def int_nvvm_suld_1d_v2i16_trap 2060 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2061 [llvm_i64_ty, llvm_i32_ty], [], 2062 "llvm.nvvm.suld.1d.v2i16.trap">; 2063 def int_nvvm_suld_1d_v2i32_trap 2064 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2065 [llvm_i64_ty, llvm_i32_ty], [], 2066 "llvm.nvvm.suld.1d.v2i32.trap">; 2067 def int_nvvm_suld_1d_v2i64_trap 2068 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2069 [llvm_i64_ty, llvm_i32_ty], [], 2070 "llvm.nvvm.suld.1d.v2i64.trap">; 2071 def int_nvvm_suld_1d_v4i8_trap 2072 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2073 [llvm_i64_ty, llvm_i32_ty], [], 2074 "llvm.nvvm.suld.1d.v4i8.trap">; 2075 def int_nvvm_suld_1d_v4i16_trap 2076 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2077 [llvm_i64_ty, llvm_i32_ty], [], 2078 "llvm.nvvm.suld.1d.v4i16.trap">; 2079 def int_nvvm_suld_1d_v4i32_trap 2080 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2081 [llvm_i64_ty, llvm_i32_ty], [], 2082 "llvm.nvvm.suld.1d.v4i32.trap">; 2083 2084 def int_nvvm_suld_1d_array_i8_trap 2085 : Intrinsic<[llvm_i16_ty], 2086 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2087 "llvm.nvvm.suld.1d.array.i8.trap">; 2088 def int_nvvm_suld_1d_array_i16_trap 2089 : Intrinsic<[llvm_i16_ty], 2090 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2091 "llvm.nvvm.suld.1d.array.i16.trap">; 2092 def int_nvvm_suld_1d_array_i32_trap 2093 : Intrinsic<[llvm_i32_ty], 2094 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2095 "llvm.nvvm.suld.1d.array.i32.trap">; 2096 def int_nvvm_suld_1d_array_i64_trap 2097 : Intrinsic<[llvm_i64_ty], 2098 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2099 "llvm.nvvm.suld.1d.array.i64.trap">; 2100 def int_nvvm_suld_1d_array_v2i8_trap 2101 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2102 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2103 "llvm.nvvm.suld.1d.array.v2i8.trap">; 2104 def int_nvvm_suld_1d_array_v2i16_trap 2105 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2106 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2107 "llvm.nvvm.suld.1d.array.v2i16.trap">; 2108 def int_nvvm_suld_1d_array_v2i32_trap 2109 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2110 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2111 "llvm.nvvm.suld.1d.array.v2i32.trap">; 2112 def int_nvvm_suld_1d_array_v2i64_trap 2113 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2114 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2115 "llvm.nvvm.suld.1d.array.v2i64.trap">; 2116 def int_nvvm_suld_1d_array_v4i8_trap 2117 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2118 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2119 "llvm.nvvm.suld.1d.array.v4i8.trap">; 2120 def int_nvvm_suld_1d_array_v4i16_trap 2121 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2122 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2123 "llvm.nvvm.suld.1d.array.v4i16.trap">; 2124 def int_nvvm_suld_1d_array_v4i32_trap 2125 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2126 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2127 "llvm.nvvm.suld.1d.array.v4i32.trap">; 2128 2129 def int_nvvm_suld_2d_i8_trap 2130 : Intrinsic<[llvm_i16_ty], 2131 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2132 "llvm.nvvm.suld.2d.i8.trap">; 2133 def int_nvvm_suld_2d_i16_trap 2134 : Intrinsic<[llvm_i16_ty], 2135 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2136 "llvm.nvvm.suld.2d.i16.trap">; 2137 def int_nvvm_suld_2d_i32_trap 2138 : Intrinsic<[llvm_i32_ty], 2139 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2140 "llvm.nvvm.suld.2d.i32.trap">; 2141 def int_nvvm_suld_2d_i64_trap 2142 : Intrinsic<[llvm_i64_ty], 2143 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2144 "llvm.nvvm.suld.2d.i64.trap">; 2145 def int_nvvm_suld_2d_v2i8_trap 2146 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2147 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2148 "llvm.nvvm.suld.2d.v2i8.trap">; 2149 def int_nvvm_suld_2d_v2i16_trap 2150 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2151 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2152 "llvm.nvvm.suld.2d.v2i16.trap">; 2153 def int_nvvm_suld_2d_v2i32_trap 2154 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2155 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2156 "llvm.nvvm.suld.2d.v2i32.trap">; 2157 def int_nvvm_suld_2d_v2i64_trap 2158 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2159 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2160 "llvm.nvvm.suld.2d.v2i64.trap">; 2161 def int_nvvm_suld_2d_v4i8_trap 2162 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2163 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2164 "llvm.nvvm.suld.2d.v4i8.trap">; 2165 def int_nvvm_suld_2d_v4i16_trap 2166 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2167 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2168 "llvm.nvvm.suld.2d.v4i16.trap">; 2169 def int_nvvm_suld_2d_v4i32_trap 2170 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2171 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2172 "llvm.nvvm.suld.2d.v4i32.trap">; 2173 2174 def int_nvvm_suld_2d_array_i8_trap 2175 : Intrinsic<[llvm_i16_ty], 2176 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2177 "llvm.nvvm.suld.2d.array.i8.trap">; 2178 def int_nvvm_suld_2d_array_i16_trap 2179 : Intrinsic<[llvm_i16_ty], 2180 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2181 "llvm.nvvm.suld.2d.array.i16.trap">; 2182 def int_nvvm_suld_2d_array_i32_trap 2183 : Intrinsic<[llvm_i32_ty], 2184 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2185 "llvm.nvvm.suld.2d.array.i32.trap">; 2186 def int_nvvm_suld_2d_array_i64_trap 2187 : Intrinsic<[llvm_i64_ty], 2188 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2189 "llvm.nvvm.suld.2d.array.i64.trap">; 2190 def int_nvvm_suld_2d_array_v2i8_trap 2191 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2192 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2193 "llvm.nvvm.suld.2d.array.v2i8.trap">; 2194 def int_nvvm_suld_2d_array_v2i16_trap 2195 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2196 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2197 "llvm.nvvm.suld.2d.array.v2i16.trap">; 2198 def int_nvvm_suld_2d_array_v2i32_trap 2199 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2200 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2201 "llvm.nvvm.suld.2d.array.v2i32.trap">; 2202 def int_nvvm_suld_2d_array_v2i64_trap 2203 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2204 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2205 "llvm.nvvm.suld.2d.array.v2i64.trap">; 2206 def int_nvvm_suld_2d_array_v4i8_trap 2207 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2208 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2209 "llvm.nvvm.suld.2d.array.v4i8.trap">; 2210 def int_nvvm_suld_2d_array_v4i16_trap 2211 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2212 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2213 "llvm.nvvm.suld.2d.array.v4i16.trap">; 2214 def int_nvvm_suld_2d_array_v4i32_trap 2215 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2216 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2217 "llvm.nvvm.suld.2d.array.v4i32.trap">; 2218 2219 def int_nvvm_suld_3d_i8_trap 2220 : Intrinsic<[llvm_i16_ty], 2221 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2222 "llvm.nvvm.suld.3d.i8.trap">; 2223 def int_nvvm_suld_3d_i16_trap 2224 : Intrinsic<[llvm_i16_ty], 2225 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2226 "llvm.nvvm.suld.3d.i16.trap">; 2227 def int_nvvm_suld_3d_i32_trap 2228 : Intrinsic<[llvm_i32_ty], 2229 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2230 "llvm.nvvm.suld.3d.i32.trap">; 2231 def int_nvvm_suld_3d_i64_trap 2232 : Intrinsic<[llvm_i64_ty], 2233 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2234 "llvm.nvvm.suld.3d.i64.trap">; 2235 def int_nvvm_suld_3d_v2i8_trap 2236 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2237 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2238 "llvm.nvvm.suld.3d.v2i8.trap">; 2239 def int_nvvm_suld_3d_v2i16_trap 2240 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2241 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2242 "llvm.nvvm.suld.3d.v2i16.trap">; 2243 def int_nvvm_suld_3d_v2i32_trap 2244 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2245 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2246 "llvm.nvvm.suld.3d.v2i32.trap">; 2247 def int_nvvm_suld_3d_v2i64_trap 2248 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2249 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2250 "llvm.nvvm.suld.3d.v2i64.trap">; 2251 def int_nvvm_suld_3d_v4i8_trap 2252 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2253 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2254 "llvm.nvvm.suld.3d.v4i8.trap">; 2255 def int_nvvm_suld_3d_v4i16_trap 2256 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2257 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2258 "llvm.nvvm.suld.3d.v4i16.trap">; 2259 def int_nvvm_suld_3d_v4i32_trap 2260 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2261 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2262 "llvm.nvvm.suld.3d.v4i32.trap">; 2263 2264 // .zero variants 2265 def int_nvvm_suld_1d_i8_zero 2266 : Intrinsic<[llvm_i16_ty], 2267 [llvm_i64_ty, llvm_i32_ty], [], 2268 "llvm.nvvm.suld.1d.i8.zero">; 2269 def int_nvvm_suld_1d_i16_zero 2270 : Intrinsic<[llvm_i16_ty], 2271 [llvm_i64_ty, llvm_i32_ty], [], 2272 "llvm.nvvm.suld.1d.i16.zero">; 2273 def int_nvvm_suld_1d_i32_zero 2274 : Intrinsic<[llvm_i32_ty], 2275 [llvm_i64_ty, llvm_i32_ty], [], 2276 "llvm.nvvm.suld.1d.i32.zero">; 2277 def int_nvvm_suld_1d_i64_zero 2278 : Intrinsic<[llvm_i64_ty], 2279 [llvm_i64_ty, llvm_i32_ty], [], 2280 "llvm.nvvm.suld.1d.i64.zero">; 2281 def int_nvvm_suld_1d_v2i8_zero 2282 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2283 [llvm_i64_ty, llvm_i32_ty], [], 2284 "llvm.nvvm.suld.1d.v2i8.zero">; 2285 def int_nvvm_suld_1d_v2i16_zero 2286 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2287 [llvm_i64_ty, llvm_i32_ty], [], 2288 "llvm.nvvm.suld.1d.v2i16.zero">; 2289 def int_nvvm_suld_1d_v2i32_zero 2290 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2291 [llvm_i64_ty, llvm_i32_ty], [], 2292 "llvm.nvvm.suld.1d.v2i32.zero">; 2293 def int_nvvm_suld_1d_v2i64_zero 2294 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2295 [llvm_i64_ty, llvm_i32_ty], [], 2296 "llvm.nvvm.suld.1d.v2i64.zero">; 2297 def int_nvvm_suld_1d_v4i8_zero 2298 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2299 [llvm_i64_ty, llvm_i32_ty], [], 2300 "llvm.nvvm.suld.1d.v4i8.zero">; 2301 def int_nvvm_suld_1d_v4i16_zero 2302 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2303 [llvm_i64_ty, llvm_i32_ty], [], 2304 "llvm.nvvm.suld.1d.v4i16.zero">; 2305 def int_nvvm_suld_1d_v4i32_zero 2306 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2307 [llvm_i64_ty, llvm_i32_ty], [], 2308 "llvm.nvvm.suld.1d.v4i32.zero">; 2309 2310 def int_nvvm_suld_1d_array_i8_zero 2311 : Intrinsic<[llvm_i16_ty], 2312 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2313 "llvm.nvvm.suld.1d.array.i8.zero">; 2314 def int_nvvm_suld_1d_array_i16_zero 2315 : Intrinsic<[llvm_i16_ty], 2316 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2317 "llvm.nvvm.suld.1d.array.i16.zero">; 2318 def int_nvvm_suld_1d_array_i32_zero 2319 : Intrinsic<[llvm_i32_ty], 2320 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2321 "llvm.nvvm.suld.1d.array.i32.zero">; 2322 def int_nvvm_suld_1d_array_i64_zero 2323 : Intrinsic<[llvm_i64_ty], 2324 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2325 "llvm.nvvm.suld.1d.array.i64.zero">; 2326 def int_nvvm_suld_1d_array_v2i8_zero 2327 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2328 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2329 "llvm.nvvm.suld.1d.array.v2i8.zero">; 2330 def int_nvvm_suld_1d_array_v2i16_zero 2331 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2332 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2333 "llvm.nvvm.suld.1d.array.v2i16.zero">; 2334 def int_nvvm_suld_1d_array_v2i32_zero 2335 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2336 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2337 "llvm.nvvm.suld.1d.array.v2i32.zero">; 2338 def int_nvvm_suld_1d_array_v2i64_zero 2339 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2340 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2341 "llvm.nvvm.suld.1d.array.v2i64.zero">; 2342 def int_nvvm_suld_1d_array_v4i8_zero 2343 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2344 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2345 "llvm.nvvm.suld.1d.array.v4i8.zero">; 2346 def int_nvvm_suld_1d_array_v4i16_zero 2347 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2348 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2349 "llvm.nvvm.suld.1d.array.v4i16.zero">; 2350 def int_nvvm_suld_1d_array_v4i32_zero 2351 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2352 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2353 "llvm.nvvm.suld.1d.array.v4i32.zero">; 2354 2355 def int_nvvm_suld_2d_i8_zero 2356 : Intrinsic<[llvm_i16_ty], 2357 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2358 "llvm.nvvm.suld.2d.i8.zero">; 2359 def int_nvvm_suld_2d_i16_zero 2360 : Intrinsic<[llvm_i16_ty], 2361 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2362 "llvm.nvvm.suld.2d.i16.zero">; 2363 def int_nvvm_suld_2d_i32_zero 2364 : Intrinsic<[llvm_i32_ty], 2365 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2366 "llvm.nvvm.suld.2d.i32.zero">; 2367 def int_nvvm_suld_2d_i64_zero 2368 : Intrinsic<[llvm_i64_ty], 2369 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2370 "llvm.nvvm.suld.2d.i64.zero">; 2371 def int_nvvm_suld_2d_v2i8_zero 2372 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2373 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2374 "llvm.nvvm.suld.2d.v2i8.zero">; 2375 def int_nvvm_suld_2d_v2i16_zero 2376 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2377 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2378 "llvm.nvvm.suld.2d.v2i16.zero">; 2379 def int_nvvm_suld_2d_v2i32_zero 2380 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2381 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2382 "llvm.nvvm.suld.2d.v2i32.zero">; 2383 def int_nvvm_suld_2d_v2i64_zero 2384 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2385 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2386 "llvm.nvvm.suld.2d.v2i64.zero">; 2387 def int_nvvm_suld_2d_v4i8_zero 2388 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2389 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2390 "llvm.nvvm.suld.2d.v4i8.zero">; 2391 def int_nvvm_suld_2d_v4i16_zero 2392 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2393 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2394 "llvm.nvvm.suld.2d.v4i16.zero">; 2395 def int_nvvm_suld_2d_v4i32_zero 2396 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2397 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2398 "llvm.nvvm.suld.2d.v4i32.zero">; 2399 2400 def int_nvvm_suld_2d_array_i8_zero 2401 : Intrinsic<[llvm_i16_ty], 2402 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2403 "llvm.nvvm.suld.2d.array.i8.zero">; 2404 def int_nvvm_suld_2d_array_i16_zero 2405 : Intrinsic<[llvm_i16_ty], 2406 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2407 "llvm.nvvm.suld.2d.array.i16.zero">; 2408 def int_nvvm_suld_2d_array_i32_zero 2409 : Intrinsic<[llvm_i32_ty], 2410 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2411 "llvm.nvvm.suld.2d.array.i32.zero">; 2412 def int_nvvm_suld_2d_array_i64_zero 2413 : Intrinsic<[llvm_i64_ty], 2414 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2415 "llvm.nvvm.suld.2d.array.i64.zero">; 2416 def int_nvvm_suld_2d_array_v2i8_zero 2417 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2418 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2419 "llvm.nvvm.suld.2d.array.v2i8.zero">; 2420 def int_nvvm_suld_2d_array_v2i16_zero 2421 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2422 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2423 "llvm.nvvm.suld.2d.array.v2i16.zero">; 2424 def int_nvvm_suld_2d_array_v2i32_zero 2425 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2426 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2427 "llvm.nvvm.suld.2d.array.v2i32.zero">; 2428 def int_nvvm_suld_2d_array_v2i64_zero 2429 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2430 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2431 "llvm.nvvm.suld.2d.array.v2i64.zero">; 2432 def int_nvvm_suld_2d_array_v4i8_zero 2433 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2434 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2435 "llvm.nvvm.suld.2d.array.v4i8.zero">; 2436 def int_nvvm_suld_2d_array_v4i16_zero 2437 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2438 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2439 "llvm.nvvm.suld.2d.array.v4i16.zero">; 2440 def int_nvvm_suld_2d_array_v4i32_zero 2441 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2442 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2443 "llvm.nvvm.suld.2d.array.v4i32.zero">; 2444 2445 def int_nvvm_suld_3d_i8_zero 2446 : Intrinsic<[llvm_i16_ty], 2447 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2448 "llvm.nvvm.suld.3d.i8.zero">; 2449 def int_nvvm_suld_3d_i16_zero 2450 : Intrinsic<[llvm_i16_ty], 2451 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2452 "llvm.nvvm.suld.3d.i16.zero">; 2453 def int_nvvm_suld_3d_i32_zero 2454 : Intrinsic<[llvm_i32_ty], 2455 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2456 "llvm.nvvm.suld.3d.i32.zero">; 2457 def int_nvvm_suld_3d_i64_zero 2458 : Intrinsic<[llvm_i64_ty], 2459 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2460 "llvm.nvvm.suld.3d.i64.zero">; 2461 def int_nvvm_suld_3d_v2i8_zero 2462 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2463 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2464 "llvm.nvvm.suld.3d.v2i8.zero">; 2465 def int_nvvm_suld_3d_v2i16_zero 2466 : Intrinsic<[llvm_i16_ty, llvm_i16_ty], 2467 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2468 "llvm.nvvm.suld.3d.v2i16.zero">; 2469 def int_nvvm_suld_3d_v2i32_zero 2470 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], 2471 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2472 "llvm.nvvm.suld.3d.v2i32.zero">; 2473 def int_nvvm_suld_3d_v2i64_zero 2474 : Intrinsic<[llvm_i64_ty, llvm_i64_ty], 2475 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2476 "llvm.nvvm.suld.3d.v2i64.zero">; 2477 def int_nvvm_suld_3d_v4i8_zero 2478 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2479 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2480 "llvm.nvvm.suld.3d.v4i8.zero">; 2481 def int_nvvm_suld_3d_v4i16_zero 2482 : Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], 2483 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2484 "llvm.nvvm.suld.3d.v4i16.zero">; 2485 def int_nvvm_suld_3d_v4i32_zero 2486 : Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 2487 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2488 "llvm.nvvm.suld.3d.v4i32.zero">; 2489 2490 //===- Texture Query ------------------------------------------------------===// 2491 2492 def int_nvvm_txq_channel_order 2493 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2494 "llvm.nvvm.txq.channel.order">, 2495 GCCBuiltin<"__nvvm_txq_channel_order">; 2496 def int_nvvm_txq_channel_data_type 2497 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2498 "llvm.nvvm.txq.channel.data.type">, 2499 GCCBuiltin<"__nvvm_txq_channel_data_type">; 2500 def int_nvvm_txq_width 2501 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2502 "llvm.nvvm.txq.width">, 2503 GCCBuiltin<"__nvvm_txq_width">; 2504 def int_nvvm_txq_height 2505 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2506 "llvm.nvvm.txq.height">, 2507 GCCBuiltin<"__nvvm_txq_height">; 2508 def int_nvvm_txq_depth 2509 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2510 "llvm.nvvm.txq.depth">, 2511 GCCBuiltin<"__nvvm_txq_depth">; 2512 def int_nvvm_txq_array_size 2513 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2514 "llvm.nvvm.txq.array.size">, 2515 GCCBuiltin<"__nvvm_txq_array_size">; 2516 def int_nvvm_txq_num_samples 2517 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2518 "llvm.nvvm.txq.num.samples">, 2519 GCCBuiltin<"__nvvm_txq_num_samples">; 2520 def int_nvvm_txq_num_mipmap_levels 2521 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2522 "llvm.nvvm.txq.num.mipmap.levels">, 2523 GCCBuiltin<"__nvvm_txq_num_mipmap_levels">; 2524 2525 //===- Surface Query ------------------------------------------------------===// 2526 2527 def int_nvvm_suq_channel_order 2528 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2529 "llvm.nvvm.suq.channel.order">, 2530 GCCBuiltin<"__nvvm_suq_channel_order">; 2531 def int_nvvm_suq_channel_data_type 2532 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2533 "llvm.nvvm.suq.channel.data.type">, 2534 GCCBuiltin<"__nvvm_suq_channel_data_type">; 2535 def int_nvvm_suq_width 2536 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2537 "llvm.nvvm.suq.width">, 2538 GCCBuiltin<"__nvvm_suq_width">; 2539 def int_nvvm_suq_height 2540 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2541 "llvm.nvvm.suq.height">, 2542 GCCBuiltin<"__nvvm_suq_height">; 2543 def int_nvvm_suq_depth 2544 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2545 "llvm.nvvm.suq.depth">, 2546 GCCBuiltin<"__nvvm_suq_depth">; 2547 def int_nvvm_suq_array_size 2548 : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], 2549 "llvm.nvvm.suq.array.size">, 2550 GCCBuiltin<"__nvvm_suq_array_size">; 2551 2552 2553 //===- Handle Query -------------------------------------------------------===// 2554 2555 def int_nvvm_istypep_sampler 2556 : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], 2557 "llvm.nvvm.istypep.sampler">, 2558 GCCBuiltin<"__nvvm_istypep_sampler">; 2559 def int_nvvm_istypep_surface 2560 : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], 2561 "llvm.nvvm.istypep.surface">, 2562 GCCBuiltin<"__nvvm_istypep_surface">; 2563 def int_nvvm_istypep_texture 2564 : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], 2565 "llvm.nvvm.istypep.texture">, 2566 GCCBuiltin<"__nvvm_istypep_texture">; 2567 2568 2569 2570 //===- Surface Stores -----------------------------------------------------===// 2571 2572 // Unformatted 2573 // .clamp variant 2574 def int_nvvm_sust_b_1d_i8_clamp 2575 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 2576 "llvm.nvvm.sust.b.1d.i8.clamp">, 2577 GCCBuiltin<"__nvvm_sust_b_1d_i8_clamp">; 2578 def int_nvvm_sust_b_1d_i16_clamp 2579 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 2580 "llvm.nvvm.sust.b.1d.i16.clamp">, 2581 GCCBuiltin<"__nvvm_sust_b_1d_i16_clamp">; 2582 def int_nvvm_sust_b_1d_i32_clamp 2583 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2584 "llvm.nvvm.sust.b.1d.i32.clamp">, 2585 GCCBuiltin<"__nvvm_sust_b_1d_i32_clamp">; 2586 def int_nvvm_sust_b_1d_i64_clamp 2587 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], 2588 "llvm.nvvm.sust.b.1d.i64.clamp">, 2589 GCCBuiltin<"__nvvm_sust_b_1d_i64_clamp">; 2590 def int_nvvm_sust_b_1d_v2i8_clamp 2591 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 2592 "llvm.nvvm.sust.b.1d.v2i8.clamp">, 2593 GCCBuiltin<"__nvvm_sust_b_1d_v2i8_clamp">; 2594 def int_nvvm_sust_b_1d_v2i16_clamp 2595 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 2596 "llvm.nvvm.sust.b.1d.v2i16.clamp">, 2597 GCCBuiltin<"__nvvm_sust_b_1d_v2i16_clamp">; 2598 def int_nvvm_sust_b_1d_v2i32_clamp 2599 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2600 "llvm.nvvm.sust.b.1d.v2i32.clamp">, 2601 GCCBuiltin<"__nvvm_sust_b_1d_v2i32_clamp">; 2602 def int_nvvm_sust_b_1d_v2i64_clamp 2603 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], 2604 "llvm.nvvm.sust.b.1d.v2i64.clamp">, 2605 GCCBuiltin<"__nvvm_sust_b_1d_v2i64_clamp">; 2606 def int_nvvm_sust_b_1d_v4i8_clamp 2607 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 2608 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2609 "llvm.nvvm.sust.b.1d.v4i8.clamp">, 2610 GCCBuiltin<"__nvvm_sust_b_1d_v4i8_clamp">; 2611 def int_nvvm_sust_b_1d_v4i16_clamp 2612 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 2613 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2614 "llvm.nvvm.sust.b.1d.v4i16.clamp">, 2615 GCCBuiltin<"__nvvm_sust_b_1d_v4i16_clamp">; 2616 def int_nvvm_sust_b_1d_v4i32_clamp 2617 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2618 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2619 "llvm.nvvm.sust.b.1d.v4i32.clamp">, 2620 GCCBuiltin<"__nvvm_sust_b_1d_v4i32_clamp">; 2621 2622 2623 def int_nvvm_sust_b_1d_array_i8_clamp 2624 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2625 "llvm.nvvm.sust.b.1d.array.i8.clamp">, 2626 GCCBuiltin<"__nvvm_sust_b_1d_array_i8_clamp">; 2627 def int_nvvm_sust_b_1d_array_i16_clamp 2628 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2629 "llvm.nvvm.sust.b.1d.array.i16.clamp">, 2630 GCCBuiltin<"__nvvm_sust_b_1d_array_i16_clamp">; 2631 def int_nvvm_sust_b_1d_array_i32_clamp 2632 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2633 "llvm.nvvm.sust.b.1d.array.i32.clamp">, 2634 GCCBuiltin<"__nvvm_sust_b_1d_array_i32_clamp">; 2635 def int_nvvm_sust_b_1d_array_i64_clamp 2636 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 2637 "llvm.nvvm.sust.b.1d.array.i64.clamp">, 2638 GCCBuiltin<"__nvvm_sust_b_1d_array_i64_clamp">; 2639 def int_nvvm_sust_b_1d_array_v2i8_clamp 2640 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2641 llvm_i16_ty, llvm_i16_ty], [], 2642 "llvm.nvvm.sust.b.1d.array.v2i8.clamp">, 2643 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_clamp">; 2644 def int_nvvm_sust_b_1d_array_v2i16_clamp 2645 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2646 llvm_i16_ty, llvm_i16_ty], [], 2647 "llvm.nvvm.sust.b.1d.array.v2i16.clamp">, 2648 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_clamp">; 2649 def int_nvvm_sust_b_1d_array_v2i32_clamp 2650 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2651 llvm_i32_ty, llvm_i32_ty], [], 2652 "llvm.nvvm.sust.b.1d.array.v2i32.clamp">, 2653 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_clamp">; 2654 def int_nvvm_sust_b_1d_array_v2i64_clamp 2655 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2656 llvm_i64_ty, llvm_i64_ty], [], 2657 "llvm.nvvm.sust.b.1d.array.v2i64.clamp">, 2658 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_clamp">; 2659 def int_nvvm_sust_b_1d_array_v4i8_clamp 2660 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2661 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2662 "llvm.nvvm.sust.b.1d.array.v4i8.clamp">, 2663 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_clamp">; 2664 def int_nvvm_sust_b_1d_array_v4i16_clamp 2665 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2666 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2667 "llvm.nvvm.sust.b.1d.array.v4i16.clamp">, 2668 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_clamp">; 2669 def int_nvvm_sust_b_1d_array_v4i32_clamp 2670 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2671 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2672 "llvm.nvvm.sust.b.1d.array.v4i32.clamp">, 2673 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_clamp">; 2674 2675 2676 def int_nvvm_sust_b_2d_i8_clamp 2677 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2678 "llvm.nvvm.sust.b.2d.i8.clamp">, 2679 GCCBuiltin<"__nvvm_sust_b_2d_i8_clamp">; 2680 def int_nvvm_sust_b_2d_i16_clamp 2681 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2682 "llvm.nvvm.sust.b.2d.i16.clamp">, 2683 GCCBuiltin<"__nvvm_sust_b_2d_i16_clamp">; 2684 def int_nvvm_sust_b_2d_i32_clamp 2685 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2686 "llvm.nvvm.sust.b.2d.i32.clamp">, 2687 GCCBuiltin<"__nvvm_sust_b_2d_i32_clamp">; 2688 def int_nvvm_sust_b_2d_i64_clamp 2689 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 2690 "llvm.nvvm.sust.b.2d.i64.clamp">, 2691 GCCBuiltin<"__nvvm_sust_b_2d_i64_clamp">; 2692 def int_nvvm_sust_b_2d_v2i8_clamp 2693 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2694 llvm_i16_ty, llvm_i16_ty], [], 2695 "llvm.nvvm.sust.b.2d.v2i8.clamp">, 2696 GCCBuiltin<"__nvvm_sust_b_2d_v2i8_clamp">; 2697 def int_nvvm_sust_b_2d_v2i16_clamp 2698 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2699 llvm_i16_ty, llvm_i16_ty], [], 2700 "llvm.nvvm.sust.b.2d.v2i16.clamp">, 2701 GCCBuiltin<"__nvvm_sust_b_2d_v2i16_clamp">; 2702 def int_nvvm_sust_b_2d_v2i32_clamp 2703 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2704 llvm_i32_ty, llvm_i32_ty], [], 2705 "llvm.nvvm.sust.b.2d.v2i32.clamp">, 2706 GCCBuiltin<"__nvvm_sust_b_2d_v2i32_clamp">; 2707 def int_nvvm_sust_b_2d_v2i64_clamp 2708 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2709 llvm_i64_ty, llvm_i64_ty], [], 2710 "llvm.nvvm.sust.b.2d.v2i64.clamp">, 2711 GCCBuiltin<"__nvvm_sust_b_2d_v2i64_clamp">; 2712 def int_nvvm_sust_b_2d_v4i8_clamp 2713 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2714 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2715 "llvm.nvvm.sust.b.2d.v4i8.clamp">, 2716 GCCBuiltin<"__nvvm_sust_b_2d_v4i8_clamp">; 2717 def int_nvvm_sust_b_2d_v4i16_clamp 2718 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2719 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2720 "llvm.nvvm.sust.b.2d.v4i16.clamp">, 2721 GCCBuiltin<"__nvvm_sust_b_2d_v4i16_clamp">; 2722 def int_nvvm_sust_b_2d_v4i32_clamp 2723 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2724 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2725 "llvm.nvvm.sust.b.2d.v4i32.clamp">, 2726 GCCBuiltin<"__nvvm_sust_b_2d_v4i32_clamp">; 2727 2728 2729 def int_nvvm_sust_b_2d_array_i8_clamp 2730 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2731 llvm_i32_ty, llvm_i16_ty], [], 2732 "llvm.nvvm.sust.b.2d.array.i8.clamp">, 2733 GCCBuiltin<"__nvvm_sust_b_2d_array_i8_clamp">; 2734 def int_nvvm_sust_b_2d_array_i16_clamp 2735 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2736 llvm_i32_ty, llvm_i16_ty], [], 2737 "llvm.nvvm.sust.b.2d.array.i16.clamp">, 2738 GCCBuiltin<"__nvvm_sust_b_2d_array_i16_clamp">; 2739 def int_nvvm_sust_b_2d_array_i32_clamp 2740 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2741 llvm_i32_ty, llvm_i32_ty], [], 2742 "llvm.nvvm.sust.b.2d.array.i32.clamp">, 2743 GCCBuiltin<"__nvvm_sust_b_2d_array_i32_clamp">; 2744 def int_nvvm_sust_b_2d_array_i64_clamp 2745 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2746 llvm_i32_ty, llvm_i64_ty], [], 2747 "llvm.nvvm.sust.b.2d.array.i64.clamp">, 2748 GCCBuiltin<"__nvvm_sust_b_2d_array_i64_clamp">; 2749 def int_nvvm_sust_b_2d_array_v2i8_clamp 2750 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2751 llvm_i16_ty, llvm_i16_ty], [], 2752 "llvm.nvvm.sust.b.2d.array.v2i8.clamp">, 2753 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_clamp">; 2754 def int_nvvm_sust_b_2d_array_v2i16_clamp 2755 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2756 llvm_i16_ty, llvm_i16_ty], [], 2757 "llvm.nvvm.sust.b.2d.array.v2i16.clamp">, 2758 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_clamp">; 2759 def int_nvvm_sust_b_2d_array_v2i32_clamp 2760 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2761 llvm_i32_ty, llvm_i32_ty], [], 2762 "llvm.nvvm.sust.b.2d.array.v2i32.clamp">, 2763 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_clamp">; 2764 def int_nvvm_sust_b_2d_array_v2i64_clamp 2765 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2766 llvm_i64_ty, llvm_i64_ty], [], 2767 "llvm.nvvm.sust.b.2d.array.v2i64.clamp">, 2768 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_clamp">; 2769 def int_nvvm_sust_b_2d_array_v4i8_clamp 2770 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2771 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2772 "llvm.nvvm.sust.b.2d.array.v4i8.clamp">, 2773 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_clamp">; 2774 def int_nvvm_sust_b_2d_array_v4i16_clamp 2775 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2776 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2777 "llvm.nvvm.sust.b.2d.array.v4i16.clamp">, 2778 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_clamp">; 2779 def int_nvvm_sust_b_2d_array_v4i32_clamp 2780 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2781 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2782 "llvm.nvvm.sust.b.2d.array.v4i32.clamp">, 2783 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_clamp">; 2784 2785 2786 def int_nvvm_sust_b_3d_i8_clamp 2787 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2788 llvm_i32_ty, llvm_i16_ty], [], 2789 "llvm.nvvm.sust.b.3d.i8.clamp">, 2790 GCCBuiltin<"__nvvm_sust_b_3d_i8_clamp">; 2791 def int_nvvm_sust_b_3d_i16_clamp 2792 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2793 llvm_i32_ty, llvm_i16_ty], [], 2794 "llvm.nvvm.sust.b.3d.i16.clamp">, 2795 GCCBuiltin<"__nvvm_sust_b_3d_i16_clamp">; 2796 def int_nvvm_sust_b_3d_i32_clamp 2797 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2798 llvm_i32_ty, llvm_i32_ty], [], 2799 "llvm.nvvm.sust.b.3d.i32.clamp">, 2800 GCCBuiltin<"__nvvm_sust_b_3d_i32_clamp">; 2801 def int_nvvm_sust_b_3d_i64_clamp 2802 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2803 llvm_i32_ty, llvm_i64_ty], [], 2804 "llvm.nvvm.sust.b.3d.i64.clamp">, 2805 GCCBuiltin<"__nvvm_sust_b_3d_i64_clamp">; 2806 def int_nvvm_sust_b_3d_v2i8_clamp 2807 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2808 llvm_i16_ty, llvm_i16_ty], [], 2809 "llvm.nvvm.sust.b.3d.v2i8.clamp">, 2810 GCCBuiltin<"__nvvm_sust_b_3d_v2i8_clamp">; 2811 def int_nvvm_sust_b_3d_v2i16_clamp 2812 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2813 llvm_i16_ty, llvm_i16_ty], [], 2814 "llvm.nvvm.sust.b.3d.v2i16.clamp">, 2815 GCCBuiltin<"__nvvm_sust_b_3d_v2i16_clamp">; 2816 def int_nvvm_sust_b_3d_v2i32_clamp 2817 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2818 llvm_i32_ty, llvm_i32_ty], [], 2819 "llvm.nvvm.sust.b.3d.v2i32.clamp">, 2820 GCCBuiltin<"__nvvm_sust_b_3d_v2i32_clamp">; 2821 def int_nvvm_sust_b_3d_v2i64_clamp 2822 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2823 llvm_i64_ty, llvm_i64_ty], [], 2824 "llvm.nvvm.sust.b.3d.v2i64.clamp">, 2825 GCCBuiltin<"__nvvm_sust_b_3d_v2i64_clamp">; 2826 def int_nvvm_sust_b_3d_v4i8_clamp 2827 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2828 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2829 "llvm.nvvm.sust.b.3d.v4i8.clamp">, 2830 GCCBuiltin<"__nvvm_sust_b_3d_v4i8_clamp">; 2831 def int_nvvm_sust_b_3d_v4i16_clamp 2832 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2833 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2834 "llvm.nvvm.sust.b.3d.v4i16.clamp">, 2835 GCCBuiltin<"__nvvm_sust_b_3d_v4i16_clamp">; 2836 def int_nvvm_sust_b_3d_v4i32_clamp 2837 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2838 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2839 "llvm.nvvm.sust.b.3d.v4i32.clamp">, 2840 GCCBuiltin<"__nvvm_sust_b_3d_v4i32_clamp">; 2841 2842 2843 // .trap variant 2844 def int_nvvm_sust_b_1d_i8_trap 2845 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 2846 "llvm.nvvm.sust.b.1d.i8.trap">, 2847 GCCBuiltin<"__nvvm_sust_b_1d_i8_trap">; 2848 def int_nvvm_sust_b_1d_i16_trap 2849 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 2850 "llvm.nvvm.sust.b.1d.i16.trap">, 2851 GCCBuiltin<"__nvvm_sust_b_1d_i16_trap">; 2852 def int_nvvm_sust_b_1d_i32_trap 2853 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 2854 "llvm.nvvm.sust.b.1d.i32.trap">, 2855 GCCBuiltin<"__nvvm_sust_b_1d_i32_trap">; 2856 def int_nvvm_sust_b_1d_i64_trap 2857 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], 2858 "llvm.nvvm.sust.b.1d.i64.trap">, 2859 GCCBuiltin<"__nvvm_sust_b_1d_i64_trap">; 2860 def int_nvvm_sust_b_1d_v2i8_trap 2861 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 2862 "llvm.nvvm.sust.b.1d.v2i8.trap">, 2863 GCCBuiltin<"__nvvm_sust_b_1d_v2i8_trap">; 2864 def int_nvvm_sust_b_1d_v2i16_trap 2865 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 2866 "llvm.nvvm.sust.b.1d.v2i16.trap">, 2867 GCCBuiltin<"__nvvm_sust_b_1d_v2i16_trap">; 2868 def int_nvvm_sust_b_1d_v2i32_trap 2869 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2870 "llvm.nvvm.sust.b.1d.v2i32.trap">, 2871 GCCBuiltin<"__nvvm_sust_b_1d_v2i32_trap">; 2872 def int_nvvm_sust_b_1d_v2i64_trap 2873 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], 2874 "llvm.nvvm.sust.b.1d.v2i64.trap">, 2875 GCCBuiltin<"__nvvm_sust_b_1d_v2i64_trap">; 2876 def int_nvvm_sust_b_1d_v4i8_trap 2877 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 2878 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2879 "llvm.nvvm.sust.b.1d.v4i8.trap">, 2880 GCCBuiltin<"__nvvm_sust_b_1d_v4i8_trap">; 2881 def int_nvvm_sust_b_1d_v4i16_trap 2882 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 2883 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2884 "llvm.nvvm.sust.b.1d.v4i16.trap">, 2885 GCCBuiltin<"__nvvm_sust_b_1d_v4i16_trap">; 2886 def int_nvvm_sust_b_1d_v4i32_trap 2887 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2888 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2889 "llvm.nvvm.sust.b.1d.v4i32.trap">, 2890 GCCBuiltin<"__nvvm_sust_b_1d_v4i32_trap">; 2891 2892 2893 def int_nvvm_sust_b_1d_array_i8_trap 2894 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2895 "llvm.nvvm.sust.b.1d.array.i8.trap">, 2896 GCCBuiltin<"__nvvm_sust_b_1d_array_i8_trap">; 2897 def int_nvvm_sust_b_1d_array_i16_trap 2898 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2899 "llvm.nvvm.sust.b.1d.array.i16.trap">, 2900 GCCBuiltin<"__nvvm_sust_b_1d_array_i16_trap">; 2901 def int_nvvm_sust_b_1d_array_i32_trap 2902 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2903 "llvm.nvvm.sust.b.1d.array.i32.trap">, 2904 GCCBuiltin<"__nvvm_sust_b_1d_array_i32_trap">; 2905 def int_nvvm_sust_b_1d_array_i64_trap 2906 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 2907 "llvm.nvvm.sust.b.1d.array.i64.trap">, 2908 GCCBuiltin<"__nvvm_sust_b_1d_array_i64_trap">; 2909 def int_nvvm_sust_b_1d_array_v2i8_trap 2910 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2911 llvm_i16_ty, llvm_i16_ty], [], 2912 "llvm.nvvm.sust.b.1d.array.v2i8.trap">, 2913 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_trap">; 2914 def int_nvvm_sust_b_1d_array_v2i16_trap 2915 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2916 llvm_i16_ty, llvm_i16_ty], [], 2917 "llvm.nvvm.sust.b.1d.array.v2i16.trap">, 2918 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_trap">; 2919 def int_nvvm_sust_b_1d_array_v2i32_trap 2920 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2921 llvm_i32_ty, llvm_i32_ty], [], 2922 "llvm.nvvm.sust.b.1d.array.v2i32.trap">, 2923 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_trap">; 2924 def int_nvvm_sust_b_1d_array_v2i64_trap 2925 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2926 llvm_i64_ty, llvm_i64_ty], [], 2927 "llvm.nvvm.sust.b.1d.array.v2i64.trap">, 2928 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_trap">; 2929 def int_nvvm_sust_b_1d_array_v4i8_trap 2930 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2931 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2932 "llvm.nvvm.sust.b.1d.array.v4i8.trap">, 2933 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_trap">; 2934 def int_nvvm_sust_b_1d_array_v4i16_trap 2935 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2936 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2937 "llvm.nvvm.sust.b.1d.array.v4i16.trap">, 2938 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_trap">; 2939 def int_nvvm_sust_b_1d_array_v4i32_trap 2940 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2941 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2942 "llvm.nvvm.sust.b.1d.array.v4i32.trap">, 2943 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_trap">; 2944 2945 2946 def int_nvvm_sust_b_2d_i8_trap 2947 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2948 "llvm.nvvm.sust.b.2d.i8.trap">, 2949 GCCBuiltin<"__nvvm_sust_b_2d_i8_trap">; 2950 def int_nvvm_sust_b_2d_i16_trap 2951 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 2952 "llvm.nvvm.sust.b.2d.i16.trap">, 2953 GCCBuiltin<"__nvvm_sust_b_2d_i16_trap">; 2954 def int_nvvm_sust_b_2d_i32_trap 2955 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2956 "llvm.nvvm.sust.b.2d.i32.trap">, 2957 GCCBuiltin<"__nvvm_sust_b_2d_i32_trap">; 2958 def int_nvvm_sust_b_2d_i64_trap 2959 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 2960 "llvm.nvvm.sust.b.2d.i64.trap">, 2961 GCCBuiltin<"__nvvm_sust_b_2d_i64_trap">; 2962 def int_nvvm_sust_b_2d_v2i8_trap 2963 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2964 llvm_i16_ty, llvm_i16_ty], [], 2965 "llvm.nvvm.sust.b.2d.v2i8.trap">, 2966 GCCBuiltin<"__nvvm_sust_b_2d_v2i8_trap">; 2967 def int_nvvm_sust_b_2d_v2i16_trap 2968 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2969 llvm_i16_ty, llvm_i16_ty], [], 2970 "llvm.nvvm.sust.b.2d.v2i16.trap">, 2971 GCCBuiltin<"__nvvm_sust_b_2d_v2i16_trap">; 2972 def int_nvvm_sust_b_2d_v2i32_trap 2973 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2974 llvm_i32_ty, llvm_i32_ty], [], 2975 "llvm.nvvm.sust.b.2d.v2i32.trap">, 2976 GCCBuiltin<"__nvvm_sust_b_2d_v2i32_trap">; 2977 def int_nvvm_sust_b_2d_v2i64_trap 2978 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 2979 llvm_i64_ty, llvm_i64_ty], [], 2980 "llvm.nvvm.sust.b.2d.v2i64.trap">, 2981 GCCBuiltin<"__nvvm_sust_b_2d_v2i64_trap">; 2982 def int_nvvm_sust_b_2d_v4i8_trap 2983 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2984 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2985 "llvm.nvvm.sust.b.2d.v4i8.trap">, 2986 GCCBuiltin<"__nvvm_sust_b_2d_v4i8_trap">; 2987 def int_nvvm_sust_b_2d_v4i16_trap 2988 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 2989 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 2990 "llvm.nvvm.sust.b.2d.v4i16.trap">, 2991 GCCBuiltin<"__nvvm_sust_b_2d_v4i16_trap">; 2992 def int_nvvm_sust_b_2d_v4i32_trap 2993 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 2994 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 2995 "llvm.nvvm.sust.b.2d.v4i32.trap">, 2996 GCCBuiltin<"__nvvm_sust_b_2d_v4i32_trap">; 2997 2998 2999 def int_nvvm_sust_b_2d_array_i8_trap 3000 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3001 llvm_i32_ty, llvm_i16_ty], [], 3002 "llvm.nvvm.sust.b.2d.array.i8.trap">, 3003 GCCBuiltin<"__nvvm_sust_b_2d_array_i8_trap">; 3004 def int_nvvm_sust_b_2d_array_i16_trap 3005 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3006 llvm_i32_ty, llvm_i16_ty], [], 3007 "llvm.nvvm.sust.b.2d.array.i16.trap">, 3008 GCCBuiltin<"__nvvm_sust_b_2d_array_i16_trap">; 3009 def int_nvvm_sust_b_2d_array_i32_trap 3010 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3011 llvm_i32_ty, llvm_i32_ty], [], 3012 "llvm.nvvm.sust.b.2d.array.i32.trap">, 3013 GCCBuiltin<"__nvvm_sust_b_2d_array_i32_trap">; 3014 def int_nvvm_sust_b_2d_array_i64_trap 3015 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3016 llvm_i32_ty, llvm_i64_ty], [], 3017 "llvm.nvvm.sust.b.2d.array.i64.trap">, 3018 GCCBuiltin<"__nvvm_sust_b_2d_array_i64_trap">; 3019 def int_nvvm_sust_b_2d_array_v2i8_trap 3020 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3021 llvm_i16_ty, llvm_i16_ty], [], 3022 "llvm.nvvm.sust.b.2d.array.v2i8.trap">, 3023 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_trap">; 3024 def int_nvvm_sust_b_2d_array_v2i16_trap 3025 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3026 llvm_i16_ty, llvm_i16_ty], [], 3027 "llvm.nvvm.sust.b.2d.array.v2i16.trap">, 3028 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_trap">; 3029 def int_nvvm_sust_b_2d_array_v2i32_trap 3030 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3031 llvm_i32_ty, llvm_i32_ty], [], 3032 "llvm.nvvm.sust.b.2d.array.v2i32.trap">, 3033 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_trap">; 3034 def int_nvvm_sust_b_2d_array_v2i64_trap 3035 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3036 llvm_i64_ty, llvm_i64_ty], [], 3037 "llvm.nvvm.sust.b.2d.array.v2i64.trap">, 3038 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_trap">; 3039 def int_nvvm_sust_b_2d_array_v4i8_trap 3040 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3041 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3042 "llvm.nvvm.sust.b.2d.array.v4i8.trap">, 3043 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_trap">; 3044 def int_nvvm_sust_b_2d_array_v4i16_trap 3045 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3046 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3047 "llvm.nvvm.sust.b.2d.array.v4i16.trap">, 3048 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_trap">; 3049 def int_nvvm_sust_b_2d_array_v4i32_trap 3050 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3051 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3052 "llvm.nvvm.sust.b.2d.array.v4i32.trap">, 3053 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_trap">; 3054 3055 3056 def int_nvvm_sust_b_3d_i8_trap 3057 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3058 llvm_i32_ty, llvm_i16_ty], [], 3059 "llvm.nvvm.sust.b.3d.i8.trap">, 3060 GCCBuiltin<"__nvvm_sust_b_3d_i8_trap">; 3061 def int_nvvm_sust_b_3d_i16_trap 3062 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3063 llvm_i32_ty, llvm_i16_ty], [], 3064 "llvm.nvvm.sust.b.3d.i16.trap">, 3065 GCCBuiltin<"__nvvm_sust_b_3d_i16_trap">; 3066 def int_nvvm_sust_b_3d_i32_trap 3067 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3068 llvm_i32_ty, llvm_i32_ty], [], 3069 "llvm.nvvm.sust.b.3d.i32.trap">, 3070 GCCBuiltin<"__nvvm_sust_b_3d_i32_trap">; 3071 def int_nvvm_sust_b_3d_i64_trap 3072 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3073 llvm_i32_ty, llvm_i64_ty], [], 3074 "llvm.nvvm.sust.b.3d.i64.trap">, 3075 GCCBuiltin<"__nvvm_sust_b_3d_i64_trap">; 3076 def int_nvvm_sust_b_3d_v2i8_trap 3077 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3078 llvm_i16_ty, llvm_i16_ty], [], 3079 "llvm.nvvm.sust.b.3d.v2i8.trap">, 3080 GCCBuiltin<"__nvvm_sust_b_3d_v2i8_trap">; 3081 def int_nvvm_sust_b_3d_v2i16_trap 3082 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3083 llvm_i16_ty, llvm_i16_ty], [], 3084 "llvm.nvvm.sust.b.3d.v2i16.trap">, 3085 GCCBuiltin<"__nvvm_sust_b_3d_v2i16_trap">; 3086 def int_nvvm_sust_b_3d_v2i32_trap 3087 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3088 llvm_i32_ty, llvm_i32_ty], [], 3089 "llvm.nvvm.sust.b.3d.v2i32.trap">, 3090 GCCBuiltin<"__nvvm_sust_b_3d_v2i32_trap">; 3091 def int_nvvm_sust_b_3d_v2i64_trap 3092 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3093 llvm_i64_ty, llvm_i64_ty], [], 3094 "llvm.nvvm.sust.b.3d.v2i64.trap">, 3095 GCCBuiltin<"__nvvm_sust_b_3d_v2i64_trap">; 3096 def int_nvvm_sust_b_3d_v4i8_trap 3097 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3098 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3099 "llvm.nvvm.sust.b.3d.v4i8.trap">, 3100 GCCBuiltin<"__nvvm_sust_b_3d_v4i8_trap">; 3101 def int_nvvm_sust_b_3d_v4i16_trap 3102 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3103 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3104 "llvm.nvvm.sust.b.3d.v4i16.trap">, 3105 GCCBuiltin<"__nvvm_sust_b_3d_v4i16_trap">; 3106 def int_nvvm_sust_b_3d_v4i32_trap 3107 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3108 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3109 "llvm.nvvm.sust.b.3d.v4i32.trap">, 3110 GCCBuiltin<"__nvvm_sust_b_3d_v4i32_trap">; 3111 3112 3113 // .zero variant 3114 def int_nvvm_sust_b_1d_i8_zero 3115 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 3116 "llvm.nvvm.sust.b.1d.i8.zero">, 3117 GCCBuiltin<"__nvvm_sust_b_1d_i8_zero">; 3118 def int_nvvm_sust_b_1d_i16_zero 3119 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 3120 "llvm.nvvm.sust.b.1d.i16.zero">, 3121 GCCBuiltin<"__nvvm_sust_b_1d_i16_zero">; 3122 def int_nvvm_sust_b_1d_i32_zero 3123 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 3124 "llvm.nvvm.sust.b.1d.i32.zero">, 3125 GCCBuiltin<"__nvvm_sust_b_1d_i32_zero">; 3126 def int_nvvm_sust_b_1d_i64_zero 3127 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], 3128 "llvm.nvvm.sust.b.1d.i64.zero">, 3129 GCCBuiltin<"__nvvm_sust_b_1d_i64_zero">; 3130 def int_nvvm_sust_b_1d_v2i8_zero 3131 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 3132 "llvm.nvvm.sust.b.1d.v2i8.zero">, 3133 GCCBuiltin<"__nvvm_sust_b_1d_v2i8_zero">; 3134 def int_nvvm_sust_b_1d_v2i16_zero 3135 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 3136 "llvm.nvvm.sust.b.1d.v2i16.zero">, 3137 GCCBuiltin<"__nvvm_sust_b_1d_v2i16_zero">; 3138 def int_nvvm_sust_b_1d_v2i32_zero 3139 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3140 "llvm.nvvm.sust.b.1d.v2i32.zero">, 3141 GCCBuiltin<"__nvvm_sust_b_1d_v2i32_zero">; 3142 def int_nvvm_sust_b_1d_v2i64_zero 3143 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], 3144 "llvm.nvvm.sust.b.1d.v2i64.zero">, 3145 GCCBuiltin<"__nvvm_sust_b_1d_v2i64_zero">; 3146 def int_nvvm_sust_b_1d_v4i8_zero 3147 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 3148 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3149 "llvm.nvvm.sust.b.1d.v4i8.zero">, 3150 GCCBuiltin<"__nvvm_sust_b_1d_v4i8_zero">; 3151 def int_nvvm_sust_b_1d_v4i16_zero 3152 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 3153 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3154 "llvm.nvvm.sust.b.1d.v4i16.zero">, 3155 GCCBuiltin<"__nvvm_sust_b_1d_v4i16_zero">; 3156 def int_nvvm_sust_b_1d_v4i32_zero 3157 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3158 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3159 "llvm.nvvm.sust.b.1d.v4i32.zero">, 3160 GCCBuiltin<"__nvvm_sust_b_1d_v4i32_zero">; 3161 3162 3163 def int_nvvm_sust_b_1d_array_i8_zero 3164 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3165 "llvm.nvvm.sust.b.1d.array.i8.zero">, 3166 GCCBuiltin<"__nvvm_sust_b_1d_array_i8_zero">; 3167 def int_nvvm_sust_b_1d_array_i16_zero 3168 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3169 "llvm.nvvm.sust.b.1d.array.i16.zero">, 3170 GCCBuiltin<"__nvvm_sust_b_1d_array_i16_zero">; 3171 def int_nvvm_sust_b_1d_array_i32_zero 3172 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3173 "llvm.nvvm.sust.b.1d.array.i32.zero">, 3174 GCCBuiltin<"__nvvm_sust_b_1d_array_i32_zero">; 3175 def int_nvvm_sust_b_1d_array_i64_zero 3176 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 3177 "llvm.nvvm.sust.b.1d.array.i64.zero">, 3178 GCCBuiltin<"__nvvm_sust_b_1d_array_i64_zero">; 3179 def int_nvvm_sust_b_1d_array_v2i8_zero 3180 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3181 llvm_i16_ty, llvm_i16_ty], [], 3182 "llvm.nvvm.sust.b.1d.array.v2i8.zero">, 3183 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_zero">; 3184 def int_nvvm_sust_b_1d_array_v2i16_zero 3185 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3186 llvm_i16_ty, llvm_i16_ty], [], 3187 "llvm.nvvm.sust.b.1d.array.v2i16.zero">, 3188 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_zero">; 3189 def int_nvvm_sust_b_1d_array_v2i32_zero 3190 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3191 llvm_i32_ty, llvm_i32_ty], [], 3192 "llvm.nvvm.sust.b.1d.array.v2i32.zero">, 3193 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_zero">; 3194 def int_nvvm_sust_b_1d_array_v2i64_zero 3195 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3196 llvm_i64_ty, llvm_i64_ty], [], 3197 "llvm.nvvm.sust.b.1d.array.v2i64.zero">, 3198 GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_zero">; 3199 def int_nvvm_sust_b_1d_array_v4i8_zero 3200 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3201 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3202 "llvm.nvvm.sust.b.1d.array.v4i8.zero">, 3203 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_zero">; 3204 def int_nvvm_sust_b_1d_array_v4i16_zero 3205 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3206 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3207 "llvm.nvvm.sust.b.1d.array.v4i16.zero">, 3208 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_zero">; 3209 def int_nvvm_sust_b_1d_array_v4i32_zero 3210 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3211 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3212 "llvm.nvvm.sust.b.1d.array.v4i32.zero">, 3213 GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_zero">; 3214 3215 3216 def int_nvvm_sust_b_2d_i8_zero 3217 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3218 "llvm.nvvm.sust.b.2d.i8.zero">, 3219 GCCBuiltin<"__nvvm_sust_b_2d_i8_zero">; 3220 def int_nvvm_sust_b_2d_i16_zero 3221 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3222 "llvm.nvvm.sust.b.2d.i16.zero">, 3223 GCCBuiltin<"__nvvm_sust_b_2d_i16_zero">; 3224 def int_nvvm_sust_b_2d_i32_zero 3225 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3226 "llvm.nvvm.sust.b.2d.i32.zero">, 3227 GCCBuiltin<"__nvvm_sust_b_2d_i32_zero">; 3228 def int_nvvm_sust_b_2d_i64_zero 3229 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], 3230 "llvm.nvvm.sust.b.2d.i64.zero">, 3231 GCCBuiltin<"__nvvm_sust_b_2d_i64_zero">; 3232 def int_nvvm_sust_b_2d_v2i8_zero 3233 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3234 llvm_i16_ty, llvm_i16_ty], [], 3235 "llvm.nvvm.sust.b.2d.v2i8.zero">, 3236 GCCBuiltin<"__nvvm_sust_b_2d_v2i8_zero">; 3237 def int_nvvm_sust_b_2d_v2i16_zero 3238 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3239 llvm_i16_ty, llvm_i16_ty], [], 3240 "llvm.nvvm.sust.b.2d.v2i16.zero">, 3241 GCCBuiltin<"__nvvm_sust_b_2d_v2i16_zero">; 3242 def int_nvvm_sust_b_2d_v2i32_zero 3243 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3244 llvm_i32_ty, llvm_i32_ty], [], 3245 "llvm.nvvm.sust.b.2d.v2i32.zero">, 3246 GCCBuiltin<"__nvvm_sust_b_2d_v2i32_zero">; 3247 def int_nvvm_sust_b_2d_v2i64_zero 3248 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3249 llvm_i64_ty, llvm_i64_ty], [], 3250 "llvm.nvvm.sust.b.2d.v2i64.zero">, 3251 GCCBuiltin<"__nvvm_sust_b_2d_v2i64_zero">; 3252 def int_nvvm_sust_b_2d_v4i8_zero 3253 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3254 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3255 "llvm.nvvm.sust.b.2d.v4i8.zero">, 3256 GCCBuiltin<"__nvvm_sust_b_2d_v4i8_zero">; 3257 def int_nvvm_sust_b_2d_v4i16_zero 3258 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3259 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3260 "llvm.nvvm.sust.b.2d.v4i16.zero">, 3261 GCCBuiltin<"__nvvm_sust_b_2d_v4i16_zero">; 3262 def int_nvvm_sust_b_2d_v4i32_zero 3263 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3264 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3265 "llvm.nvvm.sust.b.2d.v4i32.zero">, 3266 GCCBuiltin<"__nvvm_sust_b_2d_v4i32_zero">; 3267 3268 3269 def int_nvvm_sust_b_2d_array_i8_zero 3270 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3271 llvm_i32_ty, llvm_i16_ty], [], 3272 "llvm.nvvm.sust.b.2d.array.i8.zero">, 3273 GCCBuiltin<"__nvvm_sust_b_2d_array_i8_zero">; 3274 def int_nvvm_sust_b_2d_array_i16_zero 3275 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3276 llvm_i32_ty, llvm_i16_ty], [], 3277 "llvm.nvvm.sust.b.2d.array.i16.zero">, 3278 GCCBuiltin<"__nvvm_sust_b_2d_array_i16_zero">; 3279 def int_nvvm_sust_b_2d_array_i32_zero 3280 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3281 llvm_i32_ty, llvm_i32_ty], [], 3282 "llvm.nvvm.sust.b.2d.array.i32.zero">, 3283 GCCBuiltin<"__nvvm_sust_b_2d_array_i32_zero">; 3284 def int_nvvm_sust_b_2d_array_i64_zero 3285 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3286 llvm_i32_ty, llvm_i64_ty], [], 3287 "llvm.nvvm.sust.b.2d.array.i64.zero">, 3288 GCCBuiltin<"__nvvm_sust_b_2d_array_i64_zero">; 3289 def int_nvvm_sust_b_2d_array_v2i8_zero 3290 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3291 llvm_i16_ty, llvm_i16_ty], [], 3292 "llvm.nvvm.sust.b.2d.array.v2i8.zero">, 3293 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_zero">; 3294 def int_nvvm_sust_b_2d_array_v2i16_zero 3295 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3296 llvm_i16_ty, llvm_i16_ty], [], 3297 "llvm.nvvm.sust.b.2d.array.v2i16.zero">, 3298 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_zero">; 3299 def int_nvvm_sust_b_2d_array_v2i32_zero 3300 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3301 llvm_i32_ty, llvm_i32_ty], [], 3302 "llvm.nvvm.sust.b.2d.array.v2i32.zero">, 3303 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_zero">; 3304 def int_nvvm_sust_b_2d_array_v2i64_zero 3305 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3306 llvm_i64_ty, llvm_i64_ty], [], 3307 "llvm.nvvm.sust.b.2d.array.v2i64.zero">, 3308 GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_zero">; 3309 def int_nvvm_sust_b_2d_array_v4i8_zero 3310 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3311 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3312 "llvm.nvvm.sust.b.2d.array.v4i8.zero">, 3313 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_zero">; 3314 def int_nvvm_sust_b_2d_array_v4i16_zero 3315 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3316 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3317 "llvm.nvvm.sust.b.2d.array.v4i16.zero">, 3318 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_zero">; 3319 def int_nvvm_sust_b_2d_array_v4i32_zero 3320 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3321 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3322 "llvm.nvvm.sust.b.2d.array.v4i32.zero">, 3323 GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_zero">; 3324 3325 3326 def int_nvvm_sust_b_3d_i8_zero 3327 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3328 llvm_i32_ty, llvm_i16_ty], [], 3329 "llvm.nvvm.sust.b.3d.i8.zero">, 3330 GCCBuiltin<"__nvvm_sust_b_3d_i8_zero">; 3331 def int_nvvm_sust_b_3d_i16_zero 3332 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3333 llvm_i32_ty, llvm_i16_ty], [], 3334 "llvm.nvvm.sust.b.3d.i16.zero">, 3335 GCCBuiltin<"__nvvm_sust_b_3d_i16_zero">; 3336 def int_nvvm_sust_b_3d_i32_zero 3337 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3338 llvm_i32_ty, llvm_i32_ty], [], 3339 "llvm.nvvm.sust.b.3d.i32.zero">, 3340 GCCBuiltin<"__nvvm_sust_b_3d_i32_zero">; 3341 def int_nvvm_sust_b_3d_i64_zero 3342 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3343 llvm_i32_ty, llvm_i64_ty], [], 3344 "llvm.nvvm.sust.b.3d.i64.zero">, 3345 GCCBuiltin<"__nvvm_sust_b_3d_i64_zero">; 3346 def int_nvvm_sust_b_3d_v2i8_zero 3347 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3348 llvm_i16_ty, llvm_i16_ty], [], 3349 "llvm.nvvm.sust.b.3d.v2i8.zero">, 3350 GCCBuiltin<"__nvvm_sust_b_3d_v2i8_zero">; 3351 def int_nvvm_sust_b_3d_v2i16_zero 3352 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3353 llvm_i16_ty, llvm_i16_ty], [], 3354 "llvm.nvvm.sust.b.3d.v2i16.zero">, 3355 GCCBuiltin<"__nvvm_sust_b_3d_v2i16_zero">; 3356 def int_nvvm_sust_b_3d_v2i32_zero 3357 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3358 llvm_i32_ty, llvm_i32_ty], [], 3359 "llvm.nvvm.sust.b.3d.v2i32.zero">, 3360 GCCBuiltin<"__nvvm_sust_b_3d_v2i32_zero">; 3361 def int_nvvm_sust_b_3d_v2i64_zero 3362 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3363 llvm_i64_ty, llvm_i64_ty], [], 3364 "llvm.nvvm.sust.b.3d.v2i64.zero">, 3365 GCCBuiltin<"__nvvm_sust_b_3d_v2i64_zero">; 3366 def int_nvvm_sust_b_3d_v4i8_zero 3367 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3368 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3369 "llvm.nvvm.sust.b.3d.v4i8.zero">, 3370 GCCBuiltin<"__nvvm_sust_b_3d_v4i8_zero">; 3371 def int_nvvm_sust_b_3d_v4i16_zero 3372 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3373 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3374 "llvm.nvvm.sust.b.3d.v4i16.zero">, 3375 GCCBuiltin<"__nvvm_sust_b_3d_v4i16_zero">; 3376 def int_nvvm_sust_b_3d_v4i32_zero 3377 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3378 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3379 "llvm.nvvm.sust.b.3d.v4i32.zero">, 3380 GCCBuiltin<"__nvvm_sust_b_3d_v4i32_zero">; 3381 3382 3383 3384 // Formatted 3385 3386 def int_nvvm_sust_p_1d_i8_trap 3387 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 3388 "llvm.nvvm.sust.p.1d.i8.trap">, 3389 GCCBuiltin<"__nvvm_sust_p_1d_i8_trap">; 3390 def int_nvvm_sust_p_1d_i16_trap 3391 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], 3392 "llvm.nvvm.sust.p.1d.i16.trap">, 3393 GCCBuiltin<"__nvvm_sust_p_1d_i16_trap">; 3394 def int_nvvm_sust_p_1d_i32_trap 3395 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], 3396 "llvm.nvvm.sust.p.1d.i32.trap">, 3397 GCCBuiltin<"__nvvm_sust_p_1d_i32_trap">; 3398 def int_nvvm_sust_p_1d_v2i8_trap 3399 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 3400 "llvm.nvvm.sust.p.1d.v2i8.trap">, 3401 GCCBuiltin<"__nvvm_sust_p_1d_v2i8_trap">; 3402 def int_nvvm_sust_p_1d_v2i16_trap 3403 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], 3404 "llvm.nvvm.sust.p.1d.v2i16.trap">, 3405 GCCBuiltin<"__nvvm_sust_p_1d_v2i16_trap">; 3406 def int_nvvm_sust_p_1d_v2i32_trap 3407 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3408 "llvm.nvvm.sust.p.1d.v2i32.trap">, 3409 GCCBuiltin<"__nvvm_sust_p_1d_v2i32_trap">; 3410 def int_nvvm_sust_p_1d_v4i8_trap 3411 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 3412 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3413 "llvm.nvvm.sust.p.1d.v4i8.trap">, 3414 GCCBuiltin<"__nvvm_sust_p_1d_v4i8_trap">; 3415 def int_nvvm_sust_p_1d_v4i16_trap 3416 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, 3417 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3418 "llvm.nvvm.sust.p.1d.v4i16.trap">, 3419 GCCBuiltin<"__nvvm_sust_p_1d_v4i16_trap">; 3420 def int_nvvm_sust_p_1d_v4i32_trap 3421 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3422 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3423 "llvm.nvvm.sust.p.1d.v4i32.trap">, 3424 GCCBuiltin<"__nvvm_sust_p_1d_v4i32_trap">; 3425 3426 3427 def int_nvvm_sust_p_1d_array_i8_trap 3428 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3429 "llvm.nvvm.sust.p.1d.array.i8.trap">, 3430 GCCBuiltin<"__nvvm_sust_p_1d_array_i8_trap">; 3431 def int_nvvm_sust_p_1d_array_i16_trap 3432 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3433 "llvm.nvvm.sust.p.1d.array.i16.trap">, 3434 GCCBuiltin<"__nvvm_sust_p_1d_array_i16_trap">; 3435 def int_nvvm_sust_p_1d_array_i32_trap 3436 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3437 "llvm.nvvm.sust.p.1d.array.i32.trap">, 3438 GCCBuiltin<"__nvvm_sust_p_1d_array_i32_trap">; 3439 def int_nvvm_sust_p_1d_array_v2i8_trap 3440 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3441 llvm_i16_ty, llvm_i16_ty], [], 3442 "llvm.nvvm.sust.p.1d.array.v2i8.trap">, 3443 GCCBuiltin<"__nvvm_sust_p_1d_array_v2i8_trap">; 3444 def int_nvvm_sust_p_1d_array_v2i16_trap 3445 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3446 llvm_i16_ty, llvm_i16_ty], [], 3447 "llvm.nvvm.sust.p.1d.array.v2i16.trap">, 3448 GCCBuiltin<"__nvvm_sust_p_1d_array_v2i16_trap">; 3449 def int_nvvm_sust_p_1d_array_v2i32_trap 3450 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3451 llvm_i32_ty, llvm_i32_ty], [], 3452 "llvm.nvvm.sust.p.1d.array.v2i32.trap">, 3453 GCCBuiltin<"__nvvm_sust_p_1d_array_v2i32_trap">; 3454 def int_nvvm_sust_p_1d_array_v4i8_trap 3455 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3456 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3457 "llvm.nvvm.sust.p.1d.array.v4i8.trap">, 3458 GCCBuiltin<"__nvvm_sust_p_1d_array_v4i8_trap">; 3459 def int_nvvm_sust_p_1d_array_v4i16_trap 3460 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3461 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3462 "llvm.nvvm.sust.p.1d.array.v4i16.trap">, 3463 GCCBuiltin<"__nvvm_sust_p_1d_array_v4i16_trap">; 3464 def int_nvvm_sust_p_1d_array_v4i32_trap 3465 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3466 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3467 "llvm.nvvm.sust.p.1d.array.v4i32.trap">, 3468 GCCBuiltin<"__nvvm_sust_p_1d_array_v4i32_trap">; 3469 3470 3471 def int_nvvm_sust_p_2d_i8_trap 3472 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3473 "llvm.nvvm.sust.p.2d.i8.trap">, 3474 GCCBuiltin<"__nvvm_sust_p_2d_i8_trap">; 3475 def int_nvvm_sust_p_2d_i16_trap 3476 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], 3477 "llvm.nvvm.sust.p.2d.i16.trap">, 3478 GCCBuiltin<"__nvvm_sust_p_2d_i16_trap">; 3479 def int_nvvm_sust_p_2d_i32_trap 3480 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3481 "llvm.nvvm.sust.p.2d.i32.trap">, 3482 GCCBuiltin<"__nvvm_sust_p_2d_i32_trap">; 3483 def int_nvvm_sust_p_2d_v2i8_trap 3484 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3485 llvm_i16_ty, llvm_i16_ty], [], 3486 "llvm.nvvm.sust.p.2d.v2i8.trap">, 3487 GCCBuiltin<"__nvvm_sust_p_2d_v2i8_trap">; 3488 def int_nvvm_sust_p_2d_v2i16_trap 3489 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3490 llvm_i16_ty, llvm_i16_ty], [], 3491 "llvm.nvvm.sust.p.2d.v2i16.trap">, 3492 GCCBuiltin<"__nvvm_sust_p_2d_v2i16_trap">; 3493 def int_nvvm_sust_p_2d_v2i32_trap 3494 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3495 llvm_i32_ty, llvm_i32_ty], [], 3496 "llvm.nvvm.sust.p.2d.v2i32.trap">, 3497 GCCBuiltin<"__nvvm_sust_p_2d_v2i32_trap">; 3498 def int_nvvm_sust_p_2d_v4i8_trap 3499 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3500 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3501 "llvm.nvvm.sust.p.2d.v4i8.trap">, 3502 GCCBuiltin<"__nvvm_sust_p_2d_v4i8_trap">; 3503 def int_nvvm_sust_p_2d_v4i16_trap 3504 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, 3505 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3506 "llvm.nvvm.sust.p.2d.v4i16.trap">, 3507 GCCBuiltin<"__nvvm_sust_p_2d_v4i16_trap">; 3508 def int_nvvm_sust_p_2d_v4i32_trap 3509 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3510 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3511 "llvm.nvvm.sust.p.2d.v4i32.trap">, 3512 GCCBuiltin<"__nvvm_sust_p_2d_v4i32_trap">; 3513 3514 3515 def int_nvvm_sust_p_2d_array_i8_trap 3516 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3517 llvm_i32_ty, llvm_i16_ty], [], 3518 "llvm.nvvm.sust.p.2d.array.i8.trap">, 3519 GCCBuiltin<"__nvvm_sust_p_2d_array_i8_trap">; 3520 def int_nvvm_sust_p_2d_array_i16_trap 3521 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3522 llvm_i32_ty, llvm_i16_ty], [], 3523 "llvm.nvvm.sust.p.2d.array.i16.trap">, 3524 GCCBuiltin<"__nvvm_sust_p_2d_array_i16_trap">; 3525 def int_nvvm_sust_p_2d_array_i32_trap 3526 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3527 llvm_i32_ty, llvm_i32_ty], [], 3528 "llvm.nvvm.sust.p.2d.array.i32.trap">, 3529 GCCBuiltin<"__nvvm_sust_p_2d_array_i32_trap">; 3530 def int_nvvm_sust_p_2d_array_v2i8_trap 3531 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3532 llvm_i16_ty, llvm_i16_ty], [], 3533 "llvm.nvvm.sust.p.2d.array.v2i8.trap">, 3534 GCCBuiltin<"__nvvm_sust_p_2d_array_v2i8_trap">; 3535 def int_nvvm_sust_p_2d_array_v2i16_trap 3536 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3537 llvm_i16_ty, llvm_i16_ty], [], 3538 "llvm.nvvm.sust.p.2d.array.v2i16.trap">, 3539 GCCBuiltin<"__nvvm_sust_p_2d_array_v2i16_trap">; 3540 def int_nvvm_sust_p_2d_array_v2i32_trap 3541 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3542 llvm_i32_ty, llvm_i32_ty], [], 3543 "llvm.nvvm.sust.p.2d.array.v2i32.trap">, 3544 GCCBuiltin<"__nvvm_sust_p_2d_array_v2i32_trap">; 3545 def int_nvvm_sust_p_2d_array_v4i8_trap 3546 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3547 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3548 "llvm.nvvm.sust.p.2d.array.v4i8.trap">, 3549 GCCBuiltin<"__nvvm_sust_p_2d_array_v4i8_trap">; 3550 def int_nvvm_sust_p_2d_array_v4i16_trap 3551 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3552 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3553 "llvm.nvvm.sust.p.2d.array.v4i16.trap">, 3554 GCCBuiltin<"__nvvm_sust_p_2d_array_v4i16_trap">; 3555 def int_nvvm_sust_p_2d_array_v4i32_trap 3556 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3557 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3558 "llvm.nvvm.sust.p.2d.array.v4i32.trap">, 3559 GCCBuiltin<"__nvvm_sust_p_2d_array_v4i32_trap">; 3560 3561 3562 def int_nvvm_sust_p_3d_i8_trap 3563 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3564 llvm_i32_ty, llvm_i16_ty], [], 3565 "llvm.nvvm.sust.p.3d.i8.trap">, 3566 GCCBuiltin<"__nvvm_sust_p_3d_i8_trap">; 3567 def int_nvvm_sust_p_3d_i16_trap 3568 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3569 llvm_i32_ty, llvm_i16_ty], [], 3570 "llvm.nvvm.sust.p.3d.i16.trap">, 3571 GCCBuiltin<"__nvvm_sust_p_3d_i16_trap">; 3572 def int_nvvm_sust_p_3d_i32_trap 3573 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, 3574 llvm_i32_ty, llvm_i32_ty], [], 3575 "llvm.nvvm.sust.p.3d.i32.trap">, 3576 GCCBuiltin<"__nvvm_sust_p_3d_i32_trap">; 3577 def int_nvvm_sust_p_3d_v2i8_trap 3578 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3579 llvm_i16_ty, llvm_i16_ty], [], 3580 "llvm.nvvm.sust.p.3d.v2i8.trap">, 3581 GCCBuiltin<"__nvvm_sust_p_3d_v2i8_trap">; 3582 def int_nvvm_sust_p_3d_v2i16_trap 3583 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3584 llvm_i16_ty, llvm_i16_ty], [], 3585 "llvm.nvvm.sust.p.3d.v2i16.trap">, 3586 GCCBuiltin<"__nvvm_sust_p_3d_v2i16_trap">; 3587 def int_nvvm_sust_p_3d_v2i32_trap 3588 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3589 llvm_i32_ty, llvm_i32_ty], [], 3590 "llvm.nvvm.sust.p.3d.v2i32.trap">, 3591 GCCBuiltin<"__nvvm_sust_p_3d_v2i32_trap">; 3592 def int_nvvm_sust_p_3d_v4i8_trap 3593 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3594 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3595 "llvm.nvvm.sust.p.3d.v4i8.trap">, 3596 GCCBuiltin<"__nvvm_sust_p_3d_v4i8_trap">; 3597 def int_nvvm_sust_p_3d_v4i16_trap 3598 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3599 llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], 3600 "llvm.nvvm.sust.p.3d.v4i16.trap">, 3601 GCCBuiltin<"__nvvm_sust_p_3d_v4i16_trap">; 3602 def int_nvvm_sust_p_3d_v4i32_trap 3603 : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, 3604 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], 3605 "llvm.nvvm.sust.p.3d.v4i32.trap">, 3606 GCCBuiltin<"__nvvm_sust_p_3d_v4i32_trap">; 3607 3608 3609 def int_nvvm_rotate_b32 3610 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], 3611 [IntrNoMem], "llvm.nvvm.rotate.b32">, 3612 GCCBuiltin<"__nvvm_rotate_b32">; 3613 3614 def int_nvvm_rotate_b64 3615 :Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], 3616 [IntrNoMem], "llvm.nvvm.rotate.b64">, 3617 GCCBuiltin<"__nvvm_rotate_b64">; 3618 3619 def int_nvvm_rotate_right_b64 3620 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], 3621 [IntrNoMem], "llvm.nvvm.rotate.right.b64">, 3622 GCCBuiltin<"__nvvm_rotate_right_b64">; 3623 3624 def int_nvvm_swap_lo_hi_b64 3625 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty], 3626 [IntrNoMem], "llvm.nvvm.swap.lo.hi.b64">, 3627 GCCBuiltin<"__nvvm_swap_lo_hi_b64">; 3628 3629 3630 // Accessing special registers. 3631 multiclass PTXReadSRegIntrinsic_v4i32<string regname> { 3632 // FIXME: Do we need the 128-bit integer type version? 3633 // def _r64 : Intrinsic<[llvm_i128_ty], [], [IntrNoMem]>; 3634 3635 // FIXME: Enable this once v4i32 support is enabled in back-end. 3636 // def _v4i16 : Intrinsic<[llvm_v4i32_ty], [], [IntrNoMem]>; 3637 3638 def _x : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, 3639 GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_x">; 3640 def _y : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, 3641 GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_y">; 3642 def _z : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, 3643 GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_z">; 3644 def _w : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, 3645 GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_w">; 3646 } 3647 3648 class PTXReadSRegIntrinsic_r32<string name> 3649 : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, 3650 GCCBuiltin<"__nvvm_read_ptx_sreg_" # name>; 3651 3652 class PTXReadSRegIntrinsic_r64<string name> 3653 : Intrinsic<[llvm_i64_ty], [], [IntrNoMem]>, 3654 GCCBuiltin<"__nvvm_read_ptx_sreg_" # name>; 3655 3656 defm int_nvvm_read_ptx_sreg_tid : PTXReadSRegIntrinsic_v4i32<"tid">; 3657 defm int_nvvm_read_ptx_sreg_ntid : PTXReadSRegIntrinsic_v4i32<"ntid">; 3658 3659 def int_nvvm_read_ptx_sreg_laneid : PTXReadSRegIntrinsic_r32<"laneid">; 3660 def int_nvvm_read_ptx_sreg_warpid : PTXReadSRegIntrinsic_r32<"warpid">; 3661 def int_nvvm_read_ptx_sreg_nwarpid : PTXReadSRegIntrinsic_r32<"nwarpid">; 3662 3663 defm int_nvvm_read_ptx_sreg_ctaid : PTXReadSRegIntrinsic_v4i32<"ctaid">; 3664 defm int_nvvm_read_ptx_sreg_nctaid : PTXReadSRegIntrinsic_v4i32<"nctaid">; 3665 3666 def int_nvvm_read_ptx_sreg_smid : PTXReadSRegIntrinsic_r32<"smid">; 3667 def int_nvvm_read_ptx_sreg_nsmid : PTXReadSRegIntrinsic_r32<"nsmid">; 3668 def int_nvvm_read_ptx_sreg_gridid : PTXReadSRegIntrinsic_r32<"gridid">; 3669 3670 def int_nvvm_read_ptx_sreg_lanemask_eq : 3671 PTXReadSRegIntrinsic_r32<"lanemask_eq">; 3672 def int_nvvm_read_ptx_sreg_lanemask_le : 3673 PTXReadSRegIntrinsic_r32<"lanemask_le">; 3674 def int_nvvm_read_ptx_sreg_lanemask_lt : 3675 PTXReadSRegIntrinsic_r32<"lanemask_lt">; 3676 def int_nvvm_read_ptx_sreg_lanemask_ge : 3677 PTXReadSRegIntrinsic_r32<"lanemask_ge">; 3678 def int_nvvm_read_ptx_sreg_lanemask_gt : 3679 PTXReadSRegIntrinsic_r32<"lanemask_gt">; 3680 3681 def int_nvvm_read_ptx_sreg_clock : PTXReadSRegIntrinsic_r32<"clock">; 3682 def int_nvvm_read_ptx_sreg_clock64 : PTXReadSRegIntrinsic_r64<"clock64">; 3683 3684 def int_nvvm_read_ptx_sreg_pm0 : PTXReadSRegIntrinsic_r32<"pm0">; 3685 def int_nvvm_read_ptx_sreg_pm1 : PTXReadSRegIntrinsic_r32<"pm1">; 3686 def int_nvvm_read_ptx_sreg_pm2 : PTXReadSRegIntrinsic_r32<"pm2">; 3687 def int_nvvm_read_ptx_sreg_pm3 : PTXReadSRegIntrinsic_r32<"pm3">; 3688 3689 def int_nvvm_read_ptx_sreg_warpsize : PTXReadSRegIntrinsic_r32<"warpsize">; 3690 3691 // 3692 // SHUFFLE 3693 // 3694 3695 // shfl.down.b32 dest, val, offset, mask_and_clamp 3696 def int_nvvm_shfl_down_i32 : 3697 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 3698 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.i32">, 3699 GCCBuiltin<"__nvvm_shfl_down_i32">; 3700 def int_nvvm_shfl_down_f32 : 3701 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], 3702 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.f32">, 3703 GCCBuiltin<"__nvvm_shfl_down_f32">; 3704 3705 // shfl.up.b32 dest, val, offset, mask_and_clamp 3706 def int_nvvm_shfl_up_i32 : 3707 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 3708 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.i32">, 3709 GCCBuiltin<"__nvvm_shfl_up_i32">; 3710 def int_nvvm_shfl_up_f32 : 3711 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], 3712 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.f32">, 3713 GCCBuiltin<"__nvvm_shfl_up_f32">; 3714 3715 // shfl.bfly.b32 dest, val, offset, mask_and_clamp 3716 def int_nvvm_shfl_bfly_i32 : 3717 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 3718 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.i32">, 3719 GCCBuiltin<"__nvvm_shfl_bfly_i32">; 3720 def int_nvvm_shfl_bfly_f32 : 3721 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], 3722 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.f32">, 3723 GCCBuiltin<"__nvvm_shfl_bfly_f32">; 3724 3725 // shfl.idx.b32 dest, val, lane, mask_and_clamp 3726 def int_nvvm_shfl_idx_i32 : 3727 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 3728 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.i32">, 3729 GCCBuiltin<"__nvvm_shfl_idx_i32">; 3730 def int_nvvm_shfl_idx_f32 : 3731 Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], 3732 [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.f32">, 3733 GCCBuiltin<"__nvvm_shfl_idx_f32">; 3734 } 3735