Resync inline implementation of ceil_log2 (PR 86506)
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Jul 2018 11:23:26 +0000 (11:23 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Jul 2018 11:23:26 +0000 (11:23 +0000)
In r262961 I only updated the out-of-line copy of ceil_log2.  This patch
applies the same change to the other (inline) one.

2018-07-30  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR tree-optimization/86506
* hwint.h (ceil_log2): Resync with hwint.c implementation.

From-SVN: r263064

gcc/ChangeLog
gcc/hwint.h

index c635f776e34e0753c8ca5f39c541c87a3bcb83d7..33f5e9f52255d5aa534ba7a4d26873f06ab29e74 100644 (file)
@@ -1,3 +1,8 @@
+2018-07-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/86506
+       * hwint.h (ceil_log2): Resync with hwint.c implementation.
+
 2018-07-30  Ilya Leoshkevich  <iii@linux.ibm.com>
 
         PR target/86547
index 5054d8e3883e119b9293ee683efcb20bc1ecc915..8068cad12293e6f1ae9a68ec691ccb17588ebc13 100644 (file)
@@ -242,7 +242,7 @@ floor_log2 (unsigned HOST_WIDE_INT x)
 static inline int
 ceil_log2 (unsigned HOST_WIDE_INT x)
 {
-  return floor_log2 (x - 1) + 1;
+  return x == 0 ? 0 : floor_log2 (x - 1) + 1;
 }
 
 static inline int