[PATCH][1/N] Change GET_MODE_INNER to always return a non-void mode

David Sherwood david.sherwood@arm.com
Mon Jul 27 10:36:00 GMT 2015


Hi,

Sorry, I forgot to mention I tested this on:

aarch64 and aarch64_be - no regressions in gcc testsuite
x86_64 - bootstrap build, no testsuite regressions
arm-none-eabi - no regressions in gcc testsuite

I will also make sure that I can do cross builds on a variety of different targets.

Regards,
David.

> -----Original Message-----
> From: David Sherwood [mailto:david.sherwood@arm.com]
> Sent: 27 July 2015 11:25
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH][1/N] Change GET_MODE_INNER to always return a non-void mode
> 
> Hi,
> 
> Part 1 of this change is a clean-up. I have changed calls to GET_MODE_INNER (m)
> so that it returns m in cases where there is no inner mode. This simplifies some
> of the calling code by removing the need to check for VOIDmode and allows
> calling it unconditionally. I also removed element_precision () as it was only
> called in one place and thought it neater to call GET_MODE_PRECISION explicitly.
> 
> Parts 2-4 will include further tidy-ups and optimisations based on [1/N].
> 
> Good to go?
> 
> Regards,
> David Sherwood.
> 
> 2015-07-17  David Sherwood  <david.sherwood@arm.com>
> 
>     gcc/
>         * 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.  New variable.
>         * expmed.c (synth_mult): Remove check for VOIDmode result from
>         GET_MODE_INNER.
>         (expand_mult_const): Likewise.
>         * fold-const.c (): 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.





More information about the Gcc-patches mailing list