blob: 59c910c71c5aaf8b4d519c29293f3ec1e381723a [file] [log] [blame]
Matt Arsenault274d34e2016-02-27 08:53:52 +00001; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
2; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
3
4declare void @llvm.amdgcn.s.sleep(i32) #0
5
6; GCN-LABEL: {{^}}test_s_sleep:
7; GCN: s_sleep 0{{$}}
8; GCN: s_sleep 1{{$}}
9; GCN: s_sleep 2{{$}}
10; GCN: s_sleep 3{{$}}
11; GCN: s_sleep 4{{$}}
12; GCN: s_sleep 5{{$}}
13; GCN: s_sleep 6{{$}}
14; GCN: s_sleep 7{{$}}
15; GCN: s_sleep 8{{$}}
16; GCN: s_sleep 9{{$}}
17; GCN: s_sleep 10{{$}}
18; GCN: s_sleep 11{{$}}
19; GCN: s_sleep 12{{$}}
20; GCN: s_sleep 13{{$}}
21; GCN: s_sleep 14{{$}}
22; GCN: s_sleep 15{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000023define amdgpu_kernel void @test_s_sleep(i32 %x) #0 {
Matt Arsenault274d34e2016-02-27 08:53:52 +000024 call void @llvm.amdgcn.s.sleep(i32 0)
25 call void @llvm.amdgcn.s.sleep(i32 1)
26 call void @llvm.amdgcn.s.sleep(i32 2)
27 call void @llvm.amdgcn.s.sleep(i32 3)
28 call void @llvm.amdgcn.s.sleep(i32 4)
29 call void @llvm.amdgcn.s.sleep(i32 5)
30 call void @llvm.amdgcn.s.sleep(i32 6)
31 call void @llvm.amdgcn.s.sleep(i32 7)
32
33 ; Values that might only work on VI
34 call void @llvm.amdgcn.s.sleep(i32 8)
35 call void @llvm.amdgcn.s.sleep(i32 9)
36 call void @llvm.amdgcn.s.sleep(i32 10)
37 call void @llvm.amdgcn.s.sleep(i32 11)
38 call void @llvm.amdgcn.s.sleep(i32 12)
39 call void @llvm.amdgcn.s.sleep(i32 13)
40 call void @llvm.amdgcn.s.sleep(i32 14)
41 call void @llvm.amdgcn.s.sleep(i32 15)
42 ret void
43}
44
45attributes #0 = { nounwind }