diff options
Diffstat (limited to 'gcc/config/mips/mips.c')
-rw-r--r-- | gcc/config/mips/mips.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 7d97b34..06a13f8 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -6850,7 +6850,7 @@ mips_get_unaligned_mem (rtx *op, HOST_WIDE_INT width, HOST_WIDE_INT bitpos, /* Adjust *OP to refer to the whole field. This also has the effect of legitimizing *OP's address for BLKmode, possibly simplifying it. */ *op = adjust_address (*op, BLKmode, 0); - set_mem_size (*op, GEN_INT (width / BITS_PER_UNIT)); + set_mem_size (*op, width / BITS_PER_UNIT); /* Get references to both ends of the field. We deliberately don't use the original QImode *OP for FIRST since the new BLKmode one @@ -6950,13 +6950,9 @@ mips_expand_ins_as_unaligned_store (rtx dest, rtx src, HOST_WIDE_INT width, bool mips_mem_fits_mode_p (enum machine_mode mode, rtx x) { - rtx size; - - if (!MEM_P (x)) - return false; - - size = MEM_SIZE (x); - return size && INTVAL (size) == GET_MODE_SIZE (mode); + return (MEM_P (x) + && MEM_SIZE_KNOWN_P (x) + && MEM_SIZE (x) == GET_MODE_SIZE (mode)); } /* Return true if (zero_extract OP WIDTH BITPOS) can be used as the |