This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [3/4] [AArch64] SVE tests


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.sandiford@linaro.org>
> 	    Alan Hayward  <alan.hayward@arm.com>
> 	    David Sherwood  <david.sherwood@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.
> 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]