aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/extend.texi65
1 files changed, 65 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index d0f631f..650aa94 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -4944,6 +4944,50 @@ number of halfwords to be added after the function label. For
both arguments the maximum allowed value is 1000000.
If both arguments are zero, hotpatching is disabled.
+
+@item target (@var{options})
+@cindex @code{target} function attribute
+As discussed in @ref{Common Function Attributes}, this attribute
+allows specification of target-specific compilation options.
+
+On S/390, the following options are supported:
+
+@table @samp
+@item arch=
+@item tune=
+@item stack-guard=
+@item stack-size=
+@item branch-cost=
+@item warn-framesize=
+@item backchain
+@itemx no-backchain
+@item hard-dfp
+@itemx no-hard-dfp
+@item hard-float
+@itemx soft-float
+@item htm
+@itemx no-htm
+@item vx
+@itemx no-vx
+@item packed-stack
+@itemx no-packed-stack
+@item small-exec
+@itemx no-small-exec
+@item mvcle
+@itemx no-mvcle
+@item warn-dynamicstack
+@itemx no-warn-dynamicstack
+@end table
+
+The options work exactly like the S/390 specific command line
+options (without the prefix @option{-m}) except that they do not
+change any feature macros. For example,
+
+@smallexample
+@code{target("no-vx")}
+@end smallexample
+
+does not undefine the @code{__VEC__} macro.
@end table
@node SH Function Attributes
@@ -18437,6 +18481,7 @@ for further explanation.
* M32C Pragmas::
* MeP Pragmas::
* RS/6000 and PowerPC Pragmas::
+* S/390 Pragmas::
* Darwin Pragmas::
* Solaris Pragmas::
* Symbol-Renaming Pragmas::
@@ -18611,6 +18656,26 @@ declarations.
@c Describe sh pragmas here.
@c Describe v850 pragmas here.
+@node S/390 Pragmas
+@subsection S/390 Pragmas
+
+The pragmas defined by the S/390 target correspond to the S/390
+target function attributes and some the additional options:
+
+@table @samp
+@item zvector
+@itemx no-zvector
+@end table
+
+Note that options of the pragma, unlike options of the target
+attribute, do change the value of preprocessor macros like
+@code{__VEC__}. They can be specified as below:
+
+@smallexample
+#pragma GCC target("string[,string]...")
+#pragma GCC target("string"[,"string"]...)
+@end smallexample
+
@node Darwin Pragmas
@subsection Darwin Pragmas