summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2016-04-11 20:38:40 +0000
committerTom Stellard <thomas.stellard@amd.com>2016-04-11 20:38:40 +0000
commit0ffdf65eaa05209655601a1059232da6605162a3 (patch)
treec77dae944b84d6510c92656425433bdc8d183182 /llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
parent729c8e9793b887e5da77d74488172ddc7b3ca855 (diff)
downloadbcm5719-llvm-0ffdf65eaa05209655601a1059232da6605162a3.tar.gz
bcm5719-llvm-0ffdf65eaa05209655601a1059232da6605162a3.zip
Revert "AMDGPU/SI: Do not generate s_waitcnt after ds_permute/ds_bpermute"
This reverts commit r263720. Just confirmed that s_waitcnt is required after ds_permute/ds_bpermute. llvm-svn: 265992
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll29
1 files changed, 3 insertions, 26 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
index 2f774abd1c6..f0ee48ff448 100644
--- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
@@ -4,34 +4,11 @@ declare i32 @llvm.amdgcn.ds.permute(i32, i32) #0
; FUNC-LABEL: {{^}}ds_permute:
; CHECK: ds_permute_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; CHECK: s_waitcnt lgkmcnt
define void @ds_permute(i32 addrspace(1)* %out, i32 %index, i32 %src) nounwind {
- %permute = call i32 @llvm.amdgcn.ds.permute(i32 %index, i32 %src) #0
- store i32 %permute, i32 addrspace(1)* %out, align 4
+ %bpermute = call i32 @llvm.amdgcn.ds.permute(i32 %index, i32 %src) #0
+ store i32 %bpermute, i32 addrspace(1)* %out, align 4
ret void
}
-; FUNC-LABEL: {{^}}permute_no_waitcnt_test:
-; CHECK: s_cbranch_scc1
-; CHECK: ds_permute_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
-; CHECK-NOT: s_waitcnt
-define void @permute_no_waitcnt_test(i32 addrspace(1)* %out, i32 %cond) {
-entry:
-
- %tmp = icmp eq i32 %cond, 0
- br i1 %tmp, label %if, label %else
-
-if: ; preds = %entry
- %permute = call i32 @llvm.amdgcn.ds.permute(i32 0, i32 0) #0
- br label %endif
-
-else: ; preds = %entry
- br label %endif
-
-endif:
- %val = phi i32 [ %permute, %if ], [0, %else] ; preds = %else, %if
- store i32 %val, i32 addrspace(1)* %out, align 4
- ret void
-}
-
-
attributes #0 = { nounwind readnone convergent }
OpenPOWER on IntegriCloud