Skip to content

Commit d5ca981

Browse files
authored
Merge pull request rust-lang#697 from tgross35/f16-asm
Resolve FIXMEs related to `f16` assembly
2 parents 243871e + 5849947 commit d5ca981

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

testcrate/benches/float_extend.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ float_bench! {
1515
sys_available: not(feature = "no-sys-f16"),
1616
asm: [
1717
#[cfg(target_arch = "aarch64")] {
18-
// FIXME(f16_f128): remove `to_bits()` after f16 asm support (rust-lang/rust/#116909)
1918
let ret: f32;
2019
asm!(
2120
"fcvt {ret:s}, {a:h}",
22-
a = in(vreg) a.to_bits(),
21+
a = in(vreg) a,
2322
ret = lateout(vreg) ret,
2423
options(nomem, nostack, pure),
2524
);
@@ -96,9 +95,7 @@ pub fn float_extend() {
9695
extend_f16_f32(&mut criterion);
9796

9897
#[cfg(f128_enabled)]
99-
{
100-
extend_f16_f128(&mut criterion);
101-
}
98+
extend_f16_f128(&mut criterion);
10299
}
103100

104101
extend_f32_f64(&mut criterion);

testcrate/benches/float_trunc.rs

+5-9
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,15 @@ float_bench! {
1414
sys_available: not(feature = "no-sys-f16"),
1515
asm: [
1616
#[cfg(target_arch = "aarch64")] {
17-
// FIXME(f16_f128): remove `from_bits()` after f16 asm support (rust-lang/rust/#116909)
18-
let ret: u16;
17+
let ret: f16;
1918
asm!(
2019
"fcvt {ret:h}, {a:s}",
2120
a = in(vreg) a,
2221
ret = lateout(vreg) ret,
2322
options(nomem, nostack, pure),
2423
);
2524

26-
f16::from_bits(ret)
25+
ret
2726
};
2827
],
2928
}
@@ -37,16 +36,15 @@ float_bench! {
3736
sys_available: not(feature = "no-sys-f16"),
3837
asm: [
3938
#[cfg(target_arch = "aarch64")] {
40-
// FIXME(f16_f128): remove `from_bits()` after f16 asm support (rust-lang/rust/#116909)
41-
let ret: u16;
39+
let ret: f16;
4240
asm!(
4341
"fcvt {ret:h}, {a:d}",
4442
a = in(vreg) a,
4543
ret = lateout(vreg) ret,
4644
options(nomem, nostack, pure),
4745
);
4846

49-
f16::from_bits(ret)
47+
ret
5048
};
5149
],
5250
}
@@ -138,9 +136,7 @@ pub fn float_trunc() {
138136
// FIXME(#655): `f16` tests disabled until we can bootstrap symbols
139137
#[cfg(f16_enabled)]
140138
#[cfg(not(any(target_arch = "powerpc", target_arch = "powerpc64")))]
141-
{
142-
trunc_f128_f16(&mut criterion);
143-
}
139+
trunc_f128_f16(&mut criterion);
144140

145141
trunc_f128_f32(&mut criterion);
146142
trunc_f128_f64(&mut criterion);

0 commit comments

Comments
 (0)