[PATCH v2 0/9] VDIV/VMOD Implementation

Lucas Mateus Castro(alqotel) posted 9 patches 3 years, 10 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220405195558.66144-1-lucas.araujo@eldorado.org.br
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>
There is a newer version of this series
include/qemu/host-utils.h           |  16 +++
include/qemu/int128.h               |  39 ++++++
target/ppc/helper.h                 |   8 ++
target/ppc/insn32.decode            |  23 ++++
target/ppc/int_helper.c             | 106 ++++++++++++++++
target/ppc/translate/vmx-impl.c.inc | 125 +++++++++++++++++++
tests/unit/test-int128.c            |  32 +++++
util/host-utils.c                   | 179 ++++++++++++++++++++++++++++
8 files changed, 528 insertions(+)
[PATCH v2 0/9] VDIV/VMOD Implementation
Posted by Lucas Mateus Castro(alqotel) 3 years, 10 months ago
From: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br>

This patch series is an implementation of the vector divide, vector
divide extended and vector modulo instructions from PowerISA 3.1

The first patch are Matheus' patch, used here since the divs256 and
divu256 functions use int128_urshift.

v2 changes:
    - Dropped int128_lshift patch
    - Added missing int_min/-1 check
    - Changed invalid division to a division by 1
    - Created new macro responsible for invalid division check
      (replacing DIV_VEC, REM_VEC and the check in dives_i32/diveu_i32)
    - Turned GVecGen3 array into single element

Lucas Mateus Castro (alqotel) (8):
  target/ppc: Implemented vector divide instructions
  target/ppc: Implemented vector divide quadword
  target/ppc: Implemented vector divide extended word
  host-utils: Implemented unsigned 256-by-128 division
  host-utils: Implemented signed 256-by-128 division
  target/ppc: Implemented remaining vector divide extended
  target/ppc: Implemented vector module word/doubleword
  target/ppc: Implemented vector module quadword

Matheus Ferst (1):
  qemu/int128: add int128_urshift

 include/qemu/host-utils.h           |  16 +++
 include/qemu/int128.h               |  39 ++++++
 target/ppc/helper.h                 |   8 ++
 target/ppc/insn32.decode            |  23 ++++
 target/ppc/int_helper.c             | 106 ++++++++++++++++
 target/ppc/translate/vmx-impl.c.inc | 125 +++++++++++++++++++
 tests/unit/test-int128.c            |  32 +++++
 util/host-utils.c                   | 179 ++++++++++++++++++++++++++++
 8 files changed, 528 insertions(+)

-- 
2.31.1