[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