From: wilson Date: Tue, 11 Nov 2003 20:54:38 +0000 (+0000) Subject: Undo accidental GET_MODE_BITSIZE damage. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=bc9d42da8aa0134ef6ec942159f8774821b4ca53;ds=sidebyside Undo accidental GET_MODE_BITSIZE damage. (store_bit_field, extract_bit_field): Revert last two changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73463 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e25e22b1f49..b07f54a6c4d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-11-11 James E Wilson + + * expmed.c (store_bit_field, extract_bit_field): Revert last two + changes. + 2003-11-11 Kazu Hirata * config/h8300/lib1funcs.asm: Replace DenHighZero with diff --git a/gcc/expmed.c b/gcc/expmed.c index cb30ff35db6..d93be934be3 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -326,17 +326,13 @@ store_bit_field (rtx str_rtx, unsigned HOST_WIDE_INT bitsize, If the target is memory, storing any naturally aligned field can be done with a simple store. For targets that support fast unaligned - memory, any naturally sized, unit aligned field can be done directly. - - It's okay if the requested bitsize is greater than fieldmode's - bitsize; that just means the mode has padding bits. */ + memory, any naturally sized, unit aligned field can be done directly. */ byte_offset = (bitnum % BITS_PER_WORD) / BITS_PER_UNIT + (offset * UNITS_PER_WORD); if (bitpos == 0 - && GET_MODE_BITSIZE (fieldmode) != 0 - && bitsize >= GET_MODE_BITSIZE (fieldmode) + && bitsize == GET_MODE_BITSIZE (fieldmode) && (GET_CODE (op0) != MEM ? ((GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD || GET_MODE_SIZE (GET_MODE (op0)) == GET_MODE_SIZE (fieldmode)) @@ -1033,12 +1029,9 @@ extract_bit_field (rtx str_rtx, unsigned HOST_WIDE_INT bitsize, if (GET_CODE (op0) == REG && mode == GET_MODE (op0) && bitnum == 0 - && GET_MODE_BITSIZE (GET_MODE (op0)) != 0 - && bitsize >= GET_MODE_BITSIZE (GET_MODE (op0))) + && bitsize == GET_MODE_BITSIZE (GET_MODE (op0))) { - /* We're trying to extract a full register from itself. - (If the requested bitsize is greater than the bitsize of op0, - that just means op0's mode has padding bits.) */ + /* We're trying to extract a full register from itself. */ return op0; }