aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Lehotsky <lehotsky@tiac.net>2000-12-28 00:55:03 -0500
committerAlan Lehotsky <alehotsky@gcc.gnu.org>2000-12-28 00:55:03 -0500
commit5da1e2c4897295fb32739724224a86c866dff1d5 (patch)
tree185a9f5c1528c031565b2f62583628da4e9719f9 /gcc
parent6147e9d0c9a0f329bb278c73321400525c0066ae (diff)
downloadgcc-5da1e2c4897295fb32739724224a86c866dff1d5.zip
gcc-5da1e2c4897295fb32739724224a86c866dff1d5.tar.gz
gcc-5da1e2c4897295fb32739724224a86c866dff1d5.tar.bz2
expmed.c (store_bit_field): Correctly compute smallest mode that is sufficient to contain all bits we are...
* expmed.c (store_bit_field): Correctly compute smallest mode that is sufficient to contain all bits we are storing. From-SVN: r38507
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expmed.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3780316..6cb60d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-12-28 <lehotsky@tiac.net>
+
+ * expmed.c (store_bit_field): Correctly compute smallest mode that
+ is sufficient to contain all bits we are storing.
+
2000-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* builtins.c (build_function_call_expr): New function. Use it
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 351dfe4..89aa3e7 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -399,7 +399,7 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, align, total_size)
VOIDmode, because that is what store_field uses to indicate that this
is a bit field, but passing VOIDmode to operand_subword_force will
result in an abort. */
- fieldmode = mode_for_size (nwords * BITS_PER_WORD, MODE_INT, 0);
+ fieldmode = smallest_mode_for_size (nwords * BITS_PER_WORD, MODE_INT, 0);
for (i = 0; i < nwords; i++)
{