From 664b1ccf8d3738c94fcb84472d55f771c5242109 Mon Sep 17 00:00:00 2001 From: Grzegorz Wawiorko <35483345+gwawiork@users.noreply.github.com> Date: Mon, 17 Jun 2019 13:59:44 +0200 Subject: [PATCH] cl21: Enable compilation of spir 1.2 tests (#304) * Enable compilation of spir 1.2 tests * Files to copy as a list of files. --- test_conformance/CMakeLists.txt | 1 + test_conformance/spir/CMakeLists.txt | 107 +++++++++++++++++---------- 2 files changed, 70 insertions(+), 38 deletions(-) diff --git a/test_conformance/CMakeLists.txt b/test_conformance/CMakeLists.txt index 6922254d..e2a147f6 100644 --- a/test_conformance/CMakeLists.txt +++ b/test_conformance/CMakeLists.txt @@ -51,6 +51,7 @@ add_subdirectory( workgroups ) add_subdirectory( pipes ) add_subdirectory( device_timer ) add_subdirectory( spirv_new ) +add_subdirectory( spir ) install_files( opencl_conformance_tests_conversions.csv diff --git a/test_conformance/spir/CMakeLists.txt b/test_conformance/spir/CMakeLists.txt index 819fadf9..c794cd2d 100644 --- a/test_conformance/spir/CMakeLists.txt +++ b/test_conformance/spir/CMakeLists.txt @@ -1,49 +1,80 @@ -function (install_spir_artifacts suite_name) - install(FILES "${suite_name}.zip" DESTINATION ${CLConf_OUT_DIR}/spir) -endfunction() - -include_directories(${CLConf_SRC_DIR}/test_common) - # Import function list from math_brute_force add_definitions(-DFUNCTION_LIST_ULPS_ONLY) -clconf_add_executable( - test_spir +set(SPIR_OUT ${CONFORMANCE_PREFIX}spir${CONFORMANCE_SUFFIX}) + +set (SPIR_SOURCES main.cpp datagen.cpp run_build_test.cpp run_services.cpp kernelargs.cpp - ../math_brute_force/FunctionList.c) + ../../test_common/harness/parseParameters.cpp + ../math_brute_force/FunctionList.c + ../../test_common/harness/errorHelpers.c + ../../test_common/harness/kernelHelpers.c + ../../test_common/harness/mt19937.c + ../../test_common/harness/msvc9.c + ../../test_common/harness/os_helpers.cpp + ../../test_common/harness/testHarness.c + ../../test_common/miniz/miniz.c + ../../test_common/harness/crc32.c) -target_link_libraries( - test_spir${CLConf_SUFFIX} - miniz${CLConf_SUFFIX} +add_executable(${SPIR_OUT} + ${SPIR_SOURCES}) + +if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" AND NOT MSVC) +set_source_files_properties( + COMPILE_FLAGS -msse2) +endif() + +if(UNIX) + set_target_properties(${SPIR_OUT} PROPERTIES + COMPILE_FLAGS "-fexceptions -frtti") +elseif(MSVC) + set_target_properties(${SPIR_OUT} PROPERTIES + COMPILE_FLAGS "/GR /EHs /EHc") +endif() + +TARGET_LINK_LIBRARIES(${SPIR_OUT} + ${CLConform_LIBRARIES}) + + +set_source_files_properties(${SPIR_SOURCES} PROPERTIES LANGUAGE CXX) + +# Need to copy the spir zips to sit beside the executable + +set(SPIR_FILES + "khr.csv" + "api.zip" + "atomics.zip" + "basic.zip" + "compile_and_link.zip" + "commonfns.zip" + "conversions.zip" + "geometrics.zip" + "enum_values.zip" + "half.zip" + "kernel_attributes.zip" + "kernel_image_methods.zip" + "images_kernel_read_write.zip" + "images_samplerlessRead.zip" + "integer_ops.zip" + "math_brute_force.zip" + "printf.zip" + "profiling.zip" + "relationals.zip" + "select.zip" + "sampler_enumeration.zip" + "vec_align.zip" + "vec_step.zip" + "binary_type.zip") + +foreach(input_file ${SPIR_FILES}) + add_custom_command( + TARGET ${SPIR_OUT} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${input_file}" "$/" ) +endforeach(input_file) -install_spir_artifacts(api) -install_spir_artifacts(atomics) -install_spir_artifacts(basic) -install_spir_artifacts(compile_and_link) -install_spir_artifacts(commonfns) -install_spir_artifacts(conversions) -install_spir_artifacts(geometrics) -install_spir_artifacts(enum_values) -install_spir_artifacts(half) -install_spir_artifacts(kernel_attributes) -install_spir_artifacts(kernel_image_methods) -install_spir_artifacts(images_kernel_read_write) -install_spir_artifacts(images_samplerlessRead) -install_spir_artifacts(integer_ops) -install_spir_artifacts(math_brute_force) -install_spir_artifacts(printf) -install_spir_artifacts(profiling) -install_spir_artifacts(relationals) -install_spir_artifacts(select) -install_spir_artifacts(sampler_enumeration) -install_spir_artifacts(vec_align) -install_spir_artifacts(vec_step) -install_spir_artifacts(binary_type) -install(FILES "khr.csv" DESTINATION ${CLConf_OUT_DIR}/spir) -#Add any other runtime directories you need here. -# end of file #