diff --git a/SYCL/Regression/half_operators.cpp b/SYCL/Regression/half_operators.cpp index 61004f8b3c..c37a1e4eeb 100644 --- a/SYCL/Regression/half_operators.cpp +++ b/SYCL/Regression/half_operators.cpp @@ -1,4 +1,4 @@ -// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -fsycl-unnamed-lambda %s -o %t.out +// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -fsycl-device-code-split=per_kernel -fsycl-unnamed-lambda %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out // REQUIRES: gpu #include @@ -26,9 +26,7 @@ template bool are_bitwise_equal(T lhs, T rhs) { return result; } -template bool test() { - sycl::queue queue{}; - +template bool test(sycl::queue &queue) { constexpr int NumElems{32}; bool pass{true}; @@ -69,8 +67,10 @@ template bool test() { } int main(int argc, char **argv) { + sycl::queue queue{}; bool passed = true; - passed &= test(); - passed &= test(); + passed &= test(queue); + if (queue.get_device().has(sycl::aspect::fp16)) + passed &= test(queue); return passed ? 0 : 1; }