This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Optimize MIPS memcpy


On Mon, Oct 15, 2012 at 1:42 PM, Andrew Pinski <pinskia@gmail.com> wrote:
> On Mon, Oct 15, 2012 at 1:34 PM, Steve Ellcey <sellcey@mips.com> wrote:
>> On Mon, 2012-10-15 at 13:20 -0700, Andrew Pinski wrote:
>>
>>> On:
>>> system type             : EBB6300 (CN6335p2.1-1500-AAP)
>>> processor               : 0
>>> cpu model               : Cavium Octeon II V0.9
>>>
>>> I get:
>>> ...
>>> 0x200757cb, (no zeros)
>>> 0x200757cc, (no zeros)
>>> 0x200757cd, (no zeros)
>>> 0x200757ce, (no zeros)
>>> 0x200757cf, (0x20075780 to 0x20075800, 128 byte prefetch)
>>>
>>> Thanks,
>>> Andrew Pinski
>>
>> Andrew,
>>
>> Is there a macro I can/should use when building glibc/memcpy to know
>> that it should assume a Cavium Octeon with 128 byte prefetch instead of
>> the 32 byte prefetch?
>
>
> Building you could use __OCTEON__ but that does not change the fact
> you could build glibc for the standard mips32/mips64 and then not get
> a working glibc if it defaults to 32bytes prefetch.

Also it would be nice to use ifunc's like they are used on x86_64 (and
I think PPC also) so we can compile one generic version of glibc and
get the optimized version of memcpy.  Though ifunc's have their own
issue as they don't currently work on MIPS (they cause internal linker
errors).

Thanks,
Andrew


>
> Thanks,
> Andrew Pinski
>
>>
>> Steve Ellcey
>> sellcey@mips.com
>>
>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]