summaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-09-15 17:45:25 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-09-15 17:45:25 +0000
commit91be0bbd0265ac40c2697a411b9a21b07e6123c1 (patch)
tree4762734c7ea321b1fd3f623605699ea0d5440f28 /gcc/expmed.c
parent18af6409147b8542fb9159eda8bd228c753e3822 (diff)
downloadgcc-91be0bbd0265ac40c2697a411b9a21b07e6123c1.tar.gz
(store_split_bit_field): Use number of bits in arg not
BITS_PER_WORD to adjust arg in BYTES_BIG_ENDIAN case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8086 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 45d0dfe93e7..715aedf91d2 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -751,7 +751,8 @@ store_split_bit_field (op0, bitsize, bitpos, value, align)
Give extract_bit_field the value it needs (with endianness
compensation) to fetch the piece we want. */
part = extract_fixed_bit_field (word_mode, value, 0, thissize,
- BITS_PER_WORD - bitsize + bitsdone,
+ GET_MODE_BITSIZE (GET_MODE (value))
+ - bitsize + bitsdone,
NULL_RTX, 1, align);
#else
/* Fetch successively more significant portions. */