[PATCH, MIPS] Compact branch support for MIPS32R6/MIPS64R6

Moore, Catherine Catherine_Moore@mentor.com
Fri Aug 21 20:56:00 GMT 2015


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.

Thanks,
Catherine



More information about the Gcc-patches mailing list