1 | use crate::float::add::__adddf3; |
2 | use crate::float::add::__addsf3; |
3 | use crate::float::Float; |
4 | |
5 | intrinsics! { |
6 | #[avr_skip] |
7 | #[arm_aeabi_alias = __aeabi_fsub] |
8 | pub extern "C" fn __subsf3(a: f32, b: f32) -> f32 { |
9 | __addsf3(a, f32::from_repr(b.repr() ^ f32::SIGN_MASK)) |
10 | } |
11 | |
12 | #[avr_skip] |
13 | #[arm_aeabi_alias = __aeabi_dsub] |
14 | pub extern "C" fn __subdf3(a: f64, b: f64) -> f64 { |
15 | __adddf3(a, f64::from_repr(b.repr() ^ f64::SIGN_MASK)) |
16 | } |
17 | |
18 | #[cfg (target_arch = "arm" )] |
19 | pub extern "C" fn __subsf3vfp(a: f32, b: f32) -> f32 { |
20 | a - b |
21 | } |
22 | |
23 | #[cfg (target_arch = "arm" )] |
24 | pub extern "C" fn __subdf3vfp(a: f64, b: f64) -> f64 { |
25 | a - b |
26 | } |
27 | } |
28 | |