All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/8] VSX MMA Implementation
@ 2022-05-20 13:51 Lucas Mateus Castro(alqotel)
  2022-05-20 13:51 ` [PATCH v4 1/8] target/ppc: Implement xxm[tf]acc and xxsetaccz Lucas Mateus Castro(alqotel)
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Lucas Mateus Castro(alqotel) @ 2022-05-20 13:51 UTC (permalink / raw)
  To: qemu-ppc
  Cc: richard.henderson, Lucas Mateus Castro (alqotel),
	Alex Bennée, Daniel Henrique Barboza, qemu-devel,
	David Gibson, Greg Kurz

From: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br>

Based-on: <20220517161522.36132-1-victor.colombo@eldorado.org.br>

This patch series is a patch series of the Matrix-Multiply Assist (MMA)
instructions implementation from the PowerISA 3.1

These and the VDIV/VMOD implementation are the last new PowerISA 3.1
instructions left to be implemented.

The XVFGER instructions accumulate the exception status and at the end
set the FPSCR and take a Program interrupt on a trap-enabled exception,
previous versions were based on Victor's rework of FPU exceptions, but
as that patch was rejected this version worked around the fact that
OX/UX/XX and invalid instructions were handled in different functions
by disabling all enable bits then re-enabling them and calling the mtfsf
deferred exception helper.

Patch without review: 5

v4 changes:
    - Changed VSXGER16 accumulation to always use float32_sum and negate
      the elements according to the type of accumulation

v3 changes:
    - GER helpers now use ppc_acc_t instead of ppc_vsr_t for passing acc
    - Removed do_ger_XX3 and updated the decodetree to pass the masks in
      32 bits instructions
    - Removed unnecessary rounding mode function
    - Moved float32_neg to fpu_helper.c and renamed it bfp32_negate to
      make it clearer that it's a 32 bit version of the PowerISA
      bfp_NEGATE
    - Negated accumulation now a subtraction
    - Changed exception handling by disabling all enable FPSCR enable
      bits to set all FPSCR bits (except FEX) correctly, then re-enable
      them and call do_fpscr_check_status to raise the exception
      accordingly and set FEX if necessary

v2 changes:
    - Changed VSXGER, VSXGER16 and XVIGER macros to functions
    - Set rounding mode in floating-point instructions based on RN
      before operations
    - Separated accumulate and with saturation instructions in
      different helpers
    - Used FIELD, FIELD_EX32 and FIELD_DP32 for packing/unpacking masks

Joel Stanley (1):
  linux-user: Add PowerPC ISA 3.1 and MMA to hwcap

Lucas Mateus Castro (alqotel) (7):
  target/ppc: Implement xxm[tf]acc and xxsetaccz
  target/ppc: Implemented xvi*ger* instructions
  target/ppc: Implemented pmxvi*ger* instructions
  target/ppc: Implemented xvf*ger*
  target/ppc: Implemented xvf16ger*
  target/ppc: Implemented pmxvf*ger*
  target/ppc: Implemented [pm]xvbf16ger2*

 linux-user/elfload.c                |   4 +
 target/ppc/cpu.h                    |  13 ++
 target/ppc/fpu_helper.c             | 326 +++++++++++++++++++++++++++-
 target/ppc/helper.h                 |  33 +++
 target/ppc/insn32.decode            |  52 +++++
 target/ppc/insn64.decode            |  79 +++++++
 target/ppc/int_helper.c             | 130 +++++++++++
 target/ppc/internal.h               |  15 ++
 target/ppc/translate/vsx-impl.c.inc | 130 +++++++++++
 9 files changed, 780 insertions(+), 2 deletions(-)

-- 
2.31.1



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

end of thread, other threads:[~2022-05-20 19:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-20 13:51 [PATCH v4 0/8] VSX MMA Implementation Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 1/8] target/ppc: Implement xxm[tf]acc and xxsetaccz Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 2/8] target/ppc: Implemented xvi*ger* instructions Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 3/8] target/ppc: Implemented pmxvi*ger* instructions Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 4/8] target/ppc: Implemented xvf*ger* Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 5/8] target/ppc: Implemented xvf16ger* Lucas Mateus Castro(alqotel)
2022-05-20 15:47   ` Richard Henderson
2022-05-20 16:42     ` Lucas Mateus Martins Araujo e Castro
2022-05-20 19:03       ` Richard Henderson
2022-05-20 13:51 ` [PATCH v4 6/8] target/ppc: Implemented pmxvf*ger* Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 7/8] target/ppc: Implemented [pm]xvbf16ger2* Lucas Mateus Castro(alqotel)
2022-05-20 13:51 ` [PATCH v4 8/8] linux-user: Add PowerPC ISA 3.1 and MMA to hwcap Lucas Mateus Castro(alqotel)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.