1; RUN: llc -march=amdgcn -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=NOXNACK -check-prefix=CI -check-prefix=GCN %s
2; RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs < %s | FileCheck -check-prefix=NOXNACK -check-prefix=VI -check-prefix=GCN %s
3; RUN: llc -march=amdgcn -mcpu=carrizo -verify-machineinstrs < %s | FileCheck -check-prefix=XNACK -check-prefix=VI  -check-prefix=GCN %s
4; RUN: llc -march=amdgcn -mcpu=stoney -verify-machineinstrs < %s | FileCheck -check-prefix=XNACK -check-prefix=VI  -check-prefix=GCN %s
5
6; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=CI -check-prefix=NOXNACK -check-prefix=HSA-NOXNACK -check-prefix=HSA -check-prefix=GCN %s
7; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=carrizo -mattr=-xnack -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=NOXNACK -check-prefix=HSA-NOXNACK -check-prefix=HSA -check-prefix=GCN %s
8; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=carrizo -mattr=+xnack -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=XNACK -check-prefix=HSA-XNACK -check-prefix=HSA -check-prefix=GCN %s
9
10; GCN-LABEL: {{^}}no_vcc_no_flat:
11; HSA-NOXNACK: is_xnack_enabled = 0
12; HSA-XNACK: is_xnack_enabled = 1
13
14; NOXNACK: ; NumSgprs: 8
15; XNACK: ; NumSgprs: 12
16define void @no_vcc_no_flat() {
17entry:
18  call void asm sideeffect "", "~{SGPR7}"()
19  ret void
20}
21
22; GCN-LABEL: {{^}}vcc_no_flat:
23; HSA-NOXNACK: is_xnack_enabled = 0
24; HSA-XNACK: is_xnack_enabled = 1
25
26; NOXNACK: ; NumSgprs: 10
27; XNACK: ; NumSgprs: 12
28define void @vcc_no_flat() {
29entry:
30  call void asm sideeffect "", "~{SGPR7},~{VCC}"()
31  ret void
32}
33
34; GCN-LABEL: {{^}}no_vcc_flat:
35; HSA-NOXNACK: is_xnack_enabled = 0
36; HSA-XNACK: is_xnack_enabled = 1
37
38; CI: ; NumSgprs: 12
39; VI: ; NumSgprs: 14
40define void @no_vcc_flat() {
41entry:
42  call void asm sideeffect "", "~{SGPR7},~{FLAT_SCR}"()
43  ret void
44}
45
46; GCN-LABEL: {{^}}vcc_flat:
47; HSA-NOXNACK: is_xnack_enabled = 0
48; HSA-XNACK: is_xnack_enabled = 1
49
50; CI: ; NumSgprs: 12
51; VI: ; NumSgprs: 14
52define void @vcc_flat() {
53entry:
54  call void asm sideeffect "", "~{SGPR7},~{VCC},~{FLAT_SCR}"()
55  ret void
56}
57