diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-08 15:40:48 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-08 15:40:48 +0000 |
commit | 65801c1c5d0c18501a01e8fef286e25357248b7b (patch) | |
tree | fbbdd2212c6d4f150fe51ab35d8f06e6f18863fc /gcc/expmed.c | |
parent | 3d203535dfdd2f10c778354292ce6ea04ed8042b (diff) | |
download | gcc-65801c1c5d0c18501a01e8fef286e25357248b7b.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114488 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index 56c0d24bd66..2e8906eb7a9 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -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 |