blob: 1ee9100c2eb571a2ad3f65786577e8f152c0e4c0 [file] [log] [blame]
Marek Olsak693e9be2016-12-09 19:49:48 +00001; RUN: llc -march=amdgcn -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=CI -check-prefix=GCN %s
2; RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs < %s | FileCheck -check-prefix=VI-NOXNACK -check-prefix=GCN %s
3; RUN: llc -march=amdgcn -mcpu=carrizo -verify-machineinstrs < %s | FileCheck -check-prefix=VI-XNACK -check-prefix=GCN %s
4; RUN: llc -march=amdgcn -mcpu=stoney -verify-machineinstrs < %s | FileCheck -check-prefix=VI-XNACK -check-prefix=GCN %s
Matt Arsenault07f65712016-07-26 16:45:50 +00005
Marek Olsak693e9be2016-12-09 19:49:48 +00006; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=HSA-CI -check-prefix=GCN %s
7; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=carrizo -mattr=-xnack -verify-machineinstrs < %s | FileCheck -check-prefix=HSA-VI-NOXNACK -check-prefix=GCN %s
8; RUN: llc -march=amdgcn -mtriple=amdgcn--amdhsa -mcpu=carrizo -mattr=+xnack -verify-machineinstrs < %s | FileCheck -check-prefix=HSA-VI-XNACK -check-prefix=GCN %s
Tom Stellardcaaa3aa2015-12-17 17:05:09 +00009
10; GCN-LABEL: {{^}}no_vcc_no_flat:
Marek Olsak693e9be2016-12-09 19:49:48 +000011; HSA-CI: is_xnack_enabled = 0
12; HSA-VI-NOXNACK: is_xnack_enabled = 0
13; HSA-VI-XNACK: is_xnack_enabled = 1
Matt Arsenault07f65712016-07-26 16:45:50 +000014
Marek Olsak693e9be2016-12-09 19:49:48 +000015; CI: ; NumSgprs: 8
16; VI-NOXNACK: ; NumSgprs: 8
17; VI-XNACK: ; NumSgprs: 12
Tom Stellardcaaa3aa2015-12-17 17:05:09 +000018define void @no_vcc_no_flat() {
19entry:
20 call void asm sideeffect "", "~{SGPR7}"()
21 ret void
22}
23
24; GCN-LABEL: {{^}}vcc_no_flat:
Marek Olsak693e9be2016-12-09 19:49:48 +000025; HSA-CI: is_xnack_enabled = 0
26; HSA-VI-NOXNACK: is_xnack_enabled = 0
27; HSA-VI-XNACK: is_xnack_enabled = 1
Matt Arsenault07f65712016-07-26 16:45:50 +000028
Marek Olsak693e9be2016-12-09 19:49:48 +000029; CI: ; NumSgprs: 10
30; VI-NOXNACK: ; NumSgprs: 10
31; VI-XNACK: ; NumSgprs: 12
Tom Stellardcaaa3aa2015-12-17 17:05:09 +000032define void @vcc_no_flat() {
33entry:
34 call void asm sideeffect "", "~{SGPR7},~{VCC}"()
35 ret void
36}
37
38; GCN-LABEL: {{^}}no_vcc_flat:
Marek Olsak693e9be2016-12-09 19:49:48 +000039; HSA-CI: is_xnack_enabled = 0
40; HSA-VI-NOXNACK: is_xnack_enabled = 0
41; HSA-VI-XNACK: is_xnack_enabled = 1
Matt Arsenault07f65712016-07-26 16:45:50 +000042
Marek Olsak693e9be2016-12-09 19:49:48 +000043; CI: ; NumSgprs: 8
44; VI-NOXNACK: ; NumSgprs: 8
45; VI-XNACK: ; NumSgprs: 12
46; HSA-CI: ; NumSgprs: 8
47; HSA-VI-NOXNACK: ; NumSgprs: 8
48; HSA-VI-XNACK: ; NumSgprs: 12
Tom Stellardcaaa3aa2015-12-17 17:05:09 +000049define void @no_vcc_flat() {
50entry:
51 call void asm sideeffect "", "~{SGPR7},~{FLAT_SCR}"()
52 ret void
53}
54
55; GCN-LABEL: {{^}}vcc_flat:
Matt Arsenault07f65712016-07-26 16:45:50 +000056; HSA-NOXNACK: is_xnack_enabled = 0
57; HSA-XNACK: is_xnack_enabled = 1
58
Marek Olsak693e9be2016-12-09 19:49:48 +000059; CI: ; NumSgprs: 10
60; VI-NOXNACK: ; NumSgprs: 10
61; VI-XNACK: ; NumSgprs: 12
62; HSA-CI: ; NumSgprs: 10
63; HSA-VI-NOXNACK: ; NumSgprs: 10
64; HSA-VI-XNACK: ; NumSgprs: 12
Tom Stellardcaaa3aa2015-12-17 17:05:09 +000065define void @vcc_flat() {
66entry:
67 call void asm sideeffect "", "~{SGPR7},~{VCC},~{FLAT_SCR}"()
68 ret void
69}