qemu/target/arm
Peter Maydell 120a0eb3ea target/arm: Implement VFP fp16 for VFP_BINOP operations
Implmeent VFP fp16 support for simple binary-operator VFP insns VADD,
VSUB, VMUL, VDIV, VMINNM and VMAXNM:

 * make the VFP_BINOP() macro generate float16 helpers as well as
   float32 and float64
 * implement a do_vfp_3op_hp() function similar to the existing
   do_vfp_3op_sp()
 * add decode for the half-precision insn patterns

Note that the VFP_BINOP macro use creates a couple of unused helper
functions vfp_maxh and vfp_minh, but they're small so it's not worth
splitting the BINOP operations into "needs halfprec" and "no
halfprec" groups.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200828183354.27913-4-peter.maydell@linaro.org
2020-09-01 11:19:32 +01:00
..
a32-uncond.decode
a32.decode target/arm: Convert A32 coprocessor insns to decodetree 2020-08-24 10:02:07 +01:00
arch_dump.c
arm_ldst.h
arm-powerctl.c
arm-powerctl.h
arm-semi.c
cpu64.c
cpu_tcg.c
cpu-param.h
cpu-qom.h
cpu.c target/arm: Implement FPST_STD_F16 fpstatus 2020-08-24 10:15:11 +01:00
cpu.h target/arm: Use correct ID register check for aa32_fp16_arith 2020-09-01 11:19:32 +01:00
crypto_helper.c
debug_helper.c
gdbstub64.c
gdbstub.c
helper-a64.c target/arm: Remove local definitions of float constants 2020-09-01 11:19:32 +01:00
helper-a64.h
helper-sve.h target/arm: Merge helper_sve_clr_* and helper_sve_movz_* 2020-08-28 10:02:48 +01:00
helper.c target/arm: Clarify HCR_EL2 ARMCPRegInfo type 2020-08-28 10:02:44 +01:00
helper.h target/arm: Implement VFP fp16 for VFP_BINOP operations 2020-09-01 11:19:32 +01:00
idau.h
internals.h
iwmmxt_helper.c
kvm32.c
kvm64.c
kvm_arm.h
kvm-consts.h
kvm-stub.c
kvm.c
m_helper.c
m-nocp.decode target/arm: Do M-profile NOCP checks early and via decodetree 2020-08-24 10:05:12 +01:00
machine.c
meson.build target/arm: Do M-profile NOCP checks early and via decodetree 2020-08-24 10:05:12 +01:00
monitor.c
mte_helper.c target/arm: Fill in the WnR syndrome bit in mte_check_fail 2020-08-28 10:02:45 +01:00
neon_helper.c
neon-dp.decode
neon-ls.decode
neon-shared.decode
op_addsub.h
op_helper.c
pauth_helper.c
psci.c
sve_helper.c target/arm: Merge helper_sve_clr_* and helper_sve_movz_* 2020-08-28 10:02:48 +01:00
sve.decode target/arm: Tidy SVE tszimm shift formats 2020-08-28 10:02:49 +01:00
t16.decode
t32.decode target/arm: Convert T32 coprocessor insns to decodetree 2020-08-24 10:15:08 +01:00
tlb_helper.c
trace-events
trace.h
translate-a64.c target/arm: Convert sq{, r}dmulh to gvec for aa64 advsimd 2020-08-28 10:02:50 +01:00
translate-a64.h target/arm: Replace A64 get_fpstatus_ptr() with generic fpstatus_ptr() 2020-08-24 10:15:11 +01:00
translate-neon.c.inc target/arm: Use correct FPST for VCMLA, VCADD on fp16 2020-08-24 10:15:12 +01:00
translate-sve.c target/arm: Remove local definitions of float constants 2020-09-01 11:19:32 +01:00
translate-vfp.c.inc target/arm: Implement VFP fp16 for VFP_BINOP operations 2020-09-01 11:19:32 +01:00
translate.c target/arm: Make A32/T32 use new fpstatus_ptr() API 2020-08-24 10:15:11 +01:00
translate.h target/arm: Rearrange {sve,fp}_check_access assert 2020-08-28 10:02:47 +01:00
vec_helper.c target/arm: Convert sq{, r}dmulh to gvec for aa64 advsimd 2020-08-28 10:02:50 +01:00
vec_internal.h
vfp_helper.c target/arm: Implement VFP fp16 for VFP_BINOP operations 2020-09-01 11:19:32 +01:00
vfp-uncond.decode target/arm: Implement VFP fp16 for VFP_BINOP operations 2020-09-01 11:19:32 +01:00
vfp.decode target/arm: Implement VFP fp16 for VFP_BINOP operations 2020-09-01 11:19:32 +01:00