1// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -mattr=-code-object-v3 %s | FileCheck --check-prefixes=GCN,GFX7 %s
2// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-code-object-v3,+WavefrontSize32,-WavefrontSize64 %s | FileCheck --check-prefixes=GCN,GFX10-W32 %s
3// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-code-object-v3,-WavefrontSize32,+WavefrontSize64 %s | FileCheck --check-prefixes=GCN,GFX10-W64 %s
4
5// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -mattr=-code-object-v3 %s 2>&1 | FileCheck --check-prefixes=GCN-ERR,GFX7-ERR %s
6// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-code-object-v3,+WavefrontSize32,-WavefrontSize64 %s 2>&1 | FileCheck --check-prefixes=GCN-ERR,GFX10-W32-ERR %s
7// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-code-object-v3,-WavefrontSize32,+WavefrontSize64 %s 2>&1 | FileCheck --check-prefixes=GCN-ERR,GFX10-W64-ERR %s
8
9// GCN: test0:
10// GFX7: enable_wavefront_size32 = 0
11// GFX7: wavefront_size = 6
12// GFX10-W32: enable_wavefront_size32 = 1
13// GFX10-W32: wavefront_size = 5
14// GFX10-W64: enable_wavefront_size32 = 0
15// GFX10-W64: wavefront_size = 6
16.amdgpu_hsa_kernel test0
17test0:
18.amd_kernel_code_t
19.end_amd_kernel_code_t
20
21// GCN: test1:
22// GFX7: enable_wavefront_size32 = 0
23// GFX7: wavefront_size = 6
24// GFX10-W32-ERR: error: enable_wavefront_size32=0 requires +WavefrontSize64
25// GFX10-W64: enable_wavefront_size32 = 0
26// GFX10-W64: wavefront_size = 6
27.amdgpu_hsa_kernel test1
28test1:
29.amd_kernel_code_t
30  enable_wavefront_size32 = 0
31.end_amd_kernel_code_t
32
33// GCN: test2:
34// GFX7: enable_wavefront_size32 = 0
35// GFX7: wavefront_size = 6
36// GFX10-W32-ERR: error: wavefront_size=6 requires +WavefrontSize64
37// GFX10-W64: enable_wavefront_size32 = 0
38// GFX10-W64: wavefront_size = 6
39.amdgpu_hsa_kernel test2
40test2:
41.amd_kernel_code_t
42  wavefront_size = 6
43.end_amd_kernel_code_t
44
45// GCN: test3:
46// GFX7-ERR: error: enable_wavefront_size32=1 is only allowed on GFX10+
47// GFX10-W32: enable_wavefront_size32 = 1
48// GFX10-W32: wavefront_size = 5
49// GFX10-W64-ERR: error: enable_wavefront_size32=1 requires +WavefrontSize32
50.amdgpu_hsa_kernel test3
51test3:
52.amd_kernel_code_t
53  enable_wavefront_size32 = 1
54.end_amd_kernel_code_t
55
56// GCN: test4:
57// GFX7-ERR: error: wavefront_size=5 is only allowed on GFX10+
58// GFX10-W32: enable_wavefront_size32 = 1
59// GFX10-W32: wavefront_size = 5
60// GFX10-W64-ERR: error: wavefront_size=5 requires +WavefrontSize32
61.amdgpu_hsa_kernel test4
62test4:
63.amd_kernel_code_t
64  wavefront_size = 5
65.end_amd_kernel_code_t
66