diff --git a/Tests/RunCMake/Tutorial/Inspect.cmake b/Tests/RunCMake/Tutorial/Inspect.cmake index 3d1f0aaca2..4455cdb13b 100644 --- a/Tests/RunCMake/Tutorial/Inspect.cmake +++ b/Tests/RunCMake/Tutorial/Inspect.cmake @@ -1,8 +1,13 @@ -try_compile(out - SOURCES ${CMAKE_CURRENT_LIST_DIR}/inspect.cpp +try_compile(out_cxx20 + SOURCES ${CMAKE_CURRENT_LIST_DIR}/inspect_cxx20.cpp CXX_STANDARD 20 ) +try_compile(out_sse2 + SOURCES ${CMAKE_CURRENT_LIST_DIR}/inspect_sse2.cpp +) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/info.cmake" - "set(can_build_cxx20_tutorial ${out})" + "set(can_build_cxx20_tutorial ${out_cxx20})\n" + "set(can_build_sse2_tutorial ${out_sse2})\n" ) diff --git a/Tests/RunCMake/Tutorial/RunCMakeTest.cmake b/Tests/RunCMake/Tutorial/RunCMakeTest.cmake index fbd8b96f56..72e7ed2b4e 100644 --- a/Tests/RunCMake/Tutorial/RunCMakeTest.cmake +++ b/Tests/RunCMake/Tutorial/RunCMakeTest.cmake @@ -58,7 +58,15 @@ if(NOT can_build_cxx20_tutorial) return() endif() -foreach(num RANGE 4 9) +foreach(num RANGE 4 6) + run_tutorial_step(Step${num}) +endforeach() + +if(NOT can_build_sse2_tutorial) + return() +endif() + +foreach(num RANGE 7 9) run_tutorial_step(Step${num}) endforeach() diff --git a/Tests/RunCMake/Tutorial/inspect.cpp b/Tests/RunCMake/Tutorial/inspect_cxx20.cpp similarity index 100% rename from Tests/RunCMake/Tutorial/inspect.cpp rename to Tests/RunCMake/Tutorial/inspect_cxx20.cpp diff --git a/Tests/RunCMake/Tutorial/inspect_sse2.cpp b/Tests/RunCMake/Tutorial/inspect_sse2.cpp new file mode 100644 index 0000000000..dcc781b1d0 --- /dev/null +++ b/Tests/RunCMake/Tutorial/inspect_sse2.cpp @@ -0,0 +1,14 @@ +#if __has_include() +# include + +double inspect(double x) +{ + __m128d root = _mm_sqrt_sd(_mm_setzero_pd(), _mm_set_sd(x)); + return _mm_cvtsd_f64(root); +} +#endif + +int main() +{ + return 0; +}