User`s guide

Cray XMT Programming Environment Users Guide
#pragma mta fused muladd [on|off|default]
This directive specifies whether the compiler is allowed to combine
floating-point operations into a fused multiply-add operation. Default
behavior is to allow fused multiply-add operations to be performed
only when float optimization is turned on. When this option is turned
on, the compiler is allowed to, but not required to, fuse multiply-add
operations into one instruction. This directive applies to whatever
follows it textually in the current file. The directive stays in effect
until the end of the file or until another directive of the same kind
is encountered. When the on or off option is used, the directive
takes precedence over the -no_mul_add command-line option.
When the default option is used, the directive disables the
fused multiply-add operation if the -no_mul_add command-line
option was used; it enables the fused multiply-add operation if no
command-line option was used. The single round required
directive overrides the fused muladd off directive.
#ident "<string-constant>"
This directive inserts string-constant into the executable file
generated from this code. Strings that have been incorporated into the
executable in this manner can be retrieved from the executable using
commands such as strings or in some cases what. One possible
use of this directive would be to incorporate a version string such as
the following into the executable.
#ident "compiling.texinfo,v 1.15 2007/02/10 23:20:09"
This directive can be placed anywhere in a C file and is the
equivalent to declaring a static string constant.
#pragma mta [no] inline
When this directive is inserted immediately before a function
declaration, the compiler inlines that function wherever possible
throughout the user source program. If used with the no option,
inlining of the specified function is prevented. When the [no]
inline directive is not used, the compiler uses a standard, internal
heuristic to decide whether a function should be inlined. When
there is a conflict between the no inline directive and the
command-line options -no_inline_all, -inline_all,
-inline <name> or -no_inline <name>, no inline
takes precedence, regardless of whether it was specified on
the command line or in a directive. The command-line option
-no_inline_directed disables the inline directive but does
not affect the no inline directive.
114 S247920