option -mprfchw

NightStrike nightstrike@gmail.com
Mon Apr 18 04:38:00 GMT 2016


Also, FWIW:

1) The march=native version that uses prefetcht0 is very repeatedly
faster by about 15% in the particular test case I'm looking at.

2) The compilers in both instances are not just the same version, they
are the same compiler installed on an NFS mount and shared to both
computers.


On Mon, Apr 18, 2016 at 12:26 AM, NightStrike <nightstrike@gmail.com> wrote:
> Not sure if this applies:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54210
>
> If I compile on a k8 Opteron 248 with -march=native, I do not see
> -mprfchw listed in the options in -fverbose-asm.  In the assembly, I
> see this:
>
> prefetcht0      (%rax)  # ivtmp.1160
> prefetcht0      304(%rcx)       #
> prefetcht0      (%rax)  # ivtmp.1160
>
> If I compile on a bdver2 Opteron 6386 SE with -march=k8 (thus trying
> to target the older system), I do see it listed in the options in
> -fverbose-asm.  In the assembly, I see this:
>
> prefetcht0      (%rax)  # ivtmp.1160
> prefetcht0      304(%rcx)       #
> prefetchw       (%rax)  # ivtmp.1160
>
> (The third line is the only difference)
>
> In both cases, I'm using gcc 4.9.3.  Which is correct for a k8 Opteron 248?



More information about the Gcc-help mailing list