I’m having trouble getting pgf90(PGF90/x86-64 Linux 7.0-4) to recognize the directives. A simple compile statement:
pgf90 -c -O2 -Mlist -time -V -Mvect b16.F90
The file contains a single subroutine. When I put the directives in the file…
!pgi$g novector
!pgi$g opt=0
subroutine sw_kgb16
.
.
.
end
…vectorization is not turned off and there is no indication in the listing file or elsewhere that optimization was reset. Is there a trick to get the directives recognized?
Hi,
For a routine level, please use !pgi$r instead of !pgi$g.
Hongyon
Thanks! !pgi$r works!
But am I misinterpreting what “global” scope means? From the docs:
For globally-scoped directive
The scope includes the code following the directive or pragma until the end of the file rather than for the entire file.
What is the reason that global scope doesn’t work here (compiler bug? ;-) ???
Hi,
It could be a bug. I have filed TPR # 14657 for this. Thanks for reporting.
Hongyon
Additional information: it will be fixed in 7.2 release.
Hongyon