Bill Wendling
22f3b9faac
When the visitSub method was split into visitSub and visitFSub, this xform was
...
added to the FSub version. However, the original version of this xform guarded
against doing this for floating point (!Op0->getType()->isFPOrFPVector()).
This is causing LLVM to perform incorrect xforms for code like:
void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){
double mh, ml;
double c = 134217729.0;
double up, u1, u2, vp, v1, v2;
up = xh*c;
u1 = (xh - up) + up;
u2 = xh - u1;
vp = yh*c;
v1 = (yh - vp) + vp;
v2 = yh - v1;
mh = xh*yh;
ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2);
ml += xh*yl + xl*yh;
*rhi = mh + ml;
*rlo = (mh - (*rhi)) + ml;
}
The last line was optimized away, but rl is intended to be the difference
between the infinitely precise result of mh + ml and after it has been rounded
to double precision.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13 23:23:17 +00:00
..
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-17 22:42:29 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 06:14:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 06:14:06 +00:00
2009-11-07 19:11:46 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-27 06:25:05 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-18 08:22:35 +00:00
2009-09-11 18:01:28 +00:00
2009-10-26 22:14:22 +00:00
2009-10-26 22:14:22 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-07 19:11:46 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-10 07:08:30 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 07:18:14 +00:00
2009-10-12 07:18:14 +00:00
2009-10-05 02:47:47 +00:00
2009-10-12 07:18:14 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-01 18:34:40 +00:00
2010-01-05 22:01:41 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2010-01-05 21:54:09 +00:00
2009-11-10 07:23:37 +00:00
2009-11-07 19:11:46 +00:00
2010-01-11 23:18:33 +00:00
2009-12-12 09:25:50 +00:00
2009-12-17 06:07:04 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-19 07:01:15 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-10-12 07:18:14 +00:00
2010-01-13 23:23:17 +00:00
2009-11-29 21:40:55 +00:00
2009-09-11 18:01:28 +00:00
2009-12-21 04:04:05 +00:00
2009-10-12 07:18:14 +00:00
2010-01-05 18:09:56 +00:00
2009-11-11 15:34:13 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-04 18:57:15 +00:00
2010-01-05 21:32:59 +00:00
2010-01-05 17:55:26 +00:00
2009-10-21 19:11:40 +00:00
2009-10-17 00:00:19 +00:00
2009-10-24 04:23:03 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-17 21:07:31 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 21:29:45 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-25 20:54:50 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-11 06:55:24 +00:00
2009-09-16 16:33:59 +00:00
2009-11-09 01:38:00 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-26 22:52:03 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-21 06:08:50 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-02 05:34:35 +00:00
2010-01-08 19:04:21 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 22:39:58 +00:00
2009-09-11 18:01:28 +00:00
2009-11-23 16:22:21 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-14 15:21:58 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-26 22:04:42 +00:00
2010-01-05 21:16:30 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-07 19:11:46 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 22:54:48 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 22:22:13 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 06:32:42 +00:00