Fix undefined behavior (UB) from calling builtin_clz(0) am: c2b391b076

Original change: https://android-review.googlesource.com/c/platform/external/FP16/+/1592859

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I60fa6df65faf5bc160772bf1727264b3bdc514fe
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 @@
 	_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 @@
 	_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;
 	/*