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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228184
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
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)
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")])
@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