qemu-cr16/target/ppc
Víctor Colombo c3f24257e3 target/ppc: Clear fpstatus flags on helpers missing it
In ppc emulation, exception flags are not cleared at the end of an
instruction. Instead, the next instruction is responsible to clear
it before its emulation. However, some helpers are not doing it,
causing an issue where the previously set exception flags are being
used and leading to incorrect values being set in FPSCR.
Fix this by clearing fp_status before doing the instruction 'real' work
for the following helpers that were missing this behavior:

- VSX_CVT_INT_TO_FP_VECTOR
- VSX_CVT_FP_TO_FP
- VSX_CVT_FP_TO_INT_VECTOR
- VSX_CVT_FP_TO_INT2
- VSX_CVT_FP_TO_INT
- VSX_CVT_FP_TO_FP_HP
- VSX_CVT_FP_TO_FP_VECTOR
- VSX_CMP
- VSX_ROUND
- xscvqpdp
- xscvdpsp[n]

Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220906125523.38765-9-victor.colombo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2022-09-20 10:54:06 -03:00
..
translate target/ppc: Merge fsqrt and fsqrts helpers 2022-09-20 10:54:06 -03:00
arch_dump.c
compat.c
cpu-models.c
cpu-models.h
cpu-param.h
cpu-qom.h target/ppc: Fix host PVR matching for KVM 2022-08-30 16:20:29 -03:00
cpu.c target/ppc: Bugfix FP when OE/UE are set 2022-08-31 14:08:05 -03:00
cpu.h target/ppc: Remove unused xer_* macros 2022-09-20 10:54:06 -03:00
cpu_init.c target/ppc: Add HASHKEYR and HASHPKEYR SPRs 2022-09-20 10:54:06 -03:00
dfp_helper.c target/ppc: Set result to QNaN for DENBCD when VXCVI occurs 2022-09-20 10:54:06 -03:00
excp_helper.c target/ppc: Implement hashstp and hashchkp 2022-09-20 10:54:06 -03:00
fpu_helper.c target/ppc: Clear fpstatus flags on helpers missing it 2022-09-20 10:54:06 -03:00
gdbstub.c
helper.h target/ppc: Merge fsqrt and fsqrts helpers 2022-09-20 10:54:06 -03:00
helper_regs.c
helper_regs.h
insn32.decode target/ppc: Move fsqrts to decodetree 2022-09-20 10:54:06 -03:00
insn64.decode
int_helper.c target/ppc: Set OV32 when OV is set 2022-09-20 10:54:06 -03:00
internal.h target/ppc: Implement new wait variants 2022-07-28 13:30:41 -03:00
Kconfig
kvm-stub.c
kvm.c
kvm_ppc.h
machine.c target/ppc: Fix host PVR matching for KVM 2022-08-30 16:20:29 -03:00
mem_helper.c
meson.build
misc_helper.c
mmu-book3s-v3.c
mmu-book3s-v3.h
mmu-books.h
mmu-hash32.c
mmu-hash32.h
mmu-hash64.c
mmu-hash64.h
mmu-radix64.c
mmu-radix64.h
mmu_common.c
mmu_helper.c
monitor.c
power8-pmu-regs.c.inc
power8-pmu.c
power8-pmu.h
spr_common.h
tcg-stub.c
timebase_helper.c
trace-events
trace.h
translate.c target/ppc: Zero second doubleword of VSR registers for FPR insns 2022-09-20 10:54:06 -03:00
user_only_helper.c