On Mon, 7 Oct 2024 at 11:04, Torbjorn SVENSSON
<torbjorn.svens...@foss.st.com> wrote:
>
>
>
> On 2024-10-07 10:53, Andre Vieira (lists) wrote:
> > Hi Torbjorn,
> >
> > On 07/10/2024 09:08, Torbjorn SVENSSON wrote:
> >
> >
> >>
> >> There are 3 test cases that are fixed with these 2 commits, but there
> >> is also a bunch that is marked as new fails.
> >> Looking at the test cases that fail, there are 2 different kinds of
> >> failures.
> >>
> >> 1. gcc.target/arm/attr_thumb.c: This test case fails due to this
> >> difference:
> >> --- /dev/fd/63  2024-10-07 08:25:49.595309010 +0000
> >> +++ /dev/fd/62  2024-10-07 08:25:49.575309010 +0000
> >> @@ -33,9 +33,10 @@
> >>          @ args = 0, pretend = 0, frame = 0
> >>          @ frame_needed = 0, uses_anonymous_args = 0
> >>          @ link register save eliminated.
> >> -       cmp     r0, #0
> >> -       ite     eq
> >> -       moveq   r0, #5
> >> -       movne   r0, #1
> >> +       cbz     r0, .L3
> >> +       movs    r0, #1
> >> +       bx      lr
> >> +.L3:
> >> +       movs    r0, #5
> >>          bx      lr
> >>          .size   foo, .-foo
> >> I'll leave the rest of the investigation of the reason for the
> >> failure, and the fix, to you Andre.
> >
> > I think this test was meant to check __attribute__((thumb)) worked by
> > switching to thumb, forcing a specific type of codegen, which no longer
> > holds for armv8.1-m, so this is a testism that needs some creative
> > thinking, probably best to skip if armv8.1-m.
> >
> >
> >>
> >> 2. All other the test cases in the list above: These need to be
> >> adapted to the change introduced in r15-3606-g7d6c6a0d15c to have the
> >> proper arch.
> >> I've sent a patch that should fix these "regressions" in https://
> >> gcc.gnu.org/pipermail/gcc-patches/2024-October/664611.html.
> >>
> > I  presume you are using -march=armv8.1-m.main+mve.fp+fp.dp for these
> > rather than -mcpu? If I do:
> > RUNTESTFLAGS="--target_board=<...>/-mcpu=cortex-m55/-mfloat-abi=hard
> > arm.exp=vseleqdf.c" then it works just fine for me as the -mcpu=unset
> > does it work, but the -march=armv8.1-m.main+mve.fp+fp.dp does fail. I'll
> > talk to Richard E about this one.
>
> For these results, I did as before. This is the command line that was
> used for gcc.target/arm/vseleqdf.c:
> .../bin/arm-none-eabi-gcc  .../gcc/testsuite/gcc.target/arm/vseleqdf.c
> -mthumb -march=armv8.1-m.main+mve+pacbti -mcpu=cortex-m85
> -mfloat-abi=hard -mfpu=fpv5-d16   -fdiagnostics-plain-output  -O2
> -mcpu=cortex-a57 -mfpu=fp-armv8 -mfloat-abi=softfp -ffat-lto-objects
> -fno-ident -S     -o vseleqdf.s
>
> >
> > Thanks for helping with the testing I'll send a patch with the testism
> > fixes up later.
> >
> > I am however quite confident that these are both testisms. @Christophe:
> > Any chance you can run the second patch through the bootstrap CI for
> > arm-none-linux-gnueabihf ? Might end up committing the 2nd patch first
> > if it helps fix that?
>
> I think the reason for the bootstrap failure is simply:
> - the 2nd argument to arm_noce_conversion_profitable_p is never
> referenced in the function.
> - the variable "set" in arm_is_v81m_cond_insn might not be defined
> before the if-statement (in the case the while loop is never executed).
>

Right: I was mainly mentioning the bootstrap problem in case it takes
time to come to an agreement for this patch. (bootstrap is easy to
fix)

(@Andre I did manually start a precommit CI bootstrap build for this
patch, but it fails to apply because we keep the baseline as before
bootstrap is broken)

Thanks,

Christophe


> Kind regards,
> Torbjörn
>

Reply via email to