aboutsummaryrefslogtreecommitdiff
path: root/src/lj_strscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_strscan.c')
-rw-r--r--src/lj_strscan.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_strscan.c b/src/lj_strscan.c
index 0e37a4f6..11abd526 100644
--- a/src/lj_strscan.c
+++ b/src/lj_strscan.c
@@ -79,7 +79,7 @@ static void strscan_double(uint64_t x, TValue *o, int32_t ex2, int32_t neg)
79 /* Avoid double rounding for denormals. */ 79 /* Avoid double rounding for denormals. */
80 if (LJ_UNLIKELY(ex2 <= -1075 && x != 0)) { 80 if (LJ_UNLIKELY(ex2 <= -1075 && x != 0)) {
81 /* NYI: all of this generates way too much code on 32 bit CPUs. */ 81 /* NYI: all of this generates way too much code on 32 bit CPUs. */
82#if defined(__GNUC__) && LJ_64 82#if (defined(__GNUC__) || defined(__clang__)) && LJ_64
83 int32_t b = (int32_t)(__builtin_clzll(x)^63); 83 int32_t b = (int32_t)(__builtin_clzll(x)^63);
84#else 84#else
85 int32_t b = (x>>32) ? 32+(int32_t)lj_fls((uint32_t)(x>>32)) : 85 int32_t b = (x>>32) ? 32+(int32_t)lj_fls((uint32_t)(x>>32)) :