Skip to content

Commit 51b12c3

Browse files
Ana MihajlovicAna Mihajlovic
authored andcommitted
precommit
1 parent d54c28b commit 51b12c3

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs < %s | FileCheck %s -check-prefix=GCN
3+
; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs < %s | FileCheck %s -check-prefix=GCN
4+
5+
define amdgpu_cs void @test(i32 %a, i32 %x, i32 %y, i32 %p, i32 %q, i32 %r, i32 %s, ptr addrspace(1) %out) {
6+
; GCN-LABEL: test:
7+
; GCN: ; %bb.0: ; %.entry
8+
; GCN-NEXT: v_cmp_eq_u32_e32 vcc_lo, -1, v0
9+
; GCN-NEXT: v_cndmask_b32_e32 v0, v2, v1, vcc_lo
10+
; GCN-NEXT: v_cndmask_b32_e64 v1, v3, 0, vcc_lo
11+
; GCN-NEXT: v_cndmask_b32_e64 v2, v4, 0, vcc_lo
12+
; GCN-NEXT: v_cndmask_b32_e32 v3, v6, v5, vcc_lo
13+
; GCN-NEXT: global_store_b128 v[7:8], v[0:3], off
14+
; GCN-NEXT: s_endpgm
15+
.entry:
16+
%vcc = icmp eq i32 %a, -1
17+
%val1 = select i1 %vcc, i32 %x, i32 %y
18+
%val2 = select i1 %vcc, i32 0, i32 %p
19+
%val3 = select i1 %vcc, i32 0, i32 %q
20+
%val4 = select i1 %vcc, i32 %r, i32 %s
21+
%ret0 = insertelement <4 x i32> poison, i32 %val1, i32 0
22+
%ret1 = insertelement <4 x i32> %ret0, i32 %val2, i32 1
23+
%ret2 = insertelement <4 x i32> %ret1, i32 %val3, i32 2
24+
%ret3 = insertelement <4 x i32> %ret2, i32 %val4, i32 3
25+
store <4 x i32> %ret3, ptr addrspace(1) %out
26+
ret void
27+
}
28+
29+
define amdgpu_cs void @test_negative_case(i32 %a, i32 %x, i32 %y, i32 %p, i32 %q, i32 %r, i32 %s, ptr addrspace(1) %out) {
30+
; GCN-LABEL: test_negative_case:
31+
; GCN: ; %bb.0: ; %.entry
32+
; GCN-NEXT: v_cmp_eq_u32_e32 vcc_lo, -1, v0
33+
; GCN-NEXT: v_cndmask_b32_e32 v0, v2, v1, vcc_lo
34+
; GCN-NEXT: v_cndmask_b32_e64 v1, v3, 0, vcc_lo
35+
; GCN-NEXT: v_cndmask_b32_e64 v2, v4, 0, vcc_lo
36+
; GCN-NEXT: v_cndmask_b32_e32 v3, v6, v5, vcc_lo
37+
; GCN-NEXT: global_store_b128 v[7:8], v[0:3], off
38+
; GCN-NEXT: s_endpgm
39+
.entry:
40+
%vcc = icmp eq i32 %a, -1
41+
%val1 = select i1 %vcc, i32 %x, i32 %y
42+
%val2 = select i1 %vcc, i32 0, i32 %p
43+
%val3 = select i1 %vcc, i32 0, i32 %q
44+
%val4 = select i1 %vcc, i32 %r, i32 %s
45+
%ret0 = insertelement <4 x i32> poison, i32 %val1, i32 0
46+
%ret1 = insertelement <4 x i32> %ret0, i32 %val2, i32 1
47+
%ret2 = insertelement <4 x i32> %ret1, i32 %val3, i32 2
48+
%ret3 = insertelement <4 x i32> %ret2, i32 %val4, i32 3
49+
store <4 x i32> %ret3, ptr addrspace(1) %out
50+
ret void
51+
}

0 commit comments

Comments
 (0)