about summary refs log tree commit diff
path: root/library/compiler-builtins/compiler-builtins/src/float/sub.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/compiler-builtins/compiler-builtins/src/float/sub.rs')
-rw-r--r--library/compiler-builtins/compiler-builtins/src/float/sub.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/library/compiler-builtins/compiler-builtins/src/float/sub.rs b/library/compiler-builtins/compiler-builtins/src/float/sub.rs
index a0fd9dff97f..48ef33b0b82 100644
--- a/library/compiler-builtins/compiler-builtins/src/float/sub.rs
+++ b/library/compiler-builtins/compiler-builtins/src/float/sub.rs
@@ -1,6 +1,11 @@
 use crate::float::Float;
 
 intrinsics! {
+    #[cfg(f16_enabled)]
+    pub extern "C" fn __subhf3(a: f16, b: f16) -> f16 {
+        crate::float::add::__addhf3(a, f16::from_bits(b.to_bits() ^ f16::SIGN_MASK))
+    }
+
     #[arm_aeabi_alias = __aeabi_fsub]
     pub extern "C" fn __subsf3(a: f32, b: f32) -> f32 {
         crate::float::add::__addsf3(a, f32::from_bits(b.to_bits() ^ f32::SIGN_MASK))