diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2016-11-21 16:04:15 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2016-11-21 16:04:15 +0000 |
commit | 6fce0013981ae41c0b44baa4cd59904ff5762bfc (patch) | |
tree | f15bf870ea8ef2140d19f38333c1dac6909c6f9b | |
parent | c30752be91a7c2dd914b0e882bed7eaa379774fd (diff) | |
download | gcc-6fce0013981ae41c0b44baa4cd59904ff5762bfc.zip gcc-6fce0013981ae41c0b44baa4cd59904ff5762bfc.tar.gz gcc-6fce0013981ae41c0b44baa4cd59904ff5762bfc.tar.bz2 |
avr.c (avr_popcount): Remove static function.
gcc/
* config/avr/avr.c (avr_popcount): Remove static function.
(avr_popcount_each_byte, avr_out_bitop): Use popcount_hwi instead.
From-SVN: r242670
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 21 |
2 files changed, 7 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5957b95..74fb057 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-11-21 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c (avr_popcount): Remove static function. + (avr_popcount_each_byte, avr_out_bitop): Use popcount_hwi instead. + 2016-11-21 Richard Earnshaw <rearnsha@arm.com> * arm.opt (mapcs-float): Delete option. diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e527a50..0cfebf0 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -243,23 +243,6 @@ avr_tolower (char *lo, const char *up) } -/* Custom function to count number of set bits. */ - -static inline int -avr_popcount (unsigned int val) -{ - int pop = 0; - - while (val) - { - val &= val-1; - pop++; - } - - return pop; -} - - /* Constraint helper function. XVAL is a CONST_INT or a CONST_DOUBLE. Return true if the least significant N_BYTES bytes of XVAL all have a popcount in POP_MASK and false, otherwise. POP_MASK represents a subset @@ -280,7 +263,7 @@ avr_popcount_each_byte (rtx xval, int n_bytes, int pop_mask) rtx xval8 = simplify_gen_subreg (QImode, xval, mode, i); unsigned int val8 = UINTVAL (xval8) & GET_MODE_MASK (QImode); - if (0 == (pop_mask & (1 << avr_popcount (val8)))) + if (0 == (pop_mask & (1 << popcount_hwi (val8)))) return false; } @@ -8135,7 +8118,7 @@ avr_out_bitop (rtx insn, rtx *xop, int *plen) unsigned int val8 = UINTVAL (xval8) & GET_MODE_MASK (QImode); /* Number of bits set in the current byte of the constant. */ - int pop8 = avr_popcount (val8); + int pop8 = popcount_hwi (val8); /* Registers R16..R31 can operate with immediate. */ bool ld_reg_p = test_hard_reg_class (LD_REGS, reg8); |