Technical data

Cray Standard C/C++ Reference Manual
#include <stdio.h>
void sub1(void)
{
printf("In sub1, default optimization\n");
}
#pragma _CRI noopt
void sub2(void)
{
printf("In sub2, optimization disabled\n");
}
#pragma _CRI opt
void sub3(void)
{
printf("In sub3, optimization enabled\n");
}
main()
{
printf("Start main\n");
sub1();
sub2();
sub3();
}
3.5.6 uses_eregs Directive (UNICOS/mk Systems)
Scope: Local
The uses_eregs directive reserves all E registers for your use in the function in
which the directive appears. It prevents the compiler from generating code that
would change E register values. The format of this directive is as follows:
#pragma _CRI uses_eregs
The uses_eregs directive applies only to the function in which it appears. Your
code must comply with E register conventions as described in the Cray Assembler
for MPP (CAM) Reference Manual.
54 S217936