[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/27] Correct ppc popcntb logic, implement popc
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH 06/27] Correct ppc popcntb logic, implement popcntw and popcntd |
Date: |
Mon, 4 Apr 2011 12:56:56 +1000 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Fri, Apr 01, 2011 at 08:02:24PM +0200, Alexander Graf wrote:
> On 01.04.2011, at 19:58, Aurelien Jarno wrote:
> > On Fri, Apr 01, 2011 at 03:15:13PM +1100, David Gibson wrote:
[snip]
> >> +target_ulong helper_popcntd (target_ulong val)
> >> +{
> >> + val = (val & 0x5555555555555555ULL) + ((val >> 1) &
> >> + 0x5555555555555555ULL);
> >> + val = (val & 0x3333333333333333ULL) + ((val >> 2) &
> >> + 0x3333333333333333ULL);
> >> + val = (val & 0x0f0f0f0f0f0f0f0fULL) + ((val >> 4) &
> >> + 0x0f0f0f0f0f0f0f0fULL);
> >> + val = (val & 0x00ff00ff00ff00ffULL) + ((val >> 8) &
> >> + 0x00ff00ff00ff00ffULL);
> >> + val = (val & 0x0000ffff0000ffffULL) + ((val >> 16) &
> >> + 0x0000ffff0000ffffULL);
> >> + val = (val & 0x00000000ffffffffULL) + ((val >> 32) &
> >> + 0x00000000ffffffffULL);
> >> + return val;
> >> +}
> >
> > I probably arrive a bit late, but note that for this one you can use
> > ctpop64() (from host-utils.h), which also uses a GCC builtin when
> > available.
>
> Ah, nice. David - sounds like a good chance for a follow-up patch :)
Done. I'll send it when I next send a batch for merging.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
- [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v6), David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 02/27] Allow qemu_devtree_setprop() to take arbitrary values, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 03/27] Add a hook to allow hypercalls to be emulated on PowerPC, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 12/27] Add POWER7 support for ppc, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 04/27] Implement PowerPC slbmfee and slbmfev instructions, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 11/27] Support 1T segments on ppc, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 06/27] Correct ppc popcntb logic, implement popcntw and popcntd, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 17/27] Implement assorted pSeries hcalls and RTAS methods, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 08/27] Parse SDR1 on mtspr instead of at translate time, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 13/27] Start implementing pSeries logical partition machine, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 15/27] Virtual hash page table handling on pSeries machine, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 16/27] Implement hcall based RTAS for pSeries machines, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 25/27] Add a PAPR TCE-bypass mechanism for the pSeries machine, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 05/27] Implement missing parts of the logic for the POWER PURR, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 22/27] Implement sPAPR Virtual LAN (ibmveth), David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 14/27] Implement the bus structure for PAPR virtual IO, David Gibson, 2011/04/01
- [Qemu-devel] [PATCH 09/27] Use "hash" more consistently in ppc mmu code, David Gibson, 2011/04/01