aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/AMDGPU
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/AMDGPU')
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll2
-rw-r--r--test/CodeGen/AMDGPU/merge-m0.mir1
-rw-r--r--test/CodeGen/AMDGPU/sdwa-scalar-ops.mir2
-rw-r--r--test/CodeGen/AMDGPU/waitcnt-permute.mir33
4 files changed, 34 insertions, 4 deletions
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll
index a3a78d326a62..02642142ae2c 100644
--- a/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll
@@ -4,7 +4,7 @@
declare i32 @llvm.amdgcn.ds.swizzle(i32, i32) #0
; FUNC-LABEL: {{^}}ds_swizzle:
-; CHECK: ds_swizzle_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:100
+; CHECK: ds_swizzle_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:swizzle(BITMASK_PERM,"00p11")
; CHECK: s_waitcnt lgkmcnt
define amdgpu_kernel void @ds_swizzle(i32 addrspace(1)* %out, i32 %src) nounwind {
%swizzle = call i32 @llvm.amdgcn.ds.swizzle(i32 %src, i32 100) #0
diff --git a/test/CodeGen/AMDGPU/merge-m0.mir b/test/CodeGen/AMDGPU/merge-m0.mir
index 064db49924e1..720642ad1ddb 100644
--- a/test/CodeGen/AMDGPU/merge-m0.mir
+++ b/test/CodeGen/AMDGPU/merge-m0.mir
@@ -50,7 +50,6 @@
name: test
alignment: 0
exposesReturnsTwice: false
-noVRegs: false
legalized: false
regBankSelected: false
selected: false
diff --git a/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir b/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
index cd50e01032c3..cd0d410368c7 100644
--- a/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
+++ b/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
@@ -86,7 +86,6 @@
name: sdwa_imm_operand
alignment: 0
exposesReturnsTwice: false
-noVRegs: false
legalized: false
regBankSelected: false
selected: false
@@ -248,7 +247,6 @@ body: |
name: sdwa_sgpr_operand
alignment: 0
exposesReturnsTwice: false
-noVRegs: false
legalized: false
regBankSelected: false
selected: false
diff --git a/test/CodeGen/AMDGPU/waitcnt-permute.mir b/test/CodeGen/AMDGPU/waitcnt-permute.mir
new file mode 100644
index 000000000000..44dbd38f2d30
--- /dev/null
+++ b/test/CodeGen/AMDGPU/waitcnt-permute.mir
@@ -0,0 +1,33 @@
+# RUN: llc -mtriple=amdgcn -mcpu=fiji -verify-machineinstrs -run-pass si-insert-waits -o - %s | FileCheck %s
+
+--- |
+ define float @waitcnt-permute(i32 %x, i32 %y) {
+ entry:
+ %0 = call i32 @llvm.amdgcn.ds.bpermute(i32 %x, i32 %y)
+ %1 = bitcast i32 %0 to float
+ %2 = fadd float 1.000000e+00, %1
+ ret float %2
+ }
+
+ declare i32 @llvm.amdgcn.ds.bpermute(i32, i32)
+
+...
+---
+# CHECK-LABEL: name: waitcnt-permute{{$}}
+# CHECK: DS_BPERMUTE_B32
+# CHECK-NEXT: S_WAITCNT 127
+
+name: waitcnt-permute
+liveins:
+ - { reg: '%vgpr0' }
+ - { reg: '%vgpr1' }
+ - { reg: '%sgpr30_sgpr31' }
+body: |
+ bb.0:
+ liveins: %vgpr0, %vgpr1, %sgpr30_sgpr31
+
+ %vgpr0 = DS_BPERMUTE_B32 killed %vgpr0, killed %vgpr1, 0, implicit %exec
+ %vgpr0 = V_ADD_F32_e32 1065353216, killed %vgpr0, implicit %exec
+ S_SETPC_B64_return killed %sgpr30_sgpr31, implicit killed %vgpr0
+
+...