> -----Original Message----- > From: Alex Coplan <alex.cop...@arm.com> > Sent: Thursday, May 25, 2023 11:26 AM > To: Kyrylo Tkachov <kyrylo.tkac...@arm.com> > Cc: gcc-patches@gcc.gnu.org; ni...@redhat.com; Richard Earnshaw > <richard.earns...@arm.com>; Ramana Radhakrishnan > <ramana....@gmail.com> > Subject: Re: [PATCH] arm: Fix ICE due to infinite splitting [PR109800] > > Hi Kyrill, > > On 23/05/2023 11:14, Kyrylo Tkachov wrote: > > Hi Alex, > > diff --git a/gcc/testsuite/gcc.target/arm/pr109800.c > b/gcc/testsuite/gcc.target/arm/pr109800.c > > new file mode 100644 > > index 00000000000..71d1ede13dd > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/arm/pr109800.c > > @@ -0,0 +1,3 @@ > > +/* { dg-do compile } */ > > +/* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp- > d16 -mbig-endian -mpure-code" } */ > > +double f() { return 5.0; } > > > > ... The arm testsuite options are kinda hard to get right with all the > > effective > targets and multilibs and such hardcoded abi and march options tend to > break in some target. > > I suggest you put this testcase in gcc.target/arm/pure-code and add a dg- > skip-if to skip the test if the multilib options specify a different > float-abi. > > How about this instead: > > diff --git a/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c > b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c > new file mode 100644 > index 00000000000..d797b790232 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c > @@ -0,0 +1,4 @@ > +/* { dg-do compile } */ > +/* { dg-require-effective-target arm_hard_ok } */ > +/* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 - > mbig-endian -mpure-code" } */ > +double f() { return 5.0; } > > Full v2 patch attached.
Thanks, looks better but I think you'll still want to have a dg-skip-if to avoid explicit -mfloat-abi=soft and -mfloat-abi=softfp in the multilib options. You can grep in that test directory for examples Kyrill > > Thanks, > Alex