qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 0/9] POWER9 TCG enablements - part4
@ 2016-09-28 18:41 Nikunj A Dadhania
  2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 1/9] target-ppc: Implement mfvsrld instruction Nikunj A Dadhania
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Nikunj A Dadhania @ 2016-09-28 18:41 UTC (permalink / raw)
  To: qemu-ppc, david, rth; +Cc: qemu-devel, nikunj, benh

This series contains 7 new instructions for POWER9 ISA3.0
Use newer qemu load/store tcg helpers and optimize stxvw4x and lxvw4x.

GCC was adding epilogue for every VSX instructions causing change in 
behaviour. For testing the load vector instructions used mfvsrld/mfvsrd 
for loading vsr to register. And for testing store vector, used mtvsrdd 
instructions. This helped in getting rid of the epilogue added by gcc.

Patches:
    01:  mfvsrld: Move From VSR Lower Doubleword
    02:  mtvsrdd: Move To VSR Double Doubleword
    03:  mtvsrws: Move To VSR Word & Splat
    05:  lxvw4x: improve implementation
    05:  stxv4x: improve implementation
    06:  lxvh8x: Load VSX Vector Halfword*8
    07:  stxvh8x: Store VSX Vector Halfword*8
    08:  lxvb16x: Load VSX Vector Byte*16
    09:  stxvb16x: Store VSX Vector Byte*16

Changelog:
v4:
* Added gen_bswap16x8 inline for lxvh8x and stxvh8x in tcg
* Dropped helper_bswap16x4
* Use temporaries in stxvh8x and not clobber the register

v3:
* Added 3 new VSR instructions.
* Fixed all the vector load/store instructions for BE/LE.
* Added detailed commit messages to patches.
* Dropped deposit32x2 and implemented it using tcg ops

v2: 
* Fix lxvw4x/stxv4x translation as LE/BE were both similar 
  one in tcg and other as helper
* Rename bswap32x2 to deposit32x2 as it does not need to 
  swap content(32bit)
* stxvh8x had a bug as David suggested.

v1: 
* More load/store cleanups in byte reverse routines
* ld64/st64 converted to newer macro and updated call sites
* Cleanup load with reservation and store conditional
* Return invalid random for darn instruction

v0:
* darn - read /dev/random to get the random number
* xxspltib - make is PPC64 only
* Consolidate load/store operations and use macros to generate qemu_st/ld
* Simplify load/store vsx endian manipulation

Nikunj A Dadhania (6):
  target-ppc: improve lxvw4x implementation
  target-ppc: improve stxvw4x implementation
  target-ppc: add lxvh8x instruction
  target-ppc: add stxvh8x instruction
  target-ppc: add lxvb16x instruction
  target-ppc: add stxvb16x instruction

Ravi Bangoria (3):
  target-ppc: Implement mfvsrld instruction
  target-ppc: Implement mtvsrdd instruction
  target-ppc: Implement mtvsrws instruction

 target-ppc/translate/vsx-impl.inc.c | 238 ++++++++++++++++++++++++++++++++----
 target-ppc/translate/vsx-ops.inc.c  |   7 ++
 2 files changed, 221 insertions(+), 24 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-09-29  4:08 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-28 18:41 [Qemu-devel] [PATCH v5 0/9] POWER9 TCG enablements - part4 Nikunj A Dadhania
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 1/9] target-ppc: Implement mfvsrld instruction Nikunj A Dadhania
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 2/9] target-ppc: Implement mtvsrdd instruction Nikunj A Dadhania
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 3/9] target-ppc: Implement mtvsrws instruction Nikunj A Dadhania
2016-09-28 20:21   ` Richard Henderson
2016-09-29  1:53     ` David Gibson
2016-09-29  4:07       ` Richard Henderson
2016-09-29  2:19     ` Nikunj A Dadhania
2016-09-29  4:08       ` Richard Henderson
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 4/9] target-ppc: improve lxvw4x implementation Nikunj A Dadhania
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 5/9] target-ppc: improve stxvw4x implementation Nikunj A Dadhania
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 6/9] target-ppc: add lxvh8x instruction Nikunj A Dadhania
2016-09-28 20:22   ` Richard Henderson
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 7/9] target-ppc: add stxvh8x instruction Nikunj A Dadhania
2016-09-28 20:23   ` Richard Henderson
2016-09-28 18:41 ` [Qemu-devel] [PATCH v5 8/9] target-ppc: add lxvb16x instruction Nikunj A Dadhania
2016-09-28 18:42 ` [Qemu-devel] [PATCH v5 9/9] target-ppc: add stxvb16x instruction Nikunj A Dadhania
2016-09-29  1:51 ` [Qemu-devel] [PATCH v5 0/9] POWER9 TCG enablements - part4 David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).