diff options
author | Jonathan Wright <jonathan.wright@arm.com> | 2021-07-16 15:34:38 +0100 |
---|---|---|
committer | Jonathan Wright <jonathan.wright@arm.com> | 2021-07-27 10:42:33 +0100 |
commit | 3bc9db6a989671bedf19e61bd1b21f79588e99da (patch) | |
tree | d658c0f489f3895ab00b4a1351a40394b55306c1 /gcc/tree-vrp.c | |
parent | d88a6951586c7229b25708f4486eaaf4bf4b5bbe (diff) | |
download | gcc-3bc9db6a989671bedf19e61bd1b21f79588e99da.zip gcc-3bc9db6a989671bedf19e61bd1b21f79588e99da.tar.gz gcc-3bc9db6a989671bedf19e61bd1b21f79588e99da.tar.bz2 |
simplify-rtx: Push sign/zero-extension inside vec_duplicate
As a general principle, vec_duplicate should be as close to the root
of an expression as possible. Where unary operations have
vec_duplicate as an argument, these operations should be pushed
inside the vec_duplicate.
This patch modifies unary operation simplification to push
sign/zero-extension of a scalar inside vec_duplicate.
This patch also updates all RTL patterns in aarch64-simd.md to use
the new canonical form.
gcc/ChangeLog:
2021-07-19 Jonathan Wright <jonathan.wright@arm.com>
* config/aarch64/aarch64-simd.md: Push sign/zero-extension
inside vec_duplicate for all patterns.
* simplify-rtx.c (simplify_context::simplify_unary_operation_1):
Push sign/zero-extension inside vec_duplicate.
Diffstat (limited to 'gcc/tree-vrp.c')
0 files changed, 0 insertions, 0 deletions