summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll2
-rw-r--r--llvm/test/CodeGen/AMDGPU/sopk-compares.ll555
2 files changed, 1 insertions, 556 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll b/llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
index 1a4c2259559..133fd480e59 100644
--- a/llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
+++ b/llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
@@ -92,7 +92,7 @@ declare float @llvm.fabs.f32(float) nounwind readnone
; SI: s_cmp_gt_i32
; SI-NEXT: s_cbranch_scc0 [[ENDPGM:BB[0-9]+_[0-9]+]]
-; SI: s_cmpk_gt_i32
+; SI: s_cmp_gt_i32
; SI-NEXT: s_cbranch_scc1 [[ENDPGM]]
; SI: [[INFLOOP:BB[0-9]+_[0-9]+]]
diff --git a/llvm/test/CodeGen/AMDGPU/sopk-compares.ll b/llvm/test/CodeGen/AMDGPU/sopk-compares.ll
deleted file mode 100644
index d62f3fbbcd5..00000000000
--- a/llvm/test/CodeGen/AMDGPU/sopk-compares.ll
+++ /dev/null
@@ -1,555 +0,0 @@
-; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=SI %s
-; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
-
-; Since this intrinsic is exposed as a constant after isel, use it to
-; defeat the DAG's compare with constant canonicalizations.
-declare i32 @llvm.amdgcn.groupstaticsize() #1
-
-@lds = addrspace(3) global [512 x i32] undef, align 4
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_inline_imm:
-; GCN: s_cmp_eq_i32 s{{[0-9]+}}, 4{{$}}
-define void @br_scc_eq_i32_inline_imm(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 4
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_simm16_max:
-; GCN: s_cmpk_eq_i32 s{{[0-9]+}}, 0x7fff{{$}}
-define void @br_scc_eq_i32_simm16_max(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 32767
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_simm16_max_p1:
-; GCN: s_cmpk_eq_u32 s{{[0-9]+}}, 0x8000{{$}}
-define void @br_scc_eq_i32_simm16_max_p1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 32768
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ne_i32_simm16_max_p1:
-; GCN: s_cmpk_lg_u32 s{{[0-9]+}}, 0x8000{{$}}
-define void @br_scc_ne_i32_simm16_max_p1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp ne i32 %cond, 32768
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_simm16_min:
-; GCN: s_cmpk_eq_i32 s{{[0-9]+}}, 0x8000{{$}}
-define void @br_scc_eq_i32_simm16_min(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, -32768
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_simm16_min_m1:
-; GCN: s_cmp_eq_i32 s{{[0-9]+}}, 0xffff7fff{{$}}
-define void @br_scc_eq_i32_simm16_min_m1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, -32769
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_uimm15_max:
-; GCN: s_cmpk_eq_u32 s{{[0-9]+}}, 0xffff{{$}}
-define void @br_scc_eq_i32_uimm15_max(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 65535
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_uimm16_max:
-; GCN: s_cmpk_eq_u32 s{{[0-9]+}}, 0xffff{{$}}
-define void @br_scc_eq_i32_uimm16_max(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 65535
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_eq_i32_uimm16_max_p1:
-; GCN: s_cmp_eq_i32 s{{[0-9]+}}, 0x10000{{$}}
-define void @br_scc_eq_i32_uimm16_max_p1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 65536
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-
-; GCN-LABEL: {{^}}br_scc_eq_i32:
-; GCN: s_cmpk_eq_i32 s{{[0-9]+}}, 0x41{{$}}
-define void @br_scc_eq_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp eq i32 %cond, 65
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ne_i32:
-; GCN: s_cmpk_lg_i32 s{{[0-9]+}}, 0x41{{$}}
-define void @br_scc_ne_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp ne i32 %cond, 65
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_sgt_i32:
-; GCN: s_cmpk_gt_i32 s{{[0-9]+}}, 0x41{{$}}
-define void @br_scc_sgt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp sgt i32 %cond, 65
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_sgt_i32_simm16_max:
-; GCN: s_cmpk_gt_i32 s{{[0-9]+}}, 0x7fff{{$}}
-define void @br_scc_sgt_i32_simm16_max(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp sgt i32 %cond, 32767
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_sgt_i32_simm16_max_p1:
-; GCN: s_cmp_gt_i32 s{{[0-9]+}}, 0x8000{{$}}
-define void @br_scc_sgt_i32_simm16_max_p1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp sgt i32 %cond, 32768
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_sge_i32:
-; GCN: s_cmpk_ge_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @br_scc_sge_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp sge i32 %cond, %size
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_slt_i32:
-; GCN: s_cmpk_lt_i32 s{{[0-9]+}}, 0x41{{$}}
-define void @br_scc_slt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp slt i32 %cond, 65
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_sle_i32:
-; GCN: s_cmpk_le_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @br_scc_sle_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp sle i32 %cond, %size
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ugt_i32:
-; GCN: s_cmpk_gt_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @br_scc_ugt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ugt i32 %cond, %size
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_uge_i32:
-; GCN: s_cmpk_ge_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @br_scc_uge_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp uge i32 %cond, %size
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ult_i32:
-; GCN: s_cmpk_lt_u32 s{{[0-9]+}}, 0x41{{$}}
-define void @br_scc_ult_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp ult i32 %cond, 65
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ult_i32_min_simm16:
-; GCN: s_cmpk_lt_u32 s{{[0-9]+}}, 0x8000{{$}}
-define void @br_scc_ult_i32_min_simm16(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp ult i32 %cond, -32768
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ult_i32_min_simm16_m1:
-; GCN: s_cmp_lt_u32 s{{[0-9]+}}, 0xffff7fff{{$}}
-define void @br_scc_ult_i32_min_simm16_m1(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %cmp0 = icmp ult i32 %cond, -32769
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "", ""()
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}br_scc_ule_i32:
-; GCN: s_cmpk_le_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @br_scc_ule_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ule i32 %cond, %size
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_eq_i32:
-; GCN: s_cmpk_eq_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_eq_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp eq i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_ne_i32:
-; GCN: s_cmpk_lg_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_ne_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ne i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_sgt_i32:
-; GCN: s_cmpk_lt_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_sgt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp sgt i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_sge_i32:
-; GCN: s_cmpk_le_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_sge_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp sge i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_slt_i32:
-; GCN: s_cmpk_gt_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_slt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp slt i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_sle_i32:
-; GCN: s_cmpk_ge_i32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_sle_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp sle i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_ugt_i32:
-; GCN: s_cmpk_lt_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_ugt_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ugt i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_uge_i32:
-; GCN: s_cmpk_le_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_uge_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp uge i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_ult_i32:
-; GCN: s_cmpk_gt_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_ult_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ult i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-; GCN-LABEL: {{^}}commute_br_scc_ule_i32:
-; GCN: s_cmpk_ge_u32 s{{[0-9]+}}, 0x800{{$}}
-define void @commute_br_scc_ule_i32(i32 %cond, i32 addrspace(1)* %out) #0 {
-entry:
- %size = call i32 @llvm.amdgcn.groupstaticsize()
- %cmp0 = icmp ule i32 %size, %cond
- br i1 %cmp0, label %endif, label %if
-
-if:
- call void asm sideeffect "; $0", "v"([512 x i32] addrspace(3)* @lds)
- br label %endif
-
-endif:
- store volatile i32 1, i32 addrspace(1)* %out
- ret void
-}
-
-attributes #0 = { nounwind }
-attributes #1 = { nounwind readnone }
OpenPOWER on IntegriCloud