Commit a01a33a2 by Daniel Cederman Committed by Daniel Hellstrom

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
parent 9cb00eb1
2015-09-28 Daniel Cederman <cederman@gaisler.com> 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 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
true on %f0 for a target without FPU. true on %f0 for a target without FPU.
* config/sparc/sparc.md (untyped_call): Do not save %f0 for a target * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
...@@ -114,8 +114,8 @@ Target ...@@ -114,8 +114,8 @@ Target
Optimize tail call instructions in assembler and linker Optimize tail call instructions in assembler and linker
muser-mode muser-mode
Target Report Mask(USER_MODE) Target Report InverseMask(SV_MODE)
Do not generate code that can only run in supervisor mode Do not generate code that can only run in supervisor mode (default)
mcpu= mcpu=
Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7) Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
......
...@@ -222,10 +222,10 @@ ...@@ -222,10 +222,10 @@
UNSPECV_CAS))] UNSPECV_CAS))]
"TARGET_LEON3" "TARGET_LEON3"
{ {
if (TARGET_USER_MODE) if (TARGET_SV_MODE)
return "casa\t%1 0xa, %2, %0"; /* ASI for user data space. */
else
return "casa\t%1 0xb, %2, %0"; /* ASI for supervisor data space. */ 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")]) [(set_attr "type" "multi")])
......
...@@ -21299,8 +21299,8 @@ in a performance loss, especially for floating-point code. ...@@ -21299,8 +21299,8 @@ in a performance loss, especially for floating-point code.
@opindex muser-mode @opindex muser-mode
@opindex mno-user-mode @opindex mno-user-mode
Do not generate code that can only run in supervisor mode. This is relevant 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 only for the @code{casa} instruction emitted for the LEON3 processor. This
default is @option{-mno-user-mode}. is the default.
@item -mno-faster-structs @item -mno-faster-structs
@itemx -mfaster-structs @itemx -mfaster-structs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment