This section assumes the user has knowledge of assembler opcodes
and assembler programming.
A built-in function is inline code that is generated in place of
an actual function call. The hardware built-in functions send requests
to the compiler to use instructions that are not typically generated
by the compiler. Extra instructions are generated to load the parameters
for the operation and to store the result. These functions require
that the LANGLVL not be set to ANSI. For more information about a
given instruction, refer to the z/Architecture Principles of
Operation.
Notes: - Using a built-in hardware instruction does not guarantee that
a hardware instruction will be generated. The compiler can decide
that it is not necessary to generate the code.
- In some cases, the instruction will be generated as data before
it is executed via an EX instruction. This occurs whenever a parameter:
- Must be put in a mask or displacement field.
- Is specified as a non-literal instead of a literal.
It is more efficient to execute the target instruction for a
hardware built-in function without generating an EX instruction. If
possible, some parameters of the built-in functions should be specified
as literal for better performance. For examples, see Table 1.