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-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@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. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251460
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
Make-lang.in | Loading commit data... | |
config-lang.in | Loading commit data... | |
lang-specs.h | Loading commit data... | |
objc-act.c | Loading commit data... | |
objc-act.h | Loading commit data... | |
objc-encoding.c | Loading commit data... | |
objc-encoding.h | Loading commit data... | |
objc-gnu-runtime-abi-01.c | Loading commit data... | |
objc-lang.c | Loading commit data... | |
objc-map.c | Loading commit data... | |
objc-map.h | Loading commit data... | |
objc-next-metadata-tags.h | Loading commit data... | |
objc-next-runtime-abi-01.c | Loading commit data... | |
objc-next-runtime-abi-02.c | Loading commit data... | |
objc-runtime-hooks.h | Loading commit data... | |
objc-runtime-shared-support.c | Loading commit data... | |
objc-runtime-shared-support.h | Loading commit data... | |
objc-tree.def | Loading commit data... |