[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v5 0/7] POWER9 TCG enablements - BCD functions - final
From: |
Jose Ricardo Ziviani |
Subject: |
[Qemu-ppc] [PATCH v5 0/7] POWER9 TCG enablements - BCD functions - final part |
Date: |
Tue, 10 Jan 2017 00:10:07 -0200 |
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.
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
--
2.7.4
- [Qemu-ppc] [PATCH v5 0/7] POWER9 TCG enablements - BCD functions - final part,
Jose Ricardo Ziviani <=
- [Qemu-ppc] [PATCH v5 1/7] host-utils: Move 128-bit guard macro to .c file, Jose Ricardo Ziviani, 2017/01/09
- [Qemu-ppc] [PATCH v5 2/7] host-utils: Implement unsigned quadword left/right shift and unit tests, Jose Ricardo Ziviani, 2017/01/09
- [Qemu-ppc] [PATCH v5 3/7] ppc: Implement bcds. instruction, Jose Ricardo Ziviani, 2017/01/09
- [Qemu-ppc] [PATCH v5 4/7] ppc: Implement bcdus. instruction, Jose Ricardo Ziviani, 2017/01/09
- [Qemu-ppc] [PATCH v5 5/7] ppc: Implement bcdsr. instruction, Jose Ricardo Ziviani, 2017/01/09
- [Qemu-ppc] [PATCH v5 6/7] ppc: Implement bcdtrunc. instruction, Jose Ricardo Ziviani, 2017/01/09