Skip to content

Commit efc5e7c

Browse files
committed
Update unified fp intrinsics
See rust-lang/rust#136543
1 parent 5c9af37 commit efc5e7c

File tree

4 files changed

+19
-71
lines changed

4 files changed

+19
-71
lines changed

checker/src/call_visitor.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,14 +1146,10 @@ impl<'call, 'block, 'analysis, 'compilation, 'tcx>
11461146
| KnownNames::StdIntrinsicsLogf32
11471147
| KnownNames::StdIntrinsicsLogf64
11481148
| KnownNames::StdIntrinsicsLogf128
1149-
| KnownNames::StdIntrinsicsNearbyintf16
1150-
| KnownNames::StdIntrinsicsNearbyintf32
1151-
| KnownNames::StdIntrinsicsNearbyintf64
1152-
| KnownNames::StdIntrinsicsNearbyintf128
1153-
| KnownNames::StdIntrinsicsRintf16
1154-
| KnownNames::StdIntrinsicsRintf32
1155-
| KnownNames::StdIntrinsicsRintf64
1156-
| KnownNames::StdIntrinsicsRintf128
1149+
| KnownNames::StdIntrinsicsRoundTiesEvenf16
1150+
| KnownNames::StdIntrinsicsRoundTiesEvenf32
1151+
| KnownNames::StdIntrinsicsRoundTiesEvenf64
1152+
| KnownNames::StdIntrinsicsRoundTiesEvenf128
11571153
| KnownNames::StdIntrinsicsRoundf16
11581154
| KnownNames::StdIntrinsicsRoundf32
11591155
| KnownNames::StdIntrinsicsRoundf64

