aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2021-02-18 23:50:56 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-02-18 23:50:56 +0000
commit015fd0f2a06d43d5274e6d9a9675f7d575df0316 (patch)
treebf795792c727b7d3d47af92580a2ac7157e72cd1
parent9a78dff918d9ff9c13af0e9d271c60f85b2e1ebc (diff)
parent39516316e3ebca9e30fe9c4c6194a7c2c120d47b (diff)
downloadFP16-android12-qpr1-d-release.tar.gz
Original change: https://android-review.googlesource.com/c/platform/external/FP16/+/1592859 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I2bc65e43ffe3fb920c36d421565df7f6b01d572c
-rw-r--r--include/fp16/fp16.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/fp16/fp16.h b/include/fp16/fp16.h
index 2b61fff..a283d67 100644
--- a/include/fp16/fp16.h
+++ b/include/fp16/fp16.h
@@ -64,7 +64,7 @@ static inline uint32_t fp16_ieee_to_fp32_bits(uint16_t h) {
_BitScanReverse(&nonsign_bsr, (unsigned long) nonsign);
uint32_t renorm_shift = (uint32_t) nonsign_bsr ^ 31;
#else
- uint32_t renorm_shift = __builtin_clz(nonsign);
+ uint32_t renorm_shift = nonsign ? __builtin_clz(nonsign) : 32;
#endif
renorm_shift = renorm_shift > 5 ? renorm_shift - 5 : 0;
/*
@@ -293,7 +293,7 @@ static inline uint32_t fp16_alt_to_fp32_bits(uint16_t h) {
_BitScanReverse(&nonsign_bsr, (unsigned long) nonsign);
uint32_t renorm_shift = (uint32_t) nonsign_bsr ^ 31;
#else
- uint32_t renorm_shift = __builtin_clz(nonsign);
+ uint32_t renorm_shift = nonsign ? __builtin_clz(nonsign) : 32;
#endif
renorm_shift = renorm_shift > 5 ? renorm_shift - 5 : 0;
/*