brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.0 KiB · 3001248 Raw
137 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 < %s | FileCheck %s3 4define amdgpu_gfx [13 x i32] @issue130120() {5; CHECK-LABEL: issue130120:6; CHECK:       ; %bb.0: ; %bb7; CHECK-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8; CHECK-NEXT:    v_mov_b32_e32 v0, 09; CHECK-NEXT:    s_movk_i32 s1, 0xf410; CHECK-NEXT:    s_movk_i32 s2, 0xf811; CHECK-NEXT:    s_movk_i32 s3, 0xfc12; CHECK-NEXT:    s_movk_i32 s34, 0x10013; CHECK-NEXT:    v_mov_b32_e32 v1, v014; CHECK-NEXT:    s_movk_i32 s35, 0x10415; CHECK-NEXT:    s_movk_i32 s36, 0x10816; CHECK-NEXT:    s_movk_i32 s37, 0x11017; CHECK-NEXT:    s_movk_i32 s38, 0x12018; CHECK-NEXT:    s_add_i32 s0, s32, 0xf019; CHECK-NEXT:    s_add_i32 s1, s32, s120; CHECK-NEXT:    s_add_i32 s2, s32, s221; CHECK-NEXT:    s_add_i32 s3, s32, s322; CHECK-NEXT:    s_add_i32 s34, s32, s3423; CHECK-NEXT:    s_add_i32 s35, s32, s3524; CHECK-NEXT:    s_add_i32 s36, s32, s3625; CHECK-NEXT:    s_add_i32 s37, s32, s3726; CHECK-NEXT:    s_add_i32 s38, s32, s3827; CHECK-NEXT:    s_or_b32 s39, s32, 428; CHECK-NEXT:    s_or_b32 s40, s32, 829; CHECK-NEXT:    s_or_b32 s41, s32, 1230; CHECK-NEXT:    s_add_i32 s42, s32, 1631; CHECK-NEXT:    s_add_i32 s43, s32, 2032; CHECK-NEXT:    s_add_i32 s44, s32, 2433; CHECK-NEXT:    s_mov_b32 s46, 134; CHECK-NEXT:    s_movk_i32 s45, 0x99035; CHECK-NEXT:    s_mov_b32 s48, 036; CHECK-NEXT:  .LBB0_1: ; %bb337; CHECK-NEXT:    ; =>This Inner Loop Header: Depth=138; CHECK-NEXT:    s_cmp_eq_u32 s46, 039; CHECK-NEXT:    s_mov_b32 s49, s4840; CHECK-NEXT:    s_mov_b32 s50, s4841; CHECK-NEXT:    s_cselect_b32 s51, 0, s142; CHECK-NEXT:    s_cselect_b32 s55, 0, s3543; CHECK-NEXT:    v_dual_mov_b32 v2, s48 :: v_dual_mov_b32 v3, s4944; CHECK-NEXT:    s_cselect_b32 s52, 0, s245; CHECK-NEXT:    s_cselect_b32 s56, 0, s3646; CHECK-NEXT:    s_cselect_b32 vcc_lo, 0, s4347; CHECK-NEXT:    v_mov_b32_e32 v4, s5048; CHECK-NEXT:    s_cselect_b32 s47, s45, 0xf049; CHECK-NEXT:    s_cselect_b32 s53, 0, s350; CHECK-NEXT:    s_cselect_b32 s54, 0, s3451; CHECK-NEXT:    s_cselect_b32 s57, 0, s3752; CHECK-NEXT:    s_cselect_b32 s58, 0, s3853; CHECK-NEXT:    s_cselect_b32 s59, 0, s054; CHECK-NEXT:    s_cselect_b32 s60, 0, s3955; CHECK-NEXT:    s_cselect_b32 s61, 0, s4056; CHECK-NEXT:    s_cselect_b32 s62, 0, s4157; CHECK-NEXT:    s_cselect_b32 s63, 0, s4258; CHECK-NEXT:    s_cselect_b32 vcc_hi, 0, s4459; CHECK-NEXT:    s_mov_b32 s46, s4860; CHECK-NEXT:    scratch_store_b32 off, v0, s5161; CHECK-NEXT:    scratch_store_b32 off, v0, s5262; CHECK-NEXT:    scratch_store_b32 off, v0, s5363; CHECK-NEXT:    scratch_store_b32 off, v0, s5464; CHECK-NEXT:    scratch_store_b32 off, v0, s5565; CHECK-NEXT:    scratch_store_b64 off, v[0:1], s5666; CHECK-NEXT:    scratch_store_b32 off, v0, s5767; CHECK-NEXT:    scratch_store_b32 off, v0, s4768; CHECK-NEXT:    scratch_store_b96 off, v[2:4], s5869; CHECK-NEXT:    scratch_store_b96 off, v[2:4], s5970; CHECK-NEXT:    scratch_store_b32 off, v0, s6071; CHECK-NEXT:    scratch_store_b32 off, v0, s6172; CHECK-NEXT:    scratch_store_b32 off, v0, s6273; CHECK-NEXT:    scratch_store_b32 off, v0, s6374; CHECK-NEXT:    scratch_store_b32 off, v0, vcc_lo75; CHECK-NEXT:    scratch_store_b32 off, v0, vcc_hi76; CHECK-NEXT:    s_mov_b32 vcc_lo, exec_lo77; CHECK-NEXT:    s_cbranch_vccnz .LBB0_178; CHECK-NEXT:  ; %bb.2: ; %DummyReturnBlock79; CHECK-NEXT:    s_setpc_b64 s[30:31]80bb:81  %i = alloca [8 x { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }], i32 0, align 16, addrspace(5)82  %i1 = getelementptr [8 x { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }], ptr addrspace(5) %i, i32 0, i32 0, i32 2083  %i2 = getelementptr [8 x { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }], ptr addrspace(5) %i, i32 0, i32 6, i32 2084  br label %bb385 86bb3:                                              ; preds = %bb3, %bb87  %i4 = phi i32 [ 1, %bb ], [ 0, %bb3 ]88  %i5 = icmp eq i32 %i4, 089  %i6 = select i1 %i5, ptr addrspace(5) %i2, ptr addrspace(5) %i190  store i32 0, ptr addrspace(5) %i6, align 1691  %i7 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 192  %i8 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i793  store float 0.000000e+00, ptr addrspace(5) %i8, align 494  %i9 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 295  %i10 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i996  store i32 0, ptr addrspace(5) %i10, align 897  %i11 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 398  %i12 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i1199  store i32 0, ptr addrspace(5) %i12, align 4100  %i13 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 4101  %i14 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i13102  store i32 0, ptr addrspace(5) %i14, align 16103  %i15 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 5104  %i16 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i15105  store i32 0, ptr addrspace(5) %i16, align 4106  %i17 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 6107  %i18 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i17108  store <2 x float> zeroinitializer, ptr addrspace(5) %i18, align 8109  %i19 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 7110  %i20 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i19111  store i32 0, ptr addrspace(5) %i20, align 16112  %i21 = getelementptr { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, ptr addrspace(5) %i1, i32 0, i32 8113  %i22 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i21114  store <3 x float> zeroinitializer, ptr addrspace(5) %i22, align 16115  %i23 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i1116  store <3 x float> zeroinitializer, ptr addrspace(5) %i23, align 16117  %i24 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 1118  %i25 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i24119  store i32 0, ptr addrspace(5) %i25, align 4120  %i26 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 2121  %i27 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i26122  store i32 0, ptr addrspace(5) %i27, align 8123  %i28 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 3124  %i29 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i28125  store i32 0, ptr addrspace(5) %i29, align 4126  %i30 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 4127  %i31 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i30128  store i32 0, ptr addrspace(5) %i31, align 16129  %i32 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 5130  %i33 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i32131  store i32 0, ptr addrspace(5) %i33, align 4132  %i34 = getelementptr { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, { <3 x float>, float, <3 x float>, float }, float, i32, i32, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, { i32, float, i32, i32, i32, i32, <2 x float>, i32, <3 x float>, <3 x float> }, i32, i32, i32, i32, i32, i32, i32, i32, i32 }, ptr addrspace(5) %i, i32 0, i32 6133  %i35 = select i1 %i5, ptr addrspace(5) null, ptr addrspace(5) %i34134  store i32 0, ptr addrspace(5) %i35, align 8135  br label %bb3136}137