Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -188,6 +188,10 @@ endif() mark_as_advanced(TEST_SUITE_SUBDIRS) +execute_process(COMMAND echo ${CMAKE_C_COMPILER} ${CMAKE_CXX_COMPILER} ${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_C_COMPILER_ARG1} ${CMAKE_C_COMPILER_ARG2} ${CMAKE_C_COMPILER_ARG3} ${CMAKE_C_COMPILER_ARG4} ${CMAKE_C_COMPILER_ARG5} ${CMAKE_CXX_COMPILER_ARG1} ${CMAKE_CXX_COMPILER_ARG2} ${CMAKE_CXX_COMPILER_ARG3} ${CMAKE_CXX_COMPILER_ARG4} ${CMAKE_CXX_COMPILER_ARG5} COMMAND grep -E "(-Ofast|-ffast-math)" OUTPUT_VARIABLE FAST_MATH_DETECTED) + +set(FPCONTRACTION_OR_FASTMATH_OR_BOTH_IN_EFFECT "maybe") + foreach(subdir ${TEST_SUITE_SUBDIRS}) message(STATUS "Adding directory ${subdir}") add_subdirectory(${subdir}) Index: MultiSource/Applications/minisat/CMakeLists.txt =================================================================== --- MultiSource/Applications/minisat/CMakeLists.txt +++ MultiSource/Applications/minisat/CMakeLists.txt @@ -1,20 +1,26 @@ -set(PROG minisat) -list(APPEND LDFLAGS -lstdc++ -lm) -if(DEFINED SMALL_PROBLEM_SIZE) - set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/small.cnf) -else() - if(DEFINED LARGE_PROBLEM_SIZE) - set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/long.cnf) - if(ARCH STREQUAL "XCore") - set(XCORE_TARGET_NEEDS_MEMORY 64) - endif() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG minisat) + list(APPEND LDFLAGS -lstdc++ -lm) + if(DEFINED SMALL_PROBLEM_SIZE) + set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/small.cnf) else() - set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/short.cnf) + if(DEFINED LARGE_PROBLEM_SIZE) + set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/long.cnf) + if(ARCH STREQUAL "XCore") + set(XCORE_TARGET_NEEDS_MEMORY 64) + endif() + else() + set(RUN_OPTIONS -verbosity=0 ${CMAKE_CURRENT_SOURCE_DIR}/short.cnf) + endif() endif() + set(FP_TOLERANCE 0.68) + if(TARGET_OS STREQUAL "Darwin") + set(SHLIBEXT .dylib) + endif() + list(APPEND JIT_OPTS -load libz${SHLIBEXT}) + list(APPEND CFLAGS -ffp-contract=off) + list(APPEND CXXFLAGS -ffp-contract=off) + llvm_multisource() + endif() -set(FP_TOLERANCE 0.1) -if(TARGET_OS STREQUAL "Darwin") - set(SHLIBEXT .dylib) -endif() -list(APPEND JIT_OPTS -load libz${SHLIBEXT}) -llvm_multisource() Index: MultiSource/Applications/minisat/Makefile =================================================================== --- MultiSource/Applications/minisat/Makefile +++ MultiSource/Applications/minisat/Makefile @@ -1,5 +1,9 @@ # MultiSource/minisat Makefile +ifeq "" "$(shell echo $(CC) $(CXX) $(CFLAGS) $(CXXFLAGS) | grep -E '(-Ofast|-ffast-math)')" + + + LEVEL = ../../.. PROG = minisat CPPFLAGS = -D NDEBUG @@ -16,7 +20,7 @@ RUN_OPTIONS = -verbosity=0 $(PROJ_SRC_DIR)/short.cnf endif endif -FP_TOLERANCE = 0.1 +FP_TOLERANCE = 0.68 include ../../Makefile.multisrc @@ -25,3 +29,9 @@ endif JIT_OPTS += -load libz$(SHLIBEXT) +CFLAGS += -ffp-contract=off -fno-fast-math +CXXFLAGS += -ffp-contract=off -fno-fast-math + + + +endif Index: MultiSource/Applications/oggenc/CMakeLists.txt =================================================================== --- MultiSource/Applications/oggenc/CMakeLists.txt +++ MultiSource/Applications/oggenc/CMakeLists.txt @@ -1,6 +1,10 @@ -set(PROG oggenc) -list(APPEND CPPFLAGS -fno-strict-aliasing) -list(APPEND LDFLAGS -lm) -set(STDIN_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/tune) -set(RUN_OPTIONS "-Q -s 901820 -") -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG oggenc) + list(APPEND CFLAGS -fno-strict-aliasing -ffp-contract=off) + list(APPEND LDFLAGS -lm) + set(STDIN_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/tune) + set(RUN_OPTIONS "-Q -s 901820 -") + llvm_multisource() + +endif() Index: MultiSource/Applications/oggenc/Makefile =================================================================== --- MultiSource/Applications/oggenc/Makefile +++ MultiSource/Applications/oggenc/Makefile @@ -1,7 +1,7 @@ LEVEL = ../../.. PROG = oggenc -CPPFLAGS = -fno-strict-aliasing +CFLAGS = -fno-strict-aliasing -ffp-contract=off -fno-fast-math LDFLAGS = -lm STDIN_FILENAME = $(SourceDir)/tune Index: MultiSource/Benchmarks/MiBench/automotive-basicmath/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/MiBench/automotive-basicmath/CMakeLists.txt +++ MultiSource/Benchmarks/MiBench/automotive-basicmath/CMakeLists.txt @@ -1,4 +1,9 @@ -set(PROG automotive-basicmath) -list(APPEND LDFLAGS -lm) -set(HASH_PROGRAM_OUTPUT 1) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG automotive-basicmath) + list(APPEND LDFLAGS -lm) + set(HASH_PROGRAM_OUTPUT 1) + list(APPEND CFLAGS -ffp-contract=off) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/MiBench/automotive-basicmath/Makefile =================================================================== --- MultiSource/Benchmarks/MiBench/automotive-basicmath/Makefile +++ MultiSource/Benchmarks/MiBench/automotive-basicmath/Makefile @@ -3,5 +3,6 @@ PROG = automotive-basicmath LDFLAGS = -lm HASH_PROGRAM_OUTPUT = 1 +CFLAGS += -ffp-contract=off -fno-fast-math include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/MiBench/telecomm-FFT/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/MiBench/telecomm-FFT/CMakeLists.txt +++ MultiSource/Benchmarks/MiBench/telecomm-FFT/CMakeLists.txt @@ -3,4 +3,5 @@ set(RUN_OPTIONS 8 32768 -i) set(FP_ABSTOLERANCE 0.00001) set(HASH_PROGRAM_OUTPUT 1) +list(APPEND CFLAGS -ffp-contract=off) llvm_multisource() Index: MultiSource/Benchmarks/MiBench/telecomm-FFT/Makefile =================================================================== --- MultiSource/Benchmarks/MiBench/telecomm-FFT/Makefile +++ MultiSource/Benchmarks/MiBench/telecomm-FFT/Makefile @@ -5,5 +5,6 @@ RUN_OPTIONS = 8 32768 -i FP_ABSTOLERANCE := 0.00001 HASH_PROGRAM_OUTPUT = 1 +CFLAGS += -ffp-contract=off -fno-fast-math include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/ControlFlow-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/ControlFlow-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG ControlFlow-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 2325 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG ControlFlow-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 2325 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/ControlFlow-dbl/Makefile @@ -2,7 +2,7 @@ PROG = ControlFlow-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 2325 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/ControlFlow-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/ControlFlow-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/ControlFlow-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG ControlFlow-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 2325 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG ControlFlow-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 2325 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile +++ MultiSource/Benchmarks/TSVC/ControlFlow-flt/Makefile @@ -2,7 +2,7 @@ PROG = ControlFlow-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 2325 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/ControlLoops-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/ControlLoops-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/ControlLoops-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG ControlLoops-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 1640 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG ControlLoops-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 1640 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile +++ MultiSource/Benchmarks/TSVC/ControlLoops-flt/Makefile @@ -2,7 +2,7 @@ PROG = ControlLoops-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 1640 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG CrossingThresholds-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 5880 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG CrossingThresholds-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 5880 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/Makefile @@ -2,7 +2,7 @@ PROG = CrossingThresholds-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 5880 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG CrossingThresholds-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 5880 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG CrossingThresholds-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 5880 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile +++ MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/Makefile @@ -2,7 +2,7 @@ PROG = CrossingThresholds-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 5880 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Expansion-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Expansion-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Expansion-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG Expansion-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 4160 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Expansion-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 4160 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/Expansion-dbl/Makefile @@ -2,7 +2,7 @@ PROG = Expansion-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 4160 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/Expansion-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Expansion-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Expansion-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Expansion-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 4160 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Expansion-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 4160 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile +++ MultiSource/Benchmarks/TSVC/Expansion-flt/Makefile @@ -2,7 +2,7 @@ PROG = Expansion-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 4160 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG GlobalDataFlow-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 3450 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG GlobalDataFlow-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 3450 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/Makefile @@ -2,7 +2,7 @@ PROG = GlobalDataFlow-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 3450 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG GlobalDataFlow-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 3450 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG GlobalDataFlow-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 3450 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile +++ MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/Makefile @@ -2,7 +2,7 @@ PROG = GlobalDataFlow-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 3450 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG IndirectAddressing-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 12500 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG IndirectAddressing-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 12500 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/Makefile @@ -2,7 +2,7 @@ PROG = IndirectAddressing-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 12500 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/CMakeLists.txt @@ -2,4 +2,5 @@ list(APPEND LDFLAGS -lm) list(APPEND CFLAGS -std=gnu99) set(RUN_OPTIONS 12500 5) +set(FP_ABSTOLERANCE 0.0001) llvm_multisource() Index: MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile +++ MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/Makefile @@ -4,5 +4,6 @@ LDFLAGS = -lm CFLAGS += -std=gnu99 RUN_OPTIONS = 12500 5 +FP_ABSTOLERANCE:=0.0001 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/InductionVariable-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/InductionVariable-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/InductionVariable-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG InductionVariable-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 9100 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG InductionVariable-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 9100 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/InductionVariable-dbl/Makefile @@ -2,7 +2,7 @@ PROG = InductionVariable-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 9100 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/InductionVariable-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/InductionVariable-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/InductionVariable-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG InductionVariable-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 9100 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG InductionVariable-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 9100 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile +++ MultiSource/Benchmarks/TSVC/InductionVariable-flt/Makefile @@ -2,7 +2,7 @@ PROG = InductionVariable-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 9100 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/LinearDependence-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/LinearDependence-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/LinearDependence-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG LinearDependence-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 3570 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG LinearDependence-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 3570 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/LinearDependence-dbl/Makefile @@ -2,7 +2,7 @@ PROG = LinearDependence-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 3570 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/LinearDependence-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/LinearDependence-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/LinearDependence-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG LinearDependence-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 3570 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG LinearDependence-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 3570 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile +++ MultiSource/Benchmarks/TSVC/LinearDependence-flt/Makefile @@ -2,7 +2,7 @@ PROG = LinearDependence-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 3570 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/LoopRerolling-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRerolling-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/LoopRerolling-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG LoopRerolling-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 5260 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG LoopRerolling-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 5260 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile +++ MultiSource/Benchmarks/TSVC/LoopRerolling-flt/Makefile @@ -2,7 +2,7 @@ PROG = LoopRerolling-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 5260 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG LoopRestructuring-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 4350 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG LoopRestructuring-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 4350 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/Makefile @@ -2,7 +2,7 @@ PROG = LoopRestructuring-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 4350 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG LoopRestructuring-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 4350 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG LoopRestructuring-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 4350 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile +++ MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/Makefile @@ -2,7 +2,7 @@ PROG = LoopRestructuring-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 4350 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG NodeSplitting-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 10000 14) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG NodeSplitting-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 10000 14) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/Makefile @@ -2,7 +2,7 @@ PROG = NodeSplitting-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 10000 14 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/NodeSplitting-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/NodeSplitting-flt/CMakeLists.txt @@ -1,8 +1,12 @@ -set(PROG NodeSplitting-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 10000 5) -if(ARCH STREQUAL "XCore") - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG NodeSplitting-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 10000 5) + if(ARCH STREQUAL "XCore") + set(RUNTIMELIMIT 7200) + endif() + llvm_multisource() + endif() -llvm_multisource() Index: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile +++ MultiSource/Benchmarks/TSVC/NodeSplitting-flt/Makefile @@ -2,7 +2,7 @@ PROG = NodeSplitting-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 10000 5 ifeq ($(ARCH),XCore) Index: MultiSource/Benchmarks/TSVC/Packing-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Packing-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Packing-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Packing-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 50000 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Packing-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 50000 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/Packing-dbl/Makefile @@ -2,7 +2,7 @@ PROG = Packing-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 50000 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Recurrences-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Recurrences-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Recurrences-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Recurrences-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 20000 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Recurrences-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 20000 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile +++ MultiSource/Benchmarks/TSVC/Recurrences-flt/Makefile @@ -2,7 +2,7 @@ PROG = Recurrences-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 20000 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Reductions-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Reductions-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Reductions-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Reductions-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 1670 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Reductions-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 1670 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/Reductions-dbl/Makefile @@ -2,7 +2,7 @@ PROG = Reductions-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 1670 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Reductions-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Reductions-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Reductions-flt/CMakeLists.txt @@ -1,5 +1,10 @@ -set(PROG Reductions-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 1670 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Reductions-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 1670 5) + set(FP_ABSTOLERANCE 1e-43) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile +++ MultiSource/Benchmarks/TSVC/Reductions-flt/Makefile @@ -2,7 +2,8 @@ PROG = Reductions-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 1670 5 +FP_ABSTOLERANCE:=1e-43 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/StatementReordering-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/StatementReordering-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/StatementReordering-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG StatementReordering-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 20000 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG StatementReordering-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 20000 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile +++ MultiSource/Benchmarks/TSVC/StatementReordering-flt/Makefile @@ -2,7 +2,7 @@ PROG = StatementReordering-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 20000 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Symbolics-dbl/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Symbolics-dbl/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Symbolics-dbl/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Symbolics-dbl) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 9090 14) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Symbolics-dbl) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 9090 14) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile +++ MultiSource/Benchmarks/TSVC/Symbolics-dbl/Makefile @@ -2,7 +2,7 @@ PROG = Symbolics-dbl LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 9090 14 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/TSVC/Symbolics-flt/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/TSVC/Symbolics-flt/CMakeLists.txt +++ MultiSource/Benchmarks/TSVC/Symbolics-flt/CMakeLists.txt @@ -1,5 +1,9 @@ -set(PROG Symbolics-flt) -list(APPEND LDFLAGS -lm) -list(APPEND CFLAGS -std=gnu99) -set(RUN_OPTIONS 9090 5) -llvm_multisource() +if(FAST_MATH_DETECTED STREQUAL "") + + set(PROG Symbolics-flt) + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -std=gnu99 -ffp-contract=off) + set(RUN_OPTIONS 9090 5) + llvm_multisource() + +endif() Index: MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile =================================================================== --- MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile +++ MultiSource/Benchmarks/TSVC/Symbolics-flt/Makefile @@ -2,7 +2,7 @@ PROG = Symbolics-flt LDFLAGS = -lm -CFLAGS += -std=gnu99 +CFLAGS += -std=gnu99 -ffp-contract=off -fno-fast-math RUN_OPTIONS = 9090 5 include $(LEVEL)/MultiSource/Makefile.multisrc Index: MultiSource/Benchmarks/VersaBench/beamformer/CMakeLists.txt =================================================================== --- MultiSource/Benchmarks/VersaBench/beamformer/CMakeLists.txt +++ MultiSource/Benchmarks/VersaBench/beamformer/CMakeLists.txt @@ -1,13 +1,19 @@ -list(APPEND LDFLAGS -lm) -set(PROG beamformer) -if(DEFINED LARGE_PROBLEM_SIZE) - set(RUN_OPTIONS -i 400) -else() - if(DEFINED SMALL_PROBLEM_SIZE) - set(RUN_OPTIONS -i 25) +if(FAST_MATH_DETECTED STREQUAL "") + + list(APPEND LDFLAGS -lm) + list(APPEND CFLAGS -ffp-contract=off) + list(APPEND CXXFLAGS -ffp-contract=off) + set(PROG beamformer) + if(DEFINED LARGE_PROBLEM_SIZE) + set(RUN_OPTIONS -i 400) else() - set(RUN_OPTIONS -i 140) + if(DEFINED SMALL_PROBLEM_SIZE) + set(RUN_OPTIONS -i 25) + else() + set(RUN_OPTIONS -i 140) + endif() endif() + set(HASH_PROGRAM_OUTPUT 1) + llvm_multisource() + endif() -set(HASH_PROGRAM_OUTPUT 1) -llvm_multisource() Index: MultiSource/Benchmarks/VersaBench/beamformer/Makefile =================================================================== --- MultiSource/Benchmarks/VersaBench/beamformer/Makefile +++ MultiSource/Benchmarks/VersaBench/beamformer/Makefile @@ -1,6 +1,8 @@ LEVEL = ../../../.. LDFLAGS += -lm +CFLAGS += -ffp-contract=off -fno-fast-math + PROG = beamformer ifdef LARGE_PROBLEM_SIZE RUN_OPTIONS = -i 400 Index: SingleSource/Benchmarks/Linpack/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Linpack/CMakeLists.txt +++ SingleSource/Benchmarks/Linpack/CMakeLists.txt @@ -1,3 +1,9 @@ -list(APPEND LDFLAGS -lm) -set(FP_TOLERANCE 0.0001) -llvm_singlesource() +if(FAST_MATH_DETECTED STREQUAL "") + + list(APPEND LDFLAGS -lm) + set(FP_TOLERANCE 0.0001) + list(APPEND CFLAGS -ffp-contract=off) + list(APPEND CXXFLAGS -ffp-contract=off) + llvm_singlesource() + +endif() Index: SingleSource/Benchmarks/Linpack/Makefile =================================================================== --- SingleSource/Benchmarks/Linpack/Makefile +++ SingleSource/Benchmarks/Linpack/Makefile @@ -1,6 +1,8 @@ LEVEL = ../../.. LDFLAGS += -lm +CFLAGS += -ffp-contract=off -fno-fast-math + FP_TOLERANCE := 0.0001 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt +++ SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt @@ -1,9 +1,14 @@ -list(APPEND LDFLAGS -lm -lstdc++) -set(FP_ABSTOLERANCE 0.01) -set(HASH_PROGRAM_OUTPUT 1) -if(ARCH STREQUAL "XCore") - if(NOT DEFINED SMALL_PROBLEM_SIZE) - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + list(APPEND LDFLAGS -lm -lstdc++) + set(FP_ABSTOLERANCE 0.01) + set(HASH_PROGRAM_OUTPUT 1) + if(ARCH STREQUAL "XCore") + if(NOT DEFINED SMALL_PROBLEM_SIZE) + set(RUNTIMELIMIT 7200) + endif() endif() + list(APPEND CFLAGS -ffp-contract=off) + llvm_singlesource() + endif() -llvm_singlesource() Index: SingleSource/Benchmarks/Misc-C++/Large/Makefile =================================================================== --- SingleSource/Benchmarks/Misc-C++/Large/Makefile +++ SingleSource/Benchmarks/Misc-C++/Large/Makefile @@ -11,4 +11,6 @@ endif endif +CFLAGS += -ffp-contract=off -fno-fast-math + include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt @@ -1,6 +1,8 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG correlation) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/Benchmarks/Polybench/datamining/correlation/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/datamining/correlation/Makefile +++ SingleSource/Benchmarks/Polybench/datamining/correlation/Makefile @@ -4,6 +4,8 @@ PROG = correlation CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + ifdef SMALL_PROBLEM_SIZE CFLAGS += -DSMALL_DATASET endif Index: SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt @@ -1,6 +1,8 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG covariance) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/Benchmarks/Polybench/datamining/covariance/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/datamining/covariance/Makefile +++ SingleSource/Benchmarks/Polybench/datamining/covariance/Makefile @@ -5,6 +5,8 @@ PROG = covariance CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + ifdef SMALL_PROBLEM_SIZE CFLAGS += -DSMALL_DATASET endif Index: SingleSource/Benchmarks/Polybench/linear-algebra/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/CMakeLists.txt @@ -1 +1,3 @@ llvm_add_subdirectories(kernels solvers) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) Index: SingleSource/Benchmarks/Polybench/linear-algebra/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/Makefile @@ -4,6 +4,8 @@ LEVEL = ../../../.. PARALLEL_DIRS = kernels solvers +CFLAGS += -ffp-contract=off -fno-fast-math + include $(LEVEL)/Makefile.config include $(LEVEL)/Makefile.programs Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG 2mm) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/Makefile @@ -12,6 +12,8 @@ endif endif +CFLAGS += -ffp-contract=off -fno-fast-math + ifeq ($(ARCH),Mips) RUNTIMELIMIT := 2000 else ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt @@ -1,5 +1,7 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG 3mm) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/Makefile @@ -12,6 +12,8 @@ endif endif +CFLAGS += -ffp-contract=off -fno-fast-math + ifeq ($(ARCH),Mips) RUNTIMELIMIT := 2000 else ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG atax) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/Makefile @@ -4,6 +4,8 @@ PROG = atax CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG bicg) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/Makefile @@ -4,6 +4,8 @@ PROG = bicg CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG cholesky) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/Makefile @@ -8,6 +8,8 @@ CFLAGS += -DSMALL_DATASET endif +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG gemver) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/Makefile @@ -4,6 +4,8 @@ PROG = gemver CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG gesummv) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/Makefile @@ -12,6 +12,8 @@ endif endif +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG mvt) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/Makefile @@ -4,6 +4,8 @@ PROG = mvt CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG symm) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(ARCH STREQUAL "Mips") Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/Makefile @@ -13,6 +13,8 @@ CFLAGS += -DSMALL_DATASET endif +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG trisolv) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/Makefile @@ -4,6 +4,8 @@ PROG = trisolv CFLAGS += -I $(PROJ_SRC_ROOT)/$(POLYBENCH_UTILS) -DPOLYBENCH_DUMP_ARRAYS -DFP_ABSTOLERANCE=1e-5 +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 ifeq ($(ARCH),XCore) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG trmm) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) Index: SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/Makefile @@ -8,6 +8,8 @@ CFLAGS += -DSMALL_DATASET endif +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/linear-algebra/solvers/dynprog/dynprog.reference_output.AArch64 =================================================================== --- /dev/null +++ SingleSource/Benchmarks/Polybench/linear-algebra/solvers/dynprog/dynprog.reference_output.AArch64 @@ -0,0 +1 @@ +6c4a4a05200a9e54acbed9a97440ca22 Index: SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt @@ -1,4 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) +list(APPEND CFLAGS -ffp-contract=off) +list(APPEND CXXFLAGS -ffp-contract=off) set(PROG gramschmidt) list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) if(DEFINED SMALL_PROBLEM_SIZE) Index: SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/Makefile +++ SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/Makefile @@ -8,6 +8,8 @@ CFLAGS += -DSMALL_DATASET endif +CFLAGS += -ffp-contract=off -fno-fast-math + HASH_PROGRAM_OUTPUT = 1 include $(LEVEL)/SingleSource/Makefile.singlesrc Index: SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt @@ -1,9 +1,15 @@ -set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) -set(PROG adi) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) -if(DEFINED SMALL_PROBLEM_SIZE) - list(APPEND CFLAGS -DSMALL_DATASET) +if(FAST_MATH_DETECTED STREQUAL "") + if(FPCONTRACTION_OR_FASTMATH_OR_BOTH_IN_EFFECT STREQUAL "no" OR FPCONTRACTION_OR_FASTMATH_OR_BOTH_IN_EFFECT STREQUAL "No" OR FPCONTRACTION_OR_FASTMATH_OR_BOTH_IN_EFFECT STREQUAL "NO" OR NOT DEFINED FPCONTRACTION_OR_FASTMATH_OR_BOTH_IN_EFFECT) + + set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) + set(PROG adi) + list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) + if(DEFINED SMALL_PROBLEM_SIZE) + list(APPEND CFLAGS -DSMALL_DATASET) + endif() + set(HASH_PROGRAM_OUTPUT 1) + add_definitions(-DFP_ABSTOLERANCE=1e-5) + llvm_singlesource() + + endif() endif() -set(HASH_PROGRAM_OUTPUT 1) -add_definitions(-DFP_ABSTOLERANCE=1e-5) -llvm_singlesource() Index: SingleSource/Benchmarks/Polybench/stencils/adi/Makefile =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/adi/Makefile +++ SingleSource/Benchmarks/Polybench/stencils/adi/Makefile @@ -1,3 +1,7 @@ +ifeq "" "$(shell echo $(CC) $(CXX) $(CFLAGS) $(CXXFLAGS) | grep -E '(-Ofast|-ffast-math)')" + + + LEVEL = ../../../../.. POLYBENCH_UTILS = SingleSource/Benchmarks/Polybench/utilities @@ -12,3 +16,6 @@ include $(LEVEL)/SingleSource/Makefile.singlesrc + + +endif Index: SingleSource/Benchmarks/Polybench/stencils/fdtd-2d/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/fdtd-2d/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/fdtd-2d/CMakeLists.txt @@ -1,6 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG fdtd-2d) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/Benchmarks/Polybench/stencils/fdtd-apml/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/fdtd-apml/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/fdtd-apml/CMakeLists.txt @@ -1,6 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG fdtd-apml) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/Benchmarks/Polybench/stencils/jacobi-1d-imper/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/jacobi-1d-imper/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/jacobi-1d-imper/CMakeLists.txt @@ -1,6 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG jacobi-1d-imper) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS -ffp-contract=off) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) llvm_singlesource() Index: SingleSource/Benchmarks/Polybench/stencils/jacobi-2d-imper/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/jacobi-2d-imper/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/jacobi-2d-imper/CMakeLists.txt @@ -1,6 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG jacobi-2d-imper) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/Benchmarks/Polybench/stencils/seidel-2d/CMakeLists.txt =================================================================== --- SingleSource/Benchmarks/Polybench/stencils/seidel-2d/CMakeLists.txt +++ SingleSource/Benchmarks/Polybench/stencils/seidel-2d/CMakeLists.txt @@ -1,6 +1,6 @@ set(POLYBENCH_UTILS SingleSource/Benchmarks/Polybench/utilities ) set(PROG seidel-2d) -list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) +list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS -ffp-contract=off) if(DEFINED SMALL_PROBLEM_SIZE) list(APPEND CFLAGS -DSMALL_DATASET) endif() Index: SingleSource/UnitTests/Vector/CMakeLists.txt =================================================================== --- SingleSource/UnitTests/Vector/CMakeLists.txt +++ SingleSource/UnitTests/Vector/CMakeLists.txt @@ -1,21 +1,26 @@ -if(ARCH STREQUAL "PowerPC") - llvm_add_subdirectories(Altivec) -endif() -if(ARCH STREQUAL "x86") - llvm_add_subdirectories(SSE) -endif() -if(NOT "${CC_UNDER_TEST_TARGET_IS_THUMBV7}" STREQUAL "") - llvm_add_subdirectories(NEON) -endif() -if(ARCH STREQUAL "AArch64") - llvm_add_subdirectories(NEON AArch64) -endif() -if(NOT DEFINED CC_UNDER_TEST_IS_CLANG) - set(PROGRAMS_TO_SKIP constpool) -endif() -if(ARCH STREQUAL "XCore") - if(NOT DEFINED SMALL_PROBLEM_SIZE) - set(RUNTIMELIMIT 7200) +if(FAST_MATH_DETECTED STREQUAL "") + + if(ARCH STREQUAL "PowerPC") + llvm_add_subdirectories(Altivec) + endif() + if(ARCH STREQUAL "x86") + llvm_add_subdirectories(SSE) + endif() + if(NOT "${CC_UNDER_TEST_TARGET_IS_THUMBV7}" STREQUAL "") + llvm_add_subdirectories(NEON) + endif() + if(ARCH STREQUAL "AArch64") + llvm_add_subdirectories(NEON AArch64) + endif() + if(NOT DEFINED CC_UNDER_TEST_IS_CLANG) + set(PROGRAMS_TO_SKIP constpool) + endif() + if(ARCH STREQUAL "XCore") + if(NOT DEFINED SMALL_PROBLEM_SIZE) + set(RUNTIMELIMIT 7200) + endif() endif() + list(APPEND CFLAGS -ffp-contract=off) + llvm_singlesource(PREFIX "Vector") + endif() -llvm_singlesource(PREFIX "Vector") Index: SingleSource/UnitTests/Vector/Makefile =================================================================== --- SingleSource/UnitTests/Vector/Makefile +++ SingleSource/UnitTests/Vector/Makefile @@ -37,6 +37,8 @@ endif endif +CFLAGS += -ffp-contract=off -fno-fast-math + include $(LEVEL)/SingleSource/Makefile.singlesrc Index: cmake/modules/SingleMultiSource.cmake =================================================================== --- cmake/modules/SingleMultiSource.cmake +++ cmake/modules/SingleMultiSource.cmake @@ -100,16 +100,26 @@ set(KEY) endif() - # Pick the best reference output based on "programname.reference_output". if(NOT DEFINED NO_REFERENCE_OUTPUT) - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian.${KEY}) - set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian.${KEY}) - elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${KEY}) - set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${KEY}) - elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian) - set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian) - elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output) - set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output) + set(REF_OUTPUT_CANDIDATE_FILENAME_1 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ARCH}.${KEY}) + set(REF_OUTPUT_CANDIDATE_FILENAME_2 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ARCH}) + set(REF_OUTPUT_CANDIDATE_FILENAME_3 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian.${KEY}) + set(REF_OUTPUT_CANDIDATE_FILENAME_4 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${KEY}) + set(REF_OUTPUT_CANDIDATE_FILENAME_5 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output.${ENDIAN}-endian) + set(REF_OUTPUT_CANDIDATE_FILENAME_6 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.reference_output) + + if( EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_1}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_1}) + elseif(EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_2}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_2}) + elseif(EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_3}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_3}) + elseif(EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_4}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_4}) + elseif(EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_5}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_5}) + elseif(EXISTS ${REF_OUTPUT_CANDIDATE_FILENAME_6}) + set(REFERENCE_OUTPUT ${REF_OUTPUT_CANDIDATE_FILENAME_6}) else() message("-- No reference output found for test ${name}") endif()