Changeset View
Changeset View
Standalone View
Standalone View
contrib/llvm-project/compiler-rt/lib/builtins/floatunsidf.c
Show All 11 Lines | |||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
#define DOUBLE_PRECISION | #define DOUBLE_PRECISION | ||||
#include "fp_lib.h" | #include "fp_lib.h" | ||||
#include "int_lib.h" | #include "int_lib.h" | ||||
COMPILER_RT_ABI fp_t __floatunsidf(unsigned int a) { | /* | ||||
* Newer versions of GCC are expecting that this will not be hidden, and use it | |||||
* in some optimizations. | |||||
*/ | |||||
COMPILER_RT_ABI fp_t __attribute__((visibility("default"))) | |||||
__floatunsidf(unsigned int a) { | |||||
const int aWidth = sizeof a * CHAR_BIT; | const int aWidth = sizeof a * CHAR_BIT; | ||||
// Handle zero as a special case to protect clz | // Handle zero as a special case to protect clz | ||||
if (a == 0) | if (a == 0) | ||||
return fromRep(0); | return fromRep(0); | ||||
// Exponent of (fp_t)a is the width of abs(a). | // Exponent of (fp_t)a is the width of abs(a). | ||||
Show All 19 Lines |