-qprefetch
类别
@PROCESS
无。
用途
自动在可以提高代码性能的位置插入预取指令。
当 -qprefetch 生效时,编译器可能会在已编译的代码中插入预取指令。 当 -qnoprefetch 生效时,预取指令不会插入编译代码中。
语法
缺省值
-qprefetch=noaggressive:dscr=0
参数
- aggressive | noaggressive
- 此子选项指导编译器在优化级别 -O3 或更高级别生成主动数据预取。 如果未指定 aggressive,那么将隐含 -qprefetch=noaggressive。
- dscr
- 您可以为
dscr子选项指定值以提高应用程序的运行时性能。 编译器将数据流控制寄存器 (DSCR) 设置为指定的值以控制硬件预取引擎。 对于 POWER8 或更高版本的处理器 ,仅当优化级别为-O2或更高 ;对于 POWER7 和 POWER7+ 处理器,仅当优化级别为-O3或更大,且高阶变换(HOT)有效。dscr的缺省值为 0。- value
为
dscr指定的值必须为 0 或更大,并且可表示为 64 位无符号整数。 否则,编译器将发出警告消息并将dscr设置为 0。 编译器接受十进制和十六进制数字,并且十六进制数字需要前缀0x。 值范围取决于系统体系结构。 请参阅有关 POWER ® 架构的产品信息以获取详细信息。 如果指定多个值,那么最后一个值生效。
用途
-qnoprefetch 选项不会阻止内置函数(例如 __prefetch_by_stream)生成预取指令。
