37 lines · plain
1; RUN: llc < %s -mtriple=r600 -mcpu=cayman | FileCheck %s2 3; CHECK-LABEL: {{^}}main:4; CHECK: LOOP_START_DX105; CHECK: ALU_PUSH_BEFORE6; CHECK: LOOP_START_DX107; CHECK: PUSH8; CHECK-NOT: ALU_PUSH_BEFORE9; CHECK: END_LOOP10; CHECK: END_LOOP11define amdgpu_ps void @main (<4 x float> inreg %reg0) {12entry:13 br label %outer_loop14 15outer_loop:16 %cnt = phi i32 [0, %entry], [%cnt_incr, %inner_loop]17 %cond = icmp eq i32 %cnt, 1618 br i1 %cond, label %outer_loop_body, label %exit19 20outer_loop_body:21 %cnt_incr = add i32 %cnt, 122 br label %inner_loop23 24inner_loop:25 %cnt2 = phi i32 [0, %outer_loop_body], [%cnt2_incr, %inner_loop_body]26 %n = load volatile i32, ptr addrspace(1) poison27 %cond2 = icmp slt i32 %cnt2, %n28 br i1 %cond2, label %inner_loop_body, label %outer_loop29 30inner_loop_body:31 %cnt2_incr = add i32 %cnt2, 132 br label %inner_loop33 34exit:35 ret void36}37