Make muser-mode the default for LEON3

2015-09-28  Daniel Cederman  <cederman@gaisler.com>

Make muser-mode the default for LEON3

The muser-mode flag causes the CASA instruction for LEON3 to use the
user mode ASI. This is the correct behavior for almost all LEON3 targets.
For this reason it makes sense to make user mode the default.

gcc/
	* config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
	  and make it inverse to change default
	* config/sparc/sync.md: Only use supervisor ASI for CASA when in
	  supervisor mode
	* doc/invoke.texi: Document change of default

From-SVN: r228184
This commit is contained in:
Daniel Cederman 2015-09-28 05:30:31 +00:00 committed by Daniel Hellstrom
parent 9cb00eb15a
commit a01a33a2dd
4 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2015-09-28 Daniel Cederman <cederman@gaisler.com>
* config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
and make it inverse to change default
* config/sparc/sync.md: Only use supervisor ASI for CASA when in
supervisor mode
* doc/invoke.texi: Document change of default
2015-09-28 Daniel Cederman <cederman@gaisler.com>
* config/sparc/sparc.c (sparc_function_value_regno_p): Do not return

View File

@ -114,8 +114,8 @@ Target
Optimize tail call instructions in assembler and linker
muser-mode
Target Report Mask(USER_MODE)
Do not generate code that can only run in supervisor mode
Target Report InverseMask(SV_MODE)
Do not generate code that can only run in supervisor mode (default)
mcpu=
Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)

View File

@ -222,10 +222,10 @@
UNSPECV_CAS))]
"TARGET_LEON3"
{
if (TARGET_USER_MODE)
return "casa\t%1 0xa, %2, %0"; /* ASI for user data space. */
else
if (TARGET_SV_MODE)
return "casa\t%1 0xb, %2, %0"; /* ASI for supervisor data space. */
else
return "casa\t%1 0xa, %2, %0"; /* ASI for user data space. */
}
[(set_attr "type" "multi")])

View File

@ -21299,8 +21299,8 @@ in a performance loss, especially for floating-point code.
@opindex muser-mode
@opindex mno-user-mode
Do not generate code that can only run in supervisor mode. This is relevant
only for the @code{casa} instruction emitted for the LEON3 processor. The
default is @option{-mno-user-mode}.
only for the @code{casa} instruction emitted for the LEON3 processor. This
is the default.
@item -mno-faster-structs
@itemx -mfaster-structs