qemu/target
Richard Henderson 88808a022c target/arm: Fix float16 to/from int16
The instruction "ucvtf v0.4h, v04h, #2", with input 0x8000u,
overflows the intermediate float16 to infinity before we have a
chance to scale the output.  Use float64 as the intermediate type
so that no input argument (uint32_t in this case) can overflow
or round before scaling.  Given the declared argument, the signed
int32_t function has the same problem.

When converting from float16 to integer, using u/int32_t instead
of u/int16_t means that the bounding is incorrect.

Cc: qemu-stable@nongnu.org
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180502221552.3873-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-05-10 18:10:58 +01:00
..
alpha icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 09:05:22 +10:00
arm target/arm: Fix float16 to/from int16 2018-05-10 18:10:58 +01:00
cris icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 09:05:22 +10:00
hppa tcg: Improve TCGv_ptr support 2018-05-01 11:56:16 -07:00
i386 i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 13:36:52 -03:00
lm32
m68k m68k: remove dead code (Coverity CID1390617) 2018-05-01 15:37:20 +02:00
microblaze target-microblaze: mmu: Make the TLBX MISS bit read-only 2018-04-30 16:43:20 +02:00
mips
moxie icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 09:05:22 +10:00
nios2
openrisc icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 09:05:22 +10:00
ppc QAPI patches for 2018-05-04 2018-05-04 13:49:08 +01:00
riscv target/riscv: Use new atomic min/max expanders 2018-05-10 18:10:57 +01:00
s390x QAPI patches for 2018-05-04 2018-05-04 13:49:08 +01:00
sh4
sparc
tilegx
tricore icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 09:05:22 +10:00
unicore32
xtensa target/xtensa: Use new min/max expanders 2018-05-10 18:10:57 +01:00