On Fri, Nov 03, 2017 at 05:50:54PM +0000, Richard Sandiford wrote:
> This patch adds gcc.target/aarch64 tests for SVE, and forces some
> existing Advanced SIMD tests to use -march=armv8-a.

I'm going to assume that these new testcases are broadly sensible, and not
spend any significant time looking at them.

I'm not completely happy forcing the architecture to Armv8-a - it would be
useful for our testing coverage if users which have configured with other
architecture variants had this test execute in those environments. That
way we'd check we still do the right thing once we have an implicit
-march=armv8.2-a .

However, as we don't have a good way to make that happen (other than maybe
only forcing the arch if we are in a configuration wired for SVE?) I'm
happy with this patch as a compromise for now.

OK, but a modification to cover the above point would make me happier.

Thanks,
James

> 
> 
> 2017-11-03  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/testsuite/
>       * gcc.target/aarch64/bic_imm_1.c: Force -march=armv8-a.
>       * gcc.target/aarch64/fmaxmin.c: Likewise.
>       * gcc.target/aarch64/fmul_fcvt_2.c: Likewise.
>       * gcc.target/aarch64/orr_imm_1.c: Likewise.
>       * gcc.target/aarch64/pr62178.c: Likewise.
>       * gcc.target/aarch64/pr71727-2.c: Likewise.
>       * gcc.target/aarch64/saddw-1.c: Likewise.
>       * gcc.target/aarch64/saddw-2.c: Likewise.
>       * gcc.target/aarch64/uaddw-1.c: Likewise.
>       * gcc.target/aarch64/uaddw-2.c: Likewise.
>       * gcc.target/aarch64/uaddw-3.c: Likewise.
>       * gcc.target/aarch64/vect-add-sub-cond.c: Likewise.
>       * gcc.target/aarch64/vect-compile.c: Likewise.
>       * gcc.target/aarch64/vect-faddv-compile.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-eq-d.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
>       * gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
>       * gcc.target/aarch64/vect-fmax-fmin-compile.c: Likewise.
>       * gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Likewise.
>       * gcc.target/aarch64/vect-fmovd-zero.c: Likewise.
>       * gcc.target/aarch64/vect-fmovd.c: Likewise.
>       * gcc.target/aarch64/vect-fmovf-zero.c: Likewise.
>       * gcc.target/aarch64/vect-fmovf.c: Likewise.
>       * gcc.target/aarch64/vect-fp-compile.c: Likewise.
>       * gcc.target/aarch64/vect-ld1r-compile-fp.c: Likewise.
>       * gcc.target/aarch64/vect-ld1r-compile.c: Likewise.
>       * gcc.target/aarch64/vect-movi.c: Likewise.
>       * gcc.target/aarch64/vect-mull-compile.c: Likewise.
>       * gcc.target/aarch64/vect-reduc-or_1.c: Likewise.
>       * gcc.target/aarch64/vect-vaddv.c: Likewise.
>       * gcc.target/aarch64/vect_saddl_1.c: Likewise.
>       * gcc.target/aarch64/vect_smlal_1.c: Likewise.
>       * gcc.target/aarch64/vector_initialization_nostack.c: XFAIL for
>       fixed-length SVE.
>       * gcc.target/aarch64/sve_arith_1.c: New test.
>       * gcc.target/aarch64/sve_const_pred_1.C: Likewise.
>       * gcc.target/aarch64/sve_const_pred_2.C: Likewise.
>       * gcc.target/aarch64/sve_const_pred_3.C: Likewise.
>       * gcc.target/aarch64/sve_const_pred_4.C: Likewise.
>       * gcc.target/aarch64/sve_cvtf_signed_1.c: Likewise.
>       * gcc.target/aarch64/sve_cvtf_signed_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_cvtf_unsigned_1.c: Likewise.
>       * gcc.target/aarch64/sve_cvtf_unsigned_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_dup_imm_1.c: Likewise.
>       * gcc.target/aarch64/sve_dup_imm_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_dup_lane_1.c: Likewise.
>       * gcc.target/aarch64/sve_ext_1.c: Likewise.
>       * gcc.target/aarch64/sve_ext_2.c: Likewise.
>       * gcc.target/aarch64/sve_extract_1.c: Likewise.
>       * gcc.target/aarch64/sve_extract_2.c: Likewise.
>       * gcc.target/aarch64/sve_extract_3.c: Likewise.
>       * gcc.target/aarch64/sve_extract_4.c: Likewise.
>       * gcc.target/aarch64/sve_fabs_1.c: Likewise.
>       * gcc.target/aarch64/sve_fcvtz_signed_1.c: Likewise.
>       * gcc.target/aarch64/sve_fcvtz_signed_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_fcvtz_unsigned_1.c: Likewise.
>       * gcc.target/aarch64/sve_fcvtz_unsigned_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_fdiv_1.c: Likewise.
>       * gcc.target/aarch64/sve_fdup_1.c: Likewise.
>       * gcc.target/aarch64/sve_fdup_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_fmad_1.c: Likewise.
>       * gcc.target/aarch64/sve_fmla_1.c: Likewise.
>       * gcc.target/aarch64/sve_fmls_1.c: Likewise.
>       * gcc.target/aarch64/sve_fmsb_1.c: Likewise.
>       * gcc.target/aarch64/sve_fmul_1.c: Likewise.
>       * gcc.target/aarch64/sve_fneg_1.c: Likewise.
>       * gcc.target/aarch64/sve_fnmad_1.c: Likewise.
>       * gcc.target/aarch64/sve_fnmla_1.c: Likewise.
>       * gcc.target/aarch64/sve_fnmls_1.c: Likewise.
>       * gcc.target/aarch64/sve_fnmsb_1.c: Likewise.
>       * gcc.target/aarch64/sve_fp_arith_1.c: Likewise.
>       * gcc.target/aarch64/sve_frinta_1.c: Likewise.
>       * gcc.target/aarch64/sve_frinti_1.c: Likewise.
>       * gcc.target/aarch64/sve_frintm_1.c: Likewise.
>       * gcc.target/aarch64/sve_frintp_1.c: Likewise.
>       * gcc.target/aarch64/sve_frintx_1.c: Likewise.
>       * gcc.target/aarch64/sve_frintz_1.c: Likewise.
>       * gcc.target/aarch64/sve_fsqrt_1.c: Likewise.
>       * gcc.target/aarch64/sve_fsubr_1.c: Likewise.
>       * gcc.target/aarch64/sve_index_1.c: Likewise.
>       * gcc.target/aarch64/sve_index_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_ld1r_1.c: Likewise.
>       * gcc.target/aarch64/sve_load_const_offset_1.c: Likewise.
>       * gcc.target/aarch64/sve_load_scalar_offset_1.c: Likewise.
>       * gcc.target/aarch64/sve_logical_1.c: Likewise.
>       * gcc.target/aarch64/sve_loop_add_1.c: Likewise.
>       * gcc.target/aarch64/sve_loop_add_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_mad_1.c: Likewise.
>       * gcc.target/aarch64/sve_maxmin_1.c: Likewise.
>       * gcc.target/aarch64/sve_maxmin_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_maxmin_strict_1.c: Likewise.
>       * gcc.target/aarch64/sve_maxmin_strict_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_mla_1.c: Likewise.
>       * gcc.target/aarch64/sve_mls_1.c: Likewise.
>       * gcc.target/aarch64/sve_mov_rr_1.c: Likewise.
>       * gcc.target/aarch64/sve_msb_1.c: Likewise.
>       * gcc.target/aarch64/sve_mul_1.c: Likewise.
>       * gcc.target/aarch64/sve_neg_1.c: Likewise.
>       * gcc.target/aarch64/sve_nlogical_1.c: Likewise.
>       * gcc.target/aarch64/sve_nlogical_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_pack_1.c: Likewise.
>       * gcc.target/aarch64/sve_pack_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_pack_fcvt_signed_1.c: Likewise.
>       * gcc.target/aarch64/sve_pack_fcvt_signed_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_pack_fcvt_unsigned_1.c: Likewise.
>       * gcc.target/aarch64/sve_pack_fcvt_unsigned_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_pack_float_1.c: Likewise.
>       * gcc.target/aarch64/sve_pack_float_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_popcount_1.c: Likewise.
>       * gcc.target/aarch64/sve_popcount_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_reduc_1.c: Likewise.
>       * gcc.target/aarch64/sve_reduc_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_reduc_2.c: Likewise.
>       * gcc.target/aarch64/sve_reduc_2_run.c: Likewise.
>       * gcc.target/aarch64/sve_reduc_3.c: Likewise.
>       * gcc.target/aarch64/sve_revb_1.c: Likewise.
>       * gcc.target/aarch64/sve_revh_1.c: Likewise.
>       * gcc.target/aarch64/sve_revw_1.c: Likewise.
>       * gcc.target/aarch64/sve_shift_1.c: Likewise.
>       * gcc.target/aarch64/sve_single_1.c: Likewise.
>       * gcc.target/aarch64/sve_single_2.c: Likewise.
>       * gcc.target/aarch64/sve_single_3.c: Likewise.
>       * gcc.target/aarch64/sve_single_4.c: Likewise.
>       * gcc.target/aarch64/sve_store_scalar_offset_1.c: Likewise.
>       * gcc.target/aarch64/sve_subr_1.c: Likewise.
>       * gcc.target/aarch64/sve_trn1_1.c: Likewise.
>       * gcc.target/aarch64/sve_trn2_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_fcvt_signed_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_fcvt_signed_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_fcvt_unsigned_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_fcvt_unsigned_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_float_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_float_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_signed_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_signed_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_unsigned_1.c: Likewise.
>       * gcc.target/aarch64/sve_unpack_unsigned_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_uzp1_1.c: Likewise.
>       * gcc.target/aarch64/sve_uzp1_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_uzp2_1.c: Likewise.
>       * gcc.target/aarch64/sve_uzp2_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_1.C: Likewise.
>       * gcc.target/aarch64/sve_vcond_1_run.C: Likewise.
>       * gcc.target/aarch64/sve_vcond_2.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_2_run.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_3.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_4.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_4_run.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_5.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_5_run.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_6.c: Likewise.
>       * gcc.target/aarch64/sve_vcond_6_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_init_1.c: Likewise.
>       * gcc.target/aarch64/sve_vec_init_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_init_2.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_1.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_1_overrange_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_const_1.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_const_1_overrun.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_const_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_const_single_1.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_const_single_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_single_1.c: Likewise.
>       * gcc.target/aarch64/sve_vec_perm_single_1_run.c: Likewise.
>       * gcc.target/aarch64/sve_zip1_1.c: Likewise.
>       * gcc.target/aarch64/sve_zip2_1.c: Likewise.
> 


Reply via email to