This patch series corrects some issues with floating point emulation on Power.
Patch 1 corrects a corner case in the square root instructions, which incorrectly react to NaN whose sign bit is a 1. Patches 2-6 correct a rather pervasive problem with modeling of the CR[1] field (i.e. the "dot form" instructions of the FPU). The bugs were found by running random test patterns through actual Power hardware (P7 and P8) and comparing against QEMU. The patches conflict quite a bit with Paolo's series that splits CR into 32 one bit registers. Paolo: is V3 of your patch series coming anytime soon? V2 Reworked patches to pick up the gen_set_cr1_from_fpscr() utility that was recently added by Paolo Bonzini. Tom Musta (6): target-ppc: VXSQRT Should Not Be Set for NaNs target-ppc: Fix Floating Point Move Instructions That Set CR1 target-ppc: mffs. Should Set CR1 from FPSCR Bits target-ppc: Fully Migrate to gen_set_cr1_from_fpscr target-ppc: Eliminate set_fprf Argument From gen_compute_fprf target-ppc: Eliminate set_fprf Argument From helper_compute_fprf target-ppc/fpu_helper.c | 85 +++++++++++++++--------------- target-ppc/helper.h | 2 +- target-ppc/translate.c | 131 ++++++++++++++++++++++++++++------------------- 3 files changed, 122 insertions(+), 96 deletions(-)