Update sphereflake.reference_output.small for changes in sqrt()

r208341 changed the sqrt used in sphereflake, but only updated
'sphereflake.reference_output'. This changes the small output to
match.

Patch by Robert Lytton! Thanks!

git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@208801 91177308-0d34-0410-b5e6-96231b3b80d8
[Mips] Extentd RUNTIMELIMIT for a couple tests when they are running for
MIPS target.

git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@208847 91177308-0d34-0410-b5e6-96231b3b80d8
Use perf tool for more accurate time measuring on Linux

A wrapper over Linux perf tool which mimics original timeit tool to provide
more accurate time measurements on Linux systems. It automatically falls back
to timeit if any dependency is not installed.


git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@209732 91177308-0d34-0410-b5e6-96231b3b80d8
Revert perf tool patch, as it breaks buildbots


git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@209748 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Revert perf tool patch, as it breaks buildbots"


git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@209797 91177308-0d34-0410-b5e6-96231b3b80d8
[Mips] Extend RUNTIMELIMIT for the SciMark2-C test when it is running for MIPS target.

git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210237 91177308-0d34-0410-b5e6-96231b3b80d8
Add a benchmarking-only mode to the test suite

This adds a benchmarking-only mode to the test suite, which excludes those
programs unlikely to use useful as benchmarks. When BENCHMARKING_ONLY is
defined, the following programs should be excluded:

