Hi Torbjorn,

On Fri, 24 Jan 2025 at 18:45, Torbjorn SVENSSON
<torbjorn.svens...@foss.st.com> wrote:
>
> Another ping... :)
>
> Kind regards,
> Torbjörn
>
> On 2024-12-18 18:35, Torbjorn SVENSSON wrote:
> > Gentle ping :)
> >
> > Kind regards,
> > Torbjörn
> >
> > On 2024-11-14 17:16, Torbjorn SVENSSON wrote:
> >>
> >>
> >> On 2024-11-14 16:32, Christophe Lyon wrote:
> >>> On Fri, 8 Nov 2024 at 19:49, Torbjörn SVENSSON
> >>> <torbjorn.svens...@foss.st.com> wrote:
> >>>>
> >>>> Ok for trunk and releases/gcc-14?
> >>>>
> >>>> --
> >>>>
> >>>> A long time ago, this test forced -march=armv6.
> >>>>
> >>>> With -marm, the generated assembler is:
> >>>> foo:
> >>>>          sub     r0, r0, #48
> >>>>          cmp     r0, #9
> >>>>          movhi   r0, #0
> >>>>          movls   r0, #1
> >>>>          bx      lr
> >>>>
> >>>> With -mthumb, the generated assembler is:
> >>>> foo:
> >>>>          subs    r0, r0, #48
> >>>>          movs    r2, #9
> >>>>          uxtb    r3, r0
> >>>>          movs    r0, #0
> >>>>          cmp     r2, r3
> >>>>          adcs    r0, r0, r0
> >>>>          uxtb    r0, r0
> >>>>          bx      lr
> >>>>
> >>>> Require effective-target arm_arm_ok to skip the test for thumb-only
> >>>> targets (Cortex-M).
> >>>>
> >>>> gcc/testsuite/ChangeLog:
> >>>>
> >>>>          * gcc.target/arm/unsigned-extend-1.c: Use effective-target
> >>>>          arm_arm_ok.
> >>>>
> >>>> Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com>
> >>>> ---
> >>>>   gcc/testsuite/gcc.target/arm/unsigned-extend-1.c | 1 +
> >>>>   1 file changed, 1 insertion(+)
> >>>>
> >>>> diff --git a/gcc/testsuite/gcc.target/arm/unsigned-extend-1.c b/gcc/
> >>>> testsuite/gcc.target/arm/unsigned-extend-1.c
> >>>> index 3b4ab048fb0..73f2e1a556d 100644
> >>>> --- a/gcc/testsuite/gcc.target/arm/unsigned-extend-1.c
> >>>> +++ b/gcc/testsuite/gcc.target/arm/unsigned-extend-1.c
> >>>> @@ -1,4 +1,5 @@
> >>>>   /* { dg-do compile } */
> >>>> +/* { dg-require-effective-target arm_arm_ok } */
> >>>>   /* { dg-options "-O2" } */
> >>>>
> >>>
> >>> So I'm guessing arm_arm_ok fails when you are testing for M-profile
> >>> targets?
> >>> What happens when you test for A-profile, providing -mthumb as part of
> >>> your runtest flags?
> >>
> >>

Looking at our CI results, without your patch the test passes on:
cortex-m33, m3, m55, m7, v7A in arm mode, v8A in thumb mode,
and it fails only on cortex-m0 and m23.
Does this match your observations?

So your patch will make the test unsupported on m33, m3, m55 and m7
while it currently passes?

Am I missing something?

Thanks,

Christophe

