On 07/13/2017 02:41 AM, Richard Sandiford wrote:
> This patch adds a macro that extracts the TYPE_MODE and forcibly
> converts it to a scalar_float_mode.  The forcible conversion
> includes a gcc_checking_assert that the mode is a SCALAR_FLOAT_MODE_P.
> 
> This becomes important as more static type checking is added by
> later patches.  It has the additional benefit of bypassing the
> VECTOR_TYPE_P (...) ? vector_type_mode (...) : ... condition
> in TYPE_MODE; in release builds the new macro is a simple
> field access.
> 
> 2017-07-13  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * tree.h (SCALAR_FLOAT_TYPE_MODE): New macro.
>       * builtins.c (expand_builtin_signbit): Use it instead of TYPE_MODE.
>       * fold-const.c (fold_convert_const_real_from_fixed): Likewise.
>       (native_encode_real): Likewise.
>       (native_interpret_real): Likewise.
>       * hsa-brig.c (emit_immediate_scalar_to_buffer): Likewise.
>       * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
> 
> gcc/cp/
>       * mangle.c (write_real_cst): Use SCALAR_FLOAT_TYPE_MODE
>       instead of TYPE_MODE.
> 
> gcc/fortran/
>       * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
>       instead of TYPE_MODE.
> 
> gcc/objc/
>       * objc-encoding.c (encode_type): Use SCALAR_FLOAT_TYPE_MODE
>       instead of TYPE_MODE.
OK.
jeff

Reply via email to