diff options
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index e2f34c4..1a717cc 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -5650,21 +5650,17 @@ simplify_immed_subreg (machine_mode outermode, rtx op, value_start = byte * (BITS_PER_UNIT / value_bit); /* Re-pack the value. */ + num_elem = GET_MODE_NUNITS (outermode); if (VECTOR_MODE_P (outermode)) { - num_elem = GET_MODE_NUNITS (outermode); result_v = rtvec_alloc (num_elem); elems = &RTVEC_ELT (result_v, 0); - outer_submode = GET_MODE_INNER (outermode); } else - { - num_elem = 1; - elems = &result_s; - outer_submode = outermode; - } + elems = &result_s; + outer_submode = GET_MODE_INNER (outermode); outer_class = GET_MODE_CLASS (outer_submode); elem_bitsize = GET_MODE_BITSIZE (outer_submode); |