1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/test
Bill Wendling 488a7187b4 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.

llvm-svn: 93369
2010-01-13 23:23:17 +00:00
..
Analysis Use WriteAsOperand instead of getName() to print loop header names, 2010-01-09 18:17:45 +00:00
Archive
Assembler Re-add parsing of function-local metadata; this time with testcase. 2010-01-05 22:22:14 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen this test requires SSE, thanks to jyasskin for pointing this out. 2010-01-13 21:51:41 +00:00
DebugInfo If a scope has only one instruction then first instruction is also the last instruction. 2010-01-05 16:59:17 +00:00
ExecutionEngine
Feature fix bogus test 2010-01-09 19:24:18 +00:00
FrontendAda
FrontendC This is testing a darwin specific feature, so only turn 2010-01-06 05:49:26 +00:00
FrontendC++ Testcase for llvm-gcc checkin 92108. 2009-12-24 01:10:43 +00:00
FrontendFortran
FrontendObjC Remove now-redundant llvm-as invocations. 2009-12-05 00:02:37 +00:00
FrontendObjC++
Integer Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
lib
Linker
LLVMC Remove an XFAIL. 2009-12-23 20:13:44 +00:00
MC specify a triple to use, fixing the test on non-x86-64 hosts. 2009-12-22 07:01:12 +00:00
Other fix bogus test 2010-01-09 19:24:49 +00:00
Scripts
TableGen Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +00:00
Transforms When the visitSub method was split into visitSub and visitFSub, this xform was 2010-01-13 23:23:17 +00:00
Unit CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files. 2009-12-08 19:47:36 +00:00
Verifier Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
CMakeLists.txt CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files. 2009-12-08 19:47:36 +00:00
lit.cfg CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files. 2009-12-08 19:47:36 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh