From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VeZ0H-0005KZ-LO for qemu-devel@nongnu.org; Thu, 07 Nov 2013 18:28:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VeZ09-0005U1-7Q for qemu-devel@nongnu.org; Thu, 07 Nov 2013 18:28:45 -0500 Sender: Richard Henderson Message-ID: <527C221A.5000609@twiddle.net> Date: Fri, 08 Nov 2013 09:28:26 +1000 From: Richard Henderson MIME-Version: 1.0 References: <1383769916-5582-1-git-send-email-tommusta@gmail.com> <1383769916-5582-13-git-send-email-tommusta@gmail.com> In-Reply-To: <1383769916-5582-13-git-send-email-tommusta@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 12/14] VSX Stage 4: Add Scalar SP Fused Multiply-Adds List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tom Musta , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org On 11/07/2013 06:31 AM, Tom Musta wrote: > } \ > + \ > + if (r2sp) { \ > + float32 tmp32 = float64_to_float32(xt_out.fld[i], \ > + &env->fp_status); \ > + xt_out.fld[i] = float32_to_float64(tmp32, &env->fp_status); \ > + } \ > + \ You can't get correct results for a single-precision fma from a double-precision fma and merely rounding the results. See e.g. glibc's sysdeps/ieee754/dbl-64/s_fmaf.c. r~