tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Importing Flash and NAND subsystem for NetBSD
On Feb 13, 2011, at 2:20 PM, Joerg Sonnenberger wrote:
> On Sun, Feb 13, 2011 at 02:11:30PM -0800, Matt Thomas wrote:
>>
>> On Feb 13, 2011, at 12:10 PM, Joerg Sonnenberger wrote:
>>
>>> On Sun, Feb 13, 2011 at 10:44:45AM -0800, Matt Thomas wrote:
>>>> CountBitsInByte should be replaced by __builtin_popcount so that
>>>> machines with a popcount instruction can use it.
>>>
>>> Which ones? There is no assembler version of popcount at the moment.
>>> SPARC64 doesn't use it for ffs(), the AMD64 one has to be detected via
>>> CPUID. The libgcc version is pretty bad. But code can use the popcount
>>> family...
>>
>> popcnt != clz
>
> I didn't say they are the same. But clz can be implemented using
> popcount.
>
>> alpha ev6
>> i386 has a sse2 popcnt
>> power5 has a popcntb
>>
>> sparcv9 has one but none of the UltraSparc implement it.
>>
>> Also, use a count-leading instruction might be useful with
>> a faster popcount.
>
> There is no implementation in src/common for either of this. I have the
> code for i386/amd64 on my disk, but it would require adding another
> library for little gain.
Another library?
popcount{si,di}2 already exist as part of libgcc.
Home |
Main Index |
Thread Index |
Old Index