diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 986b0d0886f..5ba1dd7536d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,8 @@ * expmed.c (store_bit_field): Use simplify_gen_subreg to make SUBREG so we avoid SUBREGing memory. + * expmed.c (store_bit_field): Same. + 2001-11-02 DJ Delorie * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that diff --git a/gcc/expr.c b/gcc/expr.c index bf7ec926d7e..32b193a234b 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -544,9 +544,9 @@ convert_move (to, from, unsignedp) abort (); if (VECTOR_MODE_P (to_mode)) - from = gen_rtx_SUBREG (to_mode, from, 0); + from = simplify_gen_subreg (to_mode, from, GET_MODE (from), 0); else - to = gen_rtx_SUBREG (from_mode, to, 0); + to = simplify_gen_subreg (from_mode, to, GET_MODE (to), 0); emit_move_insn (to, from); return;