mbox series

[v6,00/24] target/m68k: fpu improvements

Message ID 20250511203546.139788-1-richard.henderson@linaro.org
Headers show
Series target/m68k: fpu improvements | expand

Message

Richard Henderson May 11, 2025, 8:35 p.m. UTC
v3: https://lore.kernel.org/qemu-devel/20240909172823.649837-1-richard.henderson@linaro.org/
v4: https://lore.kernel.org/qemu-devel/20250224171444.440135-1-richard.henderson@linaro.org/
v5: https://lore.kernel.org/qemu-devel/20250507211300.9735-1-richard.henderson@linaro.org/

Changes for v6:
  - Fix packed decimal exponent digit ordering (andreas)
  - Raise OPERR for out-of-bounds kfactor and exponent

Patches needing review:
  03-target-m68k-Keep-FPSR-up-to-date.patch
  05-target-m68k-Update-FPSR-for-FMOVECR.patch
  09-target-m68k-Use-OS_UNSIZED-in-LEA-PEA-JMP.patch
  10-target-m68k-Move-pre-dec-post-inc-to-gen_lea_mode.patch
  11-target-m68k-Split-gen_ea_mode-for-load-store.patch
  21-target-m68k-Implement-packed-decimal-real-loads-a.patch


r~


Richard Henderson (24):
  target/m68k: Add FPSR exception bit defines
  target/m68k: Restore fp rounding mode on vm load
  target/m68k: Keep FPSR up-to-date
  target/m68k: Update FPSR.EXC
  target/m68k: Update FPSR for FMOVECR
  target/m68k: Introduce M68K_FEATURE_FPU_PACKED_DECIMAL
  target/m68k: Merge gen_ea into SRC_EA and DEST_EA
  target/m68k: Use g_assert_not_reached in gen_lea_mode and gen_ea_mode
  target/m68k: Use OS_UNSIZED in LEA, PEA, JMP
  target/m68k: Move pre-dec/post-inc to gen_lea_mode
  target/m68k: Split gen_ea_mode for load/store
  target/m68k: Remove env argument to gen_lea_indexed
  target/m68k: Remove env argument to gen_lea_mode
  target/m68k: Remove env argument to gen_load_mode
  target/m68k: Remove env argument to gen_store_mode
  target/m68k: Remove env argument to gen_ea_mode_fp
  target/m68k: Split gen_ea_mode_fp for load/store
  target/m68k: Move gen_addr_fault into gen_{load,store}_mode_fp
  target/m68k: Merge gen_load_fp, gen_load_mode_fp
  target/m68k: Merge gen_store_fp, gen_store_mode_fp
  target/m68k: Implement packed decimal real loads and stores
  tests/tcg/m68k: Add packed decimal tests
  target/m68k: Make vmstate variables static
  target/m68k: Implement FPIAR

 target/m68k/cpu.h                |   27 +-
 target/m68k/helper.h             |    5 +-
 target/m68k/cpu.c                |   38 +-
 target/m68k/fpu_helper.c         |  336 +-
 target/m68k/gen-floatx80-pow10.c |   33 +
 target/m68k/helper.c             |   18 +-
 target/m68k/translate.c          |  790 +++--
 tests/tcg/m68k/packeddecimal-1.c |   46 +
 tests/tcg/m68k/packeddecimal-2.c |   55 +
 target/m68k/floatx80-pow10.c.inc | 4935 ++++++++++++++++++++++++++++++
 tests/tcg/m68k/Makefile.target   |    4 +-
 11 files changed, 5766 insertions(+), 521 deletions(-)
 create mode 100644 target/m68k/gen-floatx80-pow10.c
 create mode 100644 tests/tcg/m68k/packeddecimal-1.c
 create mode 100644 tests/tcg/m68k/packeddecimal-2.c
 create mode 100644 target/m68k/floatx80-pow10.c.inc