From 1c0e448f4bfc9538e9f8be1fd9a0b9ad9bda0dde Mon Sep 17 00:00:00 2001 From: David Sherwood Date: Tue, 28 Jul 2015 20:31:17 +0000 Subject: arm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally. gcc/ 2015-07-28 David Sherwood * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call GET_MODE_INNER unconditionally. * config/spu/spu.c (arith_immediate_p): Likewise. * config/i386/i386.c (ix86_build_signbit_mask): Likewise. * expmed.c (synth_mult): Remove check for VOIDmode result from GET_MODE_INNER. (expand_mult_const): Likewise. * fold-const.c (fold_binary_loc): Replace call to element_precision with call to GET_MODE_PRECISION. * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with m->name. (emit_mode_inner): Likewise. * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER result check. * machmode.h (GET_MODE_UNIT_SIZE): Simplify. (GET_MODE_UNIT_PRECISION): Likewise. * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally. * simplify-rtx.c (simplify_immed_subreg): Likewise. * stor-layout.c (bitwise_type_for_mode): Update assert. (element_precision): Remove. From-SVN: r226328 --- gcc/simplify-rtx.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'gcc/simplify-rtx.c') 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); -- cgit v1.1