MultiSource/Applications/Burg/burg
MultiSource/Applications/treecc/treecc
MultiSource/Benchmarks/MiBench/office-ispell/office-ispell
MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish
MultiSource/Benchmarks/Prolangs-C/allroots/allroots
MultiSource/Benchmarks/Prolangs-C/archie-client/archie
MultiSource/Benchmarks/Prolangs-C/assembler/assembler
MultiSource/Benchmarks/Prolangs-C/compiler/compiler
MultiSource/Benchmarks/Prolangs-C++/deriv1/deriv1
MultiSource/Benchmarks/Prolangs-C++/deriv2/deriv2
MultiSource/Benchmarks/Prolangs-C++/family/family
MultiSource/Benchmarks/Prolangs-C/fixoutput/fixoutput
MultiSource/Benchmarks/Prolangs-C/football/football
MultiSource/Benchmarks/Prolangs-C++/fsm/fsm
MultiSource/Benchmarks/Prolangs-C++/garage/garage
MultiSource/Benchmarks/Prolangs-C++/NP/np
MultiSource/Benchmarks/Prolangs-C++/objects/objects
MultiSource/Benchmarks/Prolangs-C++/office/office
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig
MultiSource/Benchmarks/Prolangs-C++/shapes/shapes
MultiSource/Benchmarks/Prolangs-C/simulator/simulator
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc
MultiSource/Benchmarks/Prolangs-C++/trees/trees
MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail
MultiSource/Benchmarks/Prolangs-C/unix-tbl/unix-tbl
MultiSource/Benchmarks/Prolangs-C++/vcirc/vcirc
SingleSource/Benchmarks/McGill/exptree
SingleSource/Benchmarks/Shootout-C++/hello
SingleSource/Benchmarks/Shootout-C++/reversefile
SingleSource/Benchmarks/Shootout-C++/spellcheck
SingleSource/Benchmarks/Shootout-C++/sumcol
SingleSource/Benchmarks/Shootout-C++/wc
SingleSource/Benchmarks/Shootout-C++/wordfreq
SingleSource/Benchmarks/Shootout/hello
SingleSource/Regression/C++/2003-05-14-array-init
SingleSource/Regression/C++/2003-05-14-expr_stmt
SingleSource/Regression/C/2003-05-14-initialize-string
SingleSource/Regression/C/2003-05-21-BitfieldHandling
SingleSource/Regression/C/2003-05-21-UnionBitfields
SingleSource/Regression/C/2003-05-21-UnionTest
SingleSource/Regression/C/2003-05-22-LocalTypeTest
SingleSource/Regression/C/2003-05-22-VarSizeArray
SingleSource/Regression/C/2003-05-23-TransparentUnion
SingleSource/Regression/C++/2003-06-08-BaseType
SingleSource/Regression/C++/2003-06-08-VirtualFunctions
SingleSource/Regression/C++/2003-06-13-Crasher
SingleSource/Regression/C/2003-06-16-InvalidInitializer
SingleSource/Regression/C/2003-06-16-VolatileError
SingleSource/Regression/C++/2003-08-20-EnumSizeProblem
SingleSource/Regression/C++/2003-09-29-NonPODsByValue
SingleSource/Regression/C/2003-10-12-GlobalVarInitializers
SingleSource/Regression/C/2004-02-03-AggregateCopy
SingleSource/Regression/C/2004-03-15-IndirectGoto
SingleSource/Regression/C/2005-05-06-LongLongSignedShift
SingleSource/Regression/C/2008-01-07-LongDouble
SingleSource/Regression/C++/2008-01-29-ParamAliasesReturn
SingleSource/Regression/C++/2011-03-28-Bitfield
SingleSource/Regression/C/badidx
SingleSource/Regression/C/bigstack
SingleSource/Regression/C++/BuiltinTypeInfo
SingleSource/Regression/C/callargs
SingleSource/Regression/C/casts
SingleSource/Regression/C/compare
SingleSource/Regression/C/ConstructorDestructorAttributes
SingleSource/Regression/C/DuffsDevice
SingleSource/Regression/C++/EH/class_hierarchy
SingleSource/Regression/C++/EH/ConditionalExpr
SingleSource/Regression/C++/EH/ctor_dtor_count
SingleSource/Regression/C++/EH/ctor_dtor_count-2
SingleSource/Regression/C++/EH/dead_try_block
SingleSource/Regression/C++/EH/exception_spec_test
SingleSource/Regression/C++/EH/function_try_block
SingleSource/Regression/C++/EH/inlined_cleanup
SingleSource/Regression/C++/EH/recursive-throw
SingleSource/Regression/C++/EH/simple_rethrow
SingleSource/Regression/C++/EH/simple_throw
SingleSource/Regression/C++/EH/throw_rethrow_test
SingleSource/Regression/C++/fixups
SingleSource/Regression/C++/global_ctor
SingleSource/Regression/C/globalrefs
SingleSource/Regression/C++/global_type
SingleSource/Regression/C++/ofstream_ctor
SingleSource/Regression/C/pointer_arithmetic
SingleSource/Regression/C++/pointer_member
SingleSource/Regression/C++/pointer_method
SingleSource/Regression/C++/pointer_method2
SingleSource/Regression/C/PR10189
SingleSource/Regression/C/PR1386
SingleSource/Regression/C/PR491
SingleSource/Regression/C/PR640
SingleSource/Regression/C++/short_circuit_dtor
SingleSource/Regression/C/sumarray
SingleSource/Regression/C/sumarraymalloc
SingleSource/Regression/C/testtrace
SingleSource/UnitTests/2002-04-17-PrintfChar
SingleSource/UnitTests/2002-05-02-ArgumentTest
SingleSource/UnitTests/2002-05-02-CastTest
SingleSource/UnitTests/2002-05-02-CastTest1
SingleSource/UnitTests/2002-05-02-CastTest2
SingleSource/UnitTests/2002-05-02-CastTest3
SingleSource/UnitTests/2002-05-02-ManyArguments
SingleSource/UnitTests/2002-05-03-NotTest
SingleSource/UnitTests/2002-05-19-DivTest
SingleSource/UnitTests/2002-08-02-CastTest
SingleSource/UnitTests/2002-08-02-CastTest2
SingleSource/UnitTests/2002-08-19-CodegenBug
SingleSource/UnitTests/2002-10-09-ArrayResolution
SingleSource/UnitTests/2002-10-12-StructureArgs
SingleSource/UnitTests/2002-10-12-StructureArgsSimple
SingleSource/UnitTests/2002-10-13-BadLoad
SingleSource/UnitTests/2002-12-13-MishaTest
SingleSource/UnitTests/2003-04-22-Switch
SingleSource/UnitTests/2003-05-02-DependentPHI
SingleSource/UnitTests/2003-05-07-VarArgs
SingleSource/UnitTests/2003-05-12-MinIntProblem
SingleSource/UnitTests/2003-05-14-AtExit
SingleSource/UnitTests/2003-05-26-Shorts
SingleSource/UnitTests/2003-05-31-CastToBool
SingleSource/UnitTests/2003-05-31-LongShifts
SingleSource/UnitTests/2003-07-06-IntOverflow
SingleSource/UnitTests/2003-07-08-BitOpsTest
SingleSource/UnitTests/2003-07-09-LoadShorts
SingleSource/UnitTests/2003-07-09-SignedArgs
SingleSource/UnitTests/2003-07-10-SignConversions
SingleSource/UnitTests/2003-08-05-CastFPToUint
SingleSource/UnitTests/2003-08-11-VaListArg
SingleSource/UnitTests/2003-08-20-FoldBug
SingleSource/UnitTests/2003-09-18-BitFieldTest
SingleSource/UnitTests/2003-10-13-SwitchTest
SingleSource/UnitTests/2003-10-29-ScalarReplBug
SingleSource/UnitTests/2004-02-02-NegativeZero
SingleSource/UnitTests/2004-06-20-StaticBitfieldInit
SingleSource/UnitTests/2004-11-28-GlobalBoolLayout
SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls
SingleSource/UnitTests/2005-05-12-Int64ToFP
SingleSource/UnitTests/2005-05-13-SDivTwo
SingleSource/UnitTests/2005-07-17-INT-To-FP
SingleSource/UnitTests/2005-11-29-LongSwitch
SingleSource/UnitTests/2006-01-29-SimpleIndirectCall
SingleSource/UnitTests/2006-02-04-DivRem
SingleSource/UnitTests/2006-12-01-float_varg
SingleSource/UnitTests/2006-12-04-DynAllocAndRestore
SingleSource/UnitTests/2006-12-07-Compare64BitConstant
SingleSource/UnitTests/2006-12-11-LoadConstants
SingleSource/UnitTests/2007-01-04-KNR-Args
SingleSource/UnitTests/2007-03-02-VaCopy
SingleSource/UnitTests/2007-04-25-weak
SingleSource/UnitTests/2008-04-18-LoopBug
SingleSource/UnitTests/2008-04-20-LoopBug2
SingleSource/UnitTests/2008-07-13-InlineSetjmp
SingleSource/UnitTests/2009-04-16-BitfieldInitialization
SingleSource/UnitTests/2009-12-07-StructReturn
SingleSource/UnitTests/2010-05-24-BitfieldTest
SingleSource/UnitTests/AtomicOps
SingleSource/UnitTests/block-byref-cxxobj-test
SingleSource/UnitTests/block-byref-test
SingleSource/UnitTests/block-call-r7674133
SingleSource/UnitTests/block-copied-in-cxxobj
SingleSource/UnitTests/block-copied-in-cxxobj-1
SingleSource/UnitTests/blockstret
SingleSource/UnitTests/byval-alignment
SingleSource/UnitTests/conditional-gnu-ext
SingleSource/UnitTests/conditional-gnu-ext-cxx
SingleSource/UnitTests/DefaultInitDynArrays
SingleSource/UnitTests/FloatPrecision
SingleSource/UnitTests/initp1
SingleSource/UnitTests/member-function-pointers
SingleSource/UnitTests/printargs
SingleSource/UnitTests/SignlessTypes/cast2
SingleSource/UnitTests/SignlessTypes/cast-bug
SingleSource/UnitTests/SignlessTypes/ccc
SingleSource/UnitTests/SignlessTypes/div
SingleSource/UnitTests/SignlessTypes/factor
SingleSource/UnitTests/SignlessTypes/Large/cast
SingleSource/UnitTests/SignlessTypes/shr
SingleSource/UnitTests/stmtexpr
SingleSource/UnitTests/StructModifyTest
SingleSource/UnitTests/TestLoop
SingleSource/UnitTests/Threads/2010-12-08-tls
SingleSource/UnitTests/Threads/tls
SingleSource/UnitTests/Vector/build
SingleSource/UnitTests/Vector/divides
SingleSource/UnitTests/Vector/sumarray
SingleSource/UnitTests/Vector/sumarray-dbl
SingleSource/UnitTests/vla

