On 11/16/19 6:38 AM, Richard Sandiford wrote:
> 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.
>
> Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
>
> Richard
>
>
> 2019-11-15 Richard Sandiford <richard.sandif...@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.
OK
jeff
>