https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88837
--- Comment #1 from prathamesh3492 at gcc dot gnu.org --- Author: prathamesh3492 Date: Mon Jun 3 09:35:37 2019 New Revision: 271857 URL: https://gcc.gnu.org/viewcvs?rev=271857&root=gcc&view=rev Log: 2019-06-03 Prathamesh Kulkarni <prathamesh.kulka...@linaro.org> PR target/88837 * vector-builder.h (vector_builder::count_dups): New method. * config/aarch64/aarch64-protos.h (aarch64_expand_sve_vector_init): Declare prototype. * config/aarch64/aarch64/sve.md (aarch64_sve_rev64<mode>): Use @. (vec_init<mode><Vel>): New pattern. * config/aarch64/aarch64.c (emit_insr): New function. (aarch64_sve_expand_vector_init_handle_trailing_constants): Likewise. (aarch64_sve_expand_vector_init_insert_elems): Likewise. (aarch64_sve_expand_vector_init_handle_trailing_same_elem): Likewise. (aarch64_sve_expand_vector_init): Define two overloaded functions. testsuite/ * gcc.target/aarch64/sve/init_1.c: New test. * gcc.target/aarch64/sve/init_1_run.c: Likewise. * gcc.target/aarch64/sve/init_2.c: Likewise. * gcc.target/aarch64/sve/init_2_run.c: Likewise. * gcc.target/aarch64/sve/init_3.c: Likewise. * gcc.target/aarch64/sve/init_3_run.c: Likewise. * gcc.target/aarch64/sve/init_4.c: Likewise. * gcc.target/aarch64/sve/init_4_run.c: Likewise. * gcc.target/aarch64/sve/init_5.c: Likewise. * gcc.target/aarch64/sve/init_5_run.c: Likewise. * gcc.target/aarch64/sve/init_6.c: Likewise. * gcc.target/aarch64/sve/init_6_run.c: Likewise. * gcc.target/aarch64/sve/init_7.c: Likewise. * gcc.target/aarch64/sve/init_7_run.c: Likewise. * gcc.target/aarch64/sve/init_8.c: Likewise. * gcc.target/aarch64/sve/init_8_run.c: Likewise. * gcc.target/aarch64/sve/init_9.c: Likewise. * gcc.target/aarch64/sve/init_9_run.c: Likewise. * gcc.target/aarch64/sve/init_10.c: Likewise. * gcc.target/aarch64/sve/init_10_run.c: Likewise. * gcc.target/aarch64/sve/init_11.c: Likewise. * gcc.target/aarch64/sve/init_11_run.c: Likewise. * gcc.target/aarch64/sve/init_12.c: Likewise. * gcc.target/aarch64/sve/init_12_run.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/aarch64/sve/init_1.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_10.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_10_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_11.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_11_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_12.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_12_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_1_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_2.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_2_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_3.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_3_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_4.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_4_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_5.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_5_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_6.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_6_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_7.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_7_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_8.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_8_run.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_9.c trunk/gcc/testsuite/gcc.target/aarch64/sve/init_9_run.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64-protos.h trunk/gcc/config/aarch64/aarch64-sve.md trunk/gcc/config/aarch64/aarch64.c trunk/gcc/testsuite/ChangeLog trunk/gcc/vector-builder.h