-avoid_cross_boundary_prefetch [V2.07.00 or later]


< Compile Options / Object Options >

[Format]

-avoid_cross_boundary_prefetch

[Description]

-

When both of the conditions given below are satisfied, using this option allows the compiler to expand library functions for handling strings as two units of code that include string manipulation instructions: one for manipulating data at the address where reading of the string starts up to the next 4-byte boundary and the other for manipulating data from that 4-byte boundary up to the last address.

-

Files of source code include calls of library functions for string handling, i.e. memchr(), strlen(), strcpy(), strncpy(), strcmp(), strncmp(), strcat(), or strncat().

-

library=intrinsic has been specified to select the expansion of library functions.

[Remarks]

-

The aim of this option is to prevent the reading of data across 4-byte boundaries in prefetching for string manipulation instructions.

-

If this option is selected, the code size increases when library functions for string handling, i.e. memchr(), strlen(), strcpy(), strncpy(), strcmp(), strncmp(), strcat(), or strncat(), are compiled with library=intrinsic specified.

-

Using this option allows the library generator to expand library functions for string handling, i.e. memchr(), strlen(), strcpy(), strncpy(), strcmp(), strncmp(), strcat(), or strncat(), as two units of code that include string manipulation instructions: one for manipulating data at the address where reading of the string starts up to the next 4-byte boundary and the other for manipulating data from that 4-byte boundary up to the last address.