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 >