blob: 929cd1c5f0bbdcfc5b99929317c29f098ea8eafd [file] [log] [blame]
Matt Arsenaulte66621b2015-09-24 19:52:27 +00001; RUN: llc -march=amdgcn -mcpu=fiji -show-mc-encoding < %s | FileCheck -check-prefix=VI %s
2
3declare void @llvm.amdgcn.s.dcache.wb.vol() #0
Matt Arsenault6d093802016-05-21 00:29:27 +00004declare void @llvm.amdgcn.s.waitcnt(i32) #0
Matt Arsenaulte66621b2015-09-24 19:52:27 +00005
6; VI-LABEL: {{^}}test_s_dcache_wb_vol:
Francis Visoiu Mistrih25528d62017-12-04 17:18:51 +00007; VI-NEXT: ; %bb.0:
Matt Arsenaulte66621b2015-09-24 19:52:27 +00008; VI-NEXT: s_dcache_wb_vol ; encoding: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
9; VI-NEXT: s_endpgm
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000010define amdgpu_kernel void @test_s_dcache_wb_vol() #0 {
Matt Arsenaulte66621b2015-09-24 19:52:27 +000011 call void @llvm.amdgcn.s.dcache.wb.vol()
12 ret void
13}
14
15; VI-LABEL: {{^}}test_s_dcache_wb_vol_insert_wait:
Francis Visoiu Mistrih25528d62017-12-04 17:18:51 +000016; VI-NEXT: ; %bb.0:
Matt Arsenaulte66621b2015-09-24 19:52:27 +000017; VI-NEXT: s_dcache_wb_vol
Matt Arsenault6d093802016-05-21 00:29:27 +000018; VI: s_waitcnt lgkmcnt(0) ; encoding
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000019define amdgpu_kernel void @test_s_dcache_wb_vol_insert_wait() #0 {
Matt Arsenaulte66621b2015-09-24 19:52:27 +000020 call void @llvm.amdgcn.s.dcache.wb.vol()
Mark Searles70359ac2017-06-02 14:19:25 +000021 call void @llvm.amdgcn.s.waitcnt(i32 127)
Matt Arsenaulte66621b2015-09-24 19:52:27 +000022 br label %end
23
24end:
25 store volatile i32 3, i32 addrspace(1)* undef
26 ret void
27}
28
29attributes #0 = { nounwind }