aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-11-18 15:27:56 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-11-18 15:27:56 +0000
commit13c247d6f2a75b7e7a11546e897489716bc31506 (patch)
tree0abb0a06b28004f8567d7b28e9840f2c7748a456 /gcc/cse.c
parent8489e1f45b50600c01eb8ed8c5d0ca914ded281c (diff)
downloadgcc-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