| // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx1250 -fcuda-is-device -emit-llvm -x hip -o - %s | FileCheck %s | |
| // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -aux-triple amdgcn-amd-amdhsa -emit-llvm -x hip -o - %s | FileCheck --check-prefix=HOST %s | |
| #include "Inputs/cuda.h" | |
| const int constint = 4; | |
| // HOST-NOT: "amdgpu-cluster-dims" | |
| // CHECK: "amdgpu-cluster-dims"="2,2,2" | |
| __global__ void __cluster_dims__(2, 2, 2) test_literal_3d() {} | |
| // CHECK: "amdgpu-cluster-dims"="2,2,1" | |
| __global__ void __cluster_dims__(2, 2) test_literal_2d() {} | |
| // CHECK: "amdgpu-cluster-dims"="4,1,1" | |
| __global__ void __cluster_dims__(4) test_literal_1d() {} | |
| // CHECK: "amdgpu-cluster-dims"="4,2,1" | |
| __global__ void __cluster_dims__(constint, constint / 2, 1) test_constant() {} | |
| // CHECK: "amdgpu-cluster-dims"="0,0,0" | |
| __global__ void __no_cluster__ test_no_cluster() {} | |
| // CHECK: "amdgpu-cluster-dims"="7,1,1" | |
| template<unsigned a> | |
| __global__ void __cluster_dims__(a) test_template_1d() {} | |
| template __global__ void test_template_1d<7>(); | |
| // CHECK: "amdgpu-cluster-dims"="2,6,1" | |
| template<unsigned a, unsigned b> | |
| __global__ void __cluster_dims__(a, b) test_template_2d() {} | |
| template __global__ void test_template_2d<2, 6>(); | |
| // CHECK: "amdgpu-cluster-dims"="1,2,3" | |
| template<unsigned a, unsigned b, unsigned c> | |
| __global__ void __cluster_dims__(a, b, c) test_template_3d() {} | |
| template __global__ void test_template_3d<1, 2, 3>(); |