[test-suite] SPEC2017 CPU Bwaves floating point tests.

Add SPEC2017 CPU Bwaves floating point rate and speed tests.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D95173
diff --git a/External/SPEC/CFP2017rate/503.bwaves_r/CMakeLists.txt b/External/SPEC/CFP2017rate/503.bwaves_r/CMakeLists.txt
new file mode 100644
index 0000000..5d75132
--- /dev/null
+++ b/External/SPEC/CFP2017rate/503.bwaves_r/CMakeLists.txt
@@ -0,0 +1,67 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/503.bwaves_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  < "${INPUT_test_DIR}/bwaves_1.in"
+  STDOUT bwaves_1.out
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  < "${INPUT_test_DIR}/bwaves_2.in"
+  STDOUT bwaves_2.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  < "${INPUT_train_DIR}/bwaves_1.in"
+  STDOUT bwaves_1.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  < "${INPUT_train_DIR}/bwaves_2.in"
+  STDOUT bwaves_2.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  < "${INPUT_ref_DIR}/bwaves_1.in"
+  STDOUT bwaves_1.out
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  < "${INPUT_ref_DIR}/bwaves_2.in"
+  STDOUT bwaves_2.out
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  < "${INPUT_ref_DIR}/bwaves_3.in"
+  STDOUT bwaves_3.out
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  < "${INPUT_ref_DIR}/bwaves_4.in"
+  STDOUT bwaves_4.out
+  RUN_TYPE ref
+)
+
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable()
diff --git a/External/SPEC/CFP2017rate/CMakeLists.txt b/External/SPEC/CFP2017rate/CMakeLists.txt
index c4c9e23..2c8d03f 100644
--- a/External/SPEC/CFP2017rate/CMakeLists.txt
+++ b/External/SPEC/CFP2017rate/CMakeLists.txt
@@ -1,5 +1,7 @@
-#add_subdirectory(503.bwaves_r)    # Fortran
-#add_subdirectory(507.cactuBSSN_r) # C++, C, Fortran
+if (TEST_SUITE_FORTRAN)
+  add_subdirectory(503.bwaves_r)    # Fortran
+  #add_subdirectory(507.cactuBSSN_r) # C++, C, Fortran
+endif ()
 add_subdirectory(508.namd_r)       # C++
 add_subdirectory(510.parest_r)     # C++
 add_subdirectory(511.povray_r)     # C++, C
diff --git a/External/SPEC/CFP2017speed/603.bwaves_s/CMakeLists.txt b/External/SPEC/CFP2017speed/603.bwaves_s/CMakeLists.txt
new file mode 100644
index 0000000..6df22d5
--- /dev/null
+++ b/External/SPEC/CFP2017speed/603.bwaves_s/CMakeLists.txt
@@ -0,0 +1,9 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/603.bwaves_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 503.bwaves_r)
+
+speccpu2017_inherit(../../CFP2017rate/503.bwaves_r)
diff --git a/External/SPEC/CFP2017speed/CMakeLists.txt b/External/SPEC/CFP2017speed/CMakeLists.txt
index edb5465..1ec226b 100644
--- a/External/SPEC/CFP2017speed/CMakeLists.txt
+++ b/External/SPEC/CFP2017speed/CMakeLists.txt
@@ -1,5 +1,7 @@
-#add_subdirectory(603.bwaves_s)    # Fortran
-#add_subdirectory(607.cactuBSSN_s) # C++, C, Fortran
+if (TEST_SUITE_FORTRAN)
+  add_subdirectory(603.bwaves_s)    # Fortran
+  #add_subdirectory(607.cactuBSSN_s) # C++, C, Fortran
+endif ()
 add_subdirectory(619.lbm_s)        # C
 #add_subdirectory(621.wrf_s)       # Fortran, C
 #add_subdirectory(627.cam4_s)      # Fortran, C