diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1222335..30aad8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-05-07 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant. + 2005-05-07 Paul Brook <paul@codesourcery.com> * Makefile.in: Fix dependencies. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 55b8a94..0c8abb1 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1729,9 +1729,11 @@ { operands[2] = gen_reg_rtx (<MODE>mode); operands[3] = gen_reg_rtx (<MODE>mode); - operands[4] = force_reg (<MODE>mode, <MODE>mode == SImode - ? GEN_INT (0x01010101) - : GEN_INT (0x0101010101010101LL)); + operands[4] = force_reg (<MODE>mode, + <MODE>mode == SImode + ? GEN_INT (0x01010101) + : GEN_INT ((HOST_WIDE_INT) + 0x01010101 << 32 | 0x01010101)); operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - 8); }) |