[llvm-commits] [test-suite] r164834 - in /test-suite/trunk/MultiSource/Benchmarks: ./ TSVC/ TSVC/ControlFlow-dbl/ TSVC/ControlFlow-flt/ TSVC/ControlLoops-dbl/ TSVC/ControlLoops-flt/ TSVC/CrossingThresholds-dbl/ TSVC/CrossingThresholds-flt/ TSVC/Equivalencing-dbl/ TSVC/Equivalencing-flt/ TSVC/Expansion-dbl/ TSVC/Expansion-flt/ TSVC/GlobalDataFlow-dbl/ TSVC/GlobalDataFlow-flt/ TSVC/IndirectAddressing-dbl/ TSVC/IndirectAddressing-flt/ TSVC/InductionVariable-dbl/ TSVC/InductionVariable-flt/ TSVC/LinearDependence-dbl/ TSVC/...

Hal Finkel hfinkel at anl.gov
Fri Sep 28 11:33:29 PDT 2012


Author: hfinkel
Date: Fri Sep 28 13:33:27 2012
New Revision: 164834

URL: http://llvm.org/viewvc/llvm-project?rev=164834&view=rev
Log:
Add the TSVC loop benchmarks to the test suite.

Compared to the original benchmark, I've made the following enhancements:

 - I made the number of test iterations a command-line parameter (this
   makes it easy to adjust the run time), and also the output precision
 - I made it possible to run the tests using both float or double
 - I split out the different classes of loops into separate tests (I
   did this primarily to make performance improvements and regressions
   noticeable)
 - I removed the timing information from the output


Added:
    test-suite/trunk/MultiSource/Benchmarks/TSVC/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/README
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt.reference_output
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/dummy.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/tsc.c
    test-suite/trunk/MultiSource/Benchmarks/TSVC/dummy.inc
    test-suite/trunk/MultiSource/Benchmarks/TSVC/license.txt
    test-suite/trunk/MultiSource/Benchmarks/TSVC/tests.h
    test-suite/trunk/MultiSource/Benchmarks/TSVC/tsc.inc
    test-suite/trunk/MultiSource/Benchmarks/TSVC/types.h
Modified:
    test-suite/trunk/MultiSource/Benchmarks/Makefile

Modified: test-suite/trunk/MultiSource/Benchmarks/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/Makefile?rev=164834&r1=164833&r2=164834&view=diff
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/Makefile (original)
+++ test-suite/trunk/MultiSource/Benchmarks/Makefile Fri Sep 28 13:33:27 2012
@@ -6,7 +6,7 @@
                  McCat Olden Ptrdist llubenchmark \
                  sim FreeBench MallocBench Prolangs-C SciMark2-C mediabench\
                  nbench ASCI_Purple MiBench Trimaran VersaBench NPB-serial\
