On Tue, Jan 10, 2017 at 12:10:07AM -0200, Jose Ricardo Ziviani wrote: > v5: > - removes 'unlikely' gcc branch pred. hints from not unlikely places > - adds comments in host-utils functions > - adds more test cases for shift functions > - handles "shift backwards" with signed shifts > - rebases branch > > v4: > - improves functions to behave exactly like the target > > v3: > - moves shift functions to host-utils.c and added config_int128 guard > - changes Makefile to always compile host-utils.c > - redesigns bcd[u]trunc to use bitwise operations > - removes "target-ppc: Implement bcd_is_valid function" (merged) > > v2: > - bcd[s,sr,us] uses 1 byte for shifting instead of 4 bytes > - left/right functions in host-utils are out of CONFIG_INT128 > - fixes overflowing issue in left shift and added a testcase > > This serie contains 5 new instructions for POWER9 ISA3.0, left/right shifts > for > unsigned quadwords and a small improvement to check whether a bcd value is > valid or not.
Patches 1-5 applied to ppc-for-2.9, remainder left with a suggestion
for improvement.
>
> bcds.: Decimal signed shift
> bcdus.: Decimal unsigned shift
> bcdsr.: Decimal shift and round
> bcdtrunc.: Decimal signed trucate
> bcdutrunc.: Decimal unsigned truncate
>
> Jose Ricardo Ziviani (7):
> host-utils: Move 128-bit guard macro to .c file
> host-utils: Implement unsigned quadword left/right shift and unit
> tests
> ppc: Implement bcds. instruction
> ppc: Implement bcdus. instruction
> ppc: Implement bcdsr. instruction
> ppc: Implement bcdtrunc. instruction
> ppc: Implement bcdutrunc. instruction
>
> include/qemu/host-utils.h | 27 +++++
> target/ppc/helper.h | 5 +
> target/ppc/int_helper.c | 217
> ++++++++++++++++++++++++++++++++++++
> target/ppc/translate/vmx-impl.inc.c | 16 +++
> target/ppc/translate/vmx-ops.inc.c | 13 ++-
> tests/Makefile.include | 5 +-
> tests/test-shift128.c | 139 +++++++++++++++++++++++
> util/Makefile.objs | 2 +-
> util/host-utils.c | 66 +++++++++++
> 9 files changed, 483 insertions(+), 7 deletions(-)
> create mode 100644 tests/test-shift128.c
>
--
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
signature.asc
Description: PGP signature
