This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH, MIPS] Compact branch support for MIPS32R6/MIPS64R6
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: "Moore, Catherine" <Catherine_Moore at mentor dot com>, "'gcc-patches at gcc dot gnu dot org' (gcc-patches at gcc dot gnu dot org)" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 1 Sep 2015 22:43:16 +0000
- Subject: RE: [PATCH, MIPS] Compact branch support for MIPS32R6/MIPS64R6
- Authentication-results: sourceware.org; auth=none
- References: <6D39441BF12EF246A7ABCE6654B02353211F2232 at LEMAIL01 dot le dot imgtec dot org> <FD3DCEAC5B03E9408544A1E416F112420192C94C41 at NA-MBX-04 dot mgc dot mentorg dot com> <6D39441BF12EF246A7ABCE6654B023532122F2E0 at LEMAIL01 dot le dot imgtec dot org> <FD3DCEAC5B03E9408544A1E416F112420192C970A0 at NA-MBX-04 dot mgc dot mentorg dot com>
Moore, Catherine <Catherine_Moore@mentor.com> writes:
> Hi Matthew:
>
> > -----Original Message-----
> > From: Matthew Fortune [mailto:Matthew.Fortune@imgtec.com]
> > Sent: Monday, August 17, 2015 6:47 PM
> > To: Moore, Catherine; 'gcc-patches@gcc.gnu.org' (gcc-patches@gcc.gnu.org)
> > Subject: RE: [PATCH, MIPS] Compact branch support for MIPS32R6/MIPS64R6
> >
>
> One comment on the updated patch:
>
> > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index
> > 27be317..d7d9586 100644
> > --- a/gcc/doc/invoke.texi
> > +++ b/gcc/doc/invoke.texi
> > @@ -781,6 +781,7 @@ Objective-C and Objective-C++ Dialects}.
> > -mgp32 -mgp64 -mfp32 -mfpxx -mfp64 -mhard-float -msoft-float @gol -
> > mno-float -msingle-float -mdouble-float @gol -modd-spreg -mno-odd-
> > spreg @gol
> > +-mcompact-branches=@var{policy} @gol
> > -mabs=@var{mode} -mnan=@var{encoding} @gol -mdsp -mno-dsp -
> > mdspr2 -mno-dspr2 @gol -mmcu -mmno-mcu @gol @@ -17387,6 +17388,27
> > @@ for the o32 ABI. This is the default for processors that are known to
> > support these registers. When using the o32 FPXX ABI, @option{-mno-odd-
> > spreg} is set by default.
> >
> > +@item -mcompact-branches=never
> > +@itemx -mcompact-branches=optimal
> > +@itemx -mcompact-branches=always
> > +@opindex mcompact-branches=never
> > +@opindex mcompact-branches=optimal
> > +@opindex mcompact-branches=always
> > +These options control which form of branches will be generated. The
> > +default is @option{-mcompact-branches=optimal}.
> > +
> > +The @option{-mcompact-branches=never} option
>
> Change:
> ensures that no compact branch instructions are generated.
> > +
> To:
> ensures that compact branch instructions will never be generated.
>
> > +The @option{-mcompact-branches=always} option
>
> Change:
> ensures that only compact branch instructions are used unless there is only a delay slot
> form of a branch.
>
> To:
> ensures that a compact branch instruction will be generated if available. If a compact
> branch instruction is not available, a delay slot form of the branch will be used instead.
>
> This option is supported from MIPS Release 6 onwards.
>
> > +The @option{-mcompact-branches=optimal} option
>
> Change:
> will use delay slot
> > +branches if available in the current ISA and the delay slot filler
> > +successfully fills a delay slot. Otherwise, a compact branch will be
> > +used if available.
> > +
> To:
> Will cause a delay slot branch to be used if one is available in the current ISA and the
> delay slot is successfully filled.
> If the delay slot is not filled, a compact branch will be chosen if one is available.
All done and committed as r227385.
Thanks,
Matthew