OSDN Git Service

2006-06-08 Paolo Bonzini <bonzini@gnu.org>
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Jun 2006 15:40:48 +0000 (15:40 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Jun 2006 15:40:48 +0000 (15:40 +0000)
PR middle-end/27733
* expmed.c (struct alg_hash_entry): Fix type of field T
to match synth_mult argument.
(NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114488 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expmed.c

index d840d64..654c990 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR middle-end/27733
+       * expmed.c (struct alg_hash_entry): Fix type of field T
+       to match synth_mult argument.
+       (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
+
 2006-06-08  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
 
        PR target/27863
index 56c0d24..2e8906e 100644 (file)
@@ -2395,7 +2395,7 @@ struct algorithm
 /* The entry for our multiplication cache/hash table.  */
 struct alg_hash_entry {
   /* The number we are multiplying by.  */
-  unsigned int t;
+  unsigned HOST_WIDE_INT t;
 
   /* The mode in which we are multiplying something by T.  */
   enum machine_mode mode;
@@ -2410,7 +2410,11 @@ struct alg_hash_entry {
 };
 
 /* The number of cache/hash entries.  */
+#if HOST_BITS_PER_WIDE_INT == 64
+#define NUM_ALG_HASH_ENTRIES 1031
+#else
 #define NUM_ALG_HASH_ENTRIES 307
+#endif
 
 /* Each entry of ALG_HASH caches alg_code for some integer.  This is
    actually a hash table.  If we have a collision, that the older