This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [AArch64] Fix SVE testsuite failures for ILP32 (PR 83846)
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Richard Sandiford <richard dot sandiford at linaro dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, <nd at arm dot com>
- Date: Thu, 1 Feb 2018 10:57:39 +0000
- Subject: Re: [AArch64] Fix SVE testsuite failures for ILP32 (PR 83846)
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=bestguesspass action=none header.from=arm.com;
- Nodisclaimer: True
- References: <87d11wofy9.fsf@linaro.org>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Fri, Jan 26, 2018 at 02:25:02PM +0000, Richard Sandiford wrote:
> The SVE tests are split into code-quality compile tests and runtime
> tests. A lot of the former are geared towards LP64. It would be
> possible (but tedious!) to mark up every line that is expected to work
> only for LP64, but I think it would be a constant source of problems.
>
> Since the code has not been tuned for ILP32 yet, I think the best
> thing is to select only the runtime tests for that combination.
> They all pass on aarch64-elf and aarch64_be-elf except vec-cond-[34].c,
> which are unsupported due to the lack of fenv support.
>
> The patch also replaces uses of built-in types with stdint.h types
> where possible. (This excludes tests that change the endianness,
> since we can't assume that system header files work in that case.)
>
> Tested on aarch64_be-elf and aarch64-linux-gnu. OK to install?
This is unfortunate, but I suppose this is the pragmatic fix. I hope we
can turn them back on in GCC 9.
Maybe this should have a bugzilla to track that?
OK.
James
> 2018-01-17 Richard Sandiford <richard.sandiford@linaro.org>
>
> gcc/testsuite/
> PR testsuite/83846
> * gcc.target/aarch64/sve/aarch64-sve.exp: Only do *_run tests
> for ILP32.
> * gcc.target/aarch64/sve/clastb_2_run.c (main): Use TYPE instead
> of hard-coding the choice.
> * gcc.target/aarch64/sve/clastb_4_run.c (main): Likewise.
> * gcc.target/aarch64/sve/clastb_5_run.c (main): Likewise.
> * gcc.target/aarch64/sve/clastb_3_run.c (main): Likewise. Generalize
> memset call.
> * gcc.target/aarch64/sve/const_pred_1.C: Include stdint.h and use
> stdint.h types.
> * 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/load_const_offset_2.c: Likewise.
> * gcc.target/aarch64/sve/logical_1.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise.
> * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_1.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_2.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_2_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_3.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_3_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_4.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_4_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_7.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_8.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_8_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_9.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_9_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_10.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_10_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_11.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_11_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_12.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_12_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_13.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_13_run.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_14.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_18.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_19.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_20.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_21.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_22.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_23.c: Likewise.
> * gcc.target/aarch64/sve/popcount_1.c (popcount_64): Use
> __builtin_popcountll rather than __builtin_popcountl.