@@ -1115,42 +1115,41 @@ let TargetPrefix = "nvvm" in {
11151115 foreach sign = ["", "u"] in {
11161116
11171117 def int_nvvm_d2 # sign # i_ # rnd : NVVMBuiltin,
1118- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable] >;
1118+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_double_ty]>;
11191119
11201120 def int_nvvm_ # sign # i2d_ # rnd : NVVMBuiltin,
1121- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable] >;
1121+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i32_ty]>;
11221122
11231123 foreach ftz = ["", "_ftz"] in
11241124 def int_nvvm_f2 # sign # i_ # rnd # ftz : NVVMBuiltin,
1125- DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable] >;
1125+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_float_ty]>;
11261126
11271127 def int_nvvm_ # sign # i2f_ # rnd : NVVMBuiltin,
1128- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable] >;
1128+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i32_ty]>;
11291129
11301130 foreach ftz = ["", "_ftz"] in
11311131 def int_nvvm_f2 # sign # ll_ # rnd # ftz : NVVMBuiltin,
1132- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable] >;
1132+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_float_ty]>;
11331133
11341134 def int_nvvm_d2 # sign # ll_ # rnd : NVVMBuiltin,
1135- DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem, IntrSpeculatable] >;
1135+ DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_double_ty]>;
11361136
11371137 def int_nvvm_ # sign # ll2f_ # rnd : NVVMBuiltin,
1138- DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable] >;
1138+ DefaultAttrsIntrinsic<[llvm_float_ty], [llvm_i64_ty]>;
11391139
11401140 def int_nvvm_ # sign # ll2d_ # rnd : NVVMBuiltin,
1141- DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem, IntrSpeculatable] >;
1141+ DefaultAttrsIntrinsic<[llvm_double_ty], [llvm_i64_ty]>;
11421142
11431143 } // sign
11441144 } // rnd
11451145
11461146 foreach ftz = ["", "_ftz"] in {
11471147 def int_nvvm_f2h_rn # ftz : NVVMBuiltin,
1148- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem, IntrSpeculatable] >;
1148+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_float_ty]>;
11491149
11501150 def int_nvvm_bf2h_rn # ftz : NVVMBuiltin,
1151- DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty], [IntrNoMem, IntrSpeculatable] >;
1151+ DefaultAttrsIntrinsic<[llvm_i16_ty], [llvm_bfloat_ty]>;
11521152 }
1153-
11541153 }
11551154 let IntrProperties = [IntrNoMem, IntrNoCallback] in {
11561155 foreach rnd = ["rn", "rz"] in {
@@ -1166,7 +1165,6 @@ let TargetPrefix = "nvvm" in {
11661165 }
11671166 }
11681167
1169-
11701168 foreach satfinite = ["", "_satfinite"] in {
11711169 def int_nvvm_f2tf32_rna # satfinite : NVVMBuiltin,
11721170 Intrinsic<[llvm_i32_ty], [llvm_float_ty]>;
@@ -1537,15 +1535,16 @@ foreach is_unified = [true, false] in {
15371535 def int_nvvm_tex # mode # _cube # array # _grad_ # vec.Name # _f32
15381536 : Intrinsic<vec.Types,
15391537 !listconcat(addr_args, array_args, !listsplat(llvm_float_ty, 9))>;
1540- }
1538+ } // is_array
15411539
15421540 foreach comp = ["r", "g", "b", "a"] in {
15431541 def int_nvvm_tld4 # mode # _ # comp # _2d_ # vec.Name # _f32
15441542 : Intrinsic<vec.Types,
15451543 !listconcat(addr_args, !listsplat(llvm_float_ty, 2))>;
1546- }
1547- }
1548- }
1544+ } // comp
1545+ } // vec
1546+ } // is_unified
1547+
15491548//=== Surface Load
15501549foreach clamp = ["clamp", "trap", "zero"] in {
15511550 foreach vec = [TV_I8, TV_I16, TV_I32, TV_I64,
@@ -1571,31 +1570,28 @@ foreach clamp = ["clamp", "trap", "zero"] in {
15711570 def int_nvvm_suld_3d_ # vec.Name # _ # clamp
15721571 : Intrinsic<vec.Types,
15731572 [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty]>;
1574- }
1575- }
1573+ } // vec
1574+ } // clamp
15761575
15771576//===- Texture Query ------------------------------------------------------===//
15781577
15791578foreach query = ["channel_order", "channel_data_type", "width", "height",
1580- "depth", "array_size", "num_samples", "num_mipmap_levels"] in {
1579+ "depth", "array_size", "num_samples", "num_mipmap_levels"] in
15811580 def int_nvvm_txq_ # query : NVVMBuiltin,
15821581 Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>;
1583- }
15841582
15851583//===- Surface Query ------------------------------------------------------===//
15861584
15871585foreach query = ["channel_order", "channel_data_type", "width", "height",
1588- "depth", "array_size"] in {
1586+ "depth", "array_size"] in
15891587 def int_nvvm_suq_ # query : NVVMBuiltin,
15901588 Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>;
1591- }
15921589
15931590//===- Handle Query -------------------------------------------------------===//
15941591
1595- foreach type = ["sampler", "surface", "texture"] in {
1592+ foreach type = ["sampler", "surface", "texture"] in
15961593 def int_nvvm_istypep_ # type : NVVMBuiltin,
15971594 Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem]>;
1598- }
15991595
16001596//===- Surface Stores -----------------------------------------------------===//
16011597
@@ -1617,20 +1613,17 @@ multiclass SurfaceStoreIntrinsics<string clamp, TexVector vec> {
16171613}
16181614
16191615// Unformatted
1620- foreach clamp = ["clamp", "trap", "zero"] in {
1616+ foreach clamp = ["clamp", "trap", "zero"] in
16211617 foreach vec = [TV_I8, TV_I16, TV_I32, TV_I64,
16221618 TV_V2I8, TV_V2I16, TV_V2I32, TV_V2I64,
1623- TV_V4I8, TV_V4I16, TV_V4I32] in {
1619+ TV_V4I8, TV_V4I16, TV_V4I32] in
16241620 defm int_nvvm_sust_b : SurfaceStoreIntrinsics<clamp, vec>;
1625- }
1626- }
16271621
16281622// Formatted
16291623foreach vec = [TV_I8, TV_I16, TV_I32,
16301624 TV_V2I8, TV_V2I16, TV_V2I32,
1631- TV_V4I8, TV_V4I16, TV_V4I32] in {
1625+ TV_V4I8, TV_V4I16, TV_V4I32] in
16321626 defm int_nvvm_sust_p : SurfaceStoreIntrinsics<"trap", vec>;
1633- }
16341627
16351628// Accessing special registers.
16361629
0 commit comments