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
This commit is contained in:
Alan Lehotsky 2000-12-28 00:55:03 -05:00 committed by Alan Lehotsky
parent 6147e9d0c9
commit 5da1e2c489
3 changed files with 8 additions and 1 deletions

View File

@ -127,6 +127,7 @@ Brendan Kehoe brendan@redhat.com
Mumit Khan khan@xraylith.wisc.edu
Benjamin Kosnik bkoz@redhat.com
Marc Lehmann pcg@goof.com
Alan Lehotsky apl@alum.mit.edu
Warren Levy warrenl@redhat.com
Kriang Lerdsuwanakij lerdsuwa@users.sourceforge.net
Don Lindsay dlindsay@redhat.com
@ -164,3 +165,4 @@ John Wehle john@feith.com
Mark Wielaard mark@gcc.gnu.org
* Indicates folks we need to get Kerberos/ssh accounts ready so they
can write in the source tree

View File

@ -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

View File

@ -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++)
{