]> gcc.gnu.org Git - gcc.git/commit
[aarch64] Improve code-gen for vector initialization with single constant element.
authorPrathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Mon, 12 Jun 2023 17:44:40 +0000 (23:14 +0530)
committerPrathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Mon, 12 Jun 2023 17:48:40 +0000 (23:18 +0530)
commit9eb757d11746c006c044ff45538b956be7f5859c
treedb6ffb843942fa4f28303b899a36df769252ff9a
parent38944ec2a6fa108d24e5cfbb24c52020f9aa3015
[aarch64] Improve code-gen for vector initialization with single constant element.

gcc/ChangeLog:
* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Tweak condition
if (n_var == n_elts && n_elts <= 16) to allow a single constant,
and if maxv == 1, use constant element for duplicating into register.

gcc/testsuite/ChangeLog:
* gcc.target/aarch64/vec-init-single-const.c: New test.
* gcc.target/aarch64/vec-init-single-const-be.c: Likewise.
* gcc.target/aarch64/vec-init-single-const-2.c: Likewise.
gcc/config/aarch64/aarch64.cc
gcc/testsuite/gcc.target/aarch64/vec-init-single-const-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/vec-init-single-const-be.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/vec-init-single-const.c [new file with mode: 0644]
This page took 0.062458 seconds and 5 git commands to generate.