> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Toma Tabacu
> Sent: 04 November 2016 15:25
> To: Matthew Fortune; gcc-patches@gcc.gnu.org
> Cc: catherine_mo...@mentor.com
> Subject: RE: [PATCH,testsuite] MIPS: Downgrade R6 to R5 if tests need branch-
> likely instructions.
> 
> > From: Matthew Fortune
> > Sent: 03 November 2016 13:07
> > To: Toma Tabacu; gcc-patches@gcc.gnu.org
> > Cc: catherine_mo...@mentor.com
> > Subject: RE: [PATCH,testsuite] MIPS: Downgrade R6 to R5 if tests need
> > branch-likely instructions.
> >
> > Toma Tabacu <toma.tab...@imgtec.com> writes:
> > > The gcc.target/mips/wrap-delay.c test was failing on mips-img-*
> > > toolchains because it was using -mbranch-likely with an R6 target, and
> > > branch- likely instructions were removed in R6.
> > >
> > > This patch makes the testsuite downgrade to R5 if the -mbranch-likely
> > > option is present and we're targeting R6.
> > >
> > > Tested with mips-img-elf and mips-img-linux-gnu.
> >
> > Hi Toma,
> >
> > Welcome to GCC development, thanks for your first patch. As you can see
> > from Catherine's reply the change looks good. I'll just cover some
> > housekeeping issues...
> >
> > > gcc/testsuite/
> > >         * gcc.target/mips/mips.exp: Add check for -mbranch-likely in
> > >             condition for R5 downgrade.
> >
> > Changelogs are an art form which will take some getting used to. This is
> > almost there but needs to reference the function affected.
> >
> >     * gcc.target/mips/mips.exp (mips-dg-options): Downgrade to R5
> >     for -mbranch-likely and infer -mno-branch-likely for R6.
> >
> > I have extended the comment as well as there is an additional change
> > needed for this patch ideally.
> >
> > > diff --git a/gcc/testsuite/gcc.target/mips/mips.exp
> > > b/gcc/testsuite/gcc.target/mips/mips.exp
> > > index 7c24140..382d69c 100644
> > > --- a/gcc/testsuite/gcc.target/mips/mips.exp
> > > +++ b/gcc/testsuite/gcc.target/mips/mips.exp
> > > @@ -1176,7 +1176,8 @@ proc mips-dg-options { args } {
> > >                        || [mips_have_test_option_p options "-mpaired-
> > > single"]
> > >                        || [mips_have_test_option_p options "-
> > > mnan=legacy"]
> > >                        || [mips_have_test_option_p options "-
> > > mabs=legacy"]
> > > -                      || [mips_have_test_option_p options "!HAS_LSA"])
> > > } {
> > > +                      || [mips_have_test_option_p options "!HAS_LSA"]
> > > +                      || [mips_have_test_option_p options "-mbranch-
> > > likely"]) } {
> > >             if { $gp_size == 32 } {
> > >                 mips_make_test_option options "-mips32r5"
> > >             } else {
> >
> > Please can you make sure to retain the original patch formatting when
> > posting. I suspect you have copied this out of a putty session or similar 
> > and
> > have therefore lost the tabs.
> >
> > The extra change is that in the post-arch option processing we will need to
> > infer -mno-branch-likely for the $isa_rev > 5 case much like we infer -
> > mnan=2008 and -mabs=2008. This is so that when running the testsuite using
> > -mips32r5 or earlier, with -mbranch-likely as part of the user-supplied test
> > flags, then a test which is upgraded to
> > mips32r6 does not attempt to use -mbranch-likely.
> >
> > Hope that wasn't too cryptic!
> >
> > Thanks,
> > Matthew
> 
> The updated patch below includes the improved ChangeLog comment, correct
> formatting, and the post-arch enforcing of -mno-branch-likely for R6.
> 
> Regards,
> Toma
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/mips/mips.exp (mips-dg-options): Downgrade to R5
>       for -mbranch-likely and infer -mno-branch-likely for R6.
> 
> diff --git a/gcc/testsuite/gcc.target/mips/mips.exp
> b/gcc/testsuite/gcc.target/mips/mips.exp
> index 7c24140..6b7c46f 100644
> --- a/gcc/testsuite/gcc.target/mips/mips.exp
> +++ b/gcc/testsuite/gcc.target/mips/mips.exp
> @@ -1176,7 +1176,8 @@ proc mips-dg-options { args } {
>                      || [mips_have_test_option_p options "-mpaired-single"]
>                      || [mips_have_test_option_p options "-mnan=legacy"]
>                      || [mips_have_test_option_p options "-mabs=legacy"]
> -                    || [mips_have_test_option_p options "!HAS_LSA"]) } {
> +                    || [mips_have_test_option_p options "!HAS_LSA"])
> +                    || [mips_have_test_option_p options "-mbranch-likely"]) 
> } {
>           if { $gp_size == 32 } {
>               mips_make_test_option options "-mips32r5"
>           } else {
> @@ -1345,6 +1346,7 @@ proc mips-dg-options { args } {
>           mips_make_test_option options "-mno-paired-single"
>           mips_make_test_option options "-mnan=2008"
>           mips_make_test_option options "-mabs=2008"
> +         mips_make_test_option options "-mno-branch-likely"
>       }
>       if { [regexp {^-march=(octeon|loongson)} $arch] } {
>           mips_make_test_option options "-mno-micromips"

An extra closing parenthesis sneaked in the previous version.
Removed in the patch below. Sorry about that.

Regards,
Toma

gcc/testsuite/ChangeLog:

        * gcc.target/mips/mips.exp (mips-dg-options): Downgrade to R5
        for -mbranch-likely and infer -mno-branch-likely for R6.

diff --git a/gcc/testsuite/gcc.target/mips/mips.exp 
b/gcc/testsuite/gcc.target/mips/mips.exp
index 7c24140..39f44ff 100644
--- a/gcc/testsuite/gcc.target/mips/mips.exp
+++ b/gcc/testsuite/gcc.target/mips/mips.exp
@@ -1176,7 +1176,8 @@ proc mips-dg-options { args } {
                       || [mips_have_test_option_p options "-mpaired-single"]
                       || [mips_have_test_option_p options "-mnan=legacy"]
                       || [mips_have_test_option_p options "-mabs=legacy"]
-                      || [mips_have_test_option_p options "!HAS_LSA"]) } {
+                      || [mips_have_test_option_p options "!HAS_LSA"]
+                      || [mips_have_test_option_p options "-mbranch-likely"]) 
} {
            if { $gp_size == 32 } {
                mips_make_test_option options "-mips32r5"
            } else {
@@ -1345,6 +1346,7 @@ proc mips-dg-options { args } {
            mips_make_test_option options "-mno-paired-single"
            mips_make_test_option options "-mnan=2008"
            mips_make_test_option options "-mabs=2008"
+           mips_make_test_option options "-mno-branch-likely"
        }
        if { [regexp {^-march=(octeon|loongson)} $arch] } {
            mips_make_test_option options "-mno-micromips"

Reply via email to