summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-02-27 08:53:52 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-02-27 08:53:52 +0000
commit274d34e72544cd252b53bd3ea77bb59e7b5acb88 (patch)
tree6269b52841df4a4eddb41c502b7da1d89e927803 /llvm/test
parent61738cbcb6c40cdaf6a6c560787b07373415114c (diff)
downloadbcm5719-llvm-274d34e72544cd252b53bd3ea77bb59e7b5acb88.tar.gz
bcm5719-llvm-274d34e72544cd252b53bd3ea77bb59e7b5acb88.zip
AMDGPU: Add s_sleep intrinsic
llvm-svn: 262120
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.ll45
1 files changed, 45 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.ll
new file mode 100644
index 00000000000..870aa48a341
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.ll
@@ -0,0 +1,45 @@
+; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
+
+declare void @llvm.amdgcn.s.sleep(i32) #0
+
+; GCN-LABEL: {{^}}test_s_sleep:
+; GCN: s_sleep 0{{$}}
+; GCN: s_sleep 1{{$}}
+; GCN: s_sleep 2{{$}}
+; GCN: s_sleep 3{{$}}
+; GCN: s_sleep 4{{$}}
+; GCN: s_sleep 5{{$}}
+; GCN: s_sleep 6{{$}}
+; GCN: s_sleep 7{{$}}
+; GCN: s_sleep 8{{$}}
+; GCN: s_sleep 9{{$}}
+; GCN: s_sleep 10{{$}}
+; GCN: s_sleep 11{{$}}
+; GCN: s_sleep 12{{$}}
+; GCN: s_sleep 13{{$}}
+; GCN: s_sleep 14{{$}}
+; GCN: s_sleep 15{{$}}
+define void @test_s_sleep(i32 %x) #0 {
+ call void @llvm.amdgcn.s.sleep(i32 0)
+ call void @llvm.amdgcn.s.sleep(i32 1)
+ call void @llvm.amdgcn.s.sleep(i32 2)
+ call void @llvm.amdgcn.s.sleep(i32 3)
+ call void @llvm.amdgcn.s.sleep(i32 4)
+ call void @llvm.amdgcn.s.sleep(i32 5)
+ call void @llvm.amdgcn.s.sleep(i32 6)
+ call void @llvm.amdgcn.s.sleep(i32 7)
+
+ ; Values that might only work on VI
+ call void @llvm.amdgcn.s.sleep(i32 8)
+ call void @llvm.amdgcn.s.sleep(i32 9)
+ call void @llvm.amdgcn.s.sleep(i32 10)
+ call void @llvm.amdgcn.s.sleep(i32 11)
+ call void @llvm.amdgcn.s.sleep(i32 12)
+ call void @llvm.amdgcn.s.sleep(i32 13)
+ call void @llvm.amdgcn.s.sleep(i32 14)
+ call void @llvm.amdgcn.s.sleep(i32 15)
+ ret void
+}
+
+attributes #0 = { nounwind }
OpenPOWER on IntegriCloud