aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadedge.c
diff options
context:
space:
mode:
authorJonathan Wright <jonathan.wright@arm.com>2021-07-16 15:34:38 +0100
committerJonathan Wright <jonathan.wright@arm.com>2021-07-27 10:42:33 +0100
commit3bc9db6a989671bedf19e61bd1b21f79588e99da (patch)
treed658c0f489f3895ab00b4a1351a40394b55306c1 /gcc/tree-ssa-threadedge.c
parentd88a6951586c7229b25708f4486eaaf4bf4b5bbe (diff)
downloadgcc-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-ssa-threadedge.c')
0 files changed, 0 insertions, 0 deletions