@@ -1493,7 +1493,8 @@ let TargetPrefix = "nvvm" in {
14931493 }
14941494 }
14951495
1496- // RS rounding mode conversions for f16x2, bf16x2 types
1496+ // RS rounding mode (Stochastic Rounding) conversions for f16x2, bf16x2 types
1497+ // The last i32 operand provides the random bits for the conversion
14971498 foreach relu = ["", "_relu"] in {
14981499 foreach satfinite = ["", "_satfinite"] in {
14991500 def int_nvvm_ff2f16x2_rs # relu # satfinite : NVVMBuiltin,
@@ -1527,7 +1528,8 @@ let TargetPrefix = "nvvm" in {
15271528 }
15281529 }
15291530
1530- // RS rounding mode conversions for f8x4 types
1531+ // RS rounding mode (Stochastic Rounding) conversions for f8x4 types
1532+ // The last i32 operand provides the random bits for the conversion
15311533 foreach type = ["e4m3x4", "e5m2x4"] in {
15321534 foreach relu = ["", "_relu"] in {
15331535 def int_nvvm_f32x4_to_ # type # _rs # relu # _satfinite : NVVMBuiltin,
@@ -1544,7 +1546,8 @@ let TargetPrefix = "nvvm" in {
15441546 PureIntrinsic<[llvm_v2f16_ty], [llvm_i16_ty]>;
15451547 }
15461548
1547- // RS rounding mode conversions for f4x4 type
1549+ // RS rounding mode (Stochastic Rounding) conversions for f4x4 type
1550+ // The last i32 operand provides the random bits for the conversion
15481551 foreach relu = ["", "_relu"] in {
15491552 def int_nvvm_f32x4_to_e2m1x4_rs # relu # _satfinite : NVVMBuiltin,
15501553 PureIntrinsic<[llvm_i16_ty], [llvm_v4f32_ty, llvm_i32_ty]>;
@@ -1561,7 +1564,8 @@ let TargetPrefix = "nvvm" in {
15611564 }
15621565 }
15631566
1564- // RS rounding mode conversions for f6x4 types
1567+ // RS rounding mode (Stochastic Rounding) conversions for f6x4 types
1568+ // The last i32 operand provides the random bits for the conversion
15651569 foreach type = ["e2m3x4", "e3m2x4"] in {
15661570 foreach relu = ["", "_relu"] in {
15671571 def int_nvvm_f32x4_to_ # type # _rs # relu # _satfinite : NVVMBuiltin,
0 commit comments