checker/src/constant_domain.rs

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -862,14 +862,8 @@ impl ConstantDomain {
862862
KnownNames::StdIntrinsicsLog10f16 => val.log10(),
863863
KnownNames::StdIntrinsicsLog2f16 => val.log2(),
864864
KnownNames::StdIntrinsicsLogf16 => val.ln(),
865-
KnownNames::StdIntrinsicsNearbyintf16 => unsafe {
866-
std::intrinsics::nearbyintf16(val)
867-
},
868-
KnownNames::StdIntrinsicsRintf16 => unsafe {
869-
std::intrinsics::rintf16(val)
870-
},
871865
KnownNames::StdIntrinsicsRoundf16 => val.round(),
872-
KnownNames::StdIntrinsicsRevenf16 => f16::round_ties_even(val),
866+
KnownNames::StdIntrinsicsRoundTiesEvenf16 => f16::round_ties_even(val),
873867
KnownNames::StdIntrinsicsSinf16 => val.sin(),
874868
KnownNames::StdIntrinsicsSqrtf16 => val.sqrt(),
875869
KnownNames::StdIntrinsicsTruncf16 => val.trunc(),
@@ -891,14 +885,8 @@ impl ConstantDomain {
891885
KnownNames::StdIntrinsicsLog10f32 => val.log10(),
892886
KnownNames::StdIntrinsicsLog2f32 => val.log2(),
893887
KnownNames::StdIntrinsicsLogf32 => val.ln(),
894-
KnownNames::StdIntrinsicsNearbyintf32 => unsafe {
895-
std::intrinsics::nearbyintf32(val)
896-
},
897-
KnownNames::StdIntrinsicsRintf32 => unsafe {
898-
std::intrinsics::rintf32(val)
899-
},
900888
KnownNames::StdIntrinsicsRoundf32 => val.round(),
901-
KnownNames::StdIntrinsicsRevenf32 => f32::round_ties_even(val),
889+
KnownNames::StdIntrinsicsRoundTiesEvenf32 => f32::round_ties_even(val),
902890
KnownNames::StdIntrinsicsSinf32 => val.sin(),
903891
KnownNames::StdIntrinsicsSqrtf32 => val.sqrt(),
904892
KnownNames::StdIntrinsicsTruncf32 => val.trunc(),
@@ -920,14 +908,8 @@ impl ConstantDomain {
920908
KnownNames::StdIntrinsicsLog10f64 => val.log10(),
921909
KnownNames::StdIntrinsicsLog2f64 => val.log2(),
922910
KnownNames::StdIntrinsicsLogf64 => val.ln(),
923-
KnownNames::StdIntrinsicsNearbyintf64 => unsafe {
924-
std::intrinsics::nearbyintf64(val)
925-
},
926-
KnownNames::StdIntrinsicsRintf64 => unsafe {
927-
std::intrinsics::rintf64(val)
928-
},
929911
KnownNames::StdIntrinsicsRoundf64 => val.round(),
930-
KnownNames::StdIntrinsicsRevenf64 => f64::round_ties_even(val),
912+
KnownNames::StdIntrinsicsRoundTiesEvenf64 => f64::round_ties_even(val),
931913
KnownNames::StdIntrinsicsSinf64 => val.sin(),
932914
KnownNames::StdIntrinsicsSqrtf64 => val.sqrt(),
933915
KnownNames::StdIntrinsicsTruncf64 => val.trunc(),
@@ -949,14 +931,8 @@ impl ConstantDomain {
949931
// KnownNames::StdIntrinsicsLog10f128 => val.log10(),
950932
// KnownNames::StdIntrinsicsLog2f128 => val.log2(),
951933
// KnownNames::StdIntrinsicsLogf128 => val.ln(),
952-
// KnownNames::StdIntrinsicsNearbyintf128 => unsafe {
953-
// std::intrinsics::nearbyintf128(val)
954-
// },
955-
// KnownNames::StdIntrinsicsRintf128 => unsafe {
956-
// std::intrinsics::rintf128(val)
957-
// },
958934
// KnownNames::StdIntrinsicsRoundf128 => val.round(),
959-
// KnownNames::StdIntrinsicsRevenf128 => f128::round_ties_even(val),
935+
// KnownNames::StdIntrinsicsRoundTiesEvenf128 => f128::round_ties_even(val),
960936
// KnownNames::StdIntrinsicsSinf128 => val.sin(),
961937
// KnownNames::StdIntrinsicsSqrtf128 => val.sqrt(),
962938
// KnownNames::StdIntrinsicsTruncf128 => val.trunc(),

checker/src/expression.rs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,10 +1099,8 @@ impl Expression {
10991099
| KnownNames::StdIntrinsicsLog10f16
11001100
| KnownNames::StdIntrinsicsLog2f16
11011101
| KnownNames::StdIntrinsicsLogf16
1102-
| KnownNames::StdIntrinsicsNearbyintf16
1103-
| KnownNames::StdIntrinsicsRintf16
11041102
| KnownNames::StdIntrinsicsRoundf16
1105-
| KnownNames::StdIntrinsicsRevenf16
1103+
| KnownNames::StdIntrinsicsRoundTiesEvenf16
11061104
| KnownNames::StdIntrinsicsSinf16
11071105
| KnownNames::StdIntrinsicsSqrtf16
11081106
| KnownNames::StdIntrinsicsTruncf16 => ExpressionType::F16,
@@ -1115,10 +1113,8 @@ impl Expression {
11151113
| KnownNames::StdIntrinsicsLog10f32
11161114
| KnownNames::StdIntrinsicsLog2f32
11171115
| KnownNames::StdIntrinsicsLogf32
1118-
| KnownNames::StdIntrinsicsNearbyintf32
1119-
| KnownNames::StdIntrinsicsRintf32
11201116
| KnownNames::StdIntrinsicsRoundf32
1121-
| KnownNames::StdIntrinsicsRevenf32
1117+
| KnownNames::StdIntrinsicsRoundTiesEvenf32
11221118
| KnownNames::StdIntrinsicsSinf32
11231119
| KnownNames::StdIntrinsicsSqrtf32
11241120
| KnownNames::StdIntrinsicsTruncf32 => ExpressionType::F32,
@@ -1131,10 +1127,8 @@ impl Expression {
11311127
| KnownNames::StdIntrinsicsLog10f64
11321128
| KnownNames::StdIntrinsicsLog2f64
11331129
| KnownNames::StdIntrinsicsLogf64
1134-
| KnownNames::StdIntrinsicsNearbyintf64
1135-
| KnownNames::StdIntrinsicsRintf64
11361130
| KnownNames::StdIntrinsicsRoundf64
1137-
| KnownNames::StdIntrinsicsRevenf64
1131+
| KnownNames::StdIntrinsicsRoundTiesEvenf64
11381132
| KnownNames::StdIntrinsicsSinf64
11391133
| KnownNames::StdIntrinsicsSqrtf64
11401134
| KnownNames::StdIntrinsicsTruncf64 => ExpressionType::F64,
@@ -1147,8 +1141,6 @@ impl Expression {
11471141
// | KnownNames::StdIntrinsicsLog10f128
11481142
// | KnownNames::StdIntrinsicsLog2f128
11491143
// | KnownNames::StdIntrinsicsLogf128
1150-
// | KnownNames::StdIntrinsicsNearbyintf128
1151-
// | KnownNames::StdIntrinsicsRintf128
11521144
// | KnownNames::StdIntrinsicsRoundf128
11531145
// | KnownNames::StdIntrinsicsRevenf128
11541146
// | KnownNames::StdIntrinsicsSinf128

checker/src/known_names.rs

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,6 @@ pub enum KnownNames {
110110
StdIntrinsicsMinnumf64,
111111
StdIntrinsicsMinnumf128,
112112
StdIntrinsicsMulWithOverflow,
113-
StdIntrinsicsNearbyintf16,
114-
StdIntrinsicsNearbyintf32,
115-
StdIntrinsicsNearbyintf64,
116-
StdIntrinsicsNearbyintf128,
117113
StdIntrinsicsNeedsDrop,
118114
StdIntrinsicsOffset,
119115
StdIntrinsicsPowf16,
@@ -126,18 +122,14 @@ pub enum KnownNames {
126122
StdIntrinsicsPowif128,
127123
StdIntrinsicsPrefAlignOfVal,
128124
StdIntrinsicsRawEq,
129-
StdIntrinsicsRintf16,
130-
StdIntrinsicsRintf32,
131-
StdIntrinsicsRintf64,
132-
StdIntrinsicsRintf128,
133125
StdIntrinsicsRoundf16,
134126
StdIntrinsicsRoundf32,
135127
StdIntrinsicsRoundf64,
136128
StdIntrinsicsRoundf128,
137-
StdIntrinsicsRevenf16,
138-
StdIntrinsicsRevenf32,
139-
StdIntrinsicsRevenf64,
140-
StdIntrinsicsRevenf128,
129+
StdIntrinsicsRoundTiesEvenf16,
130+
StdIntrinsicsRoundTiesEvenf32,
131+
StdIntrinsicsRoundTiesEvenf64,
132+
StdIntrinsicsRoundTiesEvenf128,
141133
StdIntrinsicsSinf16,
142134
StdIntrinsicsSinf32,
143135
StdIntrinsicsSinf64,
@@ -408,10 +400,6 @@ fn known_name_for_intrinsics_namespace(
408400
"minnumf64" => KnownNames::StdIntrinsicsMinnumf64,
409401
"minnumf128" => KnownNames::StdIntrinsicsMinnumf128,
410402
"mul_with_overflow" => KnownNames::StdIntrinsicsMulWithOverflow,
411-
"nearbyintf16" => KnownNames::StdIntrinsicsNearbyintf16,
412-
"nearbyintf32" => KnownNames::StdIntrinsicsNearbyintf32,
413-
"nearbyintf64" => KnownNames::StdIntrinsicsNearbyintf64,
414-
"nearbyintf128" => KnownNames::StdIntrinsicsNearbyintf128,
415403
"needs_drop" => KnownNames::StdIntrinsicsNeedsDrop,
416404
"offset" => KnownNames::StdIntrinsicsOffset,
417405
"powf16" => KnownNames::StdIntrinsicsPowf16,
@@ -424,18 +412,14 @@ fn known_name_for_intrinsics_namespace(
424412
"powif128" => KnownNames::StdIntrinsicsPowif128,
425413
"pref_align_of_val" => KnownNames::StdIntrinsicsPrefAlignOfVal,
426414
"raw_eq" => KnownNames::StdIntrinsicsRawEq,
427-
"rintf16" => KnownNames::StdIntrinsicsRintf16,
428-
"rintf32" => KnownNames::StdIntrinsicsRintf32,
429-
"rintf64" => KnownNames::StdIntrinsicsRintf64,
430-
"rintf128" => KnownNames::StdIntrinsicsRintf128,
431415
"roundf16" => KnownNames::StdIntrinsicsRoundf16,
432416
"roundf32" => KnownNames::StdIntrinsicsRoundf32,
433417
"roundf64" => KnownNames::StdIntrinsicsRoundf64,
434418
"roundf128" => KnownNames::StdIntrinsicsRoundf128,
435-
"roundevenf16" => KnownNames::StdIntrinsicsRevenf16,
436-
"roundevenf32" => KnownNames::StdIntrinsicsRevenf32,
437-
"roundevenf64" => KnownNames::StdIntrinsicsRevenf64,
438-
"roundevenf128" => KnownNames::StdIntrinsicsRevenf128,
419+
"round_ties_even_f16" => KnownNames::StdIntrinsicsRoundTiesEvenf16,
420+
"round_ties_even_f32" => KnownNames::StdIntrinsicsRoundTiesEvenf32,
421+
"round_ties_even_f64" => KnownNames::StdIntrinsicsRoundTiesEvenf64,
422+
"round_ties_even_f128" => KnownNames::StdIntrinsicsRoundTiesEvenf128,
439423
"sinf16" => KnownNames::StdIntrinsicsSinf16,
440424
"sinf32" => KnownNames::StdIntrinsicsSinf32,
441425
"sinf64" => KnownNames::StdIntrinsicsSinf64,

0 commit comments

Comments
 (0)