1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -O0 -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
3
4; Ensure NOOP shaders compile at OptNone.
5
6; Confirm registers reserved in SIMachineFunctionInfo are those expected during
7; lowering, even when e.g. spilling is required due to being at OptNone.
8
9target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
10target triple = "amdgcn-amd-amdpal"
11
12define amdgpu_vs void @noop_vs() {
13; GCN-LABEL: noop_vs:
14; GCN:       ; %bb.0: ; %entry
15; GCN-NEXT:    s_endpgm
16entry:
17  ret void
18}
19
20define amdgpu_ls void @noop_ls() {
21; GCN-LABEL: noop_ls:
22; GCN:       ; %bb.0: ; %entry
23; GCN-NEXT:    s_endpgm
24entry:
25  ret void
26}
27
28define amdgpu_hs void @noop_hs() {
29; GCN-LABEL: noop_hs:
30; GCN:       ; %bb.0: ; %entry
31; GCN-NEXT:    s_endpgm
32entry:
33  ret void
34}
35
36define amdgpu_es void @noop_es() {
37; GCN-LABEL: noop_es:
38; GCN:       ; %bb.0: ; %entry
39; GCN-NEXT:    s_endpgm
40entry:
41  ret void
42}
43
44define amdgpu_gs void @noop_gs() {
45; GCN-LABEL: noop_gs:
46; GCN:       ; %bb.0: ; %entry
47; GCN-NEXT:    s_endpgm
48entry:
49  ret void
50}
51
52define amdgpu_ps void @noop_ps() {
53; GCN-LABEL: noop_ps:
54; GCN:       ; %bb.0: ; %entry
55; GCN-NEXT:    s_endpgm
56entry:
57  ret void
58}
59
60define amdgpu_cs void @noop_cs() {
61; GCN-LABEL: noop_cs:
62; GCN:       ; %bb.0: ; %entry
63; GCN-NEXT:    s_endpgm
64entry:
65  ret void
66}
67