-                 BitBench ASC_Sequoia
+                 BitBench ASC_Sequoia TSVC
 
 ifndef DISABLE_CXX
 PARALLEL_DIRS += Prolangs-C++ PAQ8p tramp3d-v4 Bullet

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,26 @@
+Running each loop 2325 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S161	 0.00 		64002.056120708 
+S1161	 0.00 		64001.644902816 
+S162	 0.00 		32009.256033613 
+S271	 0.00 		47297.596201229 
+S272	 0.00 		71648.798100615 
+S273	 0.00 		96074.42549004 
+S274	 0.00 		74467826.043953 
+S275	 0.00 		65536.000008361 
+S2275	 0.00 		65536.000059037 
+S276	 0.00 		47297.596201229 
+S277	 0.00 		32000 
+S278	 0.00 		63990.251334431 
+S279	 0.00 		64014.289482229 
+S1279	 0.00 		35835.277119935 
+S2710	 0.00 		96003.289805635 
+S2711	 0.00 		47297.596201229 
+S2712	 0.00 		37997.596201229 
+S441	 0.00 		35824.399050307 
+S442	 0.00 		33911.377073745 
+S443	 0.00 		39648.798100615 
+S481	 0.00 		35824.399050307 
+S482	 0.00 		35824.399050307 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = ControlFlow-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 2325 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS CONTROL_FLOW
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,26 @@
+Running each loop 2325 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S161	 0.00 		64002 
+S1161	 0.00 		64002 
+S162	 0.00 		32009 
+S271	 0.00 		47297 
+S272	 0.00 		71649 
+S273	 0.00 		96066 
+S274	 0.00 		7.4503e+07 
+S275	 0.00 		65536 
+S2275	 0.00 		65536 
+S276	 0.00 		47297 
+S277	 0.00 		32000 
+S278	 0.00 		63990 
+S279	 0.00 		64014 
+S1279	 0.00 		35834 
+S2710	 0.00 		96003 
+S2711	 0.00 		47297 
+S2712	 0.00 		37996 
+S441	 0.00 		35824 
+S442	 0.00 		33911 
+S443	 0.00 		39649 
+S481	 0.00 		35824 
+S482	 0.00 		35824 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = ControlFlow-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 2325 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlFlow-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS CONTROL_FLOW
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,17 @@
+Running each loop 1640 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+va	 0.00 		1.6449028173365 
+vag	 0.00 		1.6449028173365 
+vas	 0.00 		1.6449028173365 
+vif	 0.00 		1.6449028173365 
+vpv	 0.00 		26976.406204318 
+vtv	 0.00 		32000 
+vpvtv	 0.00 		42790.562481727 
+vpvts	 0.00 		34697.640620432 
+vpvpv	 0.00 		1.6449028173365 
+vtvtv	 0.00 		32000 
+vsumr	 0.00 		10.950722471602 
+vdotr	 0.00 		1.6449028173365 
+vbor	 0.00 		180.31699818554 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = ControlLoops-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 1640 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS CONTROL_LOOPS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,17 @@
+Running each loop 1640 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+va	 0.00 		1.6447 
+vag	 0.00 		1.6447 
+vas	 0.00 		1.6447 
+vif	 0.00 		1.6447 
+vpv	 0.00 		26973 
+vtv	 0.00 		32000 
+vpvtv	 0.00 		42790 
+vpvts	 0.00 		34697 
+vpvpv	 0.00 		1.6447 
+vtvtv	 0.00 		32000 
+vsumr	 0.00 		10.951 
+vdotr	 0.00 		1.6447 
+vbor	 0.00 		180.32 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = ControlLoops-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 1640 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/ControlLoops-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS CONTROL_LOOPS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,12 @@
+Running each loop 5880 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S281	 0.00 		32000 
+S1281	 0.00 		inf 
+S291	 0.00 		32000 
+S292	 0.00 		31967.999999994 
+S293	 0.00 		32000 
+S2101	 0.00 		162028.88365496 
+S2102	 0.00 		256 
+S2111	 0.00 		3 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = CrossingThresholds-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 5880 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS CROSSING_THRESHOLDS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,12 @@
+Running each loop 5880 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S281	 0.00 		32000 
+S1281	 0.00 		inf 
+S291	 0.00 		32000 
+S292	 0.00 		31954 
+S293	 0.00 		32000 
+S2101	 0.00 		1.6204e+05 
+S2102	 0.00 		256 
+S2111	 0.00 		3 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = CrossingThresholds-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 5880 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS CROSSING_THRESHOLDS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,9 @@
+Running each loop 3125 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S421	 0.00 		32010.620068485 
+S1421	 0.00 		16000 
+S422	 0.00 		3.7377231414078 
+S423	 0.00 		32000.736895702 
+S424	 0.00 		32822.36069424 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Equivalencing-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3125 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS EQUIVALENCING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,9 @@
+Running each loop 3125 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S421	 0.00 		32009 
+S1421	 0.00 		16000 
+S422	 0.00 		3.7377 
+S423	 0.00 		32001 
+S424	 0.00 		32819 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Equivalencing-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3125 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Equivalencing-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS EQUIVALENCING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,16 @@
+Running each loop 4160 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S251	 0.00 		32004.372128868 
+S1251	 0.00 		16641.9999375 
+S2251	 0.00 		2.6357418019322 
+S3251	 0.00 		12.595594037962 
+S252	 0.00 		63999 
+S253	 0.00 		133183905.17726 
+S254	 0.00 		32000 
+S255	 0.00 		31967.999999994 
+S256	 0.00 		162944 
+S257	 0.00 		163072 
+S258	 0.00 		1398.6333599277 
+S261	 0.00 		1388.1254833707 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Expansion-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 4160 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS EXPANSION
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,16 @@
+Running each loop 4160 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S251	 0.00 		32004 
+S1251	 0.00 		16642 
+S2251	 0.00 		2.6354 
+S3251	 0.00 		12.596 
+S252	 0.00 		63999 
+S253	 0.00 		1.3316e+08 
+S254	 0.00 		32000 
+S255	 0.00 		31954 
+S256	 0.00 		1.6294e+05 
+S257	 0.00 		1.6307e+05 
+S258	 0.00 		1398.6 
+S261	 0.00 		1388.1 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Expansion-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 4160 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Expansion-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS EXPANSION
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,14 @@
+Running each loop 3450 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S131	 0.00 		32010.793712165 
+S132	 0.00 		65538.562172481 
+S141	 0.00 		47923.296903321 
+S151	 0.00 		32010.793712165 
+S152	 0.00 		36147.096314216 
+S431	 0.00 		88749.147198112 
+S451	 0.00 		32009.980172276 
+S452	 0.00 		32512.016 
+S471	 0.00 		64004.934708452 
+S4121	 0.00 		37674.914719811 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = GlobalDataFlow-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3450 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS GLOBAL_DATA_FLOW
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,14 @@
+Running each loop 3450 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S131	 0.00 		32009 
+S132	 0.00 		65539 
+S141	 0.00 		47924 
+S151	 0.00 		32009 
+S152	 0.00 		36147 
+S431	 0.00 		88741 
+S451	 0.00 		32008 
+S452	 0.00 		32512 
+S471	 0.00 		64005 
+S4121	 0.00 		37674 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = GlobalDataFlow-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3450 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS GLOBAL_DATA_FLOW
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,11 @@
+Running each loop 12500 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S491	 0.00 		32001.644902817 
+S4112	 0.00 		168884.03089502 
+S4113	 0.00 		32001.644902817 
+S4114	 0.00 		32000.000684406 
+S4115	 0.00 		1.0388119872934 
+S4116	 0.00 		0.04003394502201 
+S4117	 0.00 		32002.208698896 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = IndirectAddressing-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 12500 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS INDIRECT_ADDRESSING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,11 @@
+Running each loop 12500 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S491	 0.00 		32002 
+S4112	 0.00 		1.6888e+05 
+S4113	 0.00 		32002 
+S4114	 0.00 		32000 
+S4115	 0.00 		1.0386 
+S4116	 0.00 		0.040034 
+S4117	 0.00 		32002 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = IndirectAddressing-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 12500 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS INDIRECT_ADDRESSING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,13 @@
+Running each loop 9100 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S121	 0.00 		32010.938719316 
+S122	 0.00 		46968.615637762 
+S123	 0.00 		32003.289743137 
+S124	 0.00 		32001.644902817 
+S125	 0.00 		131072 
+S126	 0.00 		344040.27777034 
+S127	 0.00 		32003.289743137 
+S128	 0.00 		80000 
+S453	 0.00 		21.901444943204 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = InductionVariable-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 9100 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS INDUCTION_VARIABLE
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,13 @@
+Running each loop 9100 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S121	 0.00 		32009 
+S122	 0.00 		46968 
+S123	 0.00 		32003 
+S124	 0.00 		32002 
+S125	 0.00 		1.3107e+05 
+S126	 0.00 		3.4401e+05 
+S127	 0.00 		32003 
+S128	 0.00 		80000 
+S453	 0.00 		21.901 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = InductionVariable-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 9100 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/InductionVariable-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS INDUCTION_VARIABLE
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,18 @@
+Running each loop 3570 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S000	 0.00 		32000 
+S111	 0.00 		32000.411217892 
+S1111	 0.00 		 16005.411616168 
+S112	 0.00 		49616.83635752 
+S1112	 0.00 		 32001.644902817 
+S113	 0.00 		32000.644902817 
+S1113	 0.00 		32002.537228758 
+S114	 0.00 		2634.2722754516 
+S115	 0.00 		31754.628255953 
+S1115	 0.00 		0.065536065536026 
+S116	 0.00 		32000 
+S118	 0.00 		32094.73809178 
+S119	 0.00 		 86338.942123122 
+S1119	 0.00 		 106399.17111513 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LinearDependence-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3570 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS LINEAR_DEPENDENCE
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,18 @@
+Running each loop 3570 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S000	 0.00 		32000 
+S111	 0.00 		32000 
+S1111	 0.00 		 16005 
+S112	 0.00 		49613 
+S1112	 0.00 		 32002 
+S113	 0.00 		32001 
+S1113	 0.00 		32002 
+S114	 0.00 		2634.2 
+S115	 0.00 		31755 
+S1115	 0.00 		0.065485 
+S116	 0.00 		32000 
+S118	 0.00 		32095 
+S119	 0.00 		 86333 
+S1119	 0.00 		 1.0641e+05 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LinearDependence-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 3570 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LinearDependence-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS LINEAR_DEPENDENCE
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+Running each loop 5260 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S351	 0.00 		1346592000 
+S1351	 0.00 		64000 
+S352	 0.00 		1.6449028173365 
+S353	 0.00 		168352000 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LoopRerolling-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 5260 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS LOOP_REROLLING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+Running each loop 5260 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S351	 0.00 		1.3472e+09 
+S1351	 0.00 		64000 
+S352	 0.00 		1.6447 
+S353	 0.00 		1.684e+08 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LoopRerolling-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 5260 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS LOOP_REROLLING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,13 @@
+Running each loop 4350 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S221	 0.00 		557200832.66232 
+S1221	 0.00 		128032666.66666 
+S222	 0.00 		32000 
+S231	 0.00 		106399.17111513 
+S232	 0.00 		65536 
+S1232	 0.00 		32896.000000002 
+S233	 0.00 		504911.52338002 
+S2233	 0.00 		672170.14296636 
+S235	 0.00 		981874.38250994 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LoopRestructuring-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 4350 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS LOOP_RESTRUCTURING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,13 @@
+Running each loop 4350 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S221	 0.00 		5.5717e+08 
+S1221	 0.00 		1.2804e+08 
+S222	 0.00 		32000 
+S231	 0.00 		1.0641e+05 
+S232	 0.00 		65536 
+S1232	 0.00 		32894 
+S233	 0.00 		5.0494e+05 
+S2233	 0.00 		6.7222e+05 
+S235	 0.00 		9.8189e+05 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = LoopRestructuring-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 4350 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS LOOP_RESTRUCTURING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,45 @@
+# MultiSource/Benchmarks/TSVC Makefile
+
+LEVEL = ../../..
+
+## NOTE: This must remain in this order, so that the labels in the nightly 
+## tester gnuplot scripts are correct.
+PARALLEL_DIRS  := \
+   LinearDependence-flt \
+   InductionVariable-flt \
+   GlobalDataFlow-flt \
+   ControlFlow-flt \
+   Symbolics-flt \
+   StatementReordering-flt \
+   LoopRestructuring-flt \
+   NodeSplitting-flt \
+   Expansion-flt \
+   CrossingThresholds-flt \
+   Reductions-flt \
+   Recurrences-flt \
+   Searching-flt \
+   Packing-flt \
+   LoopRerolling-flt \
+   Equivalencing-flt \
+   IndirectAddressing-flt \
+   ControlLoops-flt \
+   LinearDependence-dbl \
+   InductionVariable-dbl \
+   GlobalDataFlow-dbl \
+   ControlFlow-dbl \
+   Symbolics-dbl \
+   StatementReordering-dbl \
+   LoopRestructuring-dbl \
+   NodeSplitting-dbl \
+   Expansion-dbl \
+   CrossingThresholds-dbl \
+   Reductions-dbl \
+   Recurrences-dbl \
+   Searching-dbl \
+   Packing-dbl \
+   LoopRerolling-dbl \
+   Equivalencing-dbl \
+   IndirectAddressing-dbl \
+   ControlLoops-dbl
+
+include $(LEVEL)/Makefile.programs

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = NodeSplitting-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 10000 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,10 @@
+Running each loop 10000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S241	 0.00 		64000 
+S242	 0.00 		1535953535.9833 
+S243	 0.00 		138660.43600686 
+S244	 0.00 		64639.958001992 
+S1244	 0.00 		95998.031999014 
+S2244	 0.00 		64000.03203026 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS NODE_SPLITTING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = NodeSplitting-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 10000 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,10 @@
+Running each loop 10000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S241	 0.00 		64000 
+S242	 0.00 		1.536e+09 
+S243	 0.00 		1.3865e+05 
+S244	 0.00 		64623 
+S1244	 0.00 		95998 
+S2244	 0.00 		64000 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/NodeSplitting-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS NODE_SPLITTING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Packing-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 50000 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 50000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S341	 0.00 		10.950722471602 
+S342	 0.00 		10.950722471602 
+S343	 0.00 		1567.8323104811 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS PACKING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Packing-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 50000 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 50000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S341	 0.00 		10.951 
+S342	 0.00 		10.951 
+S343	 0.00 		1567.8 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Packing-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS PACKING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/README
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/README?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/README (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/README Fri Sep 28 13:33:27 2012
@@ -0,0 +1,11 @@
+This directory contains an adaptation of the TSVC test suite that was featured in:
+Maleki, S., et al. An Evaluation of Vectorizing Compilers. PACT'11. 10.1109/PACT.2011.68
+
+The original benchmark program has been modified in order to:
+ - Make the number of test iterations a command-line parameter.
+ - Create versions for different data types (the original benchmark tests only floats)
+ - Split out the different kinds of tests
+ - Remove the timing information from the output
+
+The original source was retreived from: http://polaris.cs.uiuc.edu/~maleki1/TSVC.tar.gz
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Recurrences-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 20000 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 20000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S321	 0.00 		32000 
+S322	 0.00 		32000 
+S323	 0.00 		146509.69243764 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS RECURRENCES
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Recurrences-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 20000 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 20000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S321	 0.00 		32000 
+S322	 0.00 		32000 
+S323	 0.00 		1.4647e+05 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Recurrences-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS RECURRENCES
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Reductions-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 1670 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,19 @@
+Running each loop 1670 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S311	 0.00 		10.950722471602 
+S31111	 0.00 		10.950722471602 
+S312	 0.00 		1.0325174887821 
+S313	 0.00 		1.6449028173365 
+S314	 0.00 		1 
+S315	 0.00 		54857 
+S316	 0.00 		3.125e-05 
+S317	 0.00 		1.4558397087356e-70 
+S318	 0.00 		32002 
+S319	 0.00 		43.802889886408 
+S3110	 0.00 		514 
+S13110	 0.00 		4 
+S3111	 0.00 		10.950722471602 
+S3112	 0.00 		52629.229237932 
+S3113	 0.00 		2 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS REDUCTIONS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Reductions-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 1670 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,19 @@
+Running each loop 1670 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S311	 0.00 		10.951 
+S31111	 0.00 		10.951 
+S312	 0.00 		1.0305 
+S313	 0.00 		1.6447 
+S314	 0.00 		1 
+S315	 0.00 		54857 
+S316	 0.00 		3.125e-05 
+S317	 0.00 		7.0065e-44 
+S318	 0.00 		32002 
+S319	 0.00 		43.803 
+S3110	 0.00 		514 
+S13110	 0.00 		4 
+S3111	 0.00 		10.951 
+S3112	 0.00 		52620 
+S3113	 0.00 		2 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Reductions-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS REDUCTIONS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Searching-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 80000 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+Running each loop 80000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S331	 0.00 		32000 
+S332	 0.00 		2 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS SEARCHING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Searching-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 80000 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+Running each loop 80000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S331	 0.00 		32000 
+S332	 0.00 		2 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Searching-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS SEARCHING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = StatementReordering-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 20000 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 20000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S211	 0.00 		63980.22328405 
+S212	 0.00 		52010.32572247 
+S1213	 0.00 		32023.901288688 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS STATEMENT_REORDERING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = StatementReordering-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 20000 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+Running each loop 20000 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S211	 0.00 		63983 
+S212	 0.00 		52006 
+S1213	 0.00 		32022 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/StatementReordering-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS STATEMENT_REORDERING
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Symbolics-dbl
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 9090 14
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,10 @@
+Running each loop 9090 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S171	 0.00 		46952.166609588 
+S172	 0.00 		46952.166609588 
+S173	 0.00 		32001.644871569 
+S174	 0.00 		32001.644871569 
+S175	 0.00 		32010.408078914 
+S176	 0.00 		32000 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE double
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-dbl/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE double
+#define ALIGNMENT 32
+#include "../tests.h"
+#define TESTS SYMBOLICS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile Fri Sep 28 13:33:27 2012
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = Symbolics-flt
+LDFLAGS  = -lm
+CFLAGS += -std=gnu99
+RUN_OPTIONS = 9090 5
+include $(LEVEL)/MultiSource/Makefile.multisrc
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt.reference_output?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt.reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt.reference_output Fri Sep 28 13:33:27 2012
@@ -0,0 +1,10 @@
+Running each loop 9090 times...
+
+Loop 	 Time(Sec) 	 Checksum 
+S171	 0.00 		46952 
+S172	 0.00 		46952 
+S173	 0.00 		32002 
+S174	 0.00 		32002 
+S175	 0.00 		32009 
+S176	 0.00 		32000 
+exit 0

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/dummy.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/dummy.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/dummy.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/dummy.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,3 @@
+#define TYPE float
+#include "../dummy.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/tsc.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/tsc.c?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/tsc.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/Symbolics-flt/tsc.c Fri Sep 28 13:33:27 2012
@@ -0,0 +1,6 @@
+#define TYPE float
+#define ALIGNMENT 16
+#include "../tests.h"
+#define TESTS SYMBOLICS
+#include "../tsc.inc"
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/dummy.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/dummy.inc?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/dummy.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/dummy.inc Fri Sep 28 13:33:27 2012
@@ -0,0 +1,7 @@
+#include "types.h"
+
+int dummy(TYPE a[LEN], TYPE b[LEN], TYPE c[LEN], TYPE d[LEN], TYPE e[LEN], TYPE aa[LEN2][LEN2], TYPE bb[LEN2][LEN2], TYPE cc[LEN2][LEN2], TYPE s){
+	// --  called in each loop to make all computations appear required
+	return 0;
+}
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/license.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/license.txt?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/license.txt (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/license.txt Fri Sep 28 13:33:27 2012
@@ -0,0 +1,58 @@
+Copyright (c) 2011 University of Illinois at Urbana-Champaign.  All rights reserved.
+
+
+
+Developed by: Polaris Research Group
+
+              University of Illinois at Urbana-Champaign
+
+              http://polaris.cs.uiuc.edu
+
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+
+of this software and associated documentation files (the "Software"), to
+
+deal with the Software without restriction, including without limitation the
+
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+
+sell copies of the Software, and to permit persons to whom the Software is
+
+furnished to do so, subject to the following conditions:
+
+  1. Redistributions of source code must retain the above copyright notice,
+
+     this list of conditions and the following disclaimers.
+
+  2. Redistributions in binary form must reproduce the above copyright
+
+     notice, this list of conditions and the following disclaimers in the
+
+     documentation and/or other materials provided with the distribution.
+
+  3. Neither the names of Polaris Research Group, University of Illinois at
+
+     Urbana-Champaign, nor the names of its contributors may be used to endorse
+
+     or promote products derived from this Software without specific prior
+
+     written permission.
+
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+
+WITH THE SOFTWARE.
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/tests.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/tests.h?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/tests.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/tests.h Fri Sep 28 13:33:27 2012
@@ -0,0 +1,24 @@
+#ifndef TESTS_H
+#define TESTS_H
+
+#define LINEAR_DEPENDENCE      (1 << 0)
+#define INDUCTION_VARIABLE     (1 << 1)
+#define GLOBAL_DATA_FLOW       (1 << 2)
+#define CONTROL_FLOW           (1 << 3)
+#define SYMBOLICS              (1 << 4)
+#define STATEMENT_REORDERING   (1 << 5)
+#define LOOP_RESTRUCTURING     (1 << 6)
+#define NODE_SPLITTING         (1 << 7)
+#define EXPANSION              (1 << 8)
+#define CROSSING_THRESHOLDS    (1 << 9)
+#define REDUCTIONS             (1 << 10)
+#define RECURRENCES            (1 << 11)
+#define SEARCHING              (1 << 12)
+#define PACKING                (1 << 13)
+#define LOOP_REROLLING         (1 << 14)
+#define EQUIVALENCING          (1 << 15)
+#define INDIRECT_ADDRESSING    (1 << 16)
+#define CONTROL_LOOPS          (1 << 17)
+
+#endif // TESTS_H
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/tsc.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/tsc.inc?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/tsc.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/tsc.inc Fri Sep 28 13:33:27 2012
@@ -0,0 +1,5753 @@
+
+/*
+ * This is an executable test containing a number of loops to measure
+ * the performance of a compiler. Arrays' length is LEN by default
+ * and if you want a different array length, you should replace every 
+ * LEN by your desired number which must be a multiple of 40. If you 
+ * want to increase the number of loop calls to have a longer run time
+ * you have to manipulate the constant value ntimes. There is a dummy
+ * function called in each loop to make all computations appear required.
+ * The time to execute this function is included in the time measurement 
+ * for the output but it is neglectable.
+ *
+ *  The output includes three columns:
+ *	Loop:		The name of the loop
+ *	Time(Sec): 	The time in seconds to run the loop
+ *	Checksum:	The checksum calculated when the test has run
+ *
+ * In this version of the codelets arrays are static type.
+ *
+ * All functions/loops are taken from "TEST SUITE FOR VECTORIZING COMPILERS"
+ * by David Callahan, Jack Dongarra and David Levine except those whose 
+ * functions' name have 4 digits.
+ */
+
+#define ntimes_default 200000
+#define digits_default 6
+
+#include <stdlib.h>
+#include <math.h>
+#include <stdio.h>
+#include <sys/param.h>
+#include <sys/times.h>
+#include <sys/types.h>
+#include <time.h>
+#include <malloc.h>
+#include <string.h>
+#include <assert.h>
+
+static int ntimes = ntimes_default;
+static int digits = digits_default;
+
+#include "types.h"
+
+#ifndef TESTS
+#define TESTS 0xFFFFFFFF
+#endif
+
+#include "tests.h"
+
+#define lll LEN
+
+/*
+ * Disable timing in the output so that we can use the output for correctness testing.
+ */
+#ifndef USE_CLOCK
+#define clock() 0
+#endif
+
+__attribute__ ((aligned(ALIGNMENT))) X_TYPE X[lll],Y[lll],Z[lll],U[lll],V[lll];
+
+
+//TYPE* __restrict__ array;
+TYPE array[LEN2*LEN2] __attribute__((aligned(ALIGNMENT)));
+
+TYPE x[LEN] __attribute__((aligned(ALIGNMENT)));
+TYPE temp;
+int temp_int;
+
+
+__attribute__((aligned(ALIGNMENT))) TYPE a[LEN],b[LEN],c[LEN],d[LEN],e[LEN],
+                                   aa[LEN2][LEN2],bb[LEN2][LEN2],cc[LEN2][LEN2],tt[LEN2][LEN2];
+
+
+int indx[LEN] __attribute__((aligned(ALIGNMENT)));
+
+
+TYPE* __restrict__ xx;
+TYPE* yy;
+
+int dummy(TYPE[LEN], TYPE[LEN], TYPE[LEN], TYPE[LEN], TYPE[LEN], TYPE[LEN2][LEN2], TYPE[LEN2][LEN2], TYPE[LEN2][LEN2], TYPE);
+
+int dummy_media(short[], char[], int);
+
+int set1d(TYPE arr[LEN], TYPE value, int stride)
+{
+	if (stride == -1) {
+		for (int i = 0; i < LEN; i++) {
+			arr[i] = 1. / (TYPE) (i+1);
+		}
+	} else if (stride == -2) {
+		for (int i = 0; i < LEN; i++) {
+			arr[i] = 1. / (TYPE) ((i+1) * (i+1));
+		}
+	} else {
+		for (int i = 0; i < LEN; i += stride) {
+			arr[i] = value;
+		}
+	}
+	return 0;
+}
+
+int set1ds(int _n, TYPE arr[LEN], TYPE value, int stride)
+{
+	if (stride == -1) {
+		for (int i = 0; i < LEN; i++) {
+			arr[i] = 1. / (TYPE) (i+1);
+		}
+	} else if (stride == -2) {
+		for (int i = 0; i < LEN; i++) {
+			arr[i] = 1. / (TYPE) ((i+1) * (i+1));
+		}
+	} else {
+		for (int i = 0; i < LEN; i += stride) {
+			arr[i] = value;
+		}
+	}
+	return 0;
+}
+
+int set2d(TYPE arr[LEN2][LEN2], TYPE value, int stride)
+{
+
+//  -- initialize two-dimensional arraysft
+
+	if (stride == -1) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				arr[i][j] = 1. / (TYPE) (i+1);
+			}
+		}
+	} else if (stride == -2) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				arr[i][j] = 1. / (TYPE) ((i+1) * (i+1));
+			}
+		}
+	} else {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j += stride) {
+				arr[i][j] = value;
+			}
+		}
+	}
+	return 0;
+}
+
+TYPE sum1d(TYPE arr[LEN]){
+	TYPE ret = 0.;
+	for (int i = 0; i < LEN; i++)
+		ret += arr[i];
+	return ret;
+}
+
+inline int s471s(void)
+{
+// --  dummy subroutine call made in s471
+	return 0;
+}
+
+inline TYPE f(TYPE a, TYPE b){
+	return a*b;
+}
+
+void check(int name){
+
+	TYPE suma = 0;
+	TYPE sumb = 0;
+	TYPE sumc = 0;
+	TYPE sumd = 0;
+	TYPE sume = 0;
+	for (int i = 0; i < LEN; i++){
+		suma += a[i];
+		sumb += b[i];
+		sumc += c[i];
+		sumd += d[i];
+		sume += e[i];
+	}
+	TYPE sumaa = 0;
+	TYPE sumbb = 0;
+	TYPE sumcc = 0;
+	for (int i = 0; i < LEN2; i++){
+		for (int j = 0; j < LEN2; j++){
+			sumaa += aa[i][j];
+			sumbb += bb[i][j];
+			sumcc += cc[i][j];
+
+		}
+	}
+	TYPE sumarray = 0;
+	for (int i = 0; i < LEN2*LEN2; i++){
+		sumarray += array[i];
+	}
+
+	if (name == 1) printf("%.*g \n",digits,suma);
+	if (name == 2) printf("%.*g \n",digits,sumb);
+	if (name == 3) printf("%.*g \n",digits,sumc);
+	if (name == 4) printf("%.*g \n",digits,sumd);
+	if (name == 5) printf("%.*g \n",digits,sume);
+	if (name == 11) printf("%.*g \n",digits,sumaa);
+	if (name == 22) printf("%.*g \n",digits,sumbb);
+	if (name == 33) printf("%.*g \n",digits,sumcc);
+	if (name == 0) printf("%.*g \n",digits,sumarray);
+	if (name == 12) printf("%.*g \n",digits,suma+sumb);
+	if (name == 25) printf("%.*g \n",digits,sumb+sume);
+	if (name == 13) printf("%.*g \n",digits,suma+sumc);
+	if (name == 123) printf("%.*g \n",digits,suma+sumb+sumc);
+	if (name == 1122) printf("%.*g \n",digits,sumaa+sumbb);
+	if (name == 112233) printf("%.*g \n",digits,sumaa+sumbb+sumcc);
+	if (name == 111) printf("%.*g \n",digits,sumaa+suma);
+	if (name == -1) printf("%.*g \n",digits,temp);
+	if (name == -12) printf("%.*g \n",digits,temp+sumb);
+
+}
+
+int init(char* name)
+{
+	TYPE any=0.;
+	TYPE zero=0.;
+	TYPE half=.5;
+	TYPE one=1.;
+	TYPE two=2.;
+	TYPE small = .000001;
+	int unit =1;
+	int frac=-1;
+	int frac2=-2;
+
+	if	(!strcmp(name, "s000 ")) {
+	  for (int i = 0; i < lll; i++) {
+            X[i] = 1+i;
+            Y[i] = 2+i;
+            Z[i] = 3+i;
+            U[i] = 4+i;
+            V[i] = 5+i;
+          }
+	} else if (!strcmp(name, "s111 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+		set1d(c, any,frac2);
+		set1d(d, any,frac2);
+		set1d(e, any,frac2);
+	} else if (!strcmp(name, "s112 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s113 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s114 ")) {
+		set2d(aa, any,frac);
+		set2d(bb, any,frac2);
+	} else if (!strcmp(name, "s115 ")) {
+		set1d(a, one,unit);
+		set2d(aa,small,unit);
+		set2d(bb,small,unit);
+		set2d(cc,small,unit);
+	} else if (!strcmp(name, "s116 ")) {
+		set1d(a, one,unit);
+	} else if (!strcmp(name, "s118 ")) {
+		set1d(a, one,unit);
+		set2d(bb,small,unit);
+	} else if (!strcmp(name, "s119 ")) {
+		set2d(aa, one,unit);
+		set2d(bb, any,frac2);
+	} else if (!strcmp(name, "s121 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s122 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s123 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s124 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s125 ")) {
+		set1ds(LEN*LEN, array,zero,unit);
+		set2d(aa, one,unit);
+		set2d(bb,half,unit);
+		set2d(cc, two,unit);
+	} else if (!strcmp(name, "s126 ")) {
+		set2d(bb, one,unit);
+		set1ds(LEN*LEN,array,any,frac);
+		set2d(cc, any,frac);
+	} else if (!strcmp(name, "s127 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s128 ")) {
+		set1d(a,zero,unit);
+		set1d(b, two,unit);
+		set1d(c, one,unit);
+		set1d(d, one,unit);
+	} else if (!strcmp(name, "s131 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s132 ")) {
+		set2d(aa, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s141 ")) {
+		set1ds(LEN*LEN,array, one,unit);
+		set2d(bb, any,frac2);
+	} else if (!strcmp(name, "s151 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s152 ")) {
+		set1d(a, one,unit);
+		set1d(b,zero,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s161 ")) {
+		set1d(a, one,unit);
+		set1ds(LEN/2,&b[0], one,2);
+		set1ds(LEN/2,&b[1],-one,2);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s162 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s171 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s172 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s173 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s174 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s175 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s176 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s211 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s212 ")) {
+		set1d(a, any,frac);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s221 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s222 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+	} else if (!strcmp(name, "s231 ")) {
+		set2d(aa, one,unit);
+		set2d(bb, any,frac2);
+	} else if (!strcmp(name, "s232 ")) {
+		set2d(aa, one,unit);
+		set2d(bb,zero,unit);
+	} else if (!strcmp(name, "s233 ")) {
+		set2d(aa, any,frac);
+		set2d(bb, any,frac);
+		set2d(cc, any,frac);
+	} else if (!strcmp(name, "s234 ")) {
+		set2d(aa, one,unit);
+		set2d(bb, any,frac);
+		set2d(cc, any,frac);
+	} else if (!strcmp(name, "s235 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set2d(aa, one,unit);
+		set2d(bb, any, frac2);
+	} else if (!strcmp(name, "s241 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, one,unit);
+	} else if (!strcmp(name, "s242 ")) {
+		set1d(a,small,unit);
+		set1d(b,small,unit);
+		set1d(c,small,unit);
+		set1d(d,small,unit);
+	} else if (!strcmp(name, "s243 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s244 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c,small,unit);
+		set1d(d,small,unit);
+	} else if (!strcmp(name, "s251 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s252 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+	} else if (!strcmp(name, "s253 ")) {
+		set1d(a, one,unit);
+		set1d(b,small,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s254 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+	} else if (!strcmp(name, "s255 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+	} else if (!strcmp(name, "s256 ")) {
+		set1d(a, one,unit);
+		set2d(aa, two,unit);
+		set2d(bb, one,unit);
+	} else if (!strcmp(name, "s257 ")) {
+		set1d(a, one,unit);
+		set2d(aa, two,unit);
+		set2d(bb, one,unit);
+	} else if (!strcmp(name, "s258 ")) {
+		set1d(a, any,frac);
+		set1d(b,zero,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e,zero,unit);
+		set2d(aa, any,frac);
+	} else if (!strcmp(name, "s261 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+		set1d(c, any,frac2);
+		set1d(d, one,unit);
+	} else if (!strcmp(name, "s271 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s272 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, two,unit);
+	} else if (!strcmp(name, "s273 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d,small,unit);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s274 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s275 ")) {
+		set2d(aa, one,unit);
+		set2d(bb,small,unit);
+		set2d(cc,small,unit);
+	} else if (!strcmp(name, "s276 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s277 ")) {
+		set1d(a, one,unit);
+		set1ds(LEN/2,b, one,unit);
+		set1ds(LEN/2,&b[LEN/2],-one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s278 ")) {
+		set1ds(LEN/2,a,-one,unit);
+		set1ds(LEN/2,&a[LEN/2],one,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s279 ")) {
+		set1ds(LEN/2,a,-one,unit);
+		set1ds(LEN/2,&a[LEN/2],one,unit);
+//		set1d(a, -one,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s2710")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s2711")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s2712")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s281 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+	} else if (!strcmp(name, "s291 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+	} else if (!strcmp(name, "s292 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+	} else if (!strcmp(name, "s293 ")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s2101")) {
+		set2d(aa, one,unit);
+		set2d(bb, any,frac);
+		set2d(cc, any,frac);
+	} else if (!strcmp(name, "s2102")) {
+		set2d(aa,zero,unit);
+	} else if (!strcmp(name, "s2111")) {
+//		set2d(aa, one,unit);
+		set2d(aa,zero,unit);
+	} else if (!strcmp(name, "s311 ")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s312 ")) {
+		set1d(a,1.000001,unit);
+	} else if (!strcmp(name, "s313 ")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s314 ")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s315 ")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s316 ")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s317 ")) {
+	} else if (!strcmp(name, "s318 ")) {
+		set1d(a, any,frac);
+		a[LEN-1] = -two;
+	} else if (!strcmp(name, "s319 ")) {
+		set1d(a,zero,unit);
+		set1d(b,zero,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s3110")) {
+		set2d(aa, any,frac);
+		aa[LEN2-1][LEN2-1] = two;
+	} else if (!strcmp(name, "s3111")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "s3112")) {
+		set1d(a, any,frac2);
+		set1d(b,zero,unit);
+	} else if (!strcmp(name, "s3113")) {
+		set1d(a, any,frac);
+		a[LEN-1] = -two;
+	} else if (!strcmp(name, "s321 ")) {
+		set1d(a, one,unit);
+		set1d(b,zero,unit);
+	} else if (!strcmp(name, "s322 ")) {
+		set1d(a, one,unit);
+		set1d(b,zero,unit);
+		set1d(c,zero,unit);
+	} else if (!strcmp(name, "s323 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s331 ")) {
+		set1d(a, any,frac);
+		a[LEN-1] = -one;
+	} else if (!strcmp(name, "s332 ")) {
+		set1d(a, any,frac2);
+		a[LEN-1] = two;
+	} else if (!strcmp(name, "s341 ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s342 ")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s343 ")) {
+		set2d(aa, any,frac);
+		set2d(bb, one,unit);
+	} else if (!strcmp(name, "s351 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		c[0] = 1.;
+	} else if (!strcmp(name, "s352 ")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s353 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		c[0] = 1.;
+	} else if (!strcmp(name, "s411 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s412 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s413 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s414 ")) {
+		set2d(aa, one,unit);
+		set2d(bb, any,frac);
+		set2d(cc, any,frac);
+	} else if (!strcmp(name, "s415 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		a[LEN-1] = -one;
+	} else if (!strcmp(name, "s421 ")) {
+		set1d(a, any,frac2);
+	} else if (!strcmp(name, "s422 ")) {
+		set1d(array,one,unit);
+		set1d(a, any,frac2);
+	} else if (!strcmp(name, "s423 ")) {
+		set1d(array,zero,unit);
+		set1d(a, any,frac2);
+	} else if (!strcmp(name, "s424 ")) {
+		set1d(array,one,unit);
+		set1d(a, any,frac2);
+	} else if (!strcmp(name, "s431 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s432 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s441 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set1ds(LEN/3,	&d[0],		-one,unit);
+		set1ds(LEN/3,	&d[LEN/3],	zero,unit);
+		set1ds(LEN/3+1, &d[(2*LEN/3)], one,unit);
+	} else if (!strcmp(name, "s442 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s443 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s451 ")) {
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s452 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c,small,unit);
+	} else if (!strcmp(name, "s453 ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "s471 ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+		set1d(c, one,unit);
+		set1d(d, any,frac);
+		set1d(e, any,frac);
+	} else if (!strcmp(name, "s481 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s482 ")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "s491 ")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s4112")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s4113")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac2);
+	} else if (!strcmp(name, "s4114")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s4115")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "s4116")) {
+		set1d(a, any,frac);
+		set2d(aa, any,frac);
+	} else if (!strcmp(name, "s4117")) {
+		set1d(a,zero,unit);
+		set1d(b, one,unit);
+		set1d(c, any,frac);
+		set1d(d, any,frac);
+	} else if (!strcmp(name, "s4121")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "va	")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vag  ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vas  ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vif  ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vpv  ")) {
+		set1d(a,zero,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vtv  ")) {
+		set1d(a, one,unit);
+		set1d(b, one,unit);
+	} else if (!strcmp(name, "vpvtv")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac);
+		set1d(c, any,frac);
+	} else if (!strcmp(name, "vpvts")) {
+		set1d(a, one,unit);
+		set1d(b, any,frac2);
+	} else if (!strcmp(name, "vpvpv")) {
+		set1d(a, any,frac2);
+		set1d(b, one,unit);
+		set1d(c,-one,unit);
+	} else if (!strcmp(name, "vtvtv")) {
+		set1d(a, one,unit);
+		set1d(b, two,unit);
+		set1d(c,half,unit);
+	} else if (!strcmp(name, "vsumr")) {
+		set1d(a, any,frac);
+	} else if (!strcmp(name, "vdotr")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+	} else if (!strcmp(name, "vbor ")) {
+		set1d(a, any,frac);
+		set1d(b, any,frac);
+		set1d(c, one,frac);
+		set1d(d, two,frac);
+		set1d(e,half,frac);
+		set2d(aa, any,frac);
+	} else {
+	}
+
+	return 0;
+}
+
+#if TESTS & LINEAR_DEPENDENCE
+
+int s000()
+{
+
+//	linear dependence testing
+//	no dependence - vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s000 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < lll; i++) {
+//			a[i] = b[i] + c[i];
+//			X[i] = (Y[i] * Z[i])+(U[i]*V[i]);
+			X[i] = Y[i] + 1;
+		}
+		dummy((TYPE*)X, (TYPE*)Y, (TYPE*)Z, (TYPE*)U, (TYPE*)V, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S000\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.1
+int s111()
+{
+
+//	linear dependence testing
+//	no dependence - vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s111 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+//		#pragma vector always
+		for (int i = 1; i < LEN; i += 2) {
+			a[i] = a[i - 1] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S111\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s1111()
+{
+
+//	no dependence - vectorizable
+//	jump in data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init("s111 ");
+	start_t = clock();
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN/2; i++) {
+			a[2*i] = c[i] * b[i] + d[i] * b[i] + c[i] * c[i] + d[i] * b[i] + d[i] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif /1000000.0);
+	
+	printf("S1111\t %.2f \t\t ", clock_dif_sec);
+	check(1);
+	return 0;
+}
+
+// %1.1
+
+int s112()
+{
+
+//	linear dependence testing
+//	loop reversal
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s112 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 3*ntimes; nl++) {
+//		#pragma vector always
+		for (int i = LEN - 2; i >= 0; i--) {
+			a[i+1] = a[i] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S112\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+
+int s1112()
+{
+
+//	linear dependence testing
+//	loop reversal
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	
+
+	init("s112 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*3; nl++) {
+		for (int i = LEN - 1; i >= 0; i--) {
+			a[i] = b[i] + (TYPE) 1.;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif /1000000.0);
+	
+	printf("S1112\t %.2f \t\t ", clock_dif_sec);
+	check(1);
+	return 0;
+}
+
+// %1.1
+
+int s113()
+{
+
+//	linear dependence testing
+//	a(i)=a(1) but no actual dependence cycle
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s113 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 1; i < LEN; i++) {
+			a[i] = a[0] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S113\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s1113()
+{
+
+//	linear dependence testing
+//	one iteration dependency on a(LEN/2) but still vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s113 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = a[LEN/2] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1113\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.1
+
+int s114()
+{
+
+//	linear dependence testing
+//	transpose vectorization
+//	Jump in data access - not vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s114 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 200*(ntimes/(LEN2)); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < i; j++) {
+				aa[i][j] = aa[j][i] + bb[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S114\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %1.1
+
+int s115()
+{
+
+//	linear dependence testing
+//	triangular saxpy loop
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s115 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 1000*(ntimes/LEN2); nl++) {
+		for (int j = 0; j < LEN2; j++) {
+			for (int i = j+1; i < LEN2; i++) {
+				a[i] -= aa[j][i] * a[j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S115\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s1115()
+{
+
+//	linear dependence testing
+//	triangular saxpy loop
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s115 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				aa[i][j] = aa[i][j]*cc[j][i] + bb[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1115\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %1.1
+
+int s116()
+{
+
+//	linear dependence testing
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s116 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		for (int i = 0; i < LEN - 5; i += 5) {
+			a[i] = a[i + 1] * a[i];
+			a[i + 1] = a[i + 2] * a[i + 1];
+			a[i + 2] = a[i + 3] * a[i + 2];
+			a[i + 3] = a[i + 4] * a[i + 3];
+			a[i + 4] = a[i + 5] * a[i + 4];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S116\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.1
+
+int s118()
+{
+
+//	linear dependence testing
+//	potential dot product recursion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s118 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 200*(ntimes/LEN2); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 0; j <= i - 1; j++) {
+				a[i] += bb[j][i] * a[i-j-1];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S118\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.1
+
+int s119()
+{
+
+//	linear dependence testing
+//	no dependence - vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	
+
+	init("s119 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 200*(ntimes/(LEN2)); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 1; j < LEN2; j++) {
+				aa[i][j] = aa[i-1][j-1] + bb[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif /1000000.0);
+	
+	
+	printf("S119\t %.2f \t\t ", clock_dif_sec);
+	check(11);
+	return 0;
+}
+
+int s1119()
+{
+
+//	linear dependence testing
+//	no dependence - vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	
+
+	init("s119 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 200*(ntimes/(LEN2)); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				aa[i][j] = aa[i-1][j] + bb[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif /1000000.0);
+	
+	
+	printf("S1119\t %.2f \t\t ", clock_dif_sec);
+	check(11);
+	return 0;
+}
+
+#endif // TESTS & LINEAR_DEPENDENCE
+
+#if TESTS & INDUCTION_VARIABLE
+
+// %1.2
+
+int s121()
+{
+
+//	induction variable recognition
+//	loop with possible ambiguity because of scalar store
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s121 ");
+	start_t = clock();
+
+	int j;
+	for (int nl = 0; nl < 3*ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			j = i + 1;
+			a[i] = a[j] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S121\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.2
+
+int s122(int n1, int n3)
+{
+
+//	induction variable recognition
+//	variable lower and upper bound, and stride
+//	reverse data access and jump in data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s122 ");
+	start_t = clock();
+
+	int j, k;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = 1;
+		k = 0;
+		for (int i = n1-1; i < LEN; i += n3) {
+			k += j;
+			a[i] += b[LEN - k];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S122\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.2
+
+int s123()
+{
+
+//	induction variable recognition
+//	induction variable under an if
+//	not vectorizable, the condition cannot be speculated
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s123 ");
+	start_t = clock();
+
+	int j;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < (LEN/2); i++) {
+			j++;
+			a[j] = b[i] + d[i] * e[i];
+			if (c[i] > (TYPE)0.) {
+				j++;
+				a[j] = c[i] + d[i] * e[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S123\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.2
+
+int s124()
+{
+
+//	induction variable recognition
+//	induction variable under both sides of if (same value)
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s124 ");
+	start_t = clock();
+
+	int j;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN; i++) {
+			if (b[i] > (TYPE)0.) {
+				j++;
+				a[j] = b[i] + d[i] * e[i];
+			} else {
+				j++;
+				a[j] = c[i] + d[i] * e[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S124\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.2
+int s125()
+{
+
+//	induction variable recognition
+//	induction variable in two loops; collapsing possible
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s125 ");
+	start_t = clock();
+
+	int k;
+	for (int nl = 0; nl < 100*(ntimes/(LEN2)); nl++) {
+		k = -1;
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				k++;
+				array[k] = aa[i][j] + bb[i][j] * cc[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S125\t %.2f \t\t", clock_dif_sec);;
+	check(0);
+	return 0;
+}
+
+// %1.2
+int s126()
+{
+
+//	induction variable recognition
+//	induction variable in two loops; recurrence in inner loop
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s126 ");
+	start_t = clock();
+
+	int k;
+	for (int nl = 0; nl < 10*(ntimes/LEN2); nl++) {
+		k = 1;
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 1; j < LEN2; j++) {
+				bb[j][i] = bb[j-1][i] + array[k-1] * cc[j][i];
+				++k;
+			}
+			++k;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S126\t %.2f \t\t", clock_dif_sec);;
+	check(22);
+	return 0;
+}
+
+// %1.2
+
+int s127()
+{
+
+//	induction variable recognition
+//	induction variable with multiple increments
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s127 ");
+	start_t = clock();
+
+	int j;
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN/2; i++) {
+			j++;
+			a[j] = b[i] + c[i] * d[i];
+			j++;
+			a[j] = b[i] + d[i] * e[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S127\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.2
+
+int s128()
+{
+
+//	induction variables
+//	coupled induction variables
+//	jump in data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s128 ");
+	start_t = clock();
+
+	int j, k;
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN/2; i++) {
+			k = j + 1;
+			a[i] = b[k] - d[i];
+			j = k + 1;
+			b[k] = a[i] + c[k];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S128\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+#endif //  TESTS & INDUCTION_VARIABLE
+
+// %1.3
+
+#if TESTS & GLOBAL_DATA_FLOW
+
+int s131()
+{
+//	global data flow analysis
+//	forward substitution
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s131 ");
+	start_t = clock();
+
+	int m  = 1;
+	for (int nl = 0; nl < 5*ntimes; nl++) {
+		for (int i = 0; i < LEN - 1; i++) {
+			a[i] = a[i + m] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S131\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.3
+
+int s132()
+{
+//	global data flow analysis
+//	loop with multiple dimension ambiguous subscripts
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s132 ");
+	start_t = clock();
+
+	int m = 0;
+	int j = m;
+	int k = m+1;
+	for (int nl = 0; nl < 400*ntimes; nl++) {
+		for (int i= 1; i < LEN2; i++) {
+			aa[j][i] = aa[k][i-1] + b[i] * c[1];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S132\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %1.4
+
+int s141()
+{
+
+//	nonlinear dependence testing
+//	walk a row in a symmetric packed array
+//	element a(i,j) for (int j>i) stored in location j*(j-1)/2+i
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s141 ");
+	start_t = clock();
+
+	int k;
+	for (int nl = 0; nl < 200*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			k = (i+1) * ((i+1) - 1) / 2 + (i+1)-1;
+			for (int j = i; j < LEN2; j++) {
+				array[k] += bb[j][i];
+				k += j+1;
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S141\t %.2f \t\t", clock_dif_sec);;
+	check(0);
+	return 0;
+}
+
+// %1.5
+
+int s151s(TYPE a[LEN], TYPE b[LEN],  int m)
+{
+	for (int i = 0; i < LEN-1; i++) {
+		a[i] = a[i + m] + b[i];
+	}
+	return 0;
+}
+
+int s151()
+{
+
+//	interprocedural data flow analysis
+//	passing parameter information into a subroutine
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s151 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 5*ntimes; nl++) {
+		s151s(a, b,  1);
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S151\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.5
+
+int s152s(TYPE a[LEN], TYPE b[LEN], TYPE c[LEN], int i)
+{
+	a[i] += b[i] * c[i];
+	return 0;
+}
+
+int s152()
+{
+
+//	interprocedural data flow analysis
+//	collecting information from a subroutine
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s152 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			b[i] = d[i] * e[i];
+			s152s(a, b, c, i);
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S152\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & GLOBAL_DATA_FLOW
+
+#if TESTS & CONTROL_FLOW
+
+// %1.6
+
+int s161()
+{
+
+//	control flow
+//	tests for recognition of loop independent dependences
+//	between statements in mutually exclusive regions.
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s161 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 0; i < LEN-1; ++i) {
+			if (b[i] < (TYPE)0.) {
+				goto L20;
+			}
+			a[i] = c[i] + d[i] * e[i];
+			goto L10;
+L20:
+			c[i+1] = a[i] + d[i] * d[i];
+L10:
+			;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S161\t %.2f \t\t", clock_dif_sec);;
+	check(13);
+	return 0;
+}
+
+int s1161()
+{
+
+//	control flow
+//	tests for recognition of loop independent dependences
+//	between statements in mutually exclusive regions.
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s161 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; ++i) {
+			if (c[i] < (TYPE)0.) {
+				goto L20;
+			}
+			a[i] = c[i] + d[i] * e[i];
+			goto L10;
+L20:
+			b[i] = a[i] + d[i] * d[i];
+L10:
+			;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1161\t %.2f \t\t", clock_dif_sec);;
+	check(13);
+	return 0;
+}
+
+// %1.6
+
+int s162(int k)
+{
+//	control flow
+//	deriving assertions
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s162 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		if (k > 0) {
+			for (int i = 0; i < LEN-1; i++) {
+				a[i] = a[i + k] + b[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S162\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & CONTROL_FLOW
+
+#if TESTS & SYMBOLICS
+
+// %1.7
+
+int s171(int inc)
+{
+
+//	symbolics
+//	symbolic dependence tests
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s171 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i * inc] += b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S171\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.7
+
+int s172( int n1, int n3)
+{
+//	symbolics
+//	vectorizable if n3 .ne. 0
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s172 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = n1-1; i < LEN; i += n3) {
+			a[i] += b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S172\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.7
+
+int s173()
+{
+//	symbolics
+//	expression in loop bounds and subscripts
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s173 ");
+	start_t = clock();
+
+	int k = LEN/2;
+	for (int nl = 0; nl < 10*ntimes; nl++) {
+		for (int i = 0; i < LEN/2; i++) {
+			a[i+k] = a[i] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S173\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.7
+
+int s174(int M)
+{
+
+//	symbolics
+//	loop with subscript that may seem ambiguous
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s174 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 10*ntimes; nl++) {
+		for (int i = 0; i < M; i++) {
+			a[i+M] = a[i] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S174\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.7
+
+int s175(int inc)
+{
+
+//	symbolics
+//	symbolic dependence tests
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s175 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i += inc) {
+			a[i] = a[i + inc] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S175\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %1.7
+
+int s176()
+{
+
+//	symbolics
+//	convolution
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s176 ");
+	start_t = clock();
+
+	int m = LEN/2;
+	for (int nl = 0; nl < 4*(ntimes/LEN); nl++) {
+		for (int j = 0; j < (LEN/2); j++) {
+			for (int i = 0; i < m; i++) {
+				a[i] += b[i+m-j-1] * c[j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S176\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & SYMBOLICS
+
+// **********************************************************
+// *							    *
+// *			VECTORIZATION			    *
+// *							    *
+// **********************************************************
+
+#if TESTS & STATEMENT_REORDERING
+
+// %2.1
+
+int s211()
+{
+
+//	statement reordering
+//	statement reordering allows vectorization
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s211 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 1; i < LEN-1; i++) {
+			a[i] = b[i - 1] + c[i] * d[i];
+			b[i] = b[i + 1] - e[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S211\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.1
+
+int s212()
+{
+
+//	statement reordering
+//	dependency needing temporary
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s212 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			a[i] *= c[i];
+			b[i] += a[i + 1] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S212\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+int s1213()
+{
+
+//	statement reordering
+//	dependency needing temporary
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s212 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 1; i < LEN-1; i++) {
+			a[i] = b[i-1]+c[i];
+			b[i] = a[i+1]*d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1213\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+#endif // TESTS & STATEMENT_REORDERING
+
+#if TESTS & LOOP_RESTRUCTURING
+
+// %2.2
+
+int s221()
+{
+
+//	loop distribution
+//	loop that is partially recursive
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s221 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 1; i < LEN; i++) {
+			a[i] += c[i] * d[i];
+			b[i] = b[i - 1] + a[i] + d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S221\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+int s1221()
+{
+
+//	run-time symbolic resolution
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s221 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 4; i < LEN; i++) {
+			b[i] = b[i - 4] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1221\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.2
+
+int s222()
+{
+
+//	loop distribution
+//	partial loop vectorizatio recurrence in middle
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s222 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 1; i < LEN; i++) {
+			a[i] += b[i] * c[i];
+			e[i] = e[i - 1] * e[i - 1];
+			a[i] -= b[i] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S222\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.3
+
+int s231()
+{
+//	loop interchange
+//	loop with data dependency
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s231 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; ++i) {
+			for (int j = 1; j < LEN2; j++) {
+				aa[j][i] = aa[j - 1][i] + bb[j][i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S231\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %2.3
+
+int s232()
+{
+
+//	loop interchange
+//	interchanging of triangular loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s232 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/(LEN2)); nl++) {
+		for (int j = 1; j < LEN2; j++) {
+			for (int i = 1; i <= j; i++) {
+				aa[j][i] = aa[j][i-1]*aa[j][i-1]+bb[j][i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S232\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+int s1232()
+{
+
+//	loop interchange
+//	interchanging of triangular loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s232 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int j = 0; j < LEN2; j++) {
+			for (int i = j; i < LEN2; i++) {
+				aa[i][j] = bb[i][j] + cc[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1232\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %2.3
+
+int s233()
+{
+
+//	loop interchange
+//	interchanging with one of two inner loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s233 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 1; j < LEN2; j++) {
+				aa[j][i] = aa[j-1][i] + cc[j][i];
+			}
+			for (int j = 1; j < LEN2; j++) {
+				bb[j][i] = bb[j][i-1] + cc[j][i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S233\t %.2f \t\t", clock_dif_sec);;
+	check(1122);
+	return 0;
+}
+
+int s2233()
+{
+
+//	loop interchange
+//	interchanging with one of two inner loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s233 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 1; j < LEN2; j++) {
+				aa[j][i] = aa[j-1][i] + cc[j][i];
+			}
+			for (int j = 1; j < LEN2; j++) {
+				bb[i][j] = bb[i-1][j] + cc[i][j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2233\t %.2f \t\t", clock_dif_sec);;
+	check(1122);
+	return 0;
+}
+
+// %2.3
+int s235()
+{
+
+//	loop interchanging
+//	imperfectly nested loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s235 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 200*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			a[i] += b[i] * c[i];
+			for (int j = 1; j < LEN2; j++) {
+				aa[j][i] = aa[j-1][i] + bb[j][i] * a[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S235\t %.2f \t\t", clock_dif_sec);;
+	check(111);
+	return 0;
+}
+
+
+#endif // TESTS & LOOP_RESTRUCTURING
+
+#if TESTS & NODE_SPLITTING
+
+// %2.4
+
+int s241()
+{
+
+//	node splitting
+//	preloading necessary to allow vectorization
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s241 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			a[i] = b[i] * c[i  ] * d[i];
+			b[i] = a[i] * a[i+1] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S241\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+
+// %2.4
+
+int s242(TYPE s1, TYPE s2)
+{
+
+//	node splitting
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s242 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/5; nl++) {
+		for (int i = 1; i < LEN; ++i) {
+			a[i] = a[i - 1] + s1 + s2 + b[i] + c[i] + d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S242\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.4
+
+int s243()
+{
+
+//	node splitting
+//	false dependence cycle breaking
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s243 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			a[i] = b[i] + c[i  ] * d[i];
+			b[i] = a[i] + d[i  ] * e[i];
+			a[i] = b[i] + a[i+1] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S243\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.4
+
+int s244()
+{
+
+//	node splitting
+//	false dependence cycle breaking
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s244 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; ++i) {
+			a[i] = b[i] + c[i] * d[i];
+			b[i] = c[i] + b[i];
+			a[i+1] = b[i] + a[i+1] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S244\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+int s1244()
+{
+
+//	node splitting
+//	cycle with ture and anti dependency
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s244 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			a[i] = b[i] + c[i] * c[i] + b[i]*b[i] + c[i];
+			d[i] = a[i] + a[i+1];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1244\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+int s2244()
+{
+
+//	node splitting
+//	cycle with ture and anti dependency
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s244 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+			a[i+1] = b[i] + e[i];
+			a[i] = b[i] + c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2244\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+#endif // TESTS & NODE_SPLITTING
+
+#if TESTS & EXPANSION
+
+// %2.5
+
+int s251()
+{
+
+//	scalar and array expansion
+//	scalar expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s251 ");
+	start_t = clock();
+
+	TYPE s;
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			s = b[i] + c[i] * d[i];
+			a[i] = s * s;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S251\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s1251()
+{
+
+//	scalar and array expansion
+//	scalar expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s251 ");
+	start_t = clock();
+
+	TYPE s;
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			s = b[i]+c[i];
+			b[i] = a[i]+d[i];
+			a[i] = s*e[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1251\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s2251()
+{
+
+//	scalar and array expansion
+//	scalar expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s251 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		TYPE s = (TYPE)0.0;
+		for (int i = 0; i < LEN; i++) {
+			a[i] = s*e[i];
+			s = b[i]+c[i];
+			b[i] = a[i]+d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2251\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s3251()
+{
+
+//	scalar and array expansion
+//	scalar expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s251 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++){
+			a[i+1] = b[i]+c[i];
+			b[i]   = c[i]*e[i];
+			d[i]   = a[i]*e[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S3251\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+
+// %2.5
+
+int s252()
+{
+
+//	scalar and array expansion
+//	loop with ambiguous scalar temporary
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s252 ");
+	start_t = clock();
+
+	TYPE t, s;
+	for (int nl = 0; nl < ntimes; nl++) {
+		t = (TYPE) 0.;
+		for (int i = 0; i < LEN; i++) {
+			s = b[i] * c[i];
+			a[i] = s + t;
+			t = s;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S252\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.5
+
+
+int s253()
+{
+
+//	scalar and array expansion
+//	scalar expansio assigned under if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s253 ");
+	start_t = clock();
+
+	TYPE s;
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > b[i]) {
+				s = a[i] - b[i] * d[i];
+				c[i] += s;
+				a[i] = s;
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S253\t %.2f \t\t", clock_dif_sec);;
+	check(13);
+	return 0;
+}
+
+// %2.5
+
+int s254()
+{
+
+//	scalar and array expansion
+//	carry around variable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s254 ");
+	start_t = clock();
+
+	TYPE x;
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		x = b[LEN-1];
+		for (int i = 0; i < LEN; i++) {
+			a[i] = (b[i] + x) * (TYPE).5;
+			x = b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S254\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.5
+
+int s255()
+{
+
+//	scalar and array expansion
+//	carry around variables, 2 levels
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s255 ");
+	start_t = clock();
+
+	TYPE x, y;
+	for (int nl = 0; nl < ntimes; nl++) {
+		x = b[LEN-1];
+		y = b[LEN-2];
+		for (int i = 0; i < LEN; i++) {
+			a[i] = (b[i] + x + y) * (TYPE).333;
+			y = x;
+			x = b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S255\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.5
+
+int s256()
+{
+
+//	scalar and array expansion
+//	array expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s256 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 10*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 1; j < LEN2; j++) {
+				a[j] = (TYPE)1.0 - a[j - 1];
+				cc[j][i] = a[j] + bb[j][i]*d[j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S256\t %.2f \t\t", clock_dif_sec);;
+	check(111);
+	return 0;
+}
+
+// %2.5
+
+int s257()
+{
+
+//	scalar and array expansion
+//	array expansion
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s257 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 10*(ntimes/LEN2); nl++) {
+		for (int i = 1; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				a[i] = aa[j][i] - a[i-1];
+				aa[j][i] = a[i] + bb[j][i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S257\t %.2f \t\t", clock_dif_sec);;
+	check(111);
+	return 0;
+}
+
+int s258()
+{
+
+//	scalar and array expansion
+//	wrap-around scalar under an if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s258 ");
+	start_t = clock();
+
+	TYPE s;
+	for (int nl = 0; nl < ntimes/10; nl++) {
+		s = 0.;
+		for (int i = 0; i < LEN; ++i) {
+			if (a[i] > 0.) {
+				s = d[i] * d[i];
+			}
+			b[i] = s * c[i] + d[i];
+			e[i] = (s + (TYPE)1.) * aa[0][i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S258\t %.2f \t\t", clock_dif_sec);;
+	check(25);
+	return 0;
+}
+
+// %2.7
+
+int s261()
+{
+
+//	scalar and array expansion
+//	wrap-around scalar under an if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s261 ");
+	start_t = clock();
+
+	TYPE t;
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 1; i < LEN; ++i) {
+			t = a[i] + b[i];
+			a[i] = t + c[i-1];
+			t = c[i] * d[i];
+			c[i] = t;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S261\t %.2f \t\t", clock_dif_sec);;
+	check(25);
+	return 0;
+}
+
+#endif // TESTS & EXPANSION
+
+#if TESTS & CONTROL_FLOW
+
+int s271()
+{
+
+//	control flow
+//	loop with singularity handling
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s271 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (b[i] > (TYPE)0.) {
+				a[i] += b[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S271\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.7
+
+int s272(TYPE t)
+{
+
+//	control flow
+//	loop with independent conditional
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s272 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (e[i] >= t) {
+				a[i] += c[i] * d[i];
+				b[i] += c[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S272\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.7
+
+int s273()
+{
+
+//	control flow
+//	simple loop with dependent conditional
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s273 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += d[i] * e[i];
+			if (a[i] < (TYPE)0.)
+				b[i] += d[i] * e[i];
+			c[i] += a[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S273\t %.2f \t\t", clock_dif_sec);;
+	check(123);
+	return 0;
+}
+
+// %2.7
+
+int s274()
+{
+
+//	control flow
+//	complex loop with dependent conditional
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s274 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = c[i] + e[i] * d[i];
+			if (a[i] > (TYPE)0.) {
+				b[i] = a[i] + b[i];
+			} else {
+				a[i] = d[i] * e[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S274\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.7
+
+int s275()
+{
+
+//	control flow
+//	if around inner loop, interchanging needed
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s275 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 10*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			if (aa[0][i] > (TYPE)0.) {
+				for (int j = 1; j < LEN2; j++) {
+					aa[j][i] = aa[j-1][i] + bb[j][i] * cc[j][i];
+				}
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S275\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+int s2275()
+{
+
+//	loop distribution is needed to be able to interchange
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s275 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				aa[j][i] = aa[j][i] + bb[j][i] * cc[j][i];
+			}
+			a[i] = b[i] + c[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2275\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %2.7
+
+int s276()
+{
+
+//	control flow
+//	if test using loop index
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s276 ");
+	start_t = clock();
+
+	int mid = (LEN/2);
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (i+1 < mid) {
+				a[i] += b[i] * c[i];
+			} else {
+				a[i] += b[i] * d[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S276\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.7
+int s277()
+{
+
+//	control flow
+//	test for dependences arising from guard variable computation.
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s277 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN-1; i++) {
+				if (a[i] >= (TYPE)0.) {
+					goto L20;
+				}
+				if (b[i] >= (TYPE)0.) {
+					goto L30;
+				}
+				a[i] += c[i] * d[i];
+L30:
+				b[i+1] = c[i] + d[i] * e[i];
+L20:
+;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S277\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.7
+
+int s278()
+{
+
+//	control flow
+//	if/goto to block if-then-else
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s278 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > (TYPE)0.) {
+				goto L20;
+			}
+			b[i] = -b[i] + d[i] * e[i];
+			goto L30;
+L20:
+			c[i] = -c[i] + d[i] * e[i];
+L30:
+			a[i] = b[i] + c[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S278\t %.2f \t\t", clock_dif_sec);;
+	check(123);
+	return 0;
+}
+
+// %2.7
+
+int s279()
+{
+
+//	control flow
+//	vector if/gotos
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s279 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > (TYPE)0.) {
+				goto L20;
+			}
+			b[i] = -b[i] + d[i] * d[i];
+			if (b[i] <= a[i]) {
+				goto L30;
+			}
+			c[i] += d[i] * e[i];
+			goto L30;
+L20:
+			c[i] = -c[i] + e[i] * e[i];
+L30:
+			a[i] = b[i] + c[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S279\t %.2f \t\t", clock_dif_sec);;
+	check(123);
+	return 0;
+}
+
+int s1279()
+{
+
+//	control flow
+//	vector if/gotos
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s279 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] < (TYPE)0.) {
+				if (b[i] > a[i]) {
+					c[i] += d[i] * e[i];
+				}
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1279\t %.2f \t\t", clock_dif_sec);;
+	check(123);
+	return 0;
+}
+
+// %2.7
+
+int s2710( TYPE x)
+{
+
+//	control flow
+//	scalar and vector ifs
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s2710");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > b[i]) {
+				a[i] += b[i] * d[i];
+				if (LEN > 10) {
+					c[i] += d[i] * d[i];
+				} else {
+					c[i] = d[i] * e[i] + (TYPE)1.;
+				}
+			} else {
+				b[i] = a[i] + e[i] * e[i];
+				if (x > (TYPE)0.) {
+					c[i] = a[i] + d[i] * d[i];
+				} else {
+					c[i] += e[i] * e[i];
+				}
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2710\t %.2f \t\t", clock_dif_sec);;
+	check(123);
+	return 0;
+}
+
+// %2.7
+
+int s2711()
+{
+
+//	control flow
+//	semantic if removal
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s2711");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (b[i] != (TYPE)0.0) {
+				a[i] += b[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2711\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.7
+
+int s2712()
+{
+
+//	control flow
+//	if to elemental min
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s2712");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > b[i]) {
+				a[i] += b[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2712\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & CONTROL_FLOW
+
+#if TESTS & CROSSING_THRESHOLDS
+
+// %2.8
+
+int s281()
+{
+
+//	crossing thresholds
+//	index set splitting
+//	reverse data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s281 ");
+	start_t = clock();
+
+	TYPE x;
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			x = a[LEN-i-1] + b[i] * c[i];
+			a[i] = x-(TYPE)1.0;
+			b[i] = x;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S281\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+int s1281()
+{
+
+//	crossing thresholds
+//	index set splitting
+//	reverse data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s281 ");
+	start_t = clock();
+
+	TYPE x;
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			x = b[i]*c[i]+a[i]*d[i]+e[i];
+			a[i] = x-(TYPE)1.0;
+			b[i] = x;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1281\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+// %2.9
+
+int s291()
+{
+
+//	loop peeling
+//	wrap around variable, 1 level
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s291 ");
+	start_t = clock();
+
+	int im1;
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		im1 = LEN-1;
+		for (int i = 0; i < LEN; i++) {
+			a[i] = (b[i] + b[im1]) * (TYPE).5;
+			im1 = i;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S291\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.9
+
+int s292()
+{
+
+//	loop peeling
+//	wrap around variable, 2 levels
+//	similar to S291
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s292 ");
+	start_t = clock();
+
+	int im1, im2;
+	for (int nl = 0; nl < ntimes; nl++) {
+		im1 = LEN-1;
+		im2 = LEN-2;
+		for (int i = 0; i < LEN; i++) {
+			a[i] = (b[i] + b[im1] + b[im2]) * (TYPE).333;
+			im2 = im1;
+			im1 = i;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S292\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.9
+
+int s293()
+{
+
+//	loop peeling
+//	a(i)=a(0) with actual dependence cycle, loop is vectorizable
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "s293 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = a[0];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S293\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %2.10
+
+int s2101()
+{
+
+//	diagonals
+//	main diagonal calculation
+//	jump in data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s2101");
+	start_t = clock();
+
+	for (int nl = 0; nl < 10*ntimes; nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			aa[i][i] += bb[i][i] * cc[i][i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2101\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %2.12
+
+int s2102()
+{
+
+//	diagonals
+//	identity matrix, best results vectorize both inner and outer loops
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s2102");
+	start_t = clock();
+
+	for (int nl = 0; nl < 100*(ntimes/LEN2); nl++) {
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				aa[j][i] = (TYPE)0.;
+			}
+			aa[i][i] = (TYPE)1.;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2102\t %.2f \t\t", clock_dif_sec);;
+	check(11);
+	return 0;
+}
+
+// %2.11
+
+int s2111()
+{
+
+//	wavefronts, it will make jump in data access
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s2111");
+	start_t = clock();
+	for (int nl = 0; nl < 100*(ntimes/(LEN2)); nl++) {
+		for (int j = 1; j < LEN2; j++) {
+			for (int i = 1; i < LEN2; i++) {
+				aa[j][i] = aa[j][i-1] + aa[j-1][i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S2111\t %.2f \t\t", clock_dif_sec);;
+	temp = 0.;
+	for (int i = 0; i < LEN2; i++)
+		for (int j = 0; j < LEN2; j++)
+			temp += aa[i][j];
+	if (temp == 0) temp = 3.;	
+	check(-1);
+	return 0;
+}
+
+#endif // TESTS & CROSSING_THRESHOLDS
+
+// **********************************************************
+//							    *
+//			IDIOM RECOGNITION		    *
+//							    *
+// **********************************************************
+
+#if TESTS & REDUCTIONS
+
+// %3.1
+
+int s311()
+{
+
+//	reductions
+//	sum reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s311 ");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		sum = (TYPE)0.;
+		for (int i = 0; i < LEN; i++) {
+			sum += a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S311\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+TYPE test(TYPE* A){
+  TYPE s = (TYPE)0.0;
+//  #pragma nosimd
+  for (int i = 0; i < 4; i++)
+    s += A[i];
+  return s;
+}
+
+int s31111()
+{
+
+//	reductions
+//	sum reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s311 ");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < 2000*ntimes; nl++) {
+		sum = (TYPE)0.;
+		sum += test(a);
+		sum += test(&a[4]);
+		sum += test(&a[8]);
+		sum += test(&a[12]);
+		sum += test(&a[16]);
+		sum += test(&a[20]);
+		sum += test(&a[24]);
+		sum += test(&a[28]);
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S31111\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.1
+
+int s312()
+{
+
+//	reductions
+//	product reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s312 ");
+	start_t = clock();
+
+	TYPE prod;
+	for (int nl = 0; nl < 10*ntimes; nl++) {
+		prod = (TYPE)1.;
+		for (int i = 0; i < LEN; i++) {
+			prod *= a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, prod);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S312\t %.2f \t\t", clock_dif_sec);;
+	temp = prod;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+int s313()
+{
+
+//	reductions
+//	dot product
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s313 ");
+	start_t = clock();
+
+	TYPE dot;
+	for (int nl = 0; nl < ntimes*5; nl++) {
+		dot = (TYPE)0.;
+		for (int i = 0; i < LEN; i++) {
+			dot += a[i] * b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, dot);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S313\t %.2f \t\t", clock_dif_sec);;
+	temp = dot;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s314()
+{
+
+//	reductions
+//	if to max reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s314 ");
+	start_t = clock();
+
+	TYPE x;
+	for (int nl = 0; nl < ntimes*5; nl++) {
+		x = a[0];
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > x) {
+				x = a[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, x);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S314\t %.2f \t\t", clock_dif_sec);;
+	temp = x;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s315()
+{
+
+//	reductions
+//	if to max with index reductio 1 dimension
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s315 ");
+	for (int i = 0; i < LEN; i++)
+		a[i] = (i * 7) % LEN;
+	start_t = clock();
+
+	TYPE x, chksum;
+	int index;
+	for (int nl = 0; nl < ntimes; nl++) {
+		x = a[0];
+		index = 0;
+		for (int i = 0; i < LEN; ++i) {
+			if (a[i] > x) {
+				x = a[i];
+				index = i;
+			}
+		}
+		chksum = x + (TYPE) index;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S315\t %.2f \t\t", clock_dif_sec);;
+	temp = index+x+1;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s316()
+{
+
+//	reductions
+//	if to min reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s316 ");
+	start_t = clock();
+
+	TYPE x;
+	for (int nl = 0; nl < ntimes*5; nl++) {
+		x = a[0];
+		for (int i = 1; i < LEN; ++i) {
+			if (a[i] < x) {
+				x = a[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, x);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S316\t %.2f \t\t", clock_dif_sec);;
+	temp = x;
+	check(-1);
+	return 0;
+}
+// %3.1
+
+int s317()
+{
+
+//	reductions
+//	product reductio vectorize with
+//	1. scalar expansion of factor, and product reduction
+//	2. closed form solution: q = factor**n
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s317 ");
+	start_t = clock();
+
+	TYPE q;
+	for (int nl = 0; nl < 5*ntimes; nl++) {
+		q = (TYPE)1.;
+		for (int i = 0; i < LEN/2; i++) {
+			q *= (TYPE).99;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, q);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S317\t %.2f \t\t", clock_dif_sec);;
+	temp = q;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s318( int inc)
+{
+
+//	reductions
+//	isamax, max absolute value, increments not equal to 1
+
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s318 ");
+	start_t = clock();
+
+	int k, index;
+	TYPE max, chksum;
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		k = 0;
+		index = 0;
+		max = abs(a[0]);
+		k += inc;
+		for (int i = 1; i < LEN; i++) {
+			if (abs(a[k]) <= max) {
+				goto L5;
+			}
+			index = i;
+			max = abs(a[k]);
+L5:
+			k += inc;
+		}
+		chksum = max + (TYPE) index;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S318\t %.2f \t\t", clock_dif_sec);;
+	temp = max + index+1;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s319()
+{
+
+//	reductions
+//	coupled reductions
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s319 ");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		sum = 0.;
+		for (int i = 0; i < LEN; i++) {
+			a[i] = c[i] + d[i];
+			sum += a[i];
+			b[i] = c[i] + e[i];
+			sum += b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S319\t %.2f \t\t", clock_dif_sec);;
+	temp = sum;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s3110()
+{
+
+//	reductions
+//	if to max with index reductio 2 dimensions
+//	similar to S315
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s3110");
+	start_t = clock();
+
+	int xindex, yindex;
+	TYPE max, chksum;
+	for (int nl = 0; nl < 100*(ntimes/(LEN2)); nl++) {
+		max = aa[(0)][0];
+		xindex = 0;
+		yindex = 0;
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				if (aa[i][j] > max) {
+					max = aa[i][j];
+					xindex = i;
+					yindex = j;
+				}
+			}
+		}
+		chksum = max + (TYPE) xindex + (TYPE) yindex;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S3110\t %.2f \t\t", clock_dif_sec);;
+	temp = max + xindex+1 + yindex+1;
+	check(-1);
+	return 0;
+}
+
+int s13110()
+{
+
+//	reductions
+//	if to max with index reductio 2 dimensions
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s3110");
+	start_t = clock();
+
+	int xindex, yindex;
+	TYPE max, chksum;
+	for (int nl = 0; nl < 100*(ntimes/(LEN2)); nl++) {
+		max = aa[(0)][0];
+		xindex = 0;
+		yindex = 0;
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				if (aa[i][j] > max) {
+					max = aa[i][j];
+				}
+			}
+		}
+		chksum = max + (TYPE) xindex + (TYPE) yindex;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S13110\t %.2f \t\t", clock_dif_sec);;
+	temp = max + xindex+1 + yindex+1;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s3111()
+{
+
+//	reductions
+//	conditional sum reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s3111");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		sum = 0.;
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > (TYPE)0.) {
+				sum += a[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S3111\t %.2f \t\t", clock_dif_sec);;
+	temp = sum;
+	check(-1);
+	return 0;
+}
+
+// %3.1
+
+int s3112()
+{
+
+//	reductions
+//	sum reduction saving running sums
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s3112");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < ntimes; nl++) {
+		sum = (TYPE)0.0;
+		for (int i = 0; i < LEN; i++) {
+			sum += a[i];
+			b[i] = sum;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S3112\t %.2f \t\t", clock_dif_sec);;
+	temp = sum;
+	check(-12);
+	return 0;
+}
+
+// %3.1
+
+int s3113()
+{
+
+//	reductions
+//	maximum of absolute value
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s3113");
+	start_t = clock();
+
+	TYPE max;
+	for (int nl = 0; nl < ntimes*4; nl++) {
+		max = abs(a[0]);
+		for (int i = 0; i < LEN; i++) {
+			if ((abs(a[i])) > max) {
+				max = abs(a[i]);
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, max);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S3113\t %.2f \t\t", clock_dif_sec);;
+	temp = max;
+	check(-1);
+	return 0;
+}
+
+#endif // TESTS & REDUCTIONS
+
+#if TESTS & RECURRENCES
+
+// %3.2
+
+int s321()
+{
+
+//	recurrences
+//	first order linear recurrence
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s321 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 1; i < LEN; i++) {
+			a[i] += a[i-1] * b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S321\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.2
+
+int s322()
+{
+
+//	recurrences
+//	second order linear recurrence
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s322 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 2; i < LEN; i++) {
+			a[i] = a[i] + a[i - 1] * b[i] + a[i - 2] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S322\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.2
+
+int s323()
+{
+
+//	recurrences
+//	coupled recurrence
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s323 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 1; i < LEN; i++) {
+			a[i] = b[i-1] + c[i] * d[i];
+			b[i] = a[i] + c[i] * e[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S323\t %.2f \t\t", clock_dif_sec);;
+	check(12);
+	return 0;
+}
+
+#endif // TESTS & RECURRENCES
+
+#if TESTS & SEARCHING
+
+// %3.3
+
+int s331()
+{
+
+//	search loops
+//	if to last-1
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s331 ");
+	start_t = clock();
+
+	int j;
+	TYPE chksum;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] < (TYPE)0.) {
+				j = i;
+			}
+		}
+		chksum = (TYPE) j;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S331\t %.2f \t\t", clock_dif_sec);;
+	temp = j+1;
+	check(-1);
+	return 0;
+}
+
+int max(int a1, int b1)
+{
+	if (b1 > a1)
+		return b1;
+	else
+		return a1;
+}
+
+// %3.3
+int s332( TYPE t)
+{
+
+//	search loops
+//	first value greater than threshoLEN
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s332 ");
+	start_t = clock();
+
+	int index;
+	TYPE value;
+	TYPE chksum;
+	for (int nl = 0; nl < ntimes; nl++) {
+		index = -2;
+		value = -1.;
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > t) {
+				index = i;
+				value = a[i];
+				goto L20;
+			}
+		}
+L20:
+		chksum = value + (TYPE) index;
+		dummy(a, b, c, d, e, aa, bb, cc, chksum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S332\t %.2f \t\t", clock_dif_sec);;
+	temp = value;
+	check(-1);
+	return 0;
+}
+
+#endif // TESTS & SEARCHING
+
+#if TESTS & PACKING
+
+// %3.4
+
+int s341()
+{
+
+//	packing
+//	pack positive values
+//	not vectorizable, value of j in unknown at each iteration
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s341 ");
+	start_t = clock();
+
+	int j;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN; i++) {
+			if (b[i] > (TYPE)0.) {
+				j++;
+				a[j] = b[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S341\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.4
+
+int s342()
+{
+
+//	packing
+//	unpacking
+//	not vectorizable, value of j in unknown at each iteration
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s342 ");
+	start_t = clock();
+
+	int j = 0;
+	for (int nl = 0; nl < ntimes; nl++) {
+		j = -1;
+		for (int i = 0; i < LEN; i++) {
+			if (a[i] > (TYPE)0.) {
+				j++;
+				a[i] = b[j];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S342\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.4
+
+int s343()
+{
+
+//	packing
+//	pack 2-d array into one dimension
+//	not vectorizable, value of k in unknown at each iteration
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s343 ");
+	start_t = clock();
+
+	int k;
+	for (int nl = 0; nl < 10*(ntimes/LEN2); nl++) {
+		k = -1;
+		for (int i = 0; i < LEN2; i++) {
+			for (int j = 0; j < LEN2; j++) {
+				if (bb[j][i] > (TYPE)0.) {
+					k++;
+					array[k] = aa[j][i];
+				}
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S343\t %.2f \t\t", clock_dif_sec);;
+	check(0);
+	return 0;
+}
+
+#endif // TESTS & PACKING
+
+#if TESTS & LOOP_REROLLING
+
+// %3.5
+
+int s351()
+{
+
+//	loop rerolling
+//	unrolled saxpy
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s351 ");
+	start_t = clock();
+
+	TYPE alpha = c[0];
+	for (int nl = 0; nl < 8*ntimes; nl++) {
+		for (int i = 0; i < LEN; i += 5) {
+			a[i] += alpha * b[i];
+			a[i + 1] += alpha * b[i + 1];
+			a[i + 2] += alpha * b[i + 2];
+			a[i + 3] += alpha * b[i + 3];
+			a[i + 4] += alpha * b[i + 4];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S351\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+int s1351()
+{
+
+//	induction pointer recognition
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s351 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 8*ntimes; nl++) {
+		TYPE* __restrict__ A = a;
+		TYPE* __restrict__ B = b;
+		TYPE* __restrict__ C = c;
+		for (int i = 0; i < LEN; i++) {
+			*A = *B+*C;
+			A++;
+			B++;
+			C++;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1351\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %3.5
+
+int s352()
+{
+
+//	loop rerolling
+//	unrolled dot product
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s352 ");
+	start_t = clock();
+
+	TYPE dot;
+	for (int nl = 0; nl < 8*ntimes; nl++) {
+		dot = (TYPE)0.;
+		for (int i = 0; i < LEN; i += 5) {
+			dot = dot + a[i] * b[i] + a[i + 1] * b[i + 1] + a[i + 2]
+				* b[i + 2] + a[i + 3] * b[i + 3] + a[i + 4] * b[i + 4];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, dot);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S352\t %.2f \t\t", clock_dif_sec);;
+	temp = dot;
+	check(-1);
+	return 0;
+}
+
+// %3.5
+
+int s353(int* __restrict__ ip)
+{
+
+//	loop rerolling
+//	unrolled sparse saxpy
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	start_t = clock();
+
+	init( "s353 ");
+	start_t = clock();
+
+	TYPE alpha = c[0];
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i += 5) {
+			a[i] += alpha * b[ip[i]];
+			a[i + 1] += alpha * b[ip[i + 1]];
+			a[i + 2] += alpha * b[ip[i + 2]];
+			a[i + 3] += alpha * b[ip[i + 3]];
+			a[i + 4] += alpha * b[ip[i + 4]];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S353\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & LOOP_REROLLING
+
+// **********************************************************
+//							    *
+//			 LANGUAGE COMPLETENESS		    *
+//							    *
+// **********************************************************
+
+#if TESTS & EQUIVALENCING
+
+// %4.1
+// %4.2
+
+int s421()
+{
+
+//	storage classes and equivalencing
+//	equivalence- no overlap
+
+	set1d(xx, 1., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s421 ");
+	start_t = clock();
+
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		yy = xx;
+		for (int i = 0; i < LEN - 1; i++) {
+			xx[i] = yy[i+1] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S421\t %.2f \t\t", clock_dif_sec);;
+	temp = 0;
+	for (int i = 0; i < LEN; i++){
+		temp += xx[i];
+	}
+	check(-1);
+	return 0;
+}
+
+int s1421()
+{
+
+//	storage classes and equivalencing
+//	equivalence- no overlap
+
+	set1d(xx, 1., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s421 ");
+	start_t = clock();
+
+	xx = &b[LEN/2];
+	for (int nl = 0; nl < 8*ntimes; nl++) {
+		for (int i = 0; i < LEN/2; i++) {
+			b[i] = xx[i] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S1421\t %.2f \t\t", clock_dif_sec);;
+	temp = 0;
+	for (int i = 0; i < LEN; i++){
+		temp += xx[i];
+	}
+	check(-1);
+	return 0;
+}
+
+// %4.2
+
+int s422()
+{
+
+//	storage classes and equivalencing
+//	common and equivalence statement
+//	anti-dependence, threshold of 4
+
+	xx = array + 4;
+	set1d(xx, 0., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s422 ");
+	start_t = clock();
+
+
+
+	for (int nl = 0; nl < 8*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			xx[i] = array[i + 8] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S422\t %.2f \t\t", clock_dif_sec);;
+	temp = 0;
+	for (int i = 0; i < LEN; i++){
+		temp += xx[i];
+	}
+	check(-1);
+	return 0;
+}
+
+// %4.2
+
+int s423()
+{
+
+//	storage classes and equivalencing
+//	common and equivalenced variables - with anti-dependence
+
+	int vl = 64;
+	xx = array+vl;
+	set1d(xx, 1., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s423 ");
+	start_t = clock();
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN - 1; i++) {
+			array[i+1] = xx[i] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S423\t %.2f \t\t", clock_dif_sec);;
+
+	temp = 0.;
+	for (int i = 0; i < LEN; i++){
+		temp += array[i];
+	}
+	check(-1);
+	return 0;
+}
+
+// %4.2
+
+int s424()
+{
+
+//	storage classes and equivalencing
+//	common and equivalenced variables - overlap
+//	vectorizeable in strips of 64 or less
+
+	int vl = 63;
+	xx = array + vl;
+	set1d(xx, 0., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+	init( "s424 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN - 1; i++) {
+			xx[i+1] = array[i] + a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 1.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S424\t %.2f \t\t", clock_dif_sec);;
+	temp = 0.;
+	for (int i = 0; i < LEN; i++){
+		temp += xx[i];
+	}
+	check(-1);
+	return 0;
+}
+
+#endif // TESTS & EQUIVALENCING
+// %4.3
+
+#if TESTS & GLOBAL_DATA_FLOW
+
+int s431()
+{
+
+//	parameters
+//	parameter statement
+
+	int k1=1;
+	int k2=2;
+	int k=2*k1-k2;
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s431 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = a[i+k] + b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S431\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & GLOBAL_DATA_FLOW
+// %4.4
+
+#if TESTS & CONTROL_FLOW
+
+int s441()
+{
+
+//	non-logical if's
+//	arithmetic if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s441 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (d[i] < (TYPE)0.) {
+				a[i] += b[i] * c[i];
+			} else if (d[i] == (TYPE)0.) {
+				a[i] += b[i] * b[i];
+			} else {
+				a[i] += c[i] * c[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S441\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.4
+
+int s442()
+{
+
+//	non-logical if's
+//	computed goto
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s442 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			switch (indx[i]) {
+				case 1:  goto L15;
+				case 2:  goto L20;
+				case 3:  goto L30;
+				case 4:  goto L40;
+			}
+L15:
+			a[i] += b[i] * b[i];
+			goto L50;
+L20:
+			a[i] += c[i] * c[i];
+			goto L50;
+L30:
+			a[i] += d[i] * d[i];
+			goto L50;
+L40:
+			a[i] += e[i] * e[i];
+L50:
+			;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S442\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.4
+
+int s443()
+{
+
+//	non-logical if's
+//	arithmetic if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s443 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (d[i] <= (TYPE)0.) {
+				goto L20;
+			} else {
+				goto L30;
+			}
+L20:
+			a[i] += b[i] * c[i];
+			goto L50;
+L30:
+			a[i] += b[i] * b[i];
+L50:
+			;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S443\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & CONTROL_FLOW
+
+#if TESTS & GLOBAL_DATA_FLOW
+
+// %4.5
+
+int s451()
+{
+
+//	intrinsic functions
+//	intrinsics
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s451 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/5; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = sinf(b[i]) + cosf(c[i]);
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S451\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.5
+
+int s452()
+{
+
+//	intrinsic functions
+//	seq function
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s452 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = b[i] + c[i] * (TYPE) (i+1);
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S452\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & GLOBAL_DATA_FLOW
+
+#if TESTS & INDUCTION_VARIABLE
+
+// %4.5
+
+int s453()
+{
+
+//	induction varibale recognition
+
+	TYPE s;
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s453 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*2; nl++) {
+		s = 0.;
+		for (int i = 0; i < LEN; i++) {
+			s += (TYPE)2.;
+			a[i] = s * b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S453\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & INDUCTION_VARIABLE
+
+// %4.7
+
+#if TESTS & GLOBAL_DATA_FLOW
+
+int s471(){
+
+//	call statements
+
+	int m = LEN;
+	set1d(x, 0., 1);
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s471 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes/2; nl++) {
+		for (int i = 0; i < m; i++) {
+			x[i] = b[i] + d[i] * d[i];
+			s471s();
+			b[i] = c[i] + d[i] * e[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S471\t %.2f \t\t", clock_dif_sec);;
+	temp = 0.;
+	for (int i = 0; i < LEN; i++){
+		temp += x[i];
+	}
+	check(-12);
+	return 0;
+}
+
+#endif // TESTS & GLOBAL_DATA_FLOW
+
+#if TESTS & CONTROL_FLOW
+
+// %4.8
+
+int s481()
+{
+
+//	non-local goto's
+//	stop statement
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s481 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (d[i] < (TYPE)0.) {
+				exit (0);
+			}
+			a[i] += b[i] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S481\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.8
+
+// %4.8
+int s482()
+{
+
+//	non-local goto's
+//	other loop exit with code before exit
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s482 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[i] * c[i];
+			if (c[i] > b[i]) break;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S482\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+
+#endif // TESTS & CONTROL_FLOW
+
+int min(int a, int b){
+  return (a < b) ? a : b;
+}
+
+#if TESTS & INDIRECT_ADDRESSING
+
+// %4.9
+
+int s491(int* __restrict__ ip)
+{
+
+//	vector semantics
+//	indirect addressing on lhs, store in sequence
+//	scatter is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s491 ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[ip[i]] = b[i] + c[i] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S491\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.11
+
+int s4112(int* __restrict__ ip, TYPE s)
+{
+
+//	indirect addressing
+//	sparse saxpy
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4112");
+	start_t = clock();
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[ip[i]] * s;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4112\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.11
+
+int s4113(int* __restrict__ ip)
+{
+
+//	indirect addressing
+//	indirect addressing on rhs and lhs
+//	gather and scatter is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4113");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[ip[i]] = b[ip[i]] + c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4113\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.11
+
+int s4114(int* ip, int n1)
+{
+
+//	indirect addressing
+//	mix indirect addressing with variable lower and upper bounds
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4114");
+	start_t = clock();
+
+	int k;
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = n1-1; i < LEN; i++) {
+			k = ip[i];
+			a[i] = b[i] + c[LEN-k+1-2] * d[i];
+			k += 5;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4114\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %4.11
+
+int s4115(int* __restrict__ ip)
+{
+
+//	indirect addressing
+//	sparse dot product
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4115");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < ntimes; nl++) {
+		sum = 0.;
+		for (int i = 0; i < LEN; i++) {
+			sum += a[i] * b[ip[i]];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4115\t %.2f \t\t", clock_dif_sec);;
+	temp = sum;
+	check(-1);
+	return 0;
+}
+
+// %4.11
+
+int s4116(int* __restrict__ ip, int j, int inc)
+{
+
+//	indirect addressing
+//	more complicated sparse sdot
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4116");
+	start_t = clock();
+
+	TYPE sum;
+	int off;
+	for (int nl = 0; nl < 100*ntimes; nl++) {
+		sum = 0.;
+		for (int i = 0; i < LEN2-1; i++) {
+			off = inc + i;
+			sum += a[off] * aa[j-1][ip[i]];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4116\t %.2f \t\t", clock_dif_sec);;
+	temp = sum;
+	check(-1);
+	return 0;
+}
+
+// %4.11
+
+int s4117()
+{
+
+//	indirect addressing
+//	seq function
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4117");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = b[i] + c[i/2] * d[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4117\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & INDIRECT_ADDRESSING
+
+#if TESTS & GLOBAL_DATA_FLOW
+
+// %4.12
+
+int s4121()
+{
+
+//	statement functions
+//	elementwise multiplication
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "s4121");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += f(b[i],c[i]);
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("S4121\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+#endif // TESTS & GLOBAL_DATA_FLOW
+
+#if TESTS & CONTROL_LOOPS
+
+// %5.1
+
+int va()
+{
+
+//	control loops
+//	vector assignment
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+	init( "va	");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("va\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vag( int* __restrict__ ip)
+{
+
+//	control loops
+//	vector assignment, gather
+//	gather is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vag  ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = b[ip[i]];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vag\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vas( int* __restrict__ ip)
+{
+
+//	control loops
+//	vector assignment, scatter
+//	scatter is required
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vas  ");
+	start_t = clock();
+
+	for (int nl = 0; nl < 2*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[ip[i]] = b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vas\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vif()
+{
+
+//	control loops
+//	vector if
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vif  ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			if (b[i] > (TYPE)0.) {
+				a[i] = b[i];
+			}
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vif\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vpv()
+{
+
+//	control loops
+//	vector plus vector
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vpv  ");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vpv\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vtv()
+{
+
+//	control loops
+//	vector times vector
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vtv  ");
+	start_t = clock();
+
+	// Function Body
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] *= b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vtv\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vpvtv()
+{
+
+//	control loops
+//	vector plus vector times vector
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vpvtv");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[i] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vpvtv\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vpvts( TYPE s)
+{
+
+//	control loops
+//	vector plus vector times scalar
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vpvts");
+	start_t = clock();
+
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[i] * s;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vpvts\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vpvpv()
+{
+
+//	control loops
+//	vector plus vector plus vector
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vpvpv");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] += b[i] + c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vpvpv\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vtvtv()
+{
+
+//	control loops
+//	vector times vector times vector
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vtvtv");
+	start_t = clock();
+
+	for (int nl = 0; nl < 4*ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a[i] = a[i] * b[i] * c[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vtvtv\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vsumr()
+{
+
+//	control loops
+//	vector sum reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vsumr");
+	start_t = clock();
+
+	TYPE sum;
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		sum = 0.;
+		for (int i = 0; i < LEN; i++) {
+			sum += a[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, sum);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vsumr\t %.2f \t\t", clock_dif_sec);;
+	check(1);
+	return 0;
+}
+
+// %5.1
+
+int vdotr()
+{
+
+//	control loops
+//	vector dot product reduction
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vdotr");
+	start_t = clock();
+
+	TYPE dot;
+	for (int nl = 0; nl < ntimes*10; nl++) {
+		dot = 0.;
+		for (int i = 0; i < LEN; i++) {
+			dot += a[i] * b[i];
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, dot);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vdotr\t %.2f \t\t", clock_dif_sec);;
+	temp = dot;
+	check(-1);
+	return 0;
+}
+
+// %5.1
+
+int vbor()
+{
+
+//	control loops
+//	basic operations rates, isolate arithmetic from memory traffic
+//	all combinations of three, 59 flops for 6 loads and 1 store.
+
+	clock_t start_t, end_t, clock_dif; double clock_dif_sec;
+
+
+	init( "vbor ");
+	start_t = clock();
+
+	TYPE a1, b1, c1, d1, e1, f1;
+	for (int nl = 0; nl < ntimes; nl++) {
+		for (int i = 0; i < LEN; i++) {
+			a1 = a[i];
+			b1 = b[i];
+			c1 = c[i];
+			d1 = d[i];
+			e1 = e[i];
+			f1 = aa[0][i];
+			a1 = a1 * b1 * c1 + a1 * b1 * d1 + a1 * b1 * e1 + a1 * b1 * f1 +
+				a1 * c1 * d1 + a1 * c1 * e1 + a1 * c1 * f1 + a1 * d1 * e1
+				+ a1 * d1 * f1 + a1 * e1 * f1;
+			b1 = b1 * c1 * d1 + b1 * c1 * e1 + b1 * c1 * f1 + b1 * d1 * e1 +
+				b1 * d1 * f1 + b1 * e1 * f1;
+			c1 = c1 * d1 * e1 + c1 * d1 * f1 + c1 * e1 * f1;
+			d1 = d1 * e1 * f1;
+			x[i] = a1 * b1 * c1 * d1;
+		}
+		dummy(a, b, c, d, e, aa, bb, cc, 0.);
+	}
+	end_t = clock(); clock_dif = end_t - start_t;
+	clock_dif_sec = (double) (clock_dif/1000000.0);
+	printf("vbor\t %.2f \t\t", clock_dif_sec);;
+	temp = 0.;
+	for (int i = 0; i < LEN; i++){
+		temp += x[i];
+	}
+	check(-1);
+	return 0;
+}
+
+#endif // TESTS & CONTROL_LOOPS
+
+void set(int* ip, TYPE* s1, TYPE* s2){
+	xx = (TYPE*) memalign(ALIGNMENT, LEN*sizeof(TYPE));
+	printf("\n");
+	for (int i = 0; i < LEN; i = i+5){
+		ip[i]	= (i+4);
+		ip[i+1] = (i+2);
+		ip[i+2] = (i);
+		ip[i+3] = (i+3);
+		ip[i+4] = (i+1);
+
+	}
+
+	set1d(a, 1.,1);
+	set1d(b, 1.,1);
+	set1d(c, 1.,1);
+	set1d(d, 1.,1);
+	set1d(e, 1.,1);
+	set2d(aa, 0.,-1);
+	set2d(bb, 0.,-1);
+	set2d(cc, 0.,-1);
+
+	for (int i = 0; i < LEN; i++){
+		indx[i] = (i+1) % 4+1;
+	}
+	*s1 = 1.0;
+	*s2 = 2.0;
+
+}
+
+int main(int argc, char *argv[]){
+	int n1 = 1;
+	int n3 = 1;
+	int* ip = (int *) memalign(ALIGNMENT, LEN*sizeof(TYPE));
+	TYPE s1,s2;
+
+        if (argc > 1)
+          ntimes = atoi(argv[1]);
+        printf("Running each loop %d times...\n", ntimes);
+
+        if (argc > 2)
+          digits = atoi(argv[2]);
+
+	set(ip, &s1, &s2);
+	printf("Loop \t Time(Sec) \t Checksum \n");
+
+
+#if TESTS & LINEAR_DEPENDENCE
+	s000();
+	s111();
+	s1111();
+	s112();
+	s1112();
+	s113();
+	s1113();
+	s114();
+	s115();
+	s1115();
+	s116();
+	s118();
+	s119();
+	s1119();
+#endif
+#if TESTS & INDUCTION_VARIABLE
+	s121();
+	s122(n1,n3);
+	s123();
+	s124();
+	s125();
+	s126();
+	s127();
+	s128();
+#endif
+#if TESTS & GLOBAL_DATA_FLOW
+	s131();
+	s132();
+	s141();
+	s151();
+	s152();
+#endif
+#if TESTS & CONTROL_FLOW
+	s161();
+	s1161();
+	s162(n1);
+#endif
+#if TESTS & SYMBOLICS
+	s171(n1);
+	s172(n1,n3);
+	s173();
+	s174(LEN/2);
+	s175(n1);
+	s176();
+#endif
+#if TESTS & STATEMENT_REORDERING
+	s211();
+	s212();
+	s1213();
+#endif
+#if TESTS & LOOP_RESTRUCTURING
+	s221();
+	s1221();
+	s222();
+	s231();
+	s232();
+	s1232();
+	s233();
+	s2233();
+	s235();
+#endif
+#if TESTS & NODE_SPLITTING
+	s241();
+	s242(s1, s2);
+	s243();
+	s244();
+	s1244();
+	s2244();
+#endif
+#if TESTS & EXPANSION
+	s251();
+	s1251();
+	s2251();
+	s3251();
+	s252();
+	s253();
+	s254();
+	s255();
+	s256();
+	s257();
+	s258();
+	s261();
+#endif
+#if TESTS & CONTROL_FLOW
+	s271();
+	s272(s1);
+	s273();
+	s274();
+	s275();
+	s2275();
+	s276();
+	s277();
+	s278();
+	s279();
+	s1279();
+	s2710(s1);
+	s2711();
+	s2712();
+#endif
+#if TESTS & CROSSING_THRESHOLDS
+	s281();
+	s1281();
+	s291();
+	s292();
+	s293();
+	s2101();
+	s2102();
+	s2111();
+#endif
+#if TESTS & REDUCTIONS
+	s311();
+	s31111();
+	s312();
+	s313();
+	s314();
+	s315();
+	s316();
+	s317();
+	s318(n1);
+	s319();
+	s3110();
+	s13110();
+	s3111();
+	s3112();
+	s3113();
+#endif
+#if TESTS & RECURRENCES
+	s321();
+	s322();
+	s323();
+#endif
+#if TESTS & SEARCHING
+	s331();
+	s332(s1);
+#endif
+#if TESTS & PACKING
+	s341();
+	s342();
+	s343();
+#endif
+#if TESTS & LOOP_REROLLING
+	s351();
+	s1351();
+	s352();
+	s353(ip);
+#endif
+#if TESTS & EQUIVALENCING
+	s421();
+	s1421();
+	s422();
+	s423();
+	s424();
+#endif
+#if TESTS & GLOBAL_DATA_FLOW
+	s431();
+#endif
+#if TESTS & CONTROL_FLOW
+	s441();
+	s442();
+	s443();
+#endif
+#if TESTS & GLOBAL_DATA_FLOW
+	s451();
+	s452();
+#endif
+#if TESTS & INDUCTION_VARIABLE
+	s453();
+#endif
+#if TESTS & GLOBAL_DATA_FLOW
+	s471();
+#endif
+#if TESTS & CONTROL_FLOW
+	s481();
+	s482();
+#endif
+#if TESTS & INDIRECT_ADDRESSING
+	s491(ip);
+	s4112(ip, s1);
+	s4113(ip);
+	s4114(ip,n1);
+	s4115(ip);
+	s4116(ip, LEN2/2, n1);
+	s4117();
+#endif
+#if TESTS & GLOBAL_DATA_FLOW
+	s4121();
+#endif
+#if TESTS & CONTROL_LOOPS
+	va();
+	vag(ip);
+	vas(ip);
+	vif();
+	vpv();
+	vtv();
+	vpvtv();
+	vpvts(s1);
+	vpvpv();
+	vtvtv();
+	vsumr();
+	vdotr();
+	vbor();
+#endif
+	return 0;
+}
+

Added: test-suite/trunk/MultiSource/Benchmarks/TSVC/types.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/types.h?rev=164834&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/TSVC/types.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/TSVC/types.h Fri Sep 28 13:33:27 2012
@@ -0,0 +1,20 @@
+#ifndef TYPES_H
+#define TYPES_H
+
+#define LEN 32000
+#define LEN2 256
+
+#ifndef TYPE
+#define TYPE float
+#endif
+
+#ifndef X_TYPE
+#define X_TYPE TYPE
+#endif
+
+#ifndef ALIGNMENT
+#define ALIGNMENT 16
+#endif
+
+#endif // TYPES_H
+





More information about the llvm-commits mailing list