> >>
> >> For Cortex-M0 (thumb/cpu=cortex-m0/float-abi=soft):
> >>
> >> Testing arm/unsigned-extend-1.c
> >> check_compile tool: gcc for arm_arm_ok
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc  arm_arm_ok21114.c  -
> >> mthumb -mcpu=cortex-m0 -mfloat-abi=soft   -fdiagnostics-plain-output
> >> -marm - Wno-complain-wrong-lang -S     -o arm_arm_ok21114.s
> >> (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc arm_arm_ok21114.c -
> >> mthumb -mcpu=cortex-m0 -mfloat-abi=soft -fdiagnostics-plain-output -
> >> marm -Wno- complain-wrong-lang -S -o arm_arm_ok21114.s
> >> pid is 21254 -21254
> >> cc1: error: target CPU does not support ARM mode
> >> pid is -1
> >> close result is 21254 exp6 0 1
> >> output is cc1: error: target CPU does not support ARM mode
> >>   status 1
> >> compiler exited with status 1
> >> UNSUPPORTED: gcc.target/arm/unsigned-extend-1.c
> >>
> >>
> >> For Cortex-A7 (thumb/cpu=cortex-a7/float-abi=soft):
> >>
> >> Testing arm/unsigned-extend-1.c
> >> check_compile tool: gcc for arm_arm_ok
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc  arm_arm_ok21296.c  -
> >> mthumb -mcpu=cortex-a7 -mfloat-abi=soft   -fdiagnostics-plain-output
> >> -marm - Wno-complain-wrong-lang -S     -o arm_arm_ok21296.s
> >> (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc arm_arm_ok21296.c -
> >> mthumb -mcpu=cortex-a7 -mfloat-abi=soft -fdiagnostics-plain-output -
> >> marm -Wno- complain-wrong-lang -S -o arm_arm_ok21296.s
> >> pid is 21434 -21434
> >> pid is -1
> >> output is  status 0
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc .../gcc/testsuite/
> >> gcc.target/arm/unsigned-extend-1.c  -mthumb -mcpu=cortex-a7 -mfloat-
> >> abi=soft   -fdiagnostics-plain-output  -O2 -ffat-lto-objects -fno-
> >> ident -S     -o unsigned-extend-1.s    (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc .../gcc/testsuite/
> >> gcc.target/arm/unsigned-extend-1.c -mthumb -mcpu=cortex-a7 -mfloat-
> >> abi=soft -fdiagnostics-plain-output -O2 -ffat-lto-objects -fno-ident -
> >> S -o unsigned-extend-1.s
> >> pid is 21438 -21438
> >> pid is -1
> >> output is  status 0
> >> check_compile tool: gcc for exceptions_enabled
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc
> >> exceptions_enabled21296.cc   -mthumb -mcpu=cortex-a7 -mfloat-
> >> abi=soft   -fdiagnostics-plain-output -Wno-complain-wrong-lang -S
> >> -o exceptions_enabled21296.s    (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc
> >> exceptions_enabled21296.cc -mthumb -mcpu=cortex-a7 -mfloat-abi=soft -
> >> fdiagnostics-plain-output -Wno-complain-wrong-lang -S -o
> >> exceptions_enabled21296.s
> >> pid is 21442 -21442
> >> pid is -1
> >> output is  status 0
> >> PASS: gcc.target/arm/unsigned-extend-1.c (test for excess errors)
> >> PASS: gcc.target/arm/unsigned-extend-1.c scan-assembler-not uxtb
> >>
> >> For Cortex-A7 (cpu=cortex-a7/float-abi=soft):
> >>
> >>
> >>
> >> Testing arm/unsigned-extend-1.c
> >> check_compile tool: gcc for arm_arm_ok
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc  arm_arm_ok21484.c -
> >> mcpu=cortex-a7 -mfloat-abi=soft   -fdiagnostics-plain-output  -marm -
> >> Wno-complain-wrong-lang -S     -o arm_arm_ok21484.s    (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc arm_arm_ok21484.c -
> >> mcpu=cortex-a7 -mfloat-abi=soft -fdiagnostics-plain-output -marm -Wno-
> >> complain-wrong-lang -S -o arm_arm_ok21484.s
> >> pid is 21622 -21622
> >> pid is -1
> >> output is  status 0
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc .../gcc/testsuite/
> >> gcc.target/arm/unsigned-extend-1.c  -mcpu=cortex-a7 -mfloat-abi=soft
> >> - fdiagnostics-plain-output  -O2 -ffat-lto-objects -fno-ident -S     -
> >> o unsigned-extend-1.s    (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc .../gcc/testsuite/
> >> gcc.target/arm/unsigned-extend-1.c -mcpu=cortex-a7 -mfloat-abi=soft -
> >> fdiagnostics-plain-output -O2 -ffat-lto-objects -fno-ident -S -o
> >> unsigned-extend-1.s
> >> pid is 21626 -21626
> >> pid is -1
> >> output is  status 0
> >> check_compile tool: gcc for exceptions_enabled
> >> doing compile
> >> Executing on host: .../bin/arm-none-eabi-gcc
> >> exceptions_enabled21484.cc   -mcpu=cortex-a7 -mfloat-abi=soft   -
> >> fdiagnostics-plain-output -Wno- complain-wrong-lang -S     -o
> >> exceptions_enabled21484.s    (timeout = 800)
> >> spawn -ignore SIGHUP .../bin/arm-none-eabi-gcc
> >> exceptions_enabled21484.cc -mcpu=cortex-a7 -mfloat-abi=soft -
> >> fdiagnostics-plain-output -Wno-complain-wrong-lang -S -o
> >> exceptions_enabled21484.s
> >> pid is 21630 -21630
> >> pid is -1
> >> output is  status 0
> >> PASS: gcc.target/arm/unsigned-extend-1.c (test for excess errors)
> >> PASS: gcc.target/arm/unsigned-extend-1.c scan-assembler-not uxtb
> >> testcase .../gcc/testsuite/gcc.target/arm/arm.exp completed in 1 seconds
> >>
> >>> Since you don't add -marm, the test will be compiled in Thumb mode,
> >>> and still fail?
> >>
> >> Since my tests succeeded without it, it didn't think much of it. I can
> >> add -marm to the do-options just be safe. Should I send a V2 with it
> >> or can it be approved with that addition?
> >>
> >> Kind regards,
> >> Torbjörn
> >>
> >>>
> >>> Thanks,
> >>>
> >>> Christophe
> >>>
> >>>>   unsigned char foo (unsigned char c)
> >>>> --
> >>>> 2.25.1
> >>>>
> >>
> >
>

Reply via email to