Commit c201998a by Steven Munroe Committed by Nathan Froyd

darwin-ldouble.c (fmsub): Eliminate the full PACK/UNPACK between FP_SUB_Q and…

darwin-ldouble.c (fmsub): Eliminate the full PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result...

	* config/rs6000/darwin-ldouble.c (fmsub): Eliminate the full
	PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result
	is only rounded once.

From-SVN: r135815
parent 430b2815
2008-05-23 Steven Munroe <sjmunroe@us.ibm.com>
* config/rs6000/darwin-ldouble.c (fmsub): Eliminate the full
PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result
is only rounded once.
2008-05-23 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (mark_difference_for_renaming): Use
......
......@@ -422,15 +422,13 @@ fmsub (double a, double b, double c)
FP_UNPACK_SEMIRAW_Q(U,u);
FP_UNPACK_SEMIRAW_Q(Z,z);
FP_SUB_Q(V,U,Z);
FP_PACK_SEMIRAW_Q(v,V);
FP_HANDLE_EXCEPTIONS;
/* Truncate quad to double. */
FP_INIT_ROUNDMODE;
FP_UNPACK_SEMIRAW_Q(V,v);
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
V_f[3] &= 0x0007ffff;
FP_TRUNC(D,Q,2,4,R,V);
#else
V_f1 &= 0x0007ffffffffffffL;
FP_TRUNC(D,Q,1,2,R,V);
#endif
FP_PACK_SEMIRAW_D(r,R);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment