diff options
author | Tom Musta <tommusta@gmail.com> | 2014-02-12 15:23:04 -0600 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-03-05 03:06:55 +0100 |
commit | e13500b3c36533e22842bac28f40b2c86ded8c0c (patch) | |
tree | 6d02edd5aac24b6034396f3d115a425e41be7de1 /target-ppc/int_helper.c | |
parent | f293f04ab5301f688ce7c9fe3006a787611c2485 (diff) | |
download | qemu-e13500b3c36533e22842bac28f40b2c86ded8c0c.zip qemu-e13500b3c36533e22842bac28f40b2c86ded8c0c.tar.gz qemu-e13500b3c36533e22842bac28f40b2c86ded8c0c.tar.bz2 |
target-ppc: Altivec 2.07: Vector Population Count Instructions
This patch adds the Vector Population Count instructions introduced in Power
ISA Version 2.07: vpopcntb, vpopcnth, vpopcntw and vpopcntd.
Signed-off-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/int_helper.c')
-rw-r--r-- | target-ppc/int_helper.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index 7fca9f0..3b67ae3 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -1549,6 +1549,20 @@ VGENERIC_DO(clzd, u64) #undef clzw #undef clzd +#define popcntb(v) ctpop8(v) +#define popcnth(v) ctpop16(v) +#define popcntw(v) ctpop32(v) +#define popcntd(v) ctpop64(v) + +VGENERIC_DO(popcntb, u8) +VGENERIC_DO(popcnth, u16) +VGENERIC_DO(popcntw, u32) +VGENERIC_DO(popcntd, u64) + +#undef popcntb +#undef popcnth +#undef popcntw +#undef popcntd #undef VGENERIC_DO |