SingleSource/UnitTests/Vector/Altivec/2007-01-07-lvsl-lvsr-Regression
SingleSource/UnitTests/Vector/Altivec/alti.sdot
SingleSource/UnitTests/Vector/Altivec/casts
SingleSource/UnitTests/Vector/Altivec/test1

SingleSource/UnitTests/ms_struct-bitfield
SingleSource/UnitTests/ms_struct-bitfield-1
SingleSource/UnitTests/ms_struct-bitfield-init
SingleSource/UnitTests/ms_struct-bitfield-init-1
SingleSource/UnitTests/ms_struct_pack_layout
SingleSource/UnitTests/ms_struct_pack_layout-1

I constructed this exclusion list primarily based on the following experiment:
I ran the test suite 10 times in three configurations: 1) On an IBM POWER7 (P7)
with -O3 -mvsx, 2) On a P7 at -O0 and 3) On an Intel Xeon E5430 with -O3 all
using make -j6. I then used the ministat utility (which performs a T test) to
compare the timings of the two P7 configurations against each other and the
Xeon configuration, requiring a detectable difference at 99.5% confidence. I
looked for tests that showed no significant difference in all three
comparisons. The running configuration here is purposefully noisy, the idea is
to eliminate those tests that are significantly sensitive to startup time, file
I/O time, memory bandwidth, etc., or just too short, and by running many tests
in parallel (non-deterministically), my hope is to eliminate those tests can
cannot usefully serve as benchmarks in a "normal" environment.


git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210251 91177308-0d34-0410-b5e6-96231b3b80d8
[PATCH, test-suite] Add some Altivec execution tests

The PowerPC VMX instruction set (also known as Altivec) contains a
number of instructions that have a "big-endian bias"; that is, they
implicitly or explicitly assume that vector elements are numbered
"left to right" within a vector register.  These instructions
therefore do not behave naturally when code is generated for a little
endian target.

These, as well as the better-behaved Altivec instructions, may be
accessed through interfaces defined in <altivec.h>.  For ease of
porting, it is desirable that the Altivec instructions behave as a
programmer would expect for little endian code generation, rather than
how the underlying instructions actually work.

As an example, the vec_mule interface is used to perform a widening
multiply on even elements of a vector.  The even elements, when
numbered in little-endian element order, are the same as the odd
elements when numbered in big-endian element order.  Therefore when
vec_mule is specified in a program, the proper effect is obtained by
generating a vector-multiply-even for a big-endian target, but instead
generating a vector-multiply-odd for a little-endian target.

I will be submitting a number of patches to implement these changes
for little-endian code generation.  For the present, I want to add a
number of new test cases that will test the correct behavior of the
endian-sensitive Altivec instructions for both big- and little-endian
targets.

The new tests in this patch are self-testing; they will abort if the
instructions produce a wrong result.  It seemed to me the best place
to put these tests was with the other run-time Altivec tests, i.e., in
projects/test-suite/SingleSource/UnitTests/Vector/Altivec.  In keeping
with the behavior of the existing tests, I've included reference
output files for each test; however, these are minimal ("exit 0\n")
because of the self-testing nature of the tests.  Please let me know
if there is a better place to put these tests, or any additional
materials I need to provide.

All of these tests currently run correctly on big-endian PPC64
targets, with the exception of unpack.c.  This is because the current
implementations of vec_unpackh and vec_unpackl with a vector pixel
argument do not generate correct code.  This will be fixed in a
follow-on patch that addresses the little endian implementations of
vec_unpack[hl].



git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210277 91177308-0d34-0410-b5e6-96231b3b80d8
[Mips] Skip AtomicOps test on MIPS 32-bit because this hardware does not
support 8 bytes atomic operations.

git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210434 91177308-0d34-0410-b5e6-96231b3b80d8
[PPC64LE] Fix Altivec 'test1.c' test to be endian-tolerant

The test1.c test in the SingleSource/UnitTests/Vector/Altivec
directory makes use of the vec_sld interface.  Unlike most of the
vector interfaces, vec_sld's behavior is not automatically modified
by the compiler for little endian.  (A programmer might use it to
multiply by a power of 2, for example, in which case it should not be
changed.)  Thus code using vec_sld must sometimes be modified when
porting to little endian.  This patch replaces two of the vec_sld
calls with replacement code appropriate for little endian.  A third
instance is correct for both big and little endian and doesn't need to
be modified.  A fourth instance is dead code and therefore doesn't
need to be modified.


git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210658 91177308-0d34-0410-b5e6-96231b3b80d8
disable the -lsupc++ specification for powerpc.



git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210788 91177308-0d34-0410-b5e6-96231b3b80d8
Remove BENCHMARK_ONLY now that we have a better BENCHMARKING_ONLY flag.

git-svn-id: http://llvm.org/svn/llvm-project/test-suite/trunk@210856 91177308-0d34-0410-b5e6-96231b3b80d8