On 20/11/2023 13:36, Christophe Lyon wrote:
On Mon, 20 Nov 2023 at 13:44, Richard Earnshaw
<richard.earns...@foss.arm.com> wrote:



On 20/11/2023 10:23, Christophe Lyon wrote:
Hi Richard,

On Mon, 13 Nov 2023 at 15:28, Richard Earnshaw <rearn...@arm.com> wrote:


A number of tests in the gcc testsuite, especially for arm-specific
targets, add various flags to control the architecture.  These run
into problems when the compiler is configured with -mfpu=auto if the
new architecture lacks an architectural feature that implies we have
floating-point instructions.

The testsuite makes this worse as it falls foul of this requirement in
the base architecture strings provided by target-supports.exp.

To fix this we add "+fp", or something equivalent to this, to all the
base architecture specifications.  The feature will be ignored if the
float ABI is set to soft.

gcc/testsuite:

         * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
         Add base FPU specifications to all architectures that can support
         one.
---
  gcc/testsuite/lib/target-supports.exp | 50 +++++++++++++--------------
  1 file changed, 25 insertions(+), 25 deletions(-)


Our CI has detected some regressions with this patch, in particular
when testing for cortex-m55:

with
-mthumb/-march=armv8.1-m.main+mve.fp+fp.dp/-mtune=cortex-m55/-mfloat-abi=hard/-mfpu=auto
and GCC configured with --disable-multilib --with-mode=thumb
--with-arch=armv8.1-m.main+mve.fp+fp.dp --with-float=hard

you can see our logs here:
https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_eabi-build/209/artifact/artifacts/00-sumfiles/
 
<https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_eabi-build/209/artifact/artifacts/00-sumfiles/>

Thanks,

Christophe

What exactly am I supposed to be looking at here?  I see no description
of what those logs represent.  If they are supposed to be before and
after, then why does the after only run a tiny fraction of the testsuite
(Running gcc.git~master/gcc/testsuite/gcc.target/arm/arm.exp ...
Running gcc.git~master/gcc/testsuite/gcc.target/arm/cmse/cmse.exp ...
Running gcc.git~master/gcc/testsuite/gcc.target/arm/lto/lto.exp ...)

The logs give no clue as to why the reminder of the testsuite wasn't run.

Please don't make me guess.


Here is a summary with the list of regressions:
https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_eabi-build/209/artifact/artifacts/notify/regressions.sum/*view*/

OK, that's much more useful. But how was I supposed to know that link existed?


I thought you'd be able to find your way in the logs above, the .0
files contain the logs of the initial full testsuite run, and .1 ones
contain the logs of the second run of the testsuite, restricted to the
.exp files where we detected regressions. So looking at gcc.log.1.xz
will give you details of the regressions shown in the link above.

There's nothing in the page you sent me to that gives any clue as to how to read the logs there. So my assumption was that the .0 was a before run and .1 an after. Please, if you're going to direct people to the log files, provide some way for them to understand what the log files show.

Now, to the specific issues:

Running gcc:gcc.target/arm/arm.exp ...
FAIL: gcc.target/arm/attr_thumb-static2.c (test for excess errors)
UNRESOLVED: gcc.target/arm/attr_thumb-static2.c scan-assembler-times blx 2

This was fixed with "arm: testsuite: avoid problems with -mfpu=auto in attr_thumb-static2.c", which is a later patch in the series (patch 6).

I don't think it's useful to try to regression test each individual patch, it wasn't practical to try to get every patch into order in the series (it would have made for a lot of churn on some files, especially target-supports.exp), so only a fully before and a fully after run is useful. If there are issues once the whole series has been applied, then that is much more interesting.

R.

Reply via email to