summaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-28 20:31:17 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-28 20:31:17 +0000
commitd145b68bfe2a14742cde08b4ced743d93b62bfc0 (patch)
treed215dd29e4cf213704a2c9a5dbe053e8d2c8665d /gcc/simplify-rtx.c
parent8a93a82f2c713e39a5555e2b5aa553c67637b5c2 (diff)
downloadgcc-d145b68bfe2a14742cde08b4ced743d93b62bfc0.tar.gz
gcc/
2015-07-28 David Sherwood <david.sherwood@arm.com> * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226328 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index e2f34c4c0d2..1a717cc1f27 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);