diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-11-18 15:27:56 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-11-18 15:27:56 +0000 |
commit | 13c247d6f2a75b7e7a11546e897489716bc31506 (patch) | |
tree | 0abb0a06b28004f8567d7b28e9840f2c7748a456 /gcc/cse.c | |
parent | 8489e1f45b50600c01eb8ed8c5d0ca914ded281c (diff) | |
download | gcc-13c247d6f2a75b7e7a11546e897489716bc31506.zip gcc-13c247d6f2a75b7e7a11546e897489716bc31506.tar.gz gcc-13c247d6f2a75b7e7a11546e897489716bc31506.tar.bz2 |
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.
From-SVN: r278410
Diffstat (limited to 'gcc/cse.c')
0 files changed, 0 insertions, 0 deletions