text: // UNSUPPORTED: cpu
  // #2252 Disable until all variants of built-ins are available in OpenCL CPU
  // runtime for every supported ISA
  
  // UNSUPPORTED: cuda
  
  // RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
  // RUN: %HOST_RUN_PLACEHOLDER %t.out
  // RUN: %CPU_RUN_PLACEHOLDER %t.out
  // RUN: %GPU_RUN_PLACEHOLDER %t.out
  // RUN: %ACC_RUN_PLACEHOLDER %t.out
  
  // This test verifies the correct work of SPIR-V 1.3 reduce algorithm
  // used with the operation MUL, bitwise OR, XOR, AND.
  
  #include "reduce.hpp"
  
  int main() {
    queue Queue;
    if (!core_sg_supported(Queue.get_device())) {
      std::cout << "Skipping test\n";
      return 0;
    }
  
    check_mul<class MulA, int>(Queue);
    check_mul<class MulB, unsigned int>(Queue);
    check_mul<class MulC, long>(Queue);
    check_mul<class MulD, unsigned long>(Queue);
    check_mul<class MulE, float>(Queue);
  
    check_bit_ops<class A, int>(Queue);
    check_bit_ops<class B, unsigned int>(Queue);
    check_bit_ops<class C, unsigned>(Queue);
    check_bit_ops<class D, long>(Queue);
    check_bit_ops<class E, unsigned long>(Queue);
    check_bit_ops<class F, long long>(Queue);
    check_bit_ops<class G, unsigned long long>(Queue);
    return 0;
  }
  