PROTECTED STREAM

Purpose

The PROTECTED STREAM directives allow you to manage protected streams. These streams are protected from being replaced by any hardware-detected streams.

XL Fortran provides the following protected stream directives:

Syntax

The PROTECTED directive can take the following forms:

Read syntax diagramSkip visual syntax diagram>>-PROTECTED_UNLIMITED_STREAM_SET_GO_FORWARD--(--prefetch_variable--,--stream_ID--)-><
 
Note:
Valid for PowerPC(R) 970 and POWER5(TM).
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_UNLIMITED_STREAM_SET_GO_BACKWARD--(--prefetch_variable--,--stream_ID--)-><
 
Note:
Valid for PowerPC 970 and POWER5.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_SET_FORWARD--(--prefetch_variable--,--stream_ID--)-><
 
Note:
Valid for POWER5 only.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_SET_BACKWARD--(--prefetch_variable--,--stream_ID--)-><
 
Note:
Valid for POWER5 only.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_COUNT--(--unit_count--,--stream_ID--)------><
 
Note:
Valid for POWER5 only.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_GO-----------------------------------------><
 
Note:
Valid for POWER5 only.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_STOP--(--stream_ID--)----------------------><
 
Note:
Valid for POWER5 only.
Read syntax diagramSkip visual syntax diagram>>-PROTECTED_STREAM_STOP_ALL-----------------------------------><
 
Note:
Valid for POWER5 only.
prefetch_variable
is a variable to be prefetched. The variable must be a data object with a determinable storage address. The variable can be of any data type, including intrinsic and derived data types. The variable cannot be a procedure name, subroutine name, module name, function name, literal constant, label, zero-sized string, zero-length array, or array with a vector subscript.
stream_ID
is the ID for the prefetched stream. It must be scalar and of type integer. It can be any number from 0 to 7.
unit_count
is the number of cache lines for the limited-length protected stream. It must be scalar and of type integer. It can be any number from 0 to 1023. For a stream that is larger than 1024 cache lines, use the PROTECTED_UNLIMITED_STREAM directives instead of the PROTECTED_STREAM directives.

Related information

For information on applying prefetch techniques to loops with a large iteration count, see the STREAM_UNROLL directive.