option -mprfchw

NightStrike nightstrike@gmail.com
Sun May 1 16:39:00 GMT 2016


Ping 2?

On Sun, Apr 24, 2016 at 10:36 PM, NightStrike <nightstrike@gmail.com> wrote:
> Ping?
>
> On Mon, Apr 18, 2016 at 12:38 AM, NightStrike <nightstrike@gmail.com> wrote:
>> 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