Skip to content

Commit cec668f

Browse files
authored
Rollup merge of #146737 - RalfJung:f16-f128-miri, r=tgross35
f16_f128: enable some more tests in Miri For some reason, a bunch of tests were disabled in Miri that don't use any fancy intrinsics. Let's enable them. I verified this with `./x miri library/core --no-doc -- float`. r? `@tgross35`
2 parents 8e62f95 + f509dff commit cec668f

File tree

1 file changed

+15
-17
lines changed
  • library/coretests/tests/floats

1 file changed

+15
-17
lines changed

library/coretests/tests/floats/mod.rs

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,15 +1190,12 @@ float_test! {
11901190
}
11911191
}
11921192

1193-
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
1194-
// the intrinsics.
1195-
11961193
float_test! {
11971194
name: sqrt_domain,
11981195
attrs: {
11991196
const: #[cfg(false)],
1200-
f16: #[cfg(all(not(miri), target_has_reliable_f16_math))],
1201-
f128: #[cfg(all(not(miri), target_has_reliable_f128_math))],
1197+
f16: #[cfg(any(miri, target_has_reliable_f16_math))],
1198+
f128: #[cfg(any(miri, target_has_reliable_f128_math))],
12021199
},
12031200
test<Float> {
12041201
assert!(Float::NAN.sqrt().is_nan());
@@ -1256,8 +1253,8 @@ float_test! {
12561253
float_test! {
12571254
name: total_cmp,
12581255
attrs: {
1259-
f16: #[cfg(all(not(miri), target_has_reliable_f16_math))],
1260-
f128: #[cfg(all(not(miri), target_has_reliable_f128_math))],
1256+
f16: #[cfg(any(miri, target_has_reliable_f16_math))],
1257+
f128: #[cfg(any(miri, target_has_reliable_f128_math))],
12611258
},
12621259
test<Float> {
12631260
use core::cmp::Ordering;
@@ -1365,8 +1362,8 @@ float_test! {
13651362
name: total_cmp_s_nan,
13661363
attrs: {
13671364
const: #[cfg(false)],
1368-
f16: #[cfg(false)],
1369-
f128: #[cfg(all(not(miri), target_has_reliable_f128_math))],
1365+
f16: #[cfg(miri)],
1366+
f128: #[cfg(any(miri, target_has_reliable_f128_math))],
13701367
},
13711368
test<Float> {
13721369
use core::cmp::Ordering;
@@ -1442,6 +1439,7 @@ float_test! {
14421439
name: powi,
14431440
attrs: {
14441441
const: #[cfg(false)],
1442+
// FIXME(f16_f128): `powi` does not work in Miri for these types
14451443
f16: #[cfg(all(not(miri), target_has_reliable_f16_math))],
14461444
f128: #[cfg(all(not(miri), target_has_reliable_f128_math))],
14471445
},
@@ -1462,8 +1460,8 @@ float_test! {
14621460
float_test! {
14631461
name: to_degrees,
14641462
attrs: {
1465-
f16: #[cfg(target_has_reliable_f16)],
1466-
f128: #[cfg(target_has_reliable_f128)],
1463+
f16: #[cfg(any(miri, target_has_reliable_f16))],
1464+
f128: #[cfg(any(miri, target_has_reliable_f128))],
14671465
},
14681466
test<Float> {
14691467
let pi: Float = Float::PI;
@@ -1483,8 +1481,8 @@ float_test! {
14831481
float_test! {
14841482
name: to_radians,
14851483
attrs: {
1486-
f16: #[cfg(target_has_reliable_f16)],
1487-
f128: #[cfg(target_has_reliable_f128)],
1484+
f16: #[cfg(any(miri, target_has_reliable_f16))],
1485+
f128: #[cfg(any(miri, target_has_reliable_f128))],
14881486
},
14891487
test<Float> {
14901488
let pi: Float = Float::PI;
@@ -1504,8 +1502,8 @@ float_test! {
15041502
float_test! {
15051503
name: to_algebraic,
15061504
attrs: {
1507-
f16: #[cfg(target_has_reliable_f16)],
1508-
f128: #[cfg(target_has_reliable_f128)],
1505+
f16: #[cfg(any(miri, target_has_reliable_f16))],
1506+
f128: #[cfg(any(miri, target_has_reliable_f128))],
15091507
},
15101508
test<Float> {
15111509
let a: Float = 123.0;
@@ -1528,8 +1526,8 @@ float_test! {
15281526
float_test! {
15291527
name: to_bits_conv,
15301528
attrs: {
1531-
f16: #[cfg(target_has_reliable_f16)],
1532-
f128: #[cfg(target_has_reliable_f128)],
1529+
f16: #[cfg(any(miri, target_has_reliable_f16))],
1530+
f128: #[cfg(any(miri, target_has_reliable_f128))],
15331531
},
15341532
test<Float> {
15351533
assert_biteq!(flt(1.0), Float::RAW_1);

0 commit comments

Comments
 (0)