summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-08 02:35:49 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-08 02:35:49 +0000
commite868511f4de100479bb6c49ee6b2f84297bbc202 (patch)
treed86a7a340d2a6e6c6a24d8981cf2691932ebb02e /gcc
parentcc331293d5e7b3edd5f64edbfd19310f846aca95 (diff)
downloadgcc-e868511f4de100479bb6c49ee6b2f84297bbc202.tar.gz
* config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99377 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/rs6000/rs6000.md8
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 122233575c7..30aad8da17e 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 55b8a943ce9..0c8abb10f29 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);
})