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