r278410 - in /trunk/gcc: ChangeLog fold-const.c...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Mon Nov 18 15:27:00 GMT 2019
Author: rsandifo
Date: Mon Nov 18 15:27:56 2019
New Revision: 278410
URL: https://gcc.gnu.org/viewcvs?rev=278410&root=gcc&view=rev
Log:
Handle VIEW_CONVERT_EXPR for variable-length vectors
This patch handles VIEW_CONVERT_EXPRs of variable-length VECTOR_CSTs
by adding tree-level versions of native_decode_vector_rtx and
simplify_const_vector_subreg. It uses the same code for fixed-length
vectors, both to get more coverage and because operating directly on
the compressed encoding should be more efficient for longer vectors
with a regular pattern.
The structure and comments are very similar between the tree and
rtx routines.
2019-11-18 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* fold-const.c (native_encode_vector): Turn into a wrapper function,
splitting the main code out into...
(native_encode_vector_part): ...this new function.
(native_decode_vector_tree): New function.
(fold_view_convert_vector_encoding): Likewise.
(fold_view_convert_expr): Use it for converting VECTOR_CSTs
to VECTOR_TYPEs.
gcc/testsuite/
* gcc.target/aarch64/sve/acle/general/temporaries_1.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/sve/acle/general/temporaries_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list