46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			LLVM
		
	
	
	
| ; 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 amdgpu_kernel 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 }
 |