[llvm] [NVPTX] Refactor intrinsic definitions with loops and classes to remove redundancy (NFC) (PR #139611)
Alex MacLean via llvm-commits
llvm-commits at lists.llvm.org
Mon May 12 12:44:09 PDT 2025
https://github.com/AlexMaclean created https://github.com/llvm/llvm-project/pull/139611
None
>From bd91094c92a859d7b8be5d28661e0be49ceca540 Mon Sep 17 00:00:00 2001
From: Alex Maclean <amaclean at nvidia.com>
Date: Sat, 10 May 2025 15:31:07 +0000
Subject: [PATCH 1/3] scratch
---
llvm/include/llvm/IR/IntrinsicsNVVM.td | 2518 +++++++-----------------
1 file changed, 746 insertions(+), 1772 deletions(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsNVVM.td b/llvm/include/llvm/IR/IntrinsicsNVVM.td
index 640fdf3f86326..4a9a8d6ea2c1f 100644
--- a/llvm/include/llvm/IR/IntrinsicsNVVM.td
+++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td
@@ -687,7 +687,6 @@ class SHFL_INFO<bit sync, string mode, string type, bit return_pred> {
string Name = "int_nvvm_shfl_" # Suffix;
string Builtin = "__nvvm_shfl_" # Suffix;
- string IntrName = "llvm.nvvm.shfl." # !subst("_",".", Suffix);
bit withGccBuiltin = !not(return_pred);
bit withoutGccBuiltin = return_pred;
LLVMType OpType = !cond(
@@ -903,43 +902,18 @@ let TargetPrefix = "nvvm" in {
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rn_ftz_f : ClangBuiltin<"__nvvm_mul_rn_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rn_f : ClangBuiltin<"__nvvm_mul_rn_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rz_ftz_f : ClangBuiltin<"__nvvm_mul_rz_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rz_f : ClangBuiltin<"__nvvm_mul_rz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rm_ftz_f : ClangBuiltin<"__nvvm_mul_rm_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rm_f : ClangBuiltin<"__nvvm_mul_rm_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rp_ftz_f : ClangBuiltin<"__nvvm_mul_rp_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rp_f : ClangBuiltin<"__nvvm_mul_rp_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_mul_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_mul_" # rnd # "_ftz_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_mul_ # rnd # _f : ClangBuiltin<"__nvvm_mul_" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rn_d : ClangBuiltin<"__nvvm_mul_rn_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rz_d : ClangBuiltin<"__nvvm_mul_rz_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rm_d : ClangBuiltin<"__nvvm_mul_rm_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_rp_d : ClangBuiltin<"__nvvm_mul_rp_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_mul_ # rnd # _d : ClangBuiltin<"__nvvm_mul_" # rnd # "_d">,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+ }
def int_nvvm_mul24_i : ClangBuiltin<"__nvvm_mul24_i">,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
@@ -959,46 +933,18 @@ let TargetPrefix = "nvvm" in {
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_rn_ftz_f : ClangBuiltin<"__nvvm_div_rn_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rn_f : ClangBuiltin<"__nvvm_div_rn_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
-
- def int_nvvm_div_rz_ftz_f : ClangBuiltin<"__nvvm_div_rz_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rz_f : ClangBuiltin<"__nvvm_div_rz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
-
- def int_nvvm_div_rm_ftz_f : ClangBuiltin<"__nvvm_div_rm_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rm_f : ClangBuiltin<"__nvvm_div_rm_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
-
- def int_nvvm_div_rp_ftz_f : ClangBuiltin<"__nvvm_div_rp_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rp_f : ClangBuiltin<"__nvvm_div_rp_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_div_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_div_" # rnd # "_ftz_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem]>;
+ def int_nvvm_div_ # rnd # _f : ClangBuiltin<"__nvvm_div_" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem]>;
- def int_nvvm_div_rn_d : ClangBuiltin<"__nvvm_div_rn_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rz_d : ClangBuiltin<"__nvvm_div_rz_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rm_d : ClangBuiltin<"__nvvm_div_rm_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem]>;
- def int_nvvm_div_rp_d : ClangBuiltin<"__nvvm_div_rp_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem]>;
+ def int_nvvm_div_ # rnd # _d : ClangBuiltin<"__nvvm_div_" # rnd # "_d">,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
+ [IntrNoMem]>;
+ }
def int_nvvm_div_full : ClangBuiltin<"__nvvm_div_full">,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
@@ -1066,14 +1012,12 @@ let TargetPrefix = "nvvm" in {
// Abs, Neg bf16, bf16x2
//
- foreach unary = ["neg"] in {
- def int_nvvm_ # unary # _bf16 :
- ClangBuiltin<!strconcat("__nvvm_", unary, "_bf16")>,
- DefaultAttrsIntrinsic<[llvm_bfloat_ty], [llvm_bfloat_ty], [IntrNoMem]>;
- def int_nvvm_ # unary # _bf16x2 :
- ClangBuiltin<!strconcat("__nvvm_", unary, "_bf16x2")>,
- DefaultAttrsIntrinsic<[llvm_v2bf16_ty], [llvm_v2bf16_ty], [IntrNoMem]>;
- }
+ def int_nvvm_neg_bf16 :
+ ClangBuiltin<!strconcat("__nvvm_neg_bf16")>,
+ DefaultAttrsIntrinsic<[llvm_bfloat_ty], [llvm_bfloat_ty], [IntrNoMem]>;
+ def int_nvvm_neg_bf16x2 :
+ ClangBuiltin<!strconcat("__nvvm_neg_bf16x2")>,
+ DefaultAttrsIntrinsic<[llvm_v2bf16_ty], [llvm_v2bf16_ty], [IntrNoMem]>;
//
// Round
@@ -1181,16 +1125,17 @@ let TargetPrefix = "nvvm" in {
[IntrNoMem, IntrSpeculatable]>;
}
- foreach variant = ["_rn_ftz_f", "_rn_f", "_rz_ftz_f", "_rz_f", "_rm_ftz_f",
- "_rm_f", "_rp_ftz_f", "_rp_f"] in {
- def int_nvvm_fma # variant : ClangBuiltin<!strconcat("__nvvm_fma", variant)>,
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_fma_ # rnd # _f : ClangBuiltin<"__nvvm_fma" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty],
+ [llvm_float_ty, llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_fma_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_fma" # rnd # "_ftz_f">,
DefaultAttrsIntrinsic<[llvm_float_ty],
[llvm_float_ty, llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable]>;
- }
- foreach variant = ["_rn_d", "_rz_d", "_rm_d", "_rp_d"] in {
- def int_nvvm_fma # variant : ClangBuiltin<!strconcat("__nvvm_fma", variant)>,
+ def int_nvvm_fma_ # rnd # _d : ClangBuiltin<"__nvvm_fma" # rnd # "_d">,
DefaultAttrsIntrinsic<[llvm_double_ty],
[llvm_double_ty, llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable]>;
@@ -1200,31 +1145,16 @@ let TargetPrefix = "nvvm" in {
// Rcp
//
- def int_nvvm_rcp_rn_ftz_f : ClangBuiltin<"__nvvm_rcp_rn_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rn_f : ClangBuiltin<"__nvvm_rcp_rn_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rz_ftz_f : ClangBuiltin<"__nvvm_rcp_rz_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rz_f : ClangBuiltin<"__nvvm_rcp_rz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rm_ftz_f : ClangBuiltin<"__nvvm_rcp_rm_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rm_f : ClangBuiltin<"__nvvm_rcp_rm_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rp_ftz_f : ClangBuiltin<"__nvvm_rcp_rp_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rp_f : ClangBuiltin<"__nvvm_rcp_rp_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_rcp_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_rcp_" # rnd # "_ftz_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ def int_nvvm_rcp_ # rnd # _f : ClangBuiltin<"__nvvm_rcp_" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+
+ def int_nvvm_rcp_ # rnd # _d : ClangBuiltin<"__nvvm_rcp_" # rnd # "_d">,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
+ }
- def int_nvvm_rcp_rn_d : ClangBuiltin<"__nvvm_rcp_rn_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rz_d : ClangBuiltin<"__nvvm_rcp_rz_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rm_d : ClangBuiltin<"__nvvm_rcp_rm_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_rcp_rp_d : ClangBuiltin<"__nvvm_rcp_rp_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
def int_nvvm_rcp_approx_ftz_f : ClangBuiltin<"__nvvm_rcp_approx_ftz_f">,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
@@ -1234,39 +1164,24 @@ let TargetPrefix = "nvvm" in {
//
// Sqrt
//
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_sqrt_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_ftz_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ def int_nvvm_sqrt_ # rnd # _f : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+
+ def int_nvvm_sqrt_ # rnd # _d : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_d">,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
+ }
def int_nvvm_sqrt_f : ClangBuiltin<"__nvvm_sqrt_f">,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rn_ftz_f : ClangBuiltin<"__nvvm_sqrt_rn_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rn_f : ClangBuiltin<"__nvvm_sqrt_rn_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rz_ftz_f : ClangBuiltin<"__nvvm_sqrt_rz_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rz_f : ClangBuiltin<"__nvvm_sqrt_rz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rm_ftz_f : ClangBuiltin<"__nvvm_sqrt_rm_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rm_f : ClangBuiltin<"__nvvm_sqrt_rm_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rp_ftz_f : ClangBuiltin<"__nvvm_sqrt_rp_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rp_f : ClangBuiltin<"__nvvm_sqrt_rp_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+
def int_nvvm_sqrt_approx_ftz_f : ClangBuiltin<"__nvvm_sqrt_approx_ftz_f">,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
def int_nvvm_sqrt_approx_f : ClangBuiltin<"__nvvm_sqrt_approx_f">,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rn_d : ClangBuiltin<"__nvvm_sqrt_rn_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rz_d : ClangBuiltin<"__nvvm_sqrt_rz_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rm_d : ClangBuiltin<"__nvvm_sqrt_rm_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_rp_d : ClangBuiltin<"__nvvm_sqrt_rp_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
-
//
// Rsqrt
//
@@ -1284,43 +1199,18 @@ let TargetPrefix = "nvvm" in {
// Add
//
- def int_nvvm_add_rn_ftz_f : ClangBuiltin<"__nvvm_add_rn_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rn_f : ClangBuiltin<"__nvvm_add_rn_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rz_ftz_f : ClangBuiltin<"__nvvm_add_rz_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rz_f : ClangBuiltin<"__nvvm_add_rz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rm_ftz_f : ClangBuiltin<"__nvvm_add_rm_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rm_f : ClangBuiltin<"__nvvm_add_rm_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rp_ftz_f : ClangBuiltin<"__nvvm_add_rp_ftz_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rp_f : ClangBuiltin<"__nvvm_add_rp_f">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_add_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_add_" # rnd # "_ftz_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_add_ # rnd # _f : ClangBuiltin<"__nvvm_add_" # rnd # "_f">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rn_d : ClangBuiltin<"__nvvm_add_rn_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rz_d : ClangBuiltin<"__nvvm_add_rz_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rm_d : ClangBuiltin<"__nvvm_add_rm_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_rp_d : ClangBuiltin<"__nvvm_add_rp_d">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_add_ # rnd # _d : ClangBuiltin<"__nvvm_add_" # rnd # "_d">,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+ }
//
// Dot Product
@@ -1381,110 +1271,40 @@ let TargetPrefix = "nvvm" in {
// Convert
//
- def int_nvvm_d2f_rn_ftz : ClangBuiltin<"__nvvm_d2f_rn_ftz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rn : ClangBuiltin<"__nvvm_d2f_rn">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rz_ftz : ClangBuiltin<"__nvvm_d2f_rz_ftz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rz : ClangBuiltin<"__nvvm_d2f_rz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rm_ftz : ClangBuiltin<"__nvvm_d2f_rm_ftz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rm : ClangBuiltin<"__nvvm_d2f_rm">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rp_ftz : ClangBuiltin<"__nvvm_d2f_rp_ftz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_rp : ClangBuiltin<"__nvvm_d2f_rp">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_d2i_rn : ClangBuiltin<"__nvvm_d2i_rn">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_rz : ClangBuiltin<"__nvvm_d2i_rz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_rm : ClangBuiltin<"__nvvm_d2i_rm">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_rp : ClangBuiltin<"__nvvm_d2i_rp">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_d2f_ # rnd # _ftz : ClangBuiltin<"__nvvm_d2f_" # rnd # "_ftz">,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2f_ # rnd : ClangBuiltin<"__nvvm_d2f_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ui_rn : ClangBuiltin<"__nvvm_d2ui_rn">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ui_rz : ClangBuiltin<"__nvvm_d2ui_rz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ui_rm : ClangBuiltin<"__nvvm_d2ui_rm">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ui_rp : ClangBuiltin<"__nvvm_d2ui_rp">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2i_ # rnd : ClangBuiltin<"__nvvm_d2i_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_rn : ClangBuiltin<"__nvvm_i2d_rn">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_rz : ClangBuiltin<"__nvvm_i2d_rz">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_rm : ClangBuiltin<"__nvvm_i2d_rm">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_rp : ClangBuiltin<"__nvvm_i2d_rp">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2ui_ # rnd : ClangBuiltin<"__nvvm_d2ui_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_rn : ClangBuiltin<"__nvvm_ui2d_rn">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_rz : ClangBuiltin<"__nvvm_ui2d_rz">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_rm : ClangBuiltin<"__nvvm_ui2d_rm">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_rp : ClangBuiltin<"__nvvm_ui2d_rp">,
+ def int_nvvm_i2d_ # rnd : ClangBuiltin<"__nvvm_i2d_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ui2d_ # rnd : ClangBuiltin<"__nvvm_ui2d_" # rnd>,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rn_ftz : ClangBuiltin<"__nvvm_f2i_rn_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rn : ClangBuiltin<"__nvvm_f2i_rn">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rz_ftz : ClangBuiltin<"__nvvm_f2i_rz_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rz : ClangBuiltin<"__nvvm_f2i_rz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rm_ftz : ClangBuiltin<"__nvvm_f2i_rm_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rm : ClangBuiltin<"__nvvm_f2i_rm">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rp_ftz : ClangBuiltin<"__nvvm_f2i_rp_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_rp : ClangBuiltin<"__nvvm_f2i_rp">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_f2ui_rn_ftz : ClangBuiltin<"__nvvm_f2ui_rn_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rn : ClangBuiltin<"__nvvm_f2ui_rn">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rz_ftz : ClangBuiltin<"__nvvm_f2ui_rz_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rz : ClangBuiltin<"__nvvm_f2ui_rz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rm_ftz : ClangBuiltin<"__nvvm_f2ui_rm_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rm : ClangBuiltin<"__nvvm_f2ui_rm">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rp_ftz : ClangBuiltin<"__nvvm_f2ui_rp_ftz">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_rp : ClangBuiltin<"__nvvm_f2ui_rp">,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_i2f_rn : ClangBuiltin<"__nvvm_i2f_rn">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2f_rz : ClangBuiltin<"__nvvm_i2f_rz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2f_rm : ClangBuiltin<"__nvvm_i2f_rm">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2f_rp : ClangBuiltin<"__nvvm_i2f_rp">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_ui2f_rn : ClangBuiltin<"__nvvm_ui2f_rn">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2f_rz : ClangBuiltin<"__nvvm_ui2f_rz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2f_rm : ClangBuiltin<"__nvvm_ui2f_rm">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2f_rp : ClangBuiltin<"__nvvm_ui2f_rp">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f2i_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2i_" # rnd # "_ftz">,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f2i_ # rnd : ClangBuiltin<"__nvvm_f2i_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_f2ui_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ui_" # rnd # "_ftz">,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f2ui_ # rnd : ClangBuiltin<"__nvvm_f2ui_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_i2f_ # rnd : ClangBuiltin<"__nvvm_i2f_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ui2f_ # rnd : ClangBuiltin<"__nvvm_ui2f_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ }
def int_nvvm_lohi_i2d : ClangBuiltin<"__nvvm_lohi_i2d">,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty],
@@ -1495,91 +1315,35 @@ let TargetPrefix = "nvvm" in {
def int_nvvm_d2i_hi : ClangBuiltin<"__nvvm_d2i_hi">,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rn_ftz : ClangBuiltin<"__nvvm_f2ll_rn_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rn : ClangBuiltin<"__nvvm_f2ll_rn">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rz_ftz : ClangBuiltin<"__nvvm_f2ll_rz_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rz : ClangBuiltin<"__nvvm_f2ll_rz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rm_ftz : ClangBuiltin<"__nvvm_f2ll_rm_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rm : ClangBuiltin<"__nvvm_f2ll_rm">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rp_ftz : ClangBuiltin<"__nvvm_f2ll_rp_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_rp : ClangBuiltin<"__nvvm_f2ll_rp">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_f2ull_rn_ftz : ClangBuiltin<"__nvvm_f2ull_rn_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rn : ClangBuiltin<"__nvvm_f2ull_rn">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rz_ftz : ClangBuiltin<"__nvvm_f2ull_rz_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rz : ClangBuiltin<"__nvvm_f2ull_rz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rm_ftz : ClangBuiltin<"__nvvm_f2ull_rm_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rm : ClangBuiltin<"__nvvm_f2ull_rm">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rp_ftz : ClangBuiltin<"__nvvm_f2ull_rp_ftz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_rp : ClangBuiltin<"__nvvm_f2ull_rp">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_d2ll_rn : ClangBuiltin<"__nvvm_d2ll_rn">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ll_rz : ClangBuiltin<"__nvvm_d2ll_rz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ll_rm : ClangBuiltin<"__nvvm_d2ll_rm">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ll_rp : ClangBuiltin<"__nvvm_d2ll_rp">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ def int_nvvm_f2ll_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ll_" # rnd # "_ftz">,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f2ll_ # rnd : ClangBuiltin<"__nvvm_f2ll_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_rn : ClangBuiltin<"__nvvm_d2ull_rn">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_rz : ClangBuiltin<"__nvvm_d2ull_rz">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_rm : ClangBuiltin<"__nvvm_d2ull_rm">,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_rp : ClangBuiltin<"__nvvm_d2ull_rp">,
+ def int_nvvm_f2ull_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ull_" # rnd # "_ftz">,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f2ull_ # rnd : ClangBuiltin<"__nvvm_f2ull_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_d2ll_ # rnd : ClangBuiltin<"__nvvm_d2ll_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_d2ull_ # rnd : ClangBuiltin<"__nvvm_d2ull_" # rnd>,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2f_rn : ClangBuiltin<"__nvvm_ll2f_rn">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2f_rz : ClangBuiltin<"__nvvm_ll2f_rz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2f_rm : ClangBuiltin<"__nvvm_ll2f_rm">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2f_rp : ClangBuiltin<"__nvvm_ll2f_rp">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2f_rn : ClangBuiltin<"__nvvm_ull2f_rn">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2f_rz : ClangBuiltin<"__nvvm_ull2f_rz">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2f_rm : ClangBuiltin<"__nvvm_ull2f_rm">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2f_rp : ClangBuiltin<"__nvvm_ull2f_rp">,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_ll2d_rn : ClangBuiltin<"__nvvm_ll2d_rn">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2d_rz : ClangBuiltin<"__nvvm_ll2d_rz">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2d_rm : ClangBuiltin<"__nvvm_ll2d_rm">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2d_rp : ClangBuiltin<"__nvvm_ll2d_rp">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2d_rn : ClangBuiltin<"__nvvm_ull2d_rn">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2d_rz : ClangBuiltin<"__nvvm_ull2d_rz">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2d_rm : ClangBuiltin<"__nvvm_ull2d_rm">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2d_rp : ClangBuiltin<"__nvvm_ull2d_rp">,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ll2f_ # rnd : ClangBuiltin<"__nvvm_ll2f_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ull2f_ # rnd : ClangBuiltin<"__nvvm_ull2f_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ll2d_ # rnd : ClangBuiltin<"__nvvm_ll2d_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ull2d_ # rnd : ClangBuiltin<"__nvvm_ull2d_" # rnd>,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ }
def int_nvvm_f2h_rn_ftz : ClangBuiltin<"__nvvm_f2h_rn_ftz">,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
@@ -1825,21 +1589,19 @@ def int_nvvm_cp_async_mbarrier_arrive_noinc_shared :
ClangBuiltin<"__nvvm_cp_async_mbarrier_arrive_noinc_shared">,
Intrinsic<[],[llvm_shared_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-multiclass CP_ASYNC_SHARED_GLOBAL<string n, string cc> {
+multiclass CP_ASYNC_SHARED_GLOBAL {
def NAME: Intrinsic<[],[llvm_shared_ptr_ty, llvm_global_ptr_ty],
[IntrArgMemOnly, IntrNoCallback, NoAlias<ArgIndex<0>>, NoAlias<ArgIndex<1>>,
- WriteOnly<ArgIndex<0>>, ReadOnly<ArgIndex<1>>],
- "llvm.nvvm.cp.async." # cc # ".shared.global." # n>;
+ WriteOnly<ArgIndex<0>>, ReadOnly<ArgIndex<1>>]>;
def _s: Intrinsic<[],[llvm_shared_ptr_ty, llvm_global_ptr_ty, llvm_i32_ty],
[IntrArgMemOnly, IntrNoCallback, NoAlias<ArgIndex<0>>, NoAlias<ArgIndex<1>>,
- WriteOnly<ArgIndex<0>>, ReadOnly<ArgIndex<1>>],
- "llvm.nvvm.cp.async." # cc # ".shared.global." # n # ".s">;
+ WriteOnly<ArgIndex<0>>, ReadOnly<ArgIndex<1>>]>;
}
-defm int_nvvm_cp_async_ca_shared_global_4 : CP_ASYNC_SHARED_GLOBAL<"4", "ca">;
-defm int_nvvm_cp_async_ca_shared_global_8 : CP_ASYNC_SHARED_GLOBAL<"8", "ca">;
-defm int_nvvm_cp_async_ca_shared_global_16 : CP_ASYNC_SHARED_GLOBAL<"16", "ca">;
-defm int_nvvm_cp_async_cg_shared_global_16 : CP_ASYNC_SHARED_GLOBAL<"16", "cg">;
+defm int_nvvm_cp_async_ca_shared_global_4 : CP_ASYNC_SHARED_GLOBAL;
+defm int_nvvm_cp_async_ca_shared_global_8 : CP_ASYNC_SHARED_GLOBAL;
+defm int_nvvm_cp_async_ca_shared_global_16 : CP_ASYNC_SHARED_GLOBAL;
+defm int_nvvm_cp_async_cg_shared_global_16 : CP_ASYNC_SHARED_GLOBAL;
def int_nvvm_cp_async_commit_group :
ClangBuiltin<"__nvvm_cp_async_commit_group">,
@@ -1922,16 +1684,13 @@ def int_nvvm_mbarrier_pending_count :
// pointer's alignment.
def int_nvvm_ldu_global_i : Intrinsic<[llvm_anyint_ty],
[llvm_anyptr_ty, llvm_i32_ty],
- [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.ldu.global.i">;
+ [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>]>;
def int_nvvm_ldu_global_f : Intrinsic<[llvm_anyfloat_ty],
[llvm_anyptr_ty, llvm_i32_ty],
- [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.ldu.global.f">;
+ [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>]>;
def int_nvvm_ldu_global_p : Intrinsic<[llvm_anyptr_ty],
[llvm_anyptr_ty, llvm_i32_ty],
- [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.ldu.global.p">;
+ [IntrReadMem, IntrArgMemOnly, IntrNoCallback, IntrWillReturn, NoCapture<ArgIndex<0>>]>;
// Represents an explicit hole in the LLVM IR type system. It may be inserted by
// the compiler in cases where a pointer is of the wrong type. In the backend
@@ -1951,2606 +1710,1905 @@ def int_nvvm_internal_addrspace_wrap :
// Move intrinsics, used in nvvm internally
-def int_nvvm_move_i16 : Intrinsic<[llvm_i16_ty], [llvm_i16_ty], [IntrNoMem],
- "llvm.nvvm.move.i16">;
-def int_nvvm_move_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem],
- "llvm.nvvm.move.i32">;
-def int_nvvm_move_i64 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.move.i64">;
-def int_nvvm_move_float : Intrinsic<[llvm_float_ty], [llvm_float_ty],
- [IntrNoMem], "llvm.nvvm.move.float">;
-def int_nvvm_move_double : Intrinsic<[llvm_double_ty], [llvm_double_ty],
- [IntrNoMem], "llvm.nvvm.move.double">;
-def int_nvvm_move_ptr : Intrinsic<[llvm_anyptr_ty], [llvm_anyptr_ty],
- [IntrNoMem, NoCapture<ArgIndex<0>>], "llvm.nvvm.move.ptr">;
+def int_nvvm_move_i16 : Intrinsic<[llvm_i16_ty], [llvm_i16_ty], [IntrNoMem]>;
+def int_nvvm_move_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>;
+def int_nvvm_move_i64 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem]>;
+def int_nvvm_move_float : Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+def int_nvvm_move_double : Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
+def int_nvvm_move_ptr : Intrinsic<[llvm_anyptr_ty], [llvm_anyptr_ty], [IntrNoMem, NoCapture<ArgIndex<0>>]>;
// For getting the handle from a texture or surface variable
def int_nvvm_texsurf_handle
: Intrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyptr_ty],
- [IntrNoMem], "llvm.nvvm.texsurf.handle">;
+ [IntrNoMem]>;
def int_nvvm_texsurf_handle_internal
: Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty],
- [IntrNoMem], "llvm.nvvm.texsurf.handle.internal">;
+ [IntrNoMem]>;
/// Error / Warn
-def int_nvvm_compiler_error :
- Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.error">;
-def int_nvvm_compiler_warn :
- Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.warn">;
+def int_nvvm_compiler_error : Intrinsic<[], [llvm_anyptr_ty], []>;
+def int_nvvm_compiler_warn : Intrinsic<[], [llvm_anyptr_ty], []>;
def int_nvvm_reflect :
- Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem], "llvm.nvvm.reflect">,
+ Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>,
ClangBuiltin<"__nvvm_reflect">;
// isspacep.{const, global, local, shared}
-def int_nvvm_isspacep_const
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.isspacep.const">,
- ClangBuiltin<"__nvvm_isspacep_const">;
-def int_nvvm_isspacep_global
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.isspacep.global">,
- ClangBuiltin<"__nvvm_isspacep_global">;
-def int_nvvm_isspacep_local
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.isspacep.local">,
- ClangBuiltin<"__nvvm_isspacep_local">;
-def int_nvvm_isspacep_shared
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.isspacep.shared">,
- ClangBuiltin<"__nvvm_isspacep_shared">;
-def int_nvvm_isspacep_shared_cluster
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.isspacep.shared.cluster">;
+foreach space = ["const", "global", "local", "shared", "shared_cluster"] in {
+ def int_nvvm_isspacep_ # space
+ : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>,
+ ClangBuiltin<"__nvvm_isspacep_" # space>;
+}
// Environment register read
-def int_nvvm_read_ptx_sreg_envreg0
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg0">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg0">;
-def int_nvvm_read_ptx_sreg_envreg1
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg1">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg1">;
-def int_nvvm_read_ptx_sreg_envreg2
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg2">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg2">;
-def int_nvvm_read_ptx_sreg_envreg3
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg3">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg3">;
-def int_nvvm_read_ptx_sreg_envreg4
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg4">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg4">;
-def int_nvvm_read_ptx_sreg_envreg5
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg5">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg5">;
-def int_nvvm_read_ptx_sreg_envreg6
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg6">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg6">;
-def int_nvvm_read_ptx_sreg_envreg7
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg7">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg7">;
-def int_nvvm_read_ptx_sreg_envreg8
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg8">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg8">;
-def int_nvvm_read_ptx_sreg_envreg9
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg9">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg9">;
-def int_nvvm_read_ptx_sreg_envreg10
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg10">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg10">;
-def int_nvvm_read_ptx_sreg_envreg11
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg11">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg11">;
-def int_nvvm_read_ptx_sreg_envreg12
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg12">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg12">;
-def int_nvvm_read_ptx_sreg_envreg13
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg13">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg13">;
-def int_nvvm_read_ptx_sreg_envreg14
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg14">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg14">;
-def int_nvvm_read_ptx_sreg_envreg15
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg15">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg15">;
-def int_nvvm_read_ptx_sreg_envreg16
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg16">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg16">;
-def int_nvvm_read_ptx_sreg_envreg17
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg17">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg17">;
-def int_nvvm_read_ptx_sreg_envreg18
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg18">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg18">;
-def int_nvvm_read_ptx_sreg_envreg19
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg19">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg19">;
-def int_nvvm_read_ptx_sreg_envreg20
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg20">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg20">;
-def int_nvvm_read_ptx_sreg_envreg21
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg21">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg21">;
-def int_nvvm_read_ptx_sreg_envreg22
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg22">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg22">;
-def int_nvvm_read_ptx_sreg_envreg23
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg23">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg23">;
-def int_nvvm_read_ptx_sreg_envreg24
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg24">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg24">;
-def int_nvvm_read_ptx_sreg_envreg25
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg25">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg25">;
-def int_nvvm_read_ptx_sreg_envreg26
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg26">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg26">;
-def int_nvvm_read_ptx_sreg_envreg27
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg27">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg27">;
-def int_nvvm_read_ptx_sreg_envreg28
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg28">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg28">;
-def int_nvvm_read_ptx_sreg_envreg29
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg29">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg29">;
-def int_nvvm_read_ptx_sreg_envreg30
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg30">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg30">;
-def int_nvvm_read_ptx_sreg_envreg31
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
- "llvm.nvvm.read.ptx.sreg.envreg31">,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg31">;
-
+foreach i = 0...31 in {
+ def int_nvvm_read_ptx_sreg_envreg # i
+ : DefaultAttrsIntrinsic<[llvm_i32_ty], [],
+ [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>]>,
+ ClangBuiltin<"__nvvm_read_ptx_sreg_envreg" # i>;
+}
// Texture Fetch
// texmode_independent
def int_nvvm_tex_1d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.v4f32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.level.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.grad.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.v4s32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.level.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.grad.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.v4u32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.level.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.grad.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_array_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.array.v4f32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.level.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_array_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_array_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.array.v4s32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.level.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_array_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_array_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.1d.array.v4u32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_1d_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_1d_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.level.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_1d_array_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.1d.array.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.v4f32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.level.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.v4s32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.level.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.v4u32.s32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.level.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_array_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.array.v4f32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_2d_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_array_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.grad.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_array_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.array.v4s32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_2d_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_array_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.grad.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_array_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.2d.array.v4u32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_2d_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_2d_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_2d_array_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.2d.array.grad.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_3d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.3d.v4f32.s32">;
+ []>;
def int_nvvm_tex_3d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.3d.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_3d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_3d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_3d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.3d.v4s32.s32">;
+ []>;
def int_nvvm_tex_3d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.3d.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_3d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_3d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_3d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.3d.v4u32.s32">;
+ []>;
def int_nvvm_tex_3d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.3d.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_3d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_3d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.3d.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_cube_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.cube.array.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_r_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.r.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_g_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.g.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_b_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.b.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_a_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.a.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_r_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.r.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_g_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.g.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_b_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.b.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_a_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.a.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_r_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.r.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_g_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.g.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_b_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.b.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_a_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.a.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
// texmode_unified
def int_nvvm_tex_unified_1d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.v4f32.s32">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.level.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.grad.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.v4s32.s32">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.level.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.grad.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.v4u32.s32">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.level.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.grad.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4f32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4f32.f32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.level.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4s32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4s32.f32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.level.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4u32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_1d_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.v4u32.f32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.level.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_1d_array_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.v4f32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.level.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.v4s32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.level.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.v4u32.s32">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.level.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4f32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4s32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4u32.s32">;
+ llvm_i32_ty], []>;
def int_nvvm_tex_unified_2d_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_2d_array_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.unified.3d.v4f32.s32">;
+ []>;
def int_nvvm_tex_unified_3d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.v4f32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_v4s32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.unified.3d.v4s32.s32">;
+ []>;
def int_nvvm_tex_unified_3d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.v4s32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_v4u32_s32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [], "llvm.nvvm.tex.unified.3d.v4u32.s32">;
+ []>;
def int_nvvm_tex_unified_3d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.v4u32.f32">;
+ llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_3d_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.3d.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_level_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.level.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_level_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.level.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_level_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.level.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_grad_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
[llvm_i64_ty, llvm_i32_ty,
llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.grad.v4f32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_grad_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.grad.v4s32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tex_unified_cube_array_grad_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i32_ty,
llvm_float_ty, llvm_float_ty,
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty,
- llvm_float_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tex.unified.cube.array.grad.v4u32.f32">;
+ llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_r_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.r.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_g_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.g.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_b_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.b.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_a_2d_v4f32_f32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.a.2d.v4f32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_r_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.r.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_g_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.g.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_b_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.b.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_a_2d_v4s32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.a.2d.v4s32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_r_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.r.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_g_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.g.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_b_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.b.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
def int_nvvm_tld4_unified_a_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_float_ty, llvm_float_ty], [],
- "llvm.nvvm.tld4.unified.a.2d.v4u32.f32">;
+ [llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
//=== Surface Load
// .clamp variants
def int_nvvm_suld_1d_i8_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i16_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i32_clamp
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i64_clamp
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i64_clamp
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i8_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i16_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i32_clamp
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i64_clamp
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i64_clamp
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i8_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i16_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i32_clamp
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i64_clamp
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i64_clamp
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i8_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i16_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i32_clamp
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i64_clamp
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i64_clamp
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i8_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i16_clamp
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i32_clamp
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i64_clamp
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i64_clamp
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i64.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i8_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i8.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i16_clamp
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i16.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i32_clamp
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i32.clamp">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// .trap variants
def int_nvvm_suld_1d_i8_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i16_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i32_trap
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i64_trap
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i64_trap
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i8_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i16_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i32_trap
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i64_trap
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i64_trap
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i8_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i16_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i32_trap
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i64_trap
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i64_trap
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i8_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i16_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i32_trap
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i64_trap
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i64_trap
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i8_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i16_trap
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i32_trap
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i64_trap
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i64_trap
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i64.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i8_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i8.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i16_trap
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i16.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i32_trap
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i32.trap">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// .zero variants
def int_nvvm_suld_1d_i8_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i16_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i32_zero
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_i64_zero
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v2i64_zero
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v2i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_v4i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.v4i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i8_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i16_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i32_zero
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_i64_zero
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v2i64_zero
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v2i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_1d_array_v4i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.1d.array.v4i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i8_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i16_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i32_zero
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_i64_zero
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v2i64_zero
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v2i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_v4i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.v4i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i8_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i16_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i32_zero
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_i64_zero
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v2i64_zero
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v2i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_2d_array_v4i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.2d.array.v4i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i8_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i16_zero
: Intrinsic<[llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i32_zero
: Intrinsic<[llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_i64_zero
: Intrinsic<[llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v2i64_zero
: Intrinsic<[llvm_i64_ty, llvm_i64_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v2i64.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i8_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i8.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i16_zero
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i16.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
def int_nvvm_suld_3d_v4i32_zero
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.suld.3d.v4i32.zero">;
+ [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
//===- Texture Query ------------------------------------------------------===//
-def int_nvvm_txq_channel_order
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.channel.order">,
- ClangBuiltin<"__nvvm_txq_channel_order">;
-def int_nvvm_txq_channel_data_type
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.channel.data.type">,
- ClangBuiltin<"__nvvm_txq_channel_data_type">;
-def int_nvvm_txq_width
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.width">,
- ClangBuiltin<"__nvvm_txq_width">;
-def int_nvvm_txq_height
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.height">,
- ClangBuiltin<"__nvvm_txq_height">;
-def int_nvvm_txq_depth
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.depth">,
- ClangBuiltin<"__nvvm_txq_depth">;
-def int_nvvm_txq_array_size
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.array.size">,
- ClangBuiltin<"__nvvm_txq_array_size">;
-def int_nvvm_txq_num_samples
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.num.samples">,
- ClangBuiltin<"__nvvm_txq_num_samples">;
-def int_nvvm_txq_num_mipmap_levels
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.txq.num.mipmap.levels">,
- ClangBuiltin<"__nvvm_txq_num_mipmap_levels">;
+foreach query = ["channel_order", "channel_data_type", "width", "height",
+ "depth", "array_size", "num_samples", "num_mipmap_levels"] in {
+ def int_nvvm_txq_ # query
+ : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>,
+ ClangBuiltin<"__nvvm_txq_" # query>;
+}
//===- Surface Query ------------------------------------------------------===//
-def int_nvvm_suq_channel_order
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.channel.order">,
- ClangBuiltin<"__nvvm_suq_channel_order">;
-def int_nvvm_suq_channel_data_type
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.channel.data.type">,
- ClangBuiltin<"__nvvm_suq_channel_data_type">;
-def int_nvvm_suq_width
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.width">,
- ClangBuiltin<"__nvvm_suq_width">;
-def int_nvvm_suq_height
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.height">,
- ClangBuiltin<"__nvvm_suq_height">;
-def int_nvvm_suq_depth
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.depth">,
- ClangBuiltin<"__nvvm_suq_depth">;
-def int_nvvm_suq_array_size
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.suq.array.size">,
- ClangBuiltin<"__nvvm_suq_array_size">;
-
+foreach query = ["channel_order", "channel_data_type", "width", "height",
+ "depth", "array_size"] in {
+ def int_nvvm_suq_ # query
+ : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>,
+ ClangBuiltin<"__nvvm_suq_" # query>;
+}
//===- Handle Query -------------------------------------------------------===//
-def int_nvvm_istypep_sampler
- : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.istypep.sampler">,
- ClangBuiltin<"__nvvm_istypep_sampler">;
-def int_nvvm_istypep_surface
- : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.istypep.surface">,
- ClangBuiltin<"__nvvm_istypep_surface">;
-def int_nvvm_istypep_texture
- : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem],
- "llvm.nvvm.istypep.texture">,
- ClangBuiltin<"__nvvm_istypep_texture">;
-
-
+foreach type = ["sampler", "surface", "texture"] in {
+ def int_nvvm_istypep_ # type
+ : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem]>,
+ ClangBuiltin<"__nvvm_istypep_" # type>;
+}
//===- Surface Stores -----------------------------------------------------===//
// Unformatted
// .clamp variant
def int_nvvm_sust_b_1d_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i8.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i8_clamp">;
def int_nvvm_sust_b_1d_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i16.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i16_clamp">;
def int_nvvm_sust_b_1d_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.i32.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i32_clamp">;
def int_nvvm_sust_b_1d_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.i64.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i64_clamp">;
def int_nvvm_sust_b_1d_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i8.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i8_clamp">;
def int_nvvm_sust_b_1d_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i16.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i16_clamp">;
def int_nvvm_sust_b_1d_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v2i32.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i32_clamp">;
def int_nvvm_sust_b_1d_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.v2i64.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i64_clamp">;
def int_nvvm_sust_b_1d_v4i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i8_clamp">;
def int_nvvm_sust_b_1d_v4i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i16_clamp">;
def int_nvvm_sust_b_1d_v4i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v4i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i32_clamp">;
def int_nvvm_sust_b_1d_array_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i8.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i8_clamp">;
def int_nvvm_sust_b_1d_array_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i16.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i16_clamp">;
def int_nvvm_sust_b_1d_array_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.i32.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i32_clamp">;
def int_nvvm_sust_b_1d_array_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.i64.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i64_clamp">;
def int_nvvm_sust_b_1d_array_v2i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_clamp">;
def int_nvvm_sust_b_1d_array_v2i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_clamp">;
def int_nvvm_sust_b_1d_array_v2i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_clamp">;
def int_nvvm_sust_b_1d_array_v2i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i64.clamp">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_clamp">;
def int_nvvm_sust_b_1d_array_v4i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_clamp">;
def int_nvvm_sust_b_1d_array_v4i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_clamp">;
def int_nvvm_sust_b_1d_array_v4i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_clamp">;
def int_nvvm_sust_b_2d_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i8.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i8_clamp">;
def int_nvvm_sust_b_2d_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i16.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i16_clamp">;
def int_nvvm_sust_b_2d_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.i32.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i32_clamp">;
def int_nvvm_sust_b_2d_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.i64.clamp">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i64_clamp">;
def int_nvvm_sust_b_2d_v2i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i8_clamp">;
def int_nvvm_sust_b_2d_v2i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i16_clamp">;
def int_nvvm_sust_b_2d_v2i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v2i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i32_clamp">;
def int_nvvm_sust_b_2d_v2i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.v2i64.clamp">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i64_clamp">;
def int_nvvm_sust_b_2d_v4i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i8_clamp">;
def int_nvvm_sust_b_2d_v4i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i16_clamp">;
def int_nvvm_sust_b_2d_v4i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v4i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i32_clamp">;
def int_nvvm_sust_b_2d_array_i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i8.clamp">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i8_clamp">;
def int_nvvm_sust_b_2d_array_i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i16.clamp">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i16_clamp">;
def int_nvvm_sust_b_2d_array_i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i32_clamp">;
def int_nvvm_sust_b_2d_array_i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.i64.clamp">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i64_clamp">;
def int_nvvm_sust_b_2d_array_v2i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_clamp">;
def int_nvvm_sust_b_2d_array_v2i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_clamp">;
def int_nvvm_sust_b_2d_array_v2i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_clamp">;
def int_nvvm_sust_b_2d_array_v2i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i64.clamp">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_clamp">;
def int_nvvm_sust_b_2d_array_v4i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_clamp">;
def int_nvvm_sust_b_2d_array_v4i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_clamp">;
def int_nvvm_sust_b_2d_array_v4i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_clamp">;
def int_nvvm_sust_b_3d_i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i8.clamp">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i8_clamp">;
def int_nvvm_sust_b_3d_i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i16.clamp">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i16_clamp">;
def int_nvvm_sust_b_3d_i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i32_clamp">;
def int_nvvm_sust_b_3d_i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.i64.clamp">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i64_clamp">;
def int_nvvm_sust_b_3d_v2i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i8_clamp">;
def int_nvvm_sust_b_3d_v2i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i16_clamp">;
def int_nvvm_sust_b_3d_v2i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v2i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i32_clamp">;
def int_nvvm_sust_b_3d_v2i64_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.v2i64.clamp">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i64_clamp">;
def int_nvvm_sust_b_3d_v4i8_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i8.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i8_clamp">;
def int_nvvm_sust_b_3d_v4i16_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i16.clamp">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i16_clamp">;
def int_nvvm_sust_b_3d_v4i32_clamp
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v4i32.clamp">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i32_clamp">;
// .trap variant
def int_nvvm_sust_b_1d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i8_trap">;
def int_nvvm_sust_b_1d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i16_trap">;
def int_nvvm_sust_b_1d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i32_trap">;
def int_nvvm_sust_b_1d_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.i64.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i64_trap">;
def int_nvvm_sust_b_1d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i8_trap">;
def int_nvvm_sust_b_1d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i16_trap">;
def int_nvvm_sust_b_1d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v2i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i32_trap">;
def int_nvvm_sust_b_1d_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.v2i64.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i64_trap">;
def int_nvvm_sust_b_1d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i8_trap">;
def int_nvvm_sust_b_1d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i16_trap">;
def int_nvvm_sust_b_1d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i32_trap">;
def int_nvvm_sust_b_1d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i8_trap">;
def int_nvvm_sust_b_1d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i16_trap">;
def int_nvvm_sust_b_1d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i32_trap">;
def int_nvvm_sust_b_1d_array_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.i64.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i64_trap">;
def int_nvvm_sust_b_1d_array_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_trap">;
def int_nvvm_sust_b_1d_array_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_trap">;
def int_nvvm_sust_b_1d_array_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_trap">;
def int_nvvm_sust_b_1d_array_v2i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i64.trap">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_trap">;
def int_nvvm_sust_b_1d_array_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_trap">;
def int_nvvm_sust_b_1d_array_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_trap">;
def int_nvvm_sust_b_1d_array_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_trap">;
def int_nvvm_sust_b_2d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i8_trap">;
def int_nvvm_sust_b_2d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i16_trap">;
def int_nvvm_sust_b_2d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i32_trap">;
def int_nvvm_sust_b_2d_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.i64.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i64_trap">;
def int_nvvm_sust_b_2d_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i8_trap">;
def int_nvvm_sust_b_2d_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i16_trap">;
def int_nvvm_sust_b_2d_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i32_trap">;
def int_nvvm_sust_b_2d_v2i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.v2i64.trap">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i64_trap">;
def int_nvvm_sust_b_2d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i8_trap">;
def int_nvvm_sust_b_2d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i16_trap">;
def int_nvvm_sust_b_2d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i32_trap">;
def int_nvvm_sust_b_2d_array_i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i8.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i8_trap">;
def int_nvvm_sust_b_2d_array_i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i16.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i16_trap">;
def int_nvvm_sust_b_2d_array_i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i32_trap">;
def int_nvvm_sust_b_2d_array_i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.i64.trap">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i64_trap">;
def int_nvvm_sust_b_2d_array_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_trap">;
def int_nvvm_sust_b_2d_array_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_trap">;
def int_nvvm_sust_b_2d_array_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_trap">;
def int_nvvm_sust_b_2d_array_v2i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i64.trap">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_trap">;
def int_nvvm_sust_b_2d_array_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_trap">;
def int_nvvm_sust_b_2d_array_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_trap">;
def int_nvvm_sust_b_2d_array_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_trap">;
def int_nvvm_sust_b_3d_i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i8.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i8_trap">;
def int_nvvm_sust_b_3d_i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i16.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i16_trap">;
def int_nvvm_sust_b_3d_i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i32_trap">;
def int_nvvm_sust_b_3d_i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.i64.trap">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i64_trap">;
def int_nvvm_sust_b_3d_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i8_trap">;
def int_nvvm_sust_b_3d_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i16_trap">;
def int_nvvm_sust_b_3d_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i32_trap">;
def int_nvvm_sust_b_3d_v2i64_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.v2i64.trap">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i64_trap">;
def int_nvvm_sust_b_3d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i8_trap">;
def int_nvvm_sust_b_3d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i16_trap">;
def int_nvvm_sust_b_3d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i32_trap">;
// .zero variant
def int_nvvm_sust_b_1d_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i8.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i8_zero">;
def int_nvvm_sust_b_1d_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.i16.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i16_zero">;
def int_nvvm_sust_b_1d_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.i32.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i32_zero">;
def int_nvvm_sust_b_1d_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.i64.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_i64_zero">;
def int_nvvm_sust_b_1d_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i8.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i8_zero">;
def int_nvvm_sust_b_1d_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v2i16.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i16_zero">;
def int_nvvm_sust_b_1d_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v2i32.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i32_zero">;
def int_nvvm_sust_b_1d_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.v2i64.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v2i64_zero">;
def int_nvvm_sust_b_1d_v4i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i8.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i8_zero">;
def int_nvvm_sust_b_1d_v4i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.v4i16.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i16_zero">;
def int_nvvm_sust_b_1d_v4i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.v4i32.zero">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_v4i32_zero">;
def int_nvvm_sust_b_1d_array_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i8.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i8_zero">;
def int_nvvm_sust_b_1d_array_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.i16.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i16_zero">;
def int_nvvm_sust_b_1d_array_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.i32.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i32_zero">;
def int_nvvm_sust_b_1d_array_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.i64.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_i64_zero">;
def int_nvvm_sust_b_1d_array_v2i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i8.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_zero">;
def int_nvvm_sust_b_1d_array_v2i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i16.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_zero">;
def int_nvvm_sust_b_1d_array_v2i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_zero">;
def int_nvvm_sust_b_1d_array_v2i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.1d.array.v2i64.zero">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_zero">;
def int_nvvm_sust_b_1d_array_v4i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i8.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_zero">;
def int_nvvm_sust_b_1d_array_v4i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i16.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_zero">;
def int_nvvm_sust_b_1d_array_v4i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.1d.array.v4i32.zero">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_zero">;
def int_nvvm_sust_b_2d_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i8.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i8_zero">;
def int_nvvm_sust_b_2d_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.i16.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i16_zero">;
def int_nvvm_sust_b_2d_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.i32.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i32_zero">;
def int_nvvm_sust_b_2d_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.i64.zero">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_i64_zero">;
def int_nvvm_sust_b_2d_v2i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i8.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i8_zero">;
def int_nvvm_sust_b_2d_v2i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v2i16.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i16_zero">;
def int_nvvm_sust_b_2d_v2i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v2i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i32_zero">;
def int_nvvm_sust_b_2d_v2i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.v2i64.zero">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v2i64_zero">;
def int_nvvm_sust_b_2d_v4i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i8.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i8_zero">;
def int_nvvm_sust_b_2d_v4i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.v4i16.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i16_zero">;
def int_nvvm_sust_b_2d_v4i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.v4i32.zero">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_v4i32_zero">;
def int_nvvm_sust_b_2d_array_i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i8.zero">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i8_zero">;
def int_nvvm_sust_b_2d_array_i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.i16.zero">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i16_zero">;
def int_nvvm_sust_b_2d_array_i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i32_zero">;
def int_nvvm_sust_b_2d_array_i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.i64.zero">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_i64_zero">;
def int_nvvm_sust_b_2d_array_v2i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i8.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_zero">;
def int_nvvm_sust_b_2d_array_v2i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i16.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_zero">;
def int_nvvm_sust_b_2d_array_v2i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_zero">;
def int_nvvm_sust_b_2d_array_v2i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.2d.array.v2i64.zero">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_zero">;
def int_nvvm_sust_b_2d_array_v4i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i8.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_zero">;
def int_nvvm_sust_b_2d_array_v4i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i16.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_zero">;
def int_nvvm_sust_b_2d_array_v4i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.2d.array.v4i32.zero">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_zero">;
def int_nvvm_sust_b_3d_i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i8.zero">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i8_zero">;
def int_nvvm_sust_b_3d_i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.i16.zero">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i16_zero">;
def int_nvvm_sust_b_3d_i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i32_zero">;
def int_nvvm_sust_b_3d_i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.i64.zero">,
+ llvm_i32_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_i64_zero">;
def int_nvvm_sust_b_3d_v2i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i8.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i8_zero">;
def int_nvvm_sust_b_3d_v2i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v2i16.zero">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i16_zero">;
def int_nvvm_sust_b_3d_v2i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v2i32.zero">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i32_zero">;
def int_nvvm_sust_b_3d_v2i64_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], [],
- "llvm.nvvm.sust.b.3d.v2i64.zero">,
+ llvm_i64_ty, llvm_i64_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v2i64_zero">;
def int_nvvm_sust_b_3d_v4i8_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i8.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i8_zero">;
def int_nvvm_sust_b_3d_v4i16_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.b.3d.v4i16.zero">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i16_zero">;
def int_nvvm_sust_b_3d_v4i32_zero
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.b.3d.v4i32.zero">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_b_3d_v4i32_zero">;
@@ -4558,225 +3616,180 @@ def int_nvvm_sust_b_3d_v4i32_zero
// Formatted
def int_nvvm_sust_p_1d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_i8_trap">;
def int_nvvm_sust_p_1d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_i16_trap">;
def int_nvvm_sust_p_1d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_i32_trap">;
def int_nvvm_sust_p_1d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.v2i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v2i8_trap">;
def int_nvvm_sust_p_1d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.v2i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v2i16_trap">;
def int_nvvm_sust_p_1d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.v2i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v2i32_trap">;
def int_nvvm_sust_p_1d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v4i8_trap">;
def int_nvvm_sust_p_1d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v4i16_trap">;
def int_nvvm_sust_p_1d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_v4i32_trap">;
def int_nvvm_sust_p_1d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_i8_trap">;
def int_nvvm_sust_p_1d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_i16_trap">;
def int_nvvm_sust_p_1d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.array.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_i32_trap">;
def int_nvvm_sust_p_1d_array_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v2i8_trap">;
def int_nvvm_sust_p_1d_array_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v2i16_trap">;
def int_nvvm_sust_p_1d_array_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.array.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v2i32_trap">;
def int_nvvm_sust_p_1d_array_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v4i8_trap">;
def int_nvvm_sust_p_1d_array_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.1d.array.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v4i16_trap">;
def int_nvvm_sust_p_1d_array_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.1d.array.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_1d_array_v4i32_trap">;
def int_nvvm_sust_p_2d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.i8.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_i8_trap">;
def int_nvvm_sust_p_2d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.i16.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_i16_trap">;
def int_nvvm_sust_p_2d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.i32.trap">,
+ : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_i32_trap">;
def int_nvvm_sust_p_2d_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v2i8_trap">;
def int_nvvm_sust_p_2d_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v2i16_trap">;
def int_nvvm_sust_p_2d_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v2i32_trap">;
def int_nvvm_sust_p_2d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v4i8_trap">;
def int_nvvm_sust_p_2d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v4i16_trap">;
def int_nvvm_sust_p_2d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_v4i32_trap">;
def int_nvvm_sust_p_2d_array_i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.i8.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_i8_trap">;
def int_nvvm_sust_p_2d_array_i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.i16.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_i16_trap">;
def int_nvvm_sust_p_2d_array_i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.array.i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_i32_trap">;
def int_nvvm_sust_p_2d_array_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v2i8_trap">;
def int_nvvm_sust_p_2d_array_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v2i16_trap">;
def int_nvvm_sust_p_2d_array_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.array.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v2i32_trap">;
def int_nvvm_sust_p_2d_array_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v4i8_trap">;
def int_nvvm_sust_p_2d_array_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.2d.array.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v4i16_trap">;
def int_nvvm_sust_p_2d_array_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.2d.array.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_2d_array_v4i32_trap">;
def int_nvvm_sust_p_3d_i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.i8.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_i8_trap">;
def int_nvvm_sust_p_3d_i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.i16.trap">,
+ llvm_i32_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_i16_trap">;
def int_nvvm_sust_p_3d_i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.3d.i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_i32_trap">;
def int_nvvm_sust_p_3d_v2i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.v2i8.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v2i8_trap">;
def int_nvvm_sust_p_3d_v2i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.v2i16.trap">,
+ llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v2i16_trap">;
def int_nvvm_sust_p_3d_v2i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.3d.v2i32.trap">,
+ llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v2i32_trap">;
def int_nvvm_sust_p_3d_v4i8_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.v4i8.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v4i8_trap">;
def int_nvvm_sust_p_3d_v4i16_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [],
- "llvm.nvvm.sust.p.3d.v4i16.trap">,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v4i16_trap">;
def int_nvvm_sust_p_3d_v4i32_trap
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [],
- "llvm.nvvm.sust.p.3d.v4i32.trap">,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
ClangBuiltin<"__nvvm_sust_p_3d_v4i32_trap">;
// Accessing special registers.
@@ -4922,13 +3935,12 @@ foreach sync = [false, true] in {
def i.Name : ClangBuiltin<i.Builtin>,
Intrinsic<i.RetTy, i.ArgsTy,
[IntrInaccessibleMemOnly, IntrConvergent,
- IntrNoCallback],
- i.IntrName>;
+ IntrNoCallback]>;
}
if i.withoutGccBuiltin then {
def i.Name : Intrinsic<i.RetTy, i.ArgsTy,
[IntrInaccessibleMemOnly, IntrConvergent,
- IntrNoCallback], i.IntrName>;
+ IntrNoCallback]>;
}
}
}
@@ -4943,22 +3955,22 @@ foreach sync = [false, true] in {
// vote.all pred
def int_nvvm_vote_all :
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.all">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_all">;
// vote.any pred
def int_nvvm_vote_any :
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.any">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_any">;
// vote.uni pred
def int_nvvm_vote_uni :
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.uni">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_uni">;
// vote.ballot pred
def int_nvvm_vote_ballot :
Intrinsic<[llvm_i32_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.ballot">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_ballot">;
//
@@ -4968,22 +3980,22 @@ def int_nvvm_vote_ballot :
// vote.sync.all mask, pred
def int_nvvm_vote_all_sync :
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.all.sync">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_all_sync">;
// vote.sync.any mask, pred
def int_nvvm_vote_any_sync :
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.any.sync">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_any_sync">;
// vote.sync.uni mask, pred
def int_nvvm_vote_uni_sync :
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.uni.sync">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_uni_sync">;
// vote.sync.ballot mask, pred
def int_nvvm_vote_ballot_sync :
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.vote.ballot.sync">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_vote_ballot_sync">;
//
@@ -4991,7 +4003,7 @@ def int_nvvm_vote_ballot_sync :
//
def int_nvvm_activemask :
Intrinsic<[llvm_i32_ty], [],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback, IntrHasSideEffects], "llvm.nvvm.activemask">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback, IntrHasSideEffects]>,
ClangBuiltin<"__nvvm_activemask">;
//
@@ -5000,12 +4012,12 @@ def int_nvvm_activemask :
// match.any.sync.b32 mask, value
def int_nvvm_match_any_sync_i32 :
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.match.any.sync.i32">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_match_any_sync_i32">;
// match.any.sync.b64 mask, value
def int_nvvm_match_any_sync_i64 :
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.match.any.sync.i64">,
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
ClangBuiltin<"__nvvm_match_any_sync_i64">;
// match.all instruction have two variants -- one returns a single value, another
@@ -5015,11 +4027,11 @@ def int_nvvm_match_any_sync_i64 :
// match.all.sync.b32p mask, value
def int_nvvm_match_all_sync_i32p :
Intrinsic<[llvm_i32_ty, llvm_i1_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.match.all.sync.i32p">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// match.all.sync.b64p mask, value
def int_nvvm_match_all_sync_i64p :
Intrinsic<[llvm_i32_ty, llvm_i1_ty], [llvm_i32_ty, llvm_i64_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback], "llvm.nvvm.match.all.sync.i64p">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
//
// ELECT.SYNC
@@ -5032,46 +4044,14 @@ def int_nvvm_elect_sync :
//
// REDUX.SYNC
//
-// redux.sync.min.u32 dst, src, membermask;
-def int_nvvm_redux_sync_umin : ClangBuiltin<"__nvvm_redux_sync_umin">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
-// redux.sync.max.u32 dst, src, membermask;
-def int_nvvm_redux_sync_umax : ClangBuiltin<"__nvvm_redux_sync_umax">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
+// redux.sync.op.u32 dst, src, membermask;
-// redux.sync.add.s32 dst, src, membermask;
-def int_nvvm_redux_sync_add : ClangBuiltin<"__nvvm_redux_sync_add">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
-// redux.sync.min.s32 dst, src, membermask;
-def int_nvvm_redux_sync_min : ClangBuiltin<"__nvvm_redux_sync_min">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
-// redux.sync.max.s32 dst, src, membermask;
-def int_nvvm_redux_sync_max : ClangBuiltin<"__nvvm_redux_sync_max">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
-// redux.sync.and.b32 dst, src, membermask;
-def int_nvvm_redux_sync_and : ClangBuiltin<"__nvvm_redux_sync_and">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
-// redux.sync.xor.b32 dst, src, membermask;
-def int_nvvm_redux_sync_xor : ClangBuiltin<"__nvvm_redux_sync_xor">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
+foreach op = ["umin", "umax", "add", "min", "max", "and", "xor", "or"] in {
+ def int_nvvm_redux_sync_ # op : ClangBuiltin<"__nvvm_redux_sync_" # op>,
+ Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
+}
-// redux.sync.or.b32 dst, src, membermask;
-def int_nvvm_redux_sync_or : ClangBuiltin<"__nvvm_redux_sync_or">,
- Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
-
// redux.sync.op.{abs}.{NaN}.f32 dst, src, membermask;
foreach binOp = ["min", "max"] in {
foreach abs = ["", "_abs"] in {
@@ -5202,20 +4182,16 @@ foreach transposed = [0, 1] in {
def int_nvvm_mapa
: DefaultAttrsIntrinsic<[llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.mapa">;
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>;
def int_nvvm_mapa_shared_cluster
: DefaultAttrsIntrinsic<[llvm_shared_cluster_ptr_ty], [llvm_shared_ptr_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.mapa.shared.cluster">;
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>;
def int_nvvm_getctarank
: DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.getctarank">;
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>;
def int_nvvm_getctarank_shared_cluster
: DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_shared_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
- "llvm.nvvm.getctarank.shared.cluster">;
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>;
def int_nvvm_is_explicit_cluster
: DefaultAttrsIntrinsic<[llvm_i1_ty], [],
[IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>],
@@ -5224,12 +4200,10 @@ def int_nvvm_is_explicit_cluster
// Setmaxnreg inc/dec intrinsics
def int_nvvm_setmaxnreg_inc_sync_aligned_u32
: DefaultAttrsIntrinsic<[], [llvm_i32_ty],
- [IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>],
- "llvm.nvvm.setmaxnreg.inc.sync.aligned.u32">;
+ [IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
def int_nvvm_setmaxnreg_dec_sync_aligned_u32
: DefaultAttrsIntrinsic<[], [llvm_i32_ty],
- [IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>],
- "llvm.nvvm.setmaxnreg.dec.sync.aligned.u32">;
+ [IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
// Exit
def int_nvvm_exit : ClangBuiltin<"__nvvm_exit">,
>From 3310fcd6ea01927dae41121648d605c5669b9a63 Mon Sep 17 00:00:00 2001
From: Alex Maclean <amaclean at nvidia.com>
Date: Sat, 10 May 2025 21:57:28 +0000
Subject: [PATCH 2/3] NVVMBuiltin
---
llvm/include/llvm/IR/IntrinsicsNVVM.td | 2107 ++++++++++--------------
1 file changed, 883 insertions(+), 1224 deletions(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsNVVM.td b/llvm/include/llvm/IR/IntrinsicsNVVM.td
index 4a9a8d6ea2c1f..311d4c4d53cec 100644
--- a/llvm/include/llvm/IR/IntrinsicsNVVM.td
+++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td
@@ -686,9 +686,7 @@ class SHFL_INFO<bit sync, string mode, string type, bit return_pred> {
# !if(return_pred, "p", "");
string Name = "int_nvvm_shfl_" # Suffix;
- string Builtin = "__nvvm_shfl_" # Suffix;
bit withGccBuiltin = !not(return_pred);
- bit withoutGccBuiltin = return_pred;
LLVMType OpType = !cond(
!eq(type,"i32"): llvm_i32_ty,
!eq(type,"f32"): llvm_float_ty);
@@ -793,8 +791,6 @@ class NVVM_TCGEN05_LDST_NAME<string Op, string Shape, int Num> {
string record = !subst(".", "_",
!subst("llvm.", "int_", intr));
}
-
-
class NVVM_TCGEN05_LDST_ACCESS_SIZE<string Shape, int Num> {
int shift = !cond(!eq(Shape, "16x128b"): 1,
!eq(Shape, "16x256b"): 2,
@@ -814,12 +810,18 @@ class NVVM_TCGEN05_LDST_ACCESS_SIZE<string Shape, int Num> {
true : llvm_void_ty);
}
+class NVVMBuiltin :
+ ClangBuiltin<!strconcat("__", !substr(NAME, !size("int_")))> {
+ assert !eq(!substr(NAME, 0, !size("int_nvvm_")), "int_nvvm_"),
+ "NVVMBuiltin must be a NVVM intrinsic strarting with 'int_nvvm_'";
+}
+
let TargetPrefix = "nvvm" in {
- def int_nvvm_prmt : ClangBuiltin<"__nvvm_prmt">,
+ def int_nvvm_prmt : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_nanosleep : ClangBuiltin<"__nvvm_nanosleep">,
+ def int_nvvm_nanosleep : NVVMBuiltin,
DefaultAttrsIntrinsic<[], [llvm_i32_ty],
[IntrConvergent, IntrNoMem, IntrHasSideEffects]>;
@@ -828,52 +830,34 @@ let TargetPrefix = "nvvm" in {
//
foreach operation = ["min", "max"] in {
- def int_nvvm_f # operation # _d :
- ClangBuiltin<!strconcat("__nvvm_f", operation, "_d")>,
+ def int_nvvm_f # operation # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- foreach variant = ["_f", "_ftz_f", "_nan_f", "_ftz_nan_f",
- "_xorsign_abs_f", "_ftz_xorsign_abs_f", "_nan_xorsign_abs_f",
- "_ftz_nan_xorsign_abs_f"] in {
- def int_nvvm_f # operation # variant :
- ClangBuiltin<!strconcat("__nvvm_f", operation, variant)>,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- }
+ foreach variant = ["", "_xorsign_abs"] in {
+ foreach nan = ["", "_nan"] in {
+ foreach ftz = ["", "_ftz"] in {
+ def int_nvvm_f # operation # ftz # nan # variant # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- foreach variant = ["_f16", "_ftz_f16", "_nan_f16", "_ftz_nan_f16",
- "_xorsign_abs_f16", "_ftz_xorsign_abs_f16", "_nan_xorsign_abs_f16",
- "_ftz_nan_xorsign_abs_f16"] in {
- def int_nvvm_f # operation # variant :
- DefaultAttrsIntrinsic<[llvm_half_ty], [llvm_half_ty, llvm_half_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- }
+ def int_nvvm_f # operation # ftz # nan # variant # _f16 :
+ DefaultAttrsIntrinsic<[llvm_half_ty], [llvm_half_ty, llvm_half_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- foreach variant = ["_f16x2", "_ftz_f16x2", "_nan_f16x2",
- "_ftz_nan_f16x2", "_xorsign_abs_f16x2", "_ftz_xorsign_abs_f16x2",
- "_nan_xorsign_abs_f16x2", "_ftz_nan_xorsign_abs_f16x2"] in {
- def int_nvvm_f # operation # variant :
- DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_v2f16_ty, llvm_v2f16_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- }
+ def int_nvvm_f # operation # ftz # nan # variant # _f16x2 :
+ DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_v2f16_ty, llvm_v2f16_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- foreach variant = ["_bf16", "_ftz_bf16", "_nan_bf16", "_ftz_nan_bf16",
- "_xorsign_abs_bf16", "_ftz_xorsign_abs_bf16", "_nan_xorsign_abs_bf16",
- "_ftz_nan_xorsign_abs_bf16"] in {
- def int_nvvm_f # operation # variant :
- ClangBuiltin<!strconcat("__nvvm_f", operation, variant)>,
- DefaultAttrsIntrinsic<[llvm_bfloat_ty], [llvm_bfloat_ty, llvm_bfloat_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- }
+ def int_nvvm_f # operation # ftz # nan # variant # _bf16 : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_bfloat_ty], [llvm_bfloat_ty, llvm_bfloat_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- foreach variant = ["_bf16x2", "_ftz_bf16x2", "_nan_bf16x2",
- "_ftz_nan_bf16x2", "_xorsign_abs_bf16x2", "_ftz_xorsign_abs_bf16x2",
- "_nan_xorsign_abs_bf16x2", "_ftz_nan_xorsign_abs_bf16x2"] in {
- def int_nvvm_f # operation # variant :
- ClangBuiltin<!strconcat("__nvvm_f", operation, variant)>,
- DefaultAttrsIntrinsic<[llvm_v2bf16_ty], [llvm_v2bf16_ty, llvm_v2bf16_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_f # operation # ftz # nan # variant # _bf16x2 : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_v2bf16_ty], [llvm_v2bf16_ty, llvm_v2bf16_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+ }
+ }
}
}
@@ -881,44 +865,44 @@ let TargetPrefix = "nvvm" in {
// Multiplication
//
- def int_nvvm_mulhi_s : ClangBuiltin<"__nvvm_mulhi_s">,
+ def int_nvvm_mulhi_s : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_us : ClangBuiltin<"__nvvm_mulhi_us">,
+ def int_nvvm_mulhi_us : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_i : ClangBuiltin<"__nvvm_mulhi_i">,
+ def int_nvvm_mulhi_i : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ui : ClangBuiltin<"__nvvm_mulhi_ui">,
+ def int_nvvm_mulhi_ui : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ll : ClangBuiltin<"__nvvm_mulhi_ll">,
+ def int_nvvm_mulhi_ll : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ull : ClangBuiltin<"__nvvm_mulhi_ull">,
+ def int_nvvm_mulhi_ull : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_mul_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_mul_" # rnd # "_ftz_f">,
+ def int_nvvm_mul_ # rnd # _ftz # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_ # rnd # _f : ClangBuiltin<"__nvvm_mul_" # rnd # "_f">,
+ def int_nvvm_mul_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_ # rnd # _d : ClangBuiltin<"__nvvm_mul_" # rnd # "_d">,
+ def int_nvvm_mul_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
}
- def int_nvvm_mul24_i : ClangBuiltin<"__nvvm_mul24_i">,
+ def int_nvvm_mul24_i : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul24_ui : ClangBuiltin<"__nvvm_mul24_ui">,
+ def int_nvvm_mul24_ui : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
@@ -926,30 +910,30 @@ let TargetPrefix = "nvvm" in {
// Div
//
- def int_nvvm_div_approx_ftz_f : ClangBuiltin<"__nvvm_div_approx_ftz_f">,
+ def int_nvvm_div_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_approx_f : ClangBuiltin<"__nvvm_div_approx_f">,
+ def int_nvvm_div_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_div_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_div_" # rnd # "_ftz_f">,
+ def int_nvvm_div_ # rnd # _ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_ # rnd # _f : ClangBuiltin<"__nvvm_div_" # rnd # "_f">,
+ def int_nvvm_div_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_ # rnd # _d : ClangBuiltin<"__nvvm_div_" # rnd # "_d">,
+ def int_nvvm_div_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem]>;
}
- def int_nvvm_div_full : ClangBuiltin<"__nvvm_div_full">,
+ def int_nvvm_div_full : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_full_ftz : ClangBuiltin<"__nvvm_div_full_ftz">,
+ def int_nvvm_div_full_ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
@@ -957,44 +941,43 @@ let TargetPrefix = "nvvm" in {
// Sad
//
- def int_nvvm_sad_s : ClangBuiltin<"__nvvm_sad_s">,
+ def int_nvvm_sad_s : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_us : ClangBuiltin<"__nvvm_sad_us">,
+ def int_nvvm_sad_us : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_i : ClangBuiltin<"__nvvm_sad_i">,
+ def int_nvvm_sad_i : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ui : ClangBuiltin<"__nvvm_sad_ui">,
+ def int_nvvm_sad_ui : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ll : ClangBuiltin<"__nvvm_sad_ll">,
+ def int_nvvm_sad_ll : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i64_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ull : ClangBuiltin<"__nvvm_sad_ull">,
+ def int_nvvm_sad_ull : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i64_ty],
[IntrNoMem, Commutative, IntrSpeculatable]>;
-
//
// Floor Ceil
//
- def int_nvvm_floor_ftz_f : ClangBuiltin<"__nvvm_floor_ftz_f">,
+ def int_nvvm_floor_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_floor_f : ClangBuiltin<"__nvvm_floor_f">,
+ def int_nvvm_floor_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_floor_d : ClangBuiltin<"__nvvm_floor_d">,
+ def int_nvvm_floor_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ceil_ftz_f : ClangBuiltin<"__nvvm_ceil_ftz_f">,
+ def int_nvvm_ceil_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ceil_f : ClangBuiltin<"__nvvm_ceil_f">,
+ def int_nvvm_ceil_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ceil_d : ClangBuiltin<"__nvvm_ceil_d">,
+ def int_nvvm_ceil_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
//
@@ -1012,130 +995,122 @@ let TargetPrefix = "nvvm" in {
// Abs, Neg bf16, bf16x2
//
- def int_nvvm_neg_bf16 :
- ClangBuiltin<!strconcat("__nvvm_neg_bf16")>,
+ def int_nvvm_neg_bf16 : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_bfloat_ty], [llvm_bfloat_ty], [IntrNoMem]>;
- def int_nvvm_neg_bf16x2 :
- ClangBuiltin<!strconcat("__nvvm_neg_bf16x2")>,
+ def int_nvvm_neg_bf16x2 : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_v2bf16_ty], [llvm_v2bf16_ty], [IntrNoMem]>;
//
// Round
//
- def int_nvvm_round_ftz_f : ClangBuiltin<"__nvvm_round_ftz_f">,
+ def int_nvvm_round_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_round_f : ClangBuiltin<"__nvvm_round_f">,
+ def int_nvvm_round_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_round_d : ClangBuiltin<"__nvvm_round_d">,
+ def int_nvvm_round_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
//
// Trunc
//
- def int_nvvm_trunc_ftz_f : ClangBuiltin<"__nvvm_trunc_ftz_f">,
+ def int_nvvm_trunc_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_trunc_f : ClangBuiltin<"__nvvm_trunc_f">,
+ def int_nvvm_trunc_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_trunc_d : ClangBuiltin<"__nvvm_trunc_d">,
+ def int_nvvm_trunc_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
//
// Saturate
//
- def int_nvvm_saturate_ftz_f : ClangBuiltin<"__nvvm_saturate_ftz_f">,
+ def int_nvvm_saturate_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_saturate_f : ClangBuiltin<"__nvvm_saturate_f">,
+ def int_nvvm_saturate_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_saturate_d : ClangBuiltin<"__nvvm_saturate_d">,
+ def int_nvvm_saturate_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
//
// Exp2 Log2
//
- def int_nvvm_ex2_approx_ftz_f : ClangBuiltin<"__nvvm_ex2_approx_ftz_f">,
+ def int_nvvm_ex2_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_ex2_approx_f : ClangBuiltin<"__nvvm_ex2_approx_f">,
+ def int_nvvm_ex2_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_ex2_approx_d : ClangBuiltin<"__nvvm_ex2_approx_d">,
+ def int_nvvm_ex2_approx_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
def int_nvvm_ex2_approx_f16 :
DefaultAttrsIntrinsic<[llvm_half_ty], [llvm_half_ty], [IntrNoMem]>;
def int_nvvm_ex2_approx_f16x2 :
DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_v2f16_ty], [IntrNoMem]>;
- def int_nvvm_lg2_approx_ftz_f : ClangBuiltin<"__nvvm_lg2_approx_ftz_f">,
+ def int_nvvm_lg2_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_lg2_approx_f : ClangBuiltin<"__nvvm_lg2_approx_f">,
+ def int_nvvm_lg2_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_lg2_approx_d : ClangBuiltin<"__nvvm_lg2_approx_d">,
+ def int_nvvm_lg2_approx_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
//
// Sin Cos
//
- def int_nvvm_sin_approx_ftz_f : ClangBuiltin<"__nvvm_sin_approx_ftz_f">,
+ def int_nvvm_sin_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sin_approx_f : ClangBuiltin<"__nvvm_sin_approx_f">,
+ def int_nvvm_sin_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_cos_approx_ftz_f : ClangBuiltin<"__nvvm_cos_approx_ftz_f">,
+ def int_nvvm_cos_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_cos_approx_f : ClangBuiltin<"__nvvm_cos_approx_f">,
+ def int_nvvm_cos_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
//
// Fma
//
- foreach variant = ["_rn_f16", "_rn_ftz_f16", "_rn_sat_f16",
- "_rn_ftz_sat_f16", "_rn_relu_f16", "_rn_ftz_relu_f16"] in {
- def int_nvvm_fma # variant : DefaultAttrsIntrinsic<[llvm_half_ty],
- [llvm_half_ty, llvm_half_ty, llvm_half_ty],
- [IntrNoMem, IntrSpeculatable]>;
- }
+ foreach variant = ["", "_sat", "_relu"] in {
+ foreach ftz = ["", "_ftz"] in {
+ def int_nvvm_fma_rn # ftz # variant # _f16 :
+ DefaultAttrsIntrinsic<[llvm_half_ty],
+ [llvm_half_ty, llvm_half_ty, llvm_half_ty],
+ [IntrNoMem, IntrSpeculatable]>;
- foreach variant = ["_rn_f16x2", "_rn_ftz_f16x2", "_rn_sat_f16x2",
- "_rn_ftz_sat_f16x2", "_rn_relu_f16x2", "_rn_ftz_relu_f16x2"] in {
- def int_nvvm_fma # variant : DefaultAttrsIntrinsic<[llvm_v2f16_ty],
- [llvm_v2f16_ty, llvm_v2f16_ty, llvm_v2f16_ty],
- [IntrNoMem, IntrSpeculatable]>;
- }
+ def int_nvvm_fma_rn # ftz # variant # _f16x2 :
+ DefaultAttrsIntrinsic<[llvm_v2f16_ty],
+ [llvm_v2f16_ty, llvm_v2f16_ty, llvm_v2f16_ty],
+ [IntrNoMem, IntrSpeculatable]>;
- foreach variant = ["_rn_bf16", "_rn_ftz_bf16", "_rn_sat_bf16",
- "_rn_ftz_sat_bf16", "_rn_relu_bf16", "_rn_ftz_relu_bf16"] in {
- def int_nvvm_fma # variant : ClangBuiltin<!strconcat("__nvvm_fma", variant)>,
- DefaultAttrsIntrinsic<[llvm_bfloat_ty],
- [llvm_bfloat_ty, llvm_bfloat_ty, llvm_bfloat_ty],
- [IntrNoMem, IntrSpeculatable]>;
- }
+ def int_nvvm_fma_rn # ftz # variant # _bf16 : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_bfloat_ty],
+ [llvm_bfloat_ty, llvm_bfloat_ty, llvm_bfloat_ty],
+ [IntrNoMem, IntrSpeculatable]>;
- foreach variant = ["_rn_bf16x2", "_rn_ftz_bf16x2", "_rn_sat_bf16x2",
- "_rn_ftz_sat_bf16x2", "_rn_relu_bf16x2", "_rn_ftz_relu_bf16x2"] in {
- def int_nvvm_fma # variant : ClangBuiltin<!strconcat("__nvvm_fma", variant)>,
- DefaultAttrsIntrinsic<[llvm_v2bf16_ty],
- [llvm_v2bf16_ty, llvm_v2bf16_ty, llvm_v2bf16_ty],
- [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_fma_rn # ftz # variant # _bf16x2 : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_v2bf16_ty],
+ [llvm_v2bf16_ty, llvm_v2bf16_ty, llvm_v2bf16_ty],
+ [IntrNoMem, IntrSpeculatable]>;
+ }
}
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_fma_ # rnd # _f : ClangBuiltin<"__nvvm_fma" # rnd # "_f">,
+ def int_nvvm_fma_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty],
[llvm_float_ty, llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_fma_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_fma" # rnd # "_ftz_f">,
+ def int_nvvm_fma_ # rnd # _ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty],
[llvm_float_ty, llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_fma_ # rnd # _d : ClangBuiltin<"__nvvm_fma" # rnd # "_d">,
+ def int_nvvm_fma_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty],
[llvm_double_ty, llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable]>;
@@ -1146,53 +1121,52 @@ let TargetPrefix = "nvvm" in {
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_rcp_ # rnd # _ftz # _f : ClangBuiltin<"__nvvm_rcp_" # rnd # "_ftz_f">,
+ def int_nvvm_rcp_ # rnd # _ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_ # rnd # _f : ClangBuiltin<"__nvvm_rcp_" # rnd # "_f">,
+ def int_nvvm_rcp_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_ # rnd # _d : ClangBuiltin<"__nvvm_rcp_" # rnd # "_d">,
+ def int_nvvm_rcp_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
}
-
- def int_nvvm_rcp_approx_ftz_f : ClangBuiltin<"__nvvm_rcp_approx_ftz_f">,
+ def int_nvvm_rcp_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_approx_ftz_d : ClangBuiltin<"__nvvm_rcp_approx_ftz_d">,
+ def int_nvvm_rcp_approx_ftz_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
//
// Sqrt
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_sqrt_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_ftz_f">,
+ def int_nvvm_sqrt_ # rnd # _ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_ # rnd # _f : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_f">,
+ def int_nvvm_sqrt_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_ # rnd # _d : ClangBuiltin<"__nvvm_sqrt_" # rnd # "_d">,
+ def int_nvvm_sqrt_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
}
- def int_nvvm_sqrt_f : ClangBuiltin<"__nvvm_sqrt_f">,
+ def int_nvvm_sqrt_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_approx_ftz_f : ClangBuiltin<"__nvvm_sqrt_approx_ftz_f">,
+ def int_nvvm_sqrt_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_approx_f : ClangBuiltin<"__nvvm_sqrt_approx_f">,
+ def int_nvvm_sqrt_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
//
// Rsqrt
//
- def int_nvvm_rsqrt_approx_ftz_f : ClangBuiltin<"__nvvm_rsqrt_approx_ftz_f">,
+ def int_nvvm_rsqrt_approx_ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_ftz_d : ClangBuiltin<"__nvvm_rsqrt_approx_ftz_d">,
+ def int_nvvm_rsqrt_approx_ftz_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_f : ClangBuiltin<"__nvvm_rsqrt_approx_f">,
+ def int_nvvm_rsqrt_approx_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_d : ClangBuiltin<"__nvvm_rsqrt_approx_d">,
+ def int_nvvm_rsqrt_approx_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
//
@@ -1200,14 +1174,14 @@ let TargetPrefix = "nvvm" in {
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_add_ # rnd # _ftz_f : ClangBuiltin<"__nvvm_add_" # rnd # "_ftz_f">,
+ def int_nvvm_add_ # rnd # _ftz_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_ # rnd # _f : ClangBuiltin<"__nvvm_add_" # rnd # "_f">,
+ def int_nvvm_add_ # rnd # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_ # rnd # _d : ClangBuiltin<"__nvvm_add_" # rnd # "_d">,
+ def int_nvvm_add_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
}
@@ -1246,7 +1220,6 @@ let TargetPrefix = "nvvm" in {
[llvm_anyint_ty, llvm_i1_ty],
[IntrNoMem, IntrSpeculatable, IntrWillReturn, ImmArg<ArgIndex<1>>]>;
-
//
// szext
//
@@ -1257,7 +1230,6 @@ let TargetPrefix = "nvvm" in {
[llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable]>;
-
//
// BMSK - bit mask
//
@@ -1272,198 +1244,197 @@ let TargetPrefix = "nvvm" in {
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_d2f_ # rnd # _ftz : ClangBuiltin<"__nvvm_d2f_" # rnd # "_ftz">,
+ def int_nvvm_d2f_ # rnd # _ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_ # rnd : ClangBuiltin<"__nvvm_d2f_" # rnd>,
+ def int_nvvm_d2f_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_ # rnd : ClangBuiltin<"__nvvm_d2i_" # rnd>,
+ def int_nvvm_d2i_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ui_ # rnd : ClangBuiltin<"__nvvm_d2ui_" # rnd>,
+ def int_nvvm_d2ui_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_ # rnd : ClangBuiltin<"__nvvm_i2d_" # rnd>,
+ def int_nvvm_i2d_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_ # rnd : ClangBuiltin<"__nvvm_ui2d_" # rnd>,
+ def int_nvvm_ui2d_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2i_" # rnd # "_ftz">,
+ def int_nvvm_f2i_ # rnd # _ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_ # rnd : ClangBuiltin<"__nvvm_f2i_" # rnd>,
+ def int_nvvm_f2i_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ui_" # rnd # "_ftz">,
+ def int_nvvm_f2ui_ # rnd # _ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_ # rnd : ClangBuiltin<"__nvvm_f2ui_" # rnd>,
+ def int_nvvm_f2ui_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2f_ # rnd : ClangBuiltin<"__nvvm_i2f_" # rnd>,
+ def int_nvvm_i2f_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2f_ # rnd : ClangBuiltin<"__nvvm_ui2f_" # rnd>,
+ def int_nvvm_ui2f_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
}
- def int_nvvm_lohi_i2d : ClangBuiltin<"__nvvm_lohi_i2d">,
+ def int_nvvm_lohi_i2d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_d2i_lo : ClangBuiltin<"__nvvm_d2i_lo">,
+ def int_nvvm_d2i_lo : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_hi : ClangBuiltin<"__nvvm_d2i_hi">,
+ def int_nvvm_d2i_hi : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_f2ll_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ll_" # rnd # "_ftz">,
+ def int_nvvm_f2ll_ # rnd # _ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_ # rnd : ClangBuiltin<"__nvvm_f2ll_" # rnd>,
+ def int_nvvm_f2ll_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_ # rnd # _ftz : ClangBuiltin<"__nvvm_f2ull_" # rnd # "_ftz">,
+ def int_nvvm_f2ull_ # rnd # _ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_ # rnd : ClangBuiltin<"__nvvm_f2ull_" # rnd>,
+ def int_nvvm_f2ull_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ll_ # rnd : ClangBuiltin<"__nvvm_d2ll_" # rnd>,
+ def int_nvvm_d2ll_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_ # rnd : ClangBuiltin<"__nvvm_d2ull_" # rnd>,
+ def int_nvvm_d2ull_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2f_ # rnd : ClangBuiltin<"__nvvm_ll2f_" # rnd>,
+ def int_nvvm_ll2f_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2f_ # rnd : ClangBuiltin<"__nvvm_ull2f_" # rnd>,
+ def int_nvvm_ull2f_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ll2d_ # rnd : ClangBuiltin<"__nvvm_ll2d_" # rnd>,
+ def int_nvvm_ll2d_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ull2d_ # rnd : ClangBuiltin<"__nvvm_ull2d_" # rnd>,
+ def int_nvvm_ull2d_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
}
- def int_nvvm_f2h_rn_ftz : ClangBuiltin<"__nvvm_f2h_rn_ftz">,
+ def int_nvvm_f2h_rn_ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2h_rn : ClangBuiltin<"__nvvm_f2h_rn">,
+ def int_nvvm_f2h_rn : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_bf2h_rn_ftz : ClangBuiltin<"__nvvm_bf2h_rn_ftz">,
+ def int_nvvm_bf2h_rn_ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_bf2h_rn : ClangBuiltin<"__nvvm_bf2h_rn">,
+ def int_nvvm_bf2h_rn : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ff2bf16x2_rn : ClangBuiltin<"__nvvm_ff2bf16x2_rn">,
+ def int_nvvm_ff2bf16x2_rn : NVVMBuiltin,
Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rn_relu : ClangBuiltin<"__nvvm_ff2bf16x2_rn_relu">,
+ def int_nvvm_ff2bf16x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rz : ClangBuiltin<"__nvvm_ff2bf16x2_rz">,
+ def int_nvvm_ff2bf16x2_rz : NVVMBuiltin,
Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rz_relu : ClangBuiltin<"__nvvm_ff2bf16x2_rz_relu">,
+ def int_nvvm_ff2bf16x2_rz_relu : NVVMBuiltin,
Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_ff2f16x2_rn : ClangBuiltin<"__nvvm_ff2f16x2_rn">,
+ def int_nvvm_ff2f16x2_rn : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rn_relu : ClangBuiltin<"__nvvm_ff2f16x2_rn_relu">,
+ def int_nvvm_ff2f16x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rz : ClangBuiltin<"__nvvm_ff2f16x2_rz">,
+ def int_nvvm_ff2f16x2_rz : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rz_relu : ClangBuiltin<"__nvvm_ff2f16x2_rz_relu">,
+ def int_nvvm_ff2f16x2_rz_relu : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rn : ClangBuiltin<"__nvvm_f2bf16_rn">,
+ def int_nvvm_f2bf16_rn : NVVMBuiltin,
Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rn_relu : ClangBuiltin<"__nvvm_f2bf16_rn_relu">,
+ def int_nvvm_f2bf16_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rz : ClangBuiltin<"__nvvm_f2bf16_rz">,
+ def int_nvvm_f2bf16_rz : NVVMBuiltin,
Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rz_relu : ClangBuiltin<"__nvvm_f2bf16_rz_relu">,
+ def int_nvvm_f2bf16_rz_relu : NVVMBuiltin,
Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rna : ClangBuiltin<"__nvvm_f2tf32_rna">,
+ def int_nvvm_f2tf32_rna : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rna_satfinite : ClangBuiltin<"__nvvm_f2tf32_rna_satfinite">,
+ def int_nvvm_f2tf32_rna_satfinite : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn : ClangBuiltin<"__nvvm_f2tf32_rn">,
+ def int_nvvm_f2tf32_rn : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_relu : ClangBuiltin<"__nvvm_f2tf32_rn_relu">,
+ def int_nvvm_f2tf32_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_satfinite : ClangBuiltin<"__nvvm_f2tf32_rn_satfinite">,
+ def int_nvvm_f2tf32_rn_satfinite : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_relu_satfinite : ClangBuiltin<"__nvvm_f2tf32_rn_relu_satfinite">,
+ def int_nvvm_f2tf32_rn_relu_satfinite : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz : ClangBuiltin<"__nvvm_f2tf32_rz">,
+ def int_nvvm_f2tf32_rz : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_relu : ClangBuiltin<"__nvvm_f2tf32_rz_relu">,
+ def int_nvvm_f2tf32_rz_relu : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_satfinite : ClangBuiltin<"__nvvm_f2tf32_rz_satfinite">,
+ def int_nvvm_f2tf32_rz_satfinite : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_relu_satfinite : ClangBuiltin<"__nvvm_f2tf32_rz_relu_satfinite">,
+ def int_nvvm_f2tf32_rz_relu_satfinite : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e4m3x2_rn : ClangBuiltin<"__nvvm_ff_to_e4m3x2_rn">,
+ def int_nvvm_ff_to_e4m3x2_rn : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e4m3x2_rn_relu : ClangBuiltin<"__nvvm_ff_to_e4m3x2_rn_relu">,
+ def int_nvvm_ff_to_e4m3x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e5m2x2_rn : ClangBuiltin<"__nvvm_ff_to_e5m2x2_rn">,
+ def int_nvvm_ff_to_e5m2x2_rn : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e5m2x2_rn_relu : ClangBuiltin<"__nvvm_ff_to_e5m2x2_rn_relu">,
+ def int_nvvm_ff_to_e5m2x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e4m3x2_rn : ClangBuiltin<"__nvvm_f16x2_to_e4m3x2_rn">,
+ def int_nvvm_f16x2_to_e4m3x2_rn : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e4m3x2_rn_relu : ClangBuiltin<"__nvvm_f16x2_to_e4m3x2_rn_relu">,
+ def int_nvvm_f16x2_to_e4m3x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e5m2x2_rn : ClangBuiltin<"__nvvm_f16x2_to_e5m2x2_rn">,
+ def int_nvvm_f16x2_to_e5m2x2_rn : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e5m2x2_rn_relu : ClangBuiltin<"__nvvm_f16x2_to_e5m2x2_rn_relu">,
+ def int_nvvm_f16x2_to_e5m2x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e4m3x2_to_f16x2_rn : ClangBuiltin<"__nvvm_e4m3x2_to_f16x2_rn">,
+ def int_nvvm_e4m3x2_to_f16x2_rn : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e4m3x2_to_f16x2_rn_relu : ClangBuiltin<"__nvvm_e4m3x2_to_f16x2_rn_relu">,
+ def int_nvvm_e4m3x2_to_f16x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e5m2x2_to_f16x2_rn : ClangBuiltin<"__nvvm_e5m2x2_to_f16x2_rn">,
+ def int_nvvm_e5m2x2_to_f16x2_rn : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e5m2x2_to_f16x2_rn_relu : ClangBuiltin<"__nvvm_e5m2x2_to_f16x2_rn_relu">,
+ def int_nvvm_e5m2x2_to_f16x2_rn_relu : NVVMBuiltin,
Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
-
- class CVT_FF_TO_I16<string type, string suffix> : ClangBuiltin<!strconcat("__nvvm_ff_to_", type, suffix)>,
+
+ class CVT_FF_TO_I16 : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- class CVT_I16_TO_F16X2<string type, string suffix>
- : ClangBuiltin<!strconcat("__nvvm_", type, "_to_f16x2", suffix)>,
+
+ class CVT_I16_TO_F16X2 : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- class CVT_BF16X2_TO_I16<string type, string suffix> : ClangBuiltin<!strconcat("__nvvm_bf16x2_to_", type, suffix)>,
+ class CVT_BF16X2_TO_I16 : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_v2bf16_ty], [IntrNoMem, IntrNoCallback]>;
// FP6 conversions.
foreach type = ["e2m3x2", "e3m2x2"] in {
foreach relu = ["", "_relu"] in {
defvar suffix = !strconcat("_rn", relu);
- def int_nvvm_ff_to_ # type # suffix # _satfinite : CVT_FF_TO_I16<type, !strconcat(suffix, "_satfinite")>;
- def int_nvvm_ # type # _to_f16x2 # suffix : CVT_I16_TO_F16X2<type, suffix>;
+ def int_nvvm_ff_to_ # type # suffix # _satfinite : CVT_FF_TO_I16;
+ def int_nvvm_ # type # _to_f16x2 # suffix : CVT_I16_TO_F16X2;
}
}
-
+
// UE8M0x2 conversions.
foreach rmode = ["_rz", "_rp"] in {
foreach satmode = ["", "_satfinite"] in {
defvar suffix = !strconcat(rmode, satmode);
- def int_nvvm_ff_to_ue8m0x2 # suffix : CVT_FF_TO_I16<"ue8m0x2", suffix>;
- def int_nvvm_bf16x2_to_ue8m0x2 # suffix : CVT_BF16X2_TO_I16<"ue8m0x2", suffix>;
+ def int_nvvm_ff_to_ue8m0x2 # suffix : CVT_FF_TO_I16;
+ def int_nvvm_bf16x2_to_ue8m0x2 # suffix : CVT_BF16X2_TO_I16;
}
}
-
- def int_nvvm_ue8m0x2_to_bf16x2 : ClangBuiltin<"__nvvm_ue8m0x2_to_bf16x2">,
+
+ def int_nvvm_ue8m0x2_to_bf16x2 : NVVMBuiltin,
Intrinsic<[llvm_v2bf16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
// FNS
- def int_nvvm_fns : ClangBuiltin<"__nvvm_fns">,
+ def int_nvvm_fns : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem]>;
@@ -1520,20 +1491,16 @@ let TargetPrefix = "nvvm" in {
def int_nvvm_barrier0_or : ClangBuiltin<"__nvvm_bar0_or">,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>;
- def int_nvvm_bar_sync :
- Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_bar_sync">;
- def int_nvvm_bar_warp_sync :
- Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_bar_warp_sync">;
+ def int_nvvm_bar_sync : NVVMBuiltin,
+ Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>;
+ def int_nvvm_bar_warp_sync : NVVMBuiltin,
+ Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>;
// barrier.sync id[, cnt]
- def int_nvvm_barrier_sync :
- Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_barrier_sync">;
- def int_nvvm_barrier_sync_cnt :
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_barrier_sync_cnt">;
+ def int_nvvm_barrier_sync : NVVMBuiltin,
+ Intrinsic<[], [llvm_i32_ty], [IntrConvergent, IntrNoCallback]>;
+ def int_nvvm_barrier_sync_cnt : NVVMBuiltin,
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoCallback]>;
// barrier.cluster.[wait, arrive, arrive.relaxed]
def int_nvvm_barrier_cluster_arrive :
@@ -1552,11 +1519,11 @@ let TargetPrefix = "nvvm" in {
Intrinsic<[], [], [IntrConvergent, IntrNoCallback]>;
// Membar
- def int_nvvm_membar_cta : ClangBuiltin<"__nvvm_membar_cta">,
+ def int_nvvm_membar_cta : NVVMBuiltin,
Intrinsic<[], [], [IntrNoCallback]>;
- def int_nvvm_membar_gl : ClangBuiltin<"__nvvm_membar_gl">,
+ def int_nvvm_membar_gl : NVVMBuiltin,
Intrinsic<[], [], [IntrNoCallback]>;
- def int_nvvm_membar_sys : ClangBuiltin<"__nvvm_membar_sys">,
+ def int_nvvm_membar_sys : NVVMBuiltin,
Intrinsic<[], [], [IntrNoCallback]>;
def int_nvvm_fence_sc_cluster:
Intrinsic<[], [], [IntrNoCallback]>;
@@ -1576,17 +1543,13 @@ foreach scope = ["cta", "cluster", "gpu", "sys"] in {
}
// Async Copy
-def int_nvvm_cp_async_mbarrier_arrive :
- ClangBuiltin<"__nvvm_cp_async_mbarrier_arrive">,
+def int_nvvm_cp_async_mbarrier_arrive : NVVMBuiltin,
Intrinsic<[],[llvm_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_cp_async_mbarrier_arrive_shared :
- ClangBuiltin<"__nvvm_cp_async_mbarrier_arrive_shared">,
+def int_nvvm_cp_async_mbarrier_arrive_shared : NVVMBuiltin,
Intrinsic<[],[llvm_shared_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_cp_async_mbarrier_arrive_noinc :
- ClangBuiltin<"__nvvm_cp_async_mbarrier_arrive_noinc">,
+def int_nvvm_cp_async_mbarrier_arrive_noinc : NVVMBuiltin,
Intrinsic<[],[llvm_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_cp_async_mbarrier_arrive_noinc_shared :
- ClangBuiltin<"__nvvm_cp_async_mbarrier_arrive_noinc_shared">,
+def int_nvvm_cp_async_mbarrier_arrive_noinc_shared : NVVMBuiltin,
Intrinsic<[],[llvm_shared_ptr_ty],[IntrConvergent, IntrNoCallback]>;
multiclass CP_ASYNC_SHARED_GLOBAL {
@@ -1603,16 +1566,13 @@ defm int_nvvm_cp_async_ca_shared_global_8 : CP_ASYNC_SHARED_GLOBAL;
defm int_nvvm_cp_async_ca_shared_global_16 : CP_ASYNC_SHARED_GLOBAL;
defm int_nvvm_cp_async_cg_shared_global_16 : CP_ASYNC_SHARED_GLOBAL;
-def int_nvvm_cp_async_commit_group :
- ClangBuiltin<"__nvvm_cp_async_commit_group">,
+def int_nvvm_cp_async_commit_group : NVVMBuiltin,
Intrinsic<[],[],[]>;
-def int_nvvm_cp_async_wait_group :
- ClangBuiltin<"__nvvm_cp_async_wait_group">,
+def int_nvvm_cp_async_wait_group : NVVMBuiltin,
Intrinsic<[],[llvm_i32_ty],[ImmArg<ArgIndex<0>>]>;
-def int_nvvm_cp_async_wait_all :
- ClangBuiltin<"__nvvm_cp_async_wait_all">,
+def int_nvvm_cp_async_wait_all : NVVMBuiltin,
Intrinsic<[],[],[]>;
// cp.async.bulk variants of the commit/wait group
@@ -1626,58 +1586,46 @@ def int_nvvm_cp_async_bulk_wait_group_read :
Intrinsic<[],[llvm_i32_ty],[ImmArg<ArgIndex<0>>]>;
// mbarrier
-def int_nvvm_mbarrier_init : ClangBuiltin<"__nvvm_mbarrier_init">,
+def int_nvvm_mbarrier_init : NVVMBuiltin,
Intrinsic<[],[llvm_ptr_ty, llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_init_shared :
- ClangBuiltin<"__nvvm_mbarrier_init_shared">,
+def int_nvvm_mbarrier_init_shared : NVVMBuiltin,
Intrinsic<[],[llvm_shared_ptr_ty, llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_inval : ClangBuiltin<"__nvvm_mbarrier_inval">,
+def int_nvvm_mbarrier_inval : NVVMBuiltin,
Intrinsic<[],[llvm_ptr_ty],
[IntrConvergent, IntrWriteMem, IntrArgMemOnly, IntrNoCallback,
WriteOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
-def int_nvvm_mbarrier_inval_shared :
- ClangBuiltin<"__nvvm_mbarrier_inval_shared">,
+def int_nvvm_mbarrier_inval_shared : NVVMBuiltin,
Intrinsic<[],[llvm_shared_ptr_ty],
[IntrConvergent, IntrWriteMem, IntrArgMemOnly, IntrNoCallback,
WriteOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
-def int_nvvm_mbarrier_arrive : ClangBuiltin<"__nvvm_mbarrier_arrive">,
+def int_nvvm_mbarrier_arrive : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_shared :
- ClangBuiltin<"__nvvm_mbarrier_arrive_shared">,
+def int_nvvm_mbarrier_arrive_shared : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_shared_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_noComplete :
- ClangBuiltin<"__nvvm_mbarrier_arrive_noComplete">,
+def int_nvvm_mbarrier_arrive_noComplete : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_ptr_ty, llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_noComplete_shared :
- ClangBuiltin<"__nvvm_mbarrier_arrive_noComplete_shared">,
+def int_nvvm_mbarrier_arrive_noComplete_shared : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_shared_ptr_ty,
llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_drop :
- ClangBuiltin<"__nvvm_mbarrier_arrive_drop">,
+def int_nvvm_mbarrier_arrive_drop : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_drop_shared :
- ClangBuiltin<"__nvvm_mbarrier_arrive_drop_shared">,
+def int_nvvm_mbarrier_arrive_drop_shared : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_shared_ptr_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_drop_noComplete :
- ClangBuiltin<"__nvvm_mbarrier_arrive_drop_noComplete">,
+def int_nvvm_mbarrier_arrive_drop_noComplete : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_ptr_ty, llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_arrive_drop_noComplete_shared :
- ClangBuiltin<"__nvvm_mbarrier_arrive_drop_noComplete_shared">,
+def int_nvvm_mbarrier_arrive_drop_noComplete_shared : NVVMBuiltin,
Intrinsic<[llvm_i64_ty],[llvm_shared_ptr_ty,
llvm_i32_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_test_wait :
- ClangBuiltin<"__nvvm_mbarrier_test_wait">,
+def int_nvvm_mbarrier_test_wait : NVVMBuiltin,
Intrinsic<[llvm_i1_ty],[llvm_ptr_ty, llvm_i64_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_test_wait_shared :
- ClangBuiltin<"__nvvm_mbarrier_test_wait_shared">,
+def int_nvvm_mbarrier_test_wait_shared : NVVMBuiltin,
Intrinsic<[llvm_i1_ty],[llvm_shared_ptr_ty, llvm_i64_ty],[IntrConvergent, IntrNoCallback]>;
-def int_nvvm_mbarrier_pending_count :
- ClangBuiltin<"__nvvm_mbarrier_pending_count">,
+def int_nvvm_mbarrier_pending_count : NVVMBuiltin,
Intrinsic<[llvm_i32_ty],[llvm_i64_ty],[IntrNoMem, IntrConvergent, IntrNoCallback]>;
// Generated within nvvm. Use for ldu on sm_20 or later. Second arg is the
@@ -1717,7 +1665,6 @@ def int_nvvm_move_float : Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem
def int_nvvm_move_double : Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
def int_nvvm_move_ptr : Intrinsic<[llvm_anyptr_ty], [llvm_anyptr_ty], [IntrNoMem, NoCapture<ArgIndex<0>>]>;
-
// For getting the handle from a texture or surface variable
def int_nvvm_texsurf_handle
: Intrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyptr_ty],
@@ -1730,24 +1677,21 @@ def int_nvvm_texsurf_handle_internal
def int_nvvm_compiler_error : Intrinsic<[], [llvm_anyptr_ty], []>;
def int_nvvm_compiler_warn : Intrinsic<[], [llvm_anyptr_ty], []>;
-def int_nvvm_reflect :
- Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>,
- ClangBuiltin<"__nvvm_reflect">;
+def int_nvvm_reflect : NVVMBuiltin,
+ Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>;
// isspacep.{const, global, local, shared}
foreach space = ["const", "global", "local", "shared", "shared_cluster"] in {
- def int_nvvm_isspacep_ # space
- : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>,
- ClangBuiltin<"__nvvm_isspacep_" # space>;
+ def int_nvvm_isspacep_ # space : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
+ [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]>;
}
// Environment register read
foreach i = 0...31 in {
- def int_nvvm_read_ptx_sreg_envreg # i
- : DefaultAttrsIntrinsic<[llvm_i32_ty], [],
- [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>]>,
- ClangBuiltin<"__nvvm_read_ptx_sreg_envreg" # i>;
+ def int_nvvm_read_ptx_sreg_envreg # i : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [],
+ [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>]>;
}
// Texture Fetch
@@ -2068,8 +2012,6 @@ def int_nvvm_tld4_b_2d_v4u32_f32
def int_nvvm_tld4_a_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
-
-
// texmode_unified
def int_nvvm_tex_unified_1d_v4f32_s32
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty],
@@ -2422,8 +2364,6 @@ def int_nvvm_tld4_unified_b_2d_v4u32_f32
def int_nvvm_tld4_unified_a_2d_v4u32_f32
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], []>;
-
-
//=== Surface Load
// .clamp variants
def int_nvvm_suld_1d_i8_clamp
@@ -2942,855 +2882,604 @@ def int_nvvm_suld_3d_v4i32_zero
foreach query = ["channel_order", "channel_data_type", "width", "height",
"depth", "array_size", "num_samples", "num_mipmap_levels"] in {
- def int_nvvm_txq_ # query
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>,
- ClangBuiltin<"__nvvm_txq_" # query>;
+ def int_nvvm_txq_ # query : NVVMBuiltin,
+ Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>;
}
//===- Surface Query ------------------------------------------------------===//
foreach query = ["channel_order", "channel_data_type", "width", "height",
"depth", "array_size"] in {
- def int_nvvm_suq_ # query
- : Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>,
- ClangBuiltin<"__nvvm_suq_" # query>;
+ def int_nvvm_suq_ # query : NVVMBuiltin,
+ Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>;
}
//===- Handle Query -------------------------------------------------------===//
foreach type = ["sampler", "surface", "texture"] in {
- def int_nvvm_istypep_ # type
- : Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem]>,
- ClangBuiltin<"__nvvm_istypep_" # type>;
+ def int_nvvm_istypep_ # type : NVVMBuiltin,
+ Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem]>;
}
//===- Surface Stores -----------------------------------------------------===//
// Unformatted
// .clamp variant
-def int_nvvm_sust_b_1d_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i8_clamp">;
-def int_nvvm_sust_b_1d_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i16_clamp">;
-def int_nvvm_sust_b_1d_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i32_clamp">;
-def int_nvvm_sust_b_1d_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i64_clamp">;
-def int_nvvm_sust_b_1d_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i8_clamp">;
-def int_nvvm_sust_b_1d_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i16_clamp">;
-def int_nvvm_sust_b_1d_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i32_clamp">;
-def int_nvvm_sust_b_1d_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i64_clamp">;
-def int_nvvm_sust_b_1d_v4i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i8_clamp">;
-def int_nvvm_sust_b_1d_v4i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i16_clamp">;
-def int_nvvm_sust_b_1d_v4i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i32_clamp">;
-
-
-def int_nvvm_sust_b_1d_array_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i8_clamp">;
-def int_nvvm_sust_b_1d_array_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i16_clamp">;
-def int_nvvm_sust_b_1d_array_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i32_clamp">;
-def int_nvvm_sust_b_1d_array_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i64_clamp">;
-def int_nvvm_sust_b_1d_array_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_clamp">;
-def int_nvvm_sust_b_1d_array_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_clamp">;
-def int_nvvm_sust_b_1d_array_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_clamp">;
-def int_nvvm_sust_b_1d_array_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_clamp">;
-def int_nvvm_sust_b_1d_array_v4i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_clamp">;
-def int_nvvm_sust_b_1d_array_v4i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_clamp">;
-def int_nvvm_sust_b_1d_array_v4i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_clamp">;
-
-
-def int_nvvm_sust_b_2d_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i8_clamp">;
-def int_nvvm_sust_b_2d_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i16_clamp">;
-def int_nvvm_sust_b_2d_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i32_clamp">;
-def int_nvvm_sust_b_2d_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i64_clamp">;
-def int_nvvm_sust_b_2d_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i8_clamp">;
-def int_nvvm_sust_b_2d_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i16_clamp">;
-def int_nvvm_sust_b_2d_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i32_clamp">;
-def int_nvvm_sust_b_2d_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i64_clamp">;
-def int_nvvm_sust_b_2d_v4i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i8_clamp">;
-def int_nvvm_sust_b_2d_v4i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i16_clamp">;
-def int_nvvm_sust_b_2d_v4i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i32_clamp">;
-
-
-def int_nvvm_sust_b_2d_array_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i8_clamp">;
-def int_nvvm_sust_b_2d_array_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i16_clamp">;
-def int_nvvm_sust_b_2d_array_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i32_clamp">;
-def int_nvvm_sust_b_2d_array_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i64_clamp">;
-def int_nvvm_sust_b_2d_array_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_clamp">;
-def int_nvvm_sust_b_2d_array_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_clamp">;
-def int_nvvm_sust_b_2d_array_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_clamp">;
-def int_nvvm_sust_b_2d_array_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_clamp">;
-def int_nvvm_sust_b_2d_array_v4i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_clamp">;
-def int_nvvm_sust_b_2d_array_v4i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_clamp">;
-def int_nvvm_sust_b_2d_array_v4i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_clamp">;
-
-
-def int_nvvm_sust_b_3d_i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i8_clamp">;
-def int_nvvm_sust_b_3d_i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i16_clamp">;
-def int_nvvm_sust_b_3d_i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i32_clamp">;
-def int_nvvm_sust_b_3d_i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i64_clamp">;
-def int_nvvm_sust_b_3d_v2i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i8_clamp">;
-def int_nvvm_sust_b_3d_v2i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i16_clamp">;
-def int_nvvm_sust_b_3d_v2i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i32_clamp">;
-def int_nvvm_sust_b_3d_v2i64_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i64_clamp">;
-def int_nvvm_sust_b_3d_v4i8_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i8_clamp">;
-def int_nvvm_sust_b_3d_v4i16_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i16_clamp">;
-def int_nvvm_sust_b_3d_v4i32_clamp
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i32_clamp">;
-
-
+def int_nvvm_sust_b_1d_i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v2i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_v2i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v4i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v2i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_v2i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v4i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v2i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_v2i64_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v4i8_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i16_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i32_clamp : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// .trap variant
-def int_nvvm_sust_b_1d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i8_trap">;
-def int_nvvm_sust_b_1d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i16_trap">;
-def int_nvvm_sust_b_1d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i32_trap">;
-def int_nvvm_sust_b_1d_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i64_trap">;
-def int_nvvm_sust_b_1d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i8_trap">;
-def int_nvvm_sust_b_1d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i16_trap">;
-def int_nvvm_sust_b_1d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i32_trap">;
-def int_nvvm_sust_b_1d_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i64_trap">;
-def int_nvvm_sust_b_1d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i8_trap">;
-def int_nvvm_sust_b_1d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i16_trap">;
-def int_nvvm_sust_b_1d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i32_trap">;
-
-
-def int_nvvm_sust_b_1d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i8_trap">;
-def int_nvvm_sust_b_1d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i16_trap">;
-def int_nvvm_sust_b_1d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i32_trap">;
-def int_nvvm_sust_b_1d_array_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i64_trap">;
-def int_nvvm_sust_b_1d_array_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_trap">;
-def int_nvvm_sust_b_1d_array_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_trap">;
-def int_nvvm_sust_b_1d_array_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_trap">;
-def int_nvvm_sust_b_1d_array_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_trap">;
-def int_nvvm_sust_b_1d_array_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_trap">;
-def int_nvvm_sust_b_1d_array_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_trap">;
-def int_nvvm_sust_b_1d_array_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_trap">;
-
-
-def int_nvvm_sust_b_2d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i8_trap">;
-def int_nvvm_sust_b_2d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i16_trap">;
-def int_nvvm_sust_b_2d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i32_trap">;
-def int_nvvm_sust_b_2d_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i64_trap">;
-def int_nvvm_sust_b_2d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i8_trap">;
-def int_nvvm_sust_b_2d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i16_trap">;
-def int_nvvm_sust_b_2d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i32_trap">;
-def int_nvvm_sust_b_2d_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i64_trap">;
-def int_nvvm_sust_b_2d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i8_trap">;
-def int_nvvm_sust_b_2d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i16_trap">;
-def int_nvvm_sust_b_2d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i32_trap">;
-
-
-def int_nvvm_sust_b_2d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i8_trap">;
-def int_nvvm_sust_b_2d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i16_trap">;
-def int_nvvm_sust_b_2d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i32_trap">;
-def int_nvvm_sust_b_2d_array_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i64_trap">;
-def int_nvvm_sust_b_2d_array_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_trap">;
-def int_nvvm_sust_b_2d_array_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_trap">;
-def int_nvvm_sust_b_2d_array_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_trap">;
-def int_nvvm_sust_b_2d_array_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_trap">;
-def int_nvvm_sust_b_2d_array_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_trap">;
-def int_nvvm_sust_b_2d_array_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_trap">;
-def int_nvvm_sust_b_2d_array_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_trap">;
-
-
-def int_nvvm_sust_b_3d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i8_trap">;
-def int_nvvm_sust_b_3d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i16_trap">;
-def int_nvvm_sust_b_3d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i32_trap">;
-def int_nvvm_sust_b_3d_i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i64_trap">;
-def int_nvvm_sust_b_3d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i8_trap">;
-def int_nvvm_sust_b_3d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i16_trap">;
-def int_nvvm_sust_b_3d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i32_trap">;
-def int_nvvm_sust_b_3d_v2i64_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i64_trap">;
-def int_nvvm_sust_b_3d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i8_trap">;
-def int_nvvm_sust_b_3d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i16_trap">;
-def int_nvvm_sust_b_3d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i32_trap">;
-
-
+def int_nvvm_sust_b_1d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_v2i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_v2i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_v2i64_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// .zero variant
-def int_nvvm_sust_b_1d_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i8_zero">;
-def int_nvvm_sust_b_1d_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i16_zero">;
-def int_nvvm_sust_b_1d_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i32_zero">;
-def int_nvvm_sust_b_1d_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_i64_zero">;
-def int_nvvm_sust_b_1d_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i8_zero">;
-def int_nvvm_sust_b_1d_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i16_zero">;
-def int_nvvm_sust_b_1d_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i32_zero">;
-def int_nvvm_sust_b_1d_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v2i64_zero">;
-def int_nvvm_sust_b_1d_v4i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i8_zero">;
-def int_nvvm_sust_b_1d_v4i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i16_zero">;
-def int_nvvm_sust_b_1d_v4i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_v4i32_zero">;
-
-
-def int_nvvm_sust_b_1d_array_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i8_zero">;
-def int_nvvm_sust_b_1d_array_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i16_zero">;
-def int_nvvm_sust_b_1d_array_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i32_zero">;
-def int_nvvm_sust_b_1d_array_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_i64_zero">;
-def int_nvvm_sust_b_1d_array_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i8_zero">;
-def int_nvvm_sust_b_1d_array_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i16_zero">;
-def int_nvvm_sust_b_1d_array_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i32_zero">;
-def int_nvvm_sust_b_1d_array_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v2i64_zero">;
-def int_nvvm_sust_b_1d_array_v4i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i8_zero">;
-def int_nvvm_sust_b_1d_array_v4i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i16_zero">;
-def int_nvvm_sust_b_1d_array_v4i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_1d_array_v4i32_zero">;
-
-
-def int_nvvm_sust_b_2d_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i8_zero">;
-def int_nvvm_sust_b_2d_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i16_zero">;
-def int_nvvm_sust_b_2d_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i32_zero">;
-def int_nvvm_sust_b_2d_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_i64_zero">;
-def int_nvvm_sust_b_2d_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i8_zero">;
-def int_nvvm_sust_b_2d_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i16_zero">;
-def int_nvvm_sust_b_2d_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i32_zero">;
-def int_nvvm_sust_b_2d_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v2i64_zero">;
-def int_nvvm_sust_b_2d_v4i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i8_zero">;
-def int_nvvm_sust_b_2d_v4i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i16_zero">;
-def int_nvvm_sust_b_2d_v4i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_v4i32_zero">;
-
-
-def int_nvvm_sust_b_2d_array_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i8_zero">;
-def int_nvvm_sust_b_2d_array_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i16_zero">;
-def int_nvvm_sust_b_2d_array_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i32_zero">;
-def int_nvvm_sust_b_2d_array_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_i64_zero">;
-def int_nvvm_sust_b_2d_array_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i8_zero">;
-def int_nvvm_sust_b_2d_array_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i16_zero">;
-def int_nvvm_sust_b_2d_array_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i32_zero">;
-def int_nvvm_sust_b_2d_array_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v2i64_zero">;
-def int_nvvm_sust_b_2d_array_v4i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i8_zero">;
-def int_nvvm_sust_b_2d_array_v4i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i16_zero">;
-def int_nvvm_sust_b_2d_array_v4i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_2d_array_v4i32_zero">;
-
-
-def int_nvvm_sust_b_3d_i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i8_zero">;
-def int_nvvm_sust_b_3d_i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i16_zero">;
-def int_nvvm_sust_b_3d_i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i32_zero">;
-def int_nvvm_sust_b_3d_i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_i64_zero">;
-def int_nvvm_sust_b_3d_v2i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i8_zero">;
-def int_nvvm_sust_b_3d_v2i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i16_zero">;
-def int_nvvm_sust_b_3d_v2i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i32_zero">;
-def int_nvvm_sust_b_3d_v2i64_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i64_ty, llvm_i64_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v2i64_zero">;
-def int_nvvm_sust_b_3d_v4i8_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i8_zero">;
-def int_nvvm_sust_b_3d_v4i16_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i16_zero">;
-def int_nvvm_sust_b_3d_v4i32_zero
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_b_3d_v4i32_zero">;
-
-
+def int_nvvm_sust_b_1d_i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v2i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v2i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_v2i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_v4i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_v4i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_1d_array_v2i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_1d_array_v4i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v2i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v2i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_v2i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_v4i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_v4i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_2d_array_v2i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_2d_array_v4i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v2i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v2i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_b_3d_v2i64_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i64_ty, llvm_i64_ty], []>;
+def int_nvvm_sust_b_3d_v4i8_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i16_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_b_3d_v4i32_zero : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// Formatted
-def int_nvvm_sust_p_1d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_i8_trap">;
-def int_nvvm_sust_p_1d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_i16_trap">;
-def int_nvvm_sust_p_1d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_i32_trap">;
-def int_nvvm_sust_p_1d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v2i8_trap">;
-def int_nvvm_sust_p_1d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v2i16_trap">;
-def int_nvvm_sust_p_1d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v2i32_trap">;
-def int_nvvm_sust_p_1d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v4i8_trap">;
-def int_nvvm_sust_p_1d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v4i16_trap">;
-def int_nvvm_sust_p_1d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_v4i32_trap">;
-
-
-def int_nvvm_sust_p_1d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_i8_trap">;
-def int_nvvm_sust_p_1d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_i16_trap">;
-def int_nvvm_sust_p_1d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_i32_trap">;
-def int_nvvm_sust_p_1d_array_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v2i8_trap">;
-def int_nvvm_sust_p_1d_array_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v2i16_trap">;
-def int_nvvm_sust_p_1d_array_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v2i32_trap">;
-def int_nvvm_sust_p_1d_array_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v4i8_trap">;
-def int_nvvm_sust_p_1d_array_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v4i16_trap">;
-def int_nvvm_sust_p_1d_array_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_1d_array_v4i32_trap">;
-
-
-def int_nvvm_sust_p_2d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_i8_trap">;
-def int_nvvm_sust_p_2d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_i16_trap">;
-def int_nvvm_sust_p_2d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_i32_trap">;
-def int_nvvm_sust_p_2d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v2i8_trap">;
-def int_nvvm_sust_p_2d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v2i16_trap">;
-def int_nvvm_sust_p_2d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v2i32_trap">;
-def int_nvvm_sust_p_2d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v4i8_trap">;
-def int_nvvm_sust_p_2d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v4i16_trap">;
-def int_nvvm_sust_p_2d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_v4i32_trap">;
-
-
-def int_nvvm_sust_p_2d_array_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_i8_trap">;
-def int_nvvm_sust_p_2d_array_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_i16_trap">;
-def int_nvvm_sust_p_2d_array_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_i32_trap">;
-def int_nvvm_sust_p_2d_array_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v2i8_trap">;
-def int_nvvm_sust_p_2d_array_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v2i16_trap">;
-def int_nvvm_sust_p_2d_array_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v2i32_trap">;
-def int_nvvm_sust_p_2d_array_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v4i8_trap">;
-def int_nvvm_sust_p_2d_array_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v4i16_trap">;
-def int_nvvm_sust_p_2d_array_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_2d_array_v4i32_trap">;
-
-
-def int_nvvm_sust_p_3d_i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_i8_trap">;
-def int_nvvm_sust_p_3d_i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_i16_trap">;
-def int_nvvm_sust_p_3d_i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_i32_trap">;
-def int_nvvm_sust_p_3d_v2i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v2i8_trap">;
-def int_nvvm_sust_p_3d_v2i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v2i16_trap">;
-def int_nvvm_sust_p_3d_v2i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v2i32_trap">;
-def int_nvvm_sust_p_3d_v4i8_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v4i8_trap">;
-def int_nvvm_sust_p_3d_v4i16_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v4i16_trap">;
-def int_nvvm_sust_p_3d_v4i32_trap
- : Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>,
- ClangBuiltin<"__nvvm_sust_p_3d_v4i32_trap">;
+def int_nvvm_sust_p_1d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_1d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_1d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_1d_array_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_1d_array_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_1d_array_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_1d_array_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_array_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_array_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_2d_array_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_2d_array_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_3d_i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_3d_v2i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_v2i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_v2i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty], []>;
+def int_nvvm_sust_p_3d_v4i8_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_v4i16_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], []>;
+def int_nvvm_sust_p_3d_v4i32_trap : NVVMBuiltin,
+ Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
// Accessing special registers.
@@ -3798,13 +3487,11 @@ class PTXReadSRegIntrinsicNB_r32<list<IntrinsicProperty> properties = []>
: DefaultAttrsIntrinsic<[llvm_i32_ty], [],
!listconcat([IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>], properties)>;
-class PTXReadSRegIntrinsic_r32<string name,
- list<IntrinsicProperty> properties = []>
+class PTXReadSRegIntrinsic_r32<list<IntrinsicProperty> properties = []>
: PTXReadSRegIntrinsicNB_r32<properties>,
- ClangBuiltin<"__nvvm_read_ptx_sreg_" # name>;
+ NVVMBuiltin;
-multiclass PTXReadSRegIntrinsic_v4i32<string regname,
- list<list<IntrinsicProperty>> properties = [[], [], [], []]> {
+multiclass PTXReadSRegIntrinsic_v4i32<list<list<IntrinsicProperty>> properties = [[], [], [], []]> {
assert !eq(!size(properties), 4), "properties must be a list of 4 lists";
// FIXME: Do we need the 128-bit integer type version?
// def _r64 : Intrinsic<[llvm_i128_ty], [], [IntrNoMem, IntrSpeculatable]>;
@@ -3813,7 +3500,7 @@ multiclass PTXReadSRegIntrinsic_v4i32<string regname,
// def _v4i16 : Intrinsic<[llvm_v4i32_ty], [], [IntrNoMem, IntrSpeculatable]>;
defvar suffixes = ["_x", "_y", "_z", "_w"];
foreach i = !range(suffixes) in
- def suffixes[i] : PTXReadSRegIntrinsic_r32<regname # suffixes[i], properties[i]>;
+ def suffixes[i] : PTXReadSRegIntrinsic_r32<properties[i]>;
}
// Same, but without automatic clang builtins. It will be used for
@@ -3825,38 +3512,32 @@ multiclass PTXReadSRegIntrinsicNB_v4i32<list<list<IntrinsicProperty>> properties
def suffixes[i] : PTXReadSRegIntrinsicNB_r32<properties[i]>;
}
-class PTXReadSRegIntrinsic_r64<string name>
- : DefaultAttrsIntrinsic<[llvm_i64_ty], [], [IntrNoMem, IntrSpeculatable, NoUndef<RetIndex>]>,
- ClangBuiltin<"__nvvm_read_ptx_sreg_" # name>;
-
// Intrinsics to read registers with non-constant values. E.g. the values that
// do change over the kernel lifetime. Such reads should not be CSE'd.
-class PTXReadNCSRegIntrinsic_r32<string name>
+class PTXReadNCSRegIntrinsic_r32
: Intrinsic<[llvm_i32_ty], [], [IntrInaccessibleMemOnly, IntrNoCallback, NoUndef<RetIndex>]>,
- ClangBuiltin<"__nvvm_read_ptx_sreg_" # name>;
-class PTXReadNCSRegIntrinsic_r64<string name>
+ NVVMBuiltin;
+class PTXReadNCSRegIntrinsic_r64
: Intrinsic<[llvm_i64_ty], [], [IntrInaccessibleMemOnly, IntrNoCallback, NoUndef<RetIndex>]>,
- ClangBuiltin<"__nvvm_read_ptx_sreg_" # name>;
+ NVVMBuiltin;
defm int_nvvm_read_ptx_sreg_tid
- : PTXReadSRegIntrinsic_v4i32<"tid",
- [[Range<RetIndex, 0, MAX_BLOCK_SIZE_X>],
- [Range<RetIndex, 0, MAX_BLOCK_SIZE_Y>],
- [Range<RetIndex, 0, MAX_BLOCK_SIZE_Z>],
- [Range<RetIndex, 0, 1>]]>;
+ : PTXReadSRegIntrinsic_v4i32<[[Range<RetIndex, 0, MAX_BLOCK_SIZE_X>],
+ [Range<RetIndex, 0, MAX_BLOCK_SIZE_Y>],
+ [Range<RetIndex, 0, MAX_BLOCK_SIZE_Z>],
+ [Range<RetIndex, 0, 1>]]>;
defm int_nvvm_read_ptx_sreg_ntid
- : PTXReadSRegIntrinsic_v4i32<"ntid",
- [[Range<RetIndex, 1, !add(MAX_BLOCK_SIZE_X, 1)>],
+ : PTXReadSRegIntrinsic_v4i32<[[Range<RetIndex, 1, !add(MAX_BLOCK_SIZE_X, 1)>],
[Range<RetIndex, 1, !add(MAX_BLOCK_SIZE_Y, 1)>],
[Range<RetIndex, 1, !add(MAX_BLOCK_SIZE_Z, 1)>],
[Range<RetIndex, 0, 1>]]>;
def int_nvvm_read_ptx_sreg_laneid
- : PTXReadSRegIntrinsic_r32<"laneid", [Range<RetIndex, 0, WARP_SIZE>]>;
+ : PTXReadSRegIntrinsic_r32<[Range<RetIndex, 0, WARP_SIZE>]>;
-def int_nvvm_read_ptx_sreg_warpid : PTXReadSRegIntrinsic_r32<"warpid">;
-def int_nvvm_read_ptx_sreg_nwarpid : PTXReadSRegIntrinsic_r32<"nwarpid">;
+def int_nvvm_read_ptx_sreg_warpid : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_nwarpid : PTXReadSRegIntrinsic_r32;
defvar MAX_GRID_ID_RANGE = [[Range<RetIndex, 0, MAX_GRID_SIZE_X>],
[Range<RetIndex, 0, MAX_GRID_SIZE_Y>],
@@ -3869,39 +3550,33 @@ defvar MAX_GRID_NID_RANGE = [[Range<RetIndex, 1, !add(MAX_GRID_SIZE_X, 1)>],
[Range<RetIndex, 0, 1>]];
defm int_nvvm_read_ptx_sreg_ctaid
- : PTXReadSRegIntrinsic_v4i32<"ctaid", MAX_GRID_ID_RANGE>;
+ : PTXReadSRegIntrinsic_v4i32<MAX_GRID_ID_RANGE>;
defm int_nvvm_read_ptx_sreg_nctaid
- : PTXReadSRegIntrinsic_v4i32<"nctaid", MAX_GRID_NID_RANGE>;
+ : PTXReadSRegIntrinsic_v4i32<MAX_GRID_NID_RANGE>;
-def int_nvvm_read_ptx_sreg_smid : PTXReadSRegIntrinsic_r32<"smid">;
-def int_nvvm_read_ptx_sreg_nsmid : PTXReadSRegIntrinsic_r32<"nsmid">;
-def int_nvvm_read_ptx_sreg_gridid : PTXReadSRegIntrinsic_r32<"gridid">;
+def int_nvvm_read_ptx_sreg_smid : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_nsmid : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_gridid : PTXReadSRegIntrinsic_r32;
-def int_nvvm_read_ptx_sreg_lanemask_eq :
- PTXReadSRegIntrinsic_r32<"lanemask_eq">;
-def int_nvvm_read_ptx_sreg_lanemask_le :
- PTXReadSRegIntrinsic_r32<"lanemask_le">;
-def int_nvvm_read_ptx_sreg_lanemask_lt :
- PTXReadSRegIntrinsic_r32<"lanemask_lt">;
-def int_nvvm_read_ptx_sreg_lanemask_ge :
- PTXReadSRegIntrinsic_r32<"lanemask_ge">;
-def int_nvvm_read_ptx_sreg_lanemask_gt :
- PTXReadSRegIntrinsic_r32<"lanemask_gt">;
+def int_nvvm_read_ptx_sreg_lanemask_eq : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_lanemask_le : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_lanemask_lt : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_lanemask_ge : PTXReadSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_lanemask_gt : PTXReadSRegIntrinsic_r32;
-def int_nvvm_read_ptx_sreg_clock : PTXReadNCSRegIntrinsic_r32<"clock">;
-def int_nvvm_read_ptx_sreg_clock64 : PTXReadNCSRegIntrinsic_r64<"clock64">;
+def int_nvvm_read_ptx_sreg_clock : PTXReadNCSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_clock64 : PTXReadNCSRegIntrinsic_r64;
-def int_nvvm_read_ptx_sreg_globaltimer : PTXReadNCSRegIntrinsic_r64<"globaltimer">;
+def int_nvvm_read_ptx_sreg_globaltimer : PTXReadNCSRegIntrinsic_r64;
-def int_nvvm_read_ptx_sreg_pm0 : PTXReadNCSRegIntrinsic_r32<"pm0">;
-def int_nvvm_read_ptx_sreg_pm1 : PTXReadNCSRegIntrinsic_r32<"pm1">;
-def int_nvvm_read_ptx_sreg_pm2 : PTXReadNCSRegIntrinsic_r32<"pm2">;
-def int_nvvm_read_ptx_sreg_pm3 : PTXReadNCSRegIntrinsic_r32<"pm3">;
+def int_nvvm_read_ptx_sreg_pm0 : PTXReadNCSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_pm1 : PTXReadNCSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_pm2 : PTXReadNCSRegIntrinsic_r32;
+def int_nvvm_read_ptx_sreg_pm3 : PTXReadNCSRegIntrinsic_r32;
def int_nvvm_read_ptx_sreg_warpsize
- : PTXReadSRegIntrinsic_r32<"warpsize",
- [Range<RetIndex, WARP_SIZE, !add(WARP_SIZE, 1)>]>;
+ : PTXReadSRegIntrinsic_r32<[Range<RetIndex, WARP_SIZE, !add(WARP_SIZE, 1)>]>;
// sm90+, PTX7.8+
@@ -3930,18 +3605,16 @@ foreach sync = [false, true] in {
foreach mode = ["up", "down", "bfly", "idx"] in {
foreach type = ["i32", "f32"] in {
foreach return_pred = [false, true] in {
- foreach i = [SHFL_INFO<sync, mode, type, return_pred>] in {
- if i.withGccBuiltin then {
- def i.Name : ClangBuiltin<i.Builtin>,
- Intrinsic<i.RetTy, i.ArgsTy,
- [IntrInaccessibleMemOnly, IntrConvergent,
- IntrNoCallback]>;
- }
- if i.withoutGccBuiltin then {
- def i.Name : Intrinsic<i.RetTy, i.ArgsTy,
- [IntrInaccessibleMemOnly, IntrConvergent,
- IntrNoCallback]>;
- }
+ defvar i = SHFL_INFO<sync, mode, type, return_pred>;
+ if i.withGccBuiltin then {
+ def i.Name : NVVMBuiltin,
+ Intrinsic<i.RetTy, i.ArgsTy,
+ [IntrInaccessibleMemOnly, IntrConvergent,
+ IntrNoCallback]>;
+ } else {
+ def i.Name : Intrinsic<i.RetTy, i.ArgsTy,
+ [IntrInaccessibleMemOnly, IntrConvergent,
+ IntrNoCallback]>;
}
}
}
@@ -3953,72 +3626,61 @@ foreach sync = [false, true] in {
//
// vote.all pred
-def int_nvvm_vote_all :
+def int_nvvm_vote_all : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_all">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.any pred
-def int_nvvm_vote_any :
+def int_nvvm_vote_any : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_any">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.uni pred
-def int_nvvm_vote_uni :
+def int_nvvm_vote_uni : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_uni">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.ballot pred
-def int_nvvm_vote_ballot :
+def int_nvvm_vote_ballot : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_ballot">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
//
// VOTE.SYNC
//
// vote.sync.all mask, pred
-def int_nvvm_vote_all_sync :
+def int_nvvm_vote_all_sync : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_all_sync">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.sync.any mask, pred
-def int_nvvm_vote_any_sync :
+def int_nvvm_vote_any_sync : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_any_sync">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.sync.uni mask, pred
-def int_nvvm_vote_uni_sync :
+def int_nvvm_vote_uni_sync : NVVMBuiltin,
Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_uni_sync">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// vote.sync.ballot mask, pred
-def int_nvvm_vote_ballot_sync :
+def int_nvvm_vote_ballot_sync : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i1_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_vote_ballot_sync">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
//
// ACTIVEMASK
//
-def int_nvvm_activemask :
+def int_nvvm_activemask : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback, IntrHasSideEffects]>,
- ClangBuiltin<"__nvvm_activemask">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback, IntrHasSideEffects]>;
//
// MATCH.SYNC
//
// match.any.sync.b32 mask, value
-def int_nvvm_match_any_sync_i32 :
+def int_nvvm_match_any_sync_i32 : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_match_any_sync_i32">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// match.any.sync.b64 mask, value
-def int_nvvm_match_any_sync_i64 :
+def int_nvvm_match_any_sync_i64 : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty],
- [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>,
- ClangBuiltin<"__nvvm_match_any_sync_i64">;
+ [IntrInaccessibleMemOnly, IntrConvergent, IntrNoCallback]>;
// match.all instruction have two variants -- one returns a single value, another
// returns a pair {value, predicate}. We currently only implement the latter as
@@ -4047,7 +3709,7 @@ def int_nvvm_elect_sync :
// redux.sync.op.u32 dst, src, membermask;
foreach op = ["umin", "umax", "add", "min", "max", "and", "xor", "or"] in {
- def int_nvvm_redux_sync_ # op : ClangBuiltin<"__nvvm_redux_sync_" # op>,
+ def int_nvvm_redux_sync_ # op : NVVMBuiltin,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
}
@@ -4056,8 +3718,7 @@ foreach op = ["umin", "umax", "add", "min", "max", "and", "xor", "or"] in {
foreach binOp = ["min", "max"] in {
foreach abs = ["", "_abs"] in {
foreach NaN = ["", "_NaN"] in {
- def int_nvvm_redux_sync_f # binOp # abs # NaN :
- ClangBuiltin<!strconcat("__nvvm_redux_sync_f", binOp, abs, NaN)>,
+ def int_nvvm_redux_sync_f # binOp # abs # NaN : NVVMBuiltin,
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty],
[IntrConvergent, IntrInaccessibleMemOnly, IntrNoCallback]>;
}
@@ -4206,7 +3867,7 @@ def int_nvvm_setmaxnreg_dec_sync_aligned_u32
[IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
// Exit
-def int_nvvm_exit : ClangBuiltin<"__nvvm_exit">,
+def int_nvvm_exit : NVVMBuiltin,
Intrinsic<[], [], [IntrConvergent, IntrInaccessibleMemOnly, IntrNoReturn]>;
// Intrinsics for Tensor Copy using TMA
@@ -4246,13 +3907,11 @@ def int_nvvm_prefetch_local_L1 : Intrinsic<[], [llvm_local_ptr_ty],
[IntrArgMemOnly, ReadOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
def int_nvvm_prefetch_local_L2 : Intrinsic<[], [llvm_local_ptr_ty],
[IntrArgMemOnly, ReadOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
-
+
def int_nvvm_prefetch_global_L2_evict_normal: Intrinsic<[], [llvm_global_ptr_ty],
[IntrArgMemOnly, ReadOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
def int_nvvm_prefetch_global_L2_evict_last: Intrinsic<[], [llvm_global_ptr_ty],
[IntrArgMemOnly, ReadOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
-
-
def int_nvvm_prefetchu_L1 : Intrinsic<[], [llvm_ptr_ty],
[IntrArgMemOnly, ReadOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>]>;
>From 858320eb253779abef05aa43f8ef7779f40b0a24 Mon Sep 17 00:00:00 2001
From: Alex Maclean <amaclean at nvidia.com>
Date: Mon, 12 May 2025 02:35:31 +0000
Subject: [PATCH 3/3] scratch
---
llvm/include/llvm/IR/IntrinsicsNVVM.td | 473 +++++++++----------------
1 file changed, 174 insertions(+), 299 deletions(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsNVVM.td b/llvm/include/llvm/IR/IntrinsicsNVVM.td
index 311d4c4d53cec..93c7db40b1c6e 100644
--- a/llvm/include/llvm/IR/IntrinsicsNVVM.td
+++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td
@@ -813,7 +813,7 @@ class NVVM_TCGEN05_LDST_ACCESS_SIZE<string Shape, int Num> {
class NVVMBuiltin :
ClangBuiltin<!strconcat("__", !substr(NAME, !size("int_")))> {
assert !eq(!substr(NAME, 0, !size("int_nvvm_")), "int_nvvm_"),
- "NVVMBuiltin must be a NVVM intrinsic strarting with 'int_nvvm_'";
+ "NVVMBuiltin must be a NVVM intrinsic starting with 'int_nvvm_'";
}
let TargetPrefix = "nvvm" in {
@@ -865,132 +865,99 @@ let TargetPrefix = "nvvm" in {
// Multiplication
//
- def int_nvvm_mulhi_s : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_us : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach sign = ["", "u"] in {
+ def int_nvvm_mulhi_ # sign # s : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_i : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ui : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ def int_nvvm_mulhi_ # sign # i : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ll : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mulhi_ull : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
+ def int_nvvm_mulhi_ # sign # ll : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+
+ def int_nvvm_mul24_ # sign # i : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
+ }
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_mul_ # rnd # _ftz # _f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul_ # rnd # _f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_mul_ # rnd # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
def int_nvvm_mul_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem, IntrSpeculatable, Commutative]>;
}
- def int_nvvm_mul24_i : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_mul24_ui : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
-
//
// Div
//
- def int_nvvm_div_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
-
- foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_div_ # rnd # _ftz_f : NVVMBuiltin,
+ foreach ftz = ["", "_ftz"] in {
+ def int_nvvm_div_approx # ftz # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
- def int_nvvm_div_ # rnd # _f : NVVMBuiltin,
+
+ def int_nvvm_div_full # ftz : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
[IntrNoMem]>;
+ }
+
+ foreach rnd = ["rn", "rz", "rm", "rp"] in {
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_div_ # rnd # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem]>;
def int_nvvm_div_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
[IntrNoMem]>;
}
- def int_nvvm_div_full : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
- def int_nvvm_div_full_ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem]>;
-
//
// Sad
//
- def int_nvvm_sad_s : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_us : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
+ foreach sign = ["", "u"] in {
+ def int_nvvm_sad_ # sign # s : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_i16_ty, llvm_i16_ty, llvm_i16_ty],
+ [IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_i : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ui : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
+ def int_nvvm_sad_ # sign # i : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ll : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i64_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
- def int_nvvm_sad_ull : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i64_ty],
- [IntrNoMem, Commutative, IntrSpeculatable]>;
+ def int_nvvm_sad_ # sign # ll : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i64_ty],
+ [IntrNoMem, Commutative, IntrSpeculatable]>;
+ }
//
// Floor Ceil
//
- def int_nvvm_floor_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_floor_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_floor_d : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_ceil_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ceil_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ceil_d : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach op = ["floor", "ceil"] in {
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_ # op # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ # op # _d : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ }
//
// Abs
//
- def int_nvvm_fabs_ftz :
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_fabs # ftz :
DefaultAttrsIntrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>],
[IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_fabs :
- DefaultAttrsIntrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>],
- [IntrNoMem, IntrSpeculatable]>;
//
// Abs, Neg bf16, bf16x2
//
@@ -1004,9 +971,8 @@ let TargetPrefix = "nvvm" in {
// Round
//
- def int_nvvm_round_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_round_f : NVVMBuiltin,
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_round # ftz # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
def int_nvvm_round_d : NVVMBuiltin,
@@ -1016,10 +982,9 @@ let TargetPrefix = "nvvm" in {
// Trunc
//
- def int_nvvm_trunc_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_trunc_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_trunc # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
def int_nvvm_trunc_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
@@ -1028,10 +993,9 @@ let TargetPrefix = "nvvm" in {
// Saturate
//
- def int_nvvm_saturate_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_saturate_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_saturate # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
def int_nvvm_saturate_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
@@ -1040,10 +1004,10 @@ let TargetPrefix = "nvvm" in {
// Exp2 Log2
//
- def int_nvvm_ex2_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_ex2_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_ex2_approx # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+
def int_nvvm_ex2_approx_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
def int_nvvm_ex2_approx_f16 :
@@ -1051,10 +1015,10 @@ let TargetPrefix = "nvvm" in {
def int_nvvm_ex2_approx_f16x2 :
DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_v2f16_ty], [IntrNoMem]>;
- def int_nvvm_lg2_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_lg2_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_lg2_approx # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+
def int_nvvm_lg2_approx_d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
@@ -1062,15 +1026,10 @@ let TargetPrefix = "nvvm" in {
// Sin Cos
//
- def int_nvvm_sin_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sin_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
-
- def int_nvvm_cos_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_cos_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach op = ["sin", "cos"] in
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_ # op # _approx # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
//
// Fma
@@ -1101,14 +1060,11 @@ let TargetPrefix = "nvvm" in {
}
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_fma_ # rnd # _f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty],
- [llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_fma_ # rnd # _ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty],
- [llvm_float_ty, llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_fma_ # rnd # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty],
+ [llvm_float_ty, llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable]>;
def int_nvvm_fma_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty],
@@ -1121,10 +1077,9 @@ let TargetPrefix = "nvvm" in {
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_rcp_ # rnd # _ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rcp_ # rnd # _f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_rcp_ # rnd # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
def int_nvvm_rcp_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
@@ -1139,9 +1094,8 @@ let TargetPrefix = "nvvm" in {
// Sqrt
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_sqrt_ # rnd # _ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_ # rnd # _f : NVVMBuiltin,
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_sqrt_ # rnd # ftz # _f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
def int_nvvm_sqrt_ # rnd # _d : NVVMBuiltin,
@@ -1151,35 +1105,30 @@ let TargetPrefix = "nvvm" in {
def int_nvvm_sqrt_f : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_sqrt_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_sqrt_approx # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
//
// Rsqrt
//
- def int_nvvm_rsqrt_approx_ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_ftz_d : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
- def int_nvvm_rsqrt_approx_d : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
+ foreach ftz = ["", "_ftz"] in {
+ def int_nvvm_rsqrt_approx # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>;
+ def int_nvvm_rsqrt_approx # ftz # _d : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>;
+ }
//
// Add
//
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_add_ # rnd # _ftz_f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
- def int_nvvm_add_ # rnd # _f : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_add_ # rnd # ftz # _f : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
def int_nvvm_add_ # rnd # _d : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty],
@@ -1243,180 +1192,104 @@ let TargetPrefix = "nvvm" in {
// Convert
//
+ def int_nvvm_lohi_i2d : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem, IntrSpeculatable, Commutative]>;
+
+ def int_nvvm_d2i_lo : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2i_hi : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+
+
foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_d2f_ # rnd # _ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2f_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_d2f_ # rnd # ftz : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach sign = ["", "u"] in {
- def int_nvvm_d2ui_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2 # sign # i_ # rnd : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2d_ # rnd : NVVMBuiltin,
+ def int_nvvm_ # sign # i2d_ # rnd : NVVMBuiltin,
DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2d_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_f2 # sign # i_ # rnd # ftz : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_ # rnd # _ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2i_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ # sign # i2f_ # rnd : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_ # rnd # _ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ui_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach ftz = ["", "_ftz"] in
+ def int_nvvm_f2 # sign # ll_ # rnd # ftz : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_i2f_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_d2 # sign # ll_ # rnd : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_ui2f_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ # sign # ll2f_ # rnd : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+
+ def int_nvvm_ # sign # ll2d_ # rnd : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ }
}
- def int_nvvm_lohi_i2d : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrSpeculatable, Commutative]>;
+ foreach ftz = ["", "_ftz"] in {
+ def int_nvvm_f2h_rn # ftz : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_lo : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2i_hi : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_bf2h_rn # ftz : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable]>;
+ }
- foreach rnd = ["rn", "rz", "rm", "rp"] in {
- def int_nvvm_f2ll_ # rnd # _ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ll_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach rnd = ["rn", "rz"] in {
+ foreach relu = ["", "_relu"] in {
+ def int_nvvm_ff2bf16x2_ # rnd # relu : NVVMBuiltin,
+ Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2ull_ # rnd # _ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2ull_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ff2f16x2_ # rnd # relu : NVVMBuiltin,
+ Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
+
+ def int_nvvm_f2bf16_ # rnd # relu : NVVMBuiltin,
+ Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
+ }
+ }
- def int_nvvm_d2ll_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_d2ull_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach satfinite = ["", "_satfinite"] in {
+ def int_nvvm_f2tf32_rna # satfinite : NVVMBuiltin,
+ Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ll2f_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach rnd = ["rn", "rz"] in
+ foreach relu = ["", "_relu"] in
+ def int_nvvm_f2tf32_ # rnd # relu # satfinite : NVVMBuiltin,
+ Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
+ }
- def int_nvvm_ull2f_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ foreach type = ["e4m3x2", "e5m2x2"] in {
+ foreach relu = ["", "_relu"] in {
+ def int_nvvm_ff_to_ # type # _rn # relu : NVVMBuiltin,
+ Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ll2d_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_f16x2_to_ # type # _rn # relu : NVVMBuiltin,
+ Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ull2d_ # rnd : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable]>;
+ def int_nvvm_ # type # _to_f16x2_rn # relu : NVVMBuiltin,
+ Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
+ }
}
- def int_nvvm_f2h_rn_ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_f2h_rn : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_bf2h_rn_ftz : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable]>;
- def int_nvvm_bf2h_rn : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable]>;
-
- def int_nvvm_ff2bf16x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rz : NVVMBuiltin,
- Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2bf16x2_rz_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2bf16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem]>;
-
- def int_nvvm_ff2f16x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rz : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff2f16x2_rz_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- def int_nvvm_f2bf16_rn : NVVMBuiltin,
- Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rz : NVVMBuiltin,
- Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2bf16_rz_relu : NVVMBuiltin,
- Intrinsic<[llvm_bfloat_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- def int_nvvm_f2tf32_rna : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rna_satfinite : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_satfinite : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rn_relu_satfinite : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_relu : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_satfinite : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f2tf32_rz_relu_satfinite : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- def int_nvvm_ff_to_e4m3x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e4m3x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e5m2x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_ff_to_e5m2x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- def int_nvvm_f16x2_to_e4m3x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e4m3x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e5m2x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_f16x2_to_e5m2x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_i16_ty], [llvm_v2f16_ty], [IntrNoMem, IntrNoCallback]>;
-
- def int_nvvm_e4m3x2_to_f16x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e4m3x2_to_f16x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e5m2x2_to_f16x2_rn : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
- def int_nvvm_e5m2x2_to_f16x2_rn_relu : NVVMBuiltin,
- Intrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
-
- class CVT_FF_TO_I16 : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
-
- class CVT_I16_TO_F16X2 : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
-
- class CVT_BF16X2_TO_I16 : NVVMBuiltin,
- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_v2bf16_ty], [IntrNoMem, IntrNoCallback]>;
-
// FP6 conversions.
foreach type = ["e2m3x2", "e3m2x2"] in {
foreach relu = ["", "_relu"] in {
- defvar suffix = !strconcat("_rn", relu);
- def int_nvvm_ff_to_ # type # suffix # _satfinite : CVT_FF_TO_I16;
- def int_nvvm_ # type # _to_f16x2 # suffix : CVT_I16_TO_F16X2;
+ def int_nvvm_ff_to_ # type # _rn # relu # _satfinite : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
+
+ def int_nvvm_ # type # _to_f16x2_rn # relu : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_v2f16_ty], [llvm_i16_ty], [IntrNoMem, IntrNoCallback]>;
}
}
@@ -1424,8 +1297,12 @@ let TargetPrefix = "nvvm" in {
foreach rmode = ["_rz", "_rp"] in {
foreach satmode = ["", "_satfinite"] in {
defvar suffix = !strconcat(rmode, satmode);
- def int_nvvm_ff_to_ue8m0x2 # suffix : CVT_FF_TO_I16;
- def int_nvvm_bf16x2_to_ue8m0x2 # suffix : CVT_BF16X2_TO_I16;
+ def int_nvvm_ff_to_ue8m0x2 # suffix : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem, IntrNoCallback]>;
+
+ def int_nvvm_bf16x2_to_ue8m0x2 # suffix : NVVMBuiltin,
+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_v2bf16_ty], [IntrNoMem, IntrNoCallback]>;
+
}
}
@@ -3859,11 +3736,9 @@ def int_nvvm_is_explicit_cluster
"llvm.nvvm.is_explicit_cluster">;
// Setmaxnreg inc/dec intrinsics
-def int_nvvm_setmaxnreg_inc_sync_aligned_u32
- : DefaultAttrsIntrinsic<[], [llvm_i32_ty],
- [IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
-def int_nvvm_setmaxnreg_dec_sync_aligned_u32
- : DefaultAttrsIntrinsic<[], [llvm_i32_ty],
+foreach op = ["dec", "inc"] in
+ def int_nvvm_setmaxnreg_ # op # _sync_aligned_u32
+ : DefaultAttrsIntrinsic<[], [llvm_i32_ty],
[IntrConvergent, IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
// Exit
More information about the llvm-commits
mailing list