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