diff --git a/MicroBenchmarks/ImageProcessing/BilateralFiltering/CMakeLists.txt b/MicroBenchmarks/ImageProcessing/BilateralFiltering/CMakeLists.txt --- a/MicroBenchmarks/ImageProcessing/BilateralFiltering/CMakeLists.txt +++ b/MicroBenchmarks/ImageProcessing/BilateralFiltering/CMakeLists.txt @@ -3,8 +3,8 @@ list(APPEND LDFLAGS -lm) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_test_verify_hash_program_output(bilateralFilterOutput.txt) llvm_test_verify(WORKDIR ${CMAKE_CURRENT_BINARY_DIR} diff --git a/MicroBenchmarks/ImageProcessing/Blur/CMakeLists.txt b/MicroBenchmarks/ImageProcessing/Blur/CMakeLists.txt --- a/MicroBenchmarks/ImageProcessing/Blur/CMakeLists.txt +++ b/MicroBenchmarks/ImageProcessing/Blur/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND LDFLAGS -lm) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_test_verify_hash_program_output(boxBlurOutput.txt) llvm_test_verify(WORKDIR ${CMAKE_CURRENT_BINARY_DIR} diff --git a/MultiSource/Applications/oggenc/CMakeLists.txt b/MultiSource/Applications/oggenc/CMakeLists.txt --- a/MultiSource/Applications/oggenc/CMakeLists.txt +++ b/MultiSource/Applications/oggenc/CMakeLists.txt @@ -1,7 +1,7 @@ list(APPEND CFLAGS -fno-strict-aliasing) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) list(APPEND LDFLAGS -lm) set(RUN_OPTIONS -Q -s 901820 - < tune) diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeLists.txt --- a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeLists.txt @@ -1,6 +1,6 @@ set(RUN_OPTIONS -n 64 -t 1000) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_multisource(CLAMR) diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/CMakeLists.txt --- a/MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/CMakeLists.txt @@ -1,7 +1,7 @@ list(APPEND CXXFLAGS -DREDSTORM) # -DREDSTORM for mkdir # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) list(APPEND LDFLAGS -lm) set(RUN_OPTIONS 50 50 50) diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt --- a/MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt @@ -7,8 +7,8 @@ list(APPEND CXXFLAGS -D_XOPEN_SOURCE=700 -DUseTimes) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) list(APPEND LDFLAGS -lm) set(RUN_OPTIONS -nx 64 -ny 64 -nz 64) diff --git a/MultiSource/Benchmarks/Rodinia/srad/CMakeLists.txt b/MultiSource/Benchmarks/Rodinia/srad/CMakeLists.txt --- a/MultiSource/Benchmarks/Rodinia/srad/CMakeLists.txt +++ b/MultiSource/Benchmarks/Rodinia/srad/CMakeLists.txt @@ -2,8 +2,8 @@ set(FP_ABSTOLERANCE 0.00001) list(APPEND CFLAGS -I${CMAKE_CURRENT_SOURCE_DIR}/../Common) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_multisource(srad main.c diff --git a/SingleSource/Benchmarks/Linpack/CMakeLists.txt b/SingleSource/Benchmarks/Linpack/CMakeLists.txt --- a/SingleSource/Benchmarks/Linpack/CMakeLists.txt +++ b/SingleSource/Benchmarks/Linpack/CMakeLists.txt @@ -1,7 +1,7 @@ list(APPEND LDFLAGS -lm) set(FP_TOLERANCE 0.0001) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt b/SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt --- a/SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt +++ b/SingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt @@ -2,7 +2,7 @@ set(FP_ABSTOLERANCE 0.01) set(HASH_PROGRAM_OUTPUT 1) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt @@ -6,6 +6,6 @@ set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt @@ -6,6 +6,6 @@ set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt @@ -3,7 +3,7 @@ set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt @@ -3,7 +3,7 @@ set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt @@ -3,7 +3,7 @@ set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt @@ -2,8 +2,8 @@ list(APPEND CFLAGS -I ${CMAKE_SOURCE_DIR}/${POLYBENCH_UTILS} -DPOLYBENCH_DUMP_ARRAYS) set(HASH_PROGRAM_OUTPUT 1) # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) add_definitions(-DFP_ABSTOLERANCE=1e-5) llvm_singlesource() diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt b/SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt --- a/SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt +++ b/SingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt @@ -4,8 +4,8 @@ list(APPEND CFLAGS -DSMALL_DATASET) endif() # Floating point contraction must be suppressed due to accuracy issues -list(APPEND CXXFLAGS -ffp-contract=off -DFMA_DISABLED=1) -list(APPEND CFLAGS -ffp-contract=off -DFMA_DISABLED=1) +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) set(HASH_PROGRAM_OUTPUT 1) add_definitions(-DFP_ABSTOLERANCE=1e-5) diff --git a/SingleSource/UnitTests/Vector/SSE/CMakeLists.txt b/SingleSource/UnitTests/Vector/SSE/CMakeLists.txt --- a/SingleSource/UnitTests/Vector/SSE/CMakeLists.txt +++ b/SingleSource/UnitTests/Vector/SSE/CMakeLists.txt @@ -2,4 +2,7 @@ list(APPEND LDFLAGS -lm) list(APPEND TARGET_FLAGS -msse2) list(APPEND LCCFLAGS -msse2) +# Floating point contraction must be suppressed due to accuracy issues +list(APPEND CXXFLAGS -ffp-contract=fast -DFMA_DISABLED=1) +list(APPEND CFLAGS -ffp-contract=fast -DFMA_DISABLED=1) llvm_singlesource(PREFIX "Vector-")