Hi Matthew: > -----Original Message----- > From: Matthew Fortune [mailto:matthew.fort...@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. Thanks, Catherine