Make more use of GET_MODE_UNIT_PRECISION
authorRichard Sandiford <richard.sandiford@linaro.org>
Sun, 22 Oct 2017 21:39:29 +0000 (21:39 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 22 Oct 2017 21:39:29 +0000 (21:39 +0000)
commitbb06a2d85567fc0d5d82d28629ebc54453c35f17
tree4eaaa8513cdd739b4ec805e56e182a356e6d60b9
parent1e3734f59eee29ed335da8fc9f40e66903f64b20
Make more use of GET_MODE_UNIT_PRECISION

This patch is like the earlier GET_MODE_UNIT_SIZE one,
but for precisions rather than sizes.  There is one behavioural
change in expand_debug_expr: we shouldn't use lowpart subregs
for non-scalar truncations, since that would just reinterpret
some of the scalars and drop the rest.  (This probably doesn't
trigger in practice.)  Using TRUNCATE is fine for scalars,
since simplify_gen_unary knows when a subreg can be used.

2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* cfgexpand.c (expand_debug_expr): Use GET_MODE_UNIT_PRECISION.
(expand_debug_source_expr): Likewise.
* combine.c (combine_simplify_rtx): Likewise.
* cse.c (fold_rtx): Likewise.
* optabs.c (expand_float): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
(simplify_binary_operation_1): Likewise.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r253991
gcc/ChangeLog
gcc/cfgexpand.c
gcc/combine.c
gcc/cse.c
gcc/optabs.c
gcc/simplify-rtx.c