llvm-6502/test
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
..
Analysis Use WriteAsOperand instead of getName() to print loop header names, 2010-01-09 18:17:45 +00:00
Archive Merge Archive/extract* tests into one; this avoids a race when tests are run in 2009-09-08 23:44:24 +00:00
Assembler Re-add parsing of function-local metadata; this time with testcase. 2010-01-05 22:22:14 +00:00
Bindings/Ocaml Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed, 2009-10-17 23:52:26 +00:00
Bitcode Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
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 Remove test. Execution tests are slow and generally not worth it. 2009-11-08 02:23:15 +00:00
Feature fix bogus test 2010-01-09 19:24:18 +00:00
FrontendAda Check that accessing a struct field that occurs before the start 2009-10-22 12:53:25 +00:00
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 tests: Add llvm_supports_binding predicate. 2009-09-13 01:41:18 +00:00
Linker When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
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 Teach macho-dump to dump UUIDs. 2009-10-24 20:32:36 +00:00
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 Generate lit.site.cfg from a .in file, as clang does. 2009-09-22 07:38:33 +00:00
Makefile Revert the test from r88984. It relies on being able to mmap 16GB of 2009-11-16 23:32:30 +00:00
Makefile.tests
site.exp.in Two small fixes for site.exp for cmake. 2009-11-08 09:29:52 +00:00
TestRunner.sh