Home | History | Annotate | Download | only in R600
      1 ; RUN: llc < %s -march=r600 -mcpu=cayman | FileCheck %s
      2 
      3 ; CHECK-LABEL: @main
      4 ; CHECK: LOOP_START_DX10
      5 ; CHECK: ALU_PUSH_BEFORE
      6 ; CHECK: LOOP_START_DX10
      7 ; CHECK: PUSH
      8 ; CHECK-NOT: ALU_PUSH_BEFORE
      9 ; CHECK: END_LOOP
     10 ; CHECK: END_LOOP
     11 define void @main (<4 x float> inreg %reg0) #0 {
     12 entry:
     13   br label %outer_loop
     14 outer_loop:
     15   %cnt = phi i32 [0, %entry], [%cnt_incr, %inner_loop]
     16   %cond = icmp eq i32 %cnt, 16
     17   br i1 %cond, label %outer_loop_body, label %exit
     18 outer_loop_body:
     19   %cnt_incr = add i32 %cnt, 1
     20   br label %inner_loop
     21 inner_loop:
     22   %cnt2 = phi i32 [0, %outer_loop_body], [%cnt2_incr, %inner_loop_body]
     23   %cond2 = icmp eq i32 %cnt2, 16
     24   br i1 %cond, label %inner_loop_body, label %outer_loop
     25 inner_loop_body:
     26   %cnt2_incr = add i32 %cnt2, 1
     27   br label %inner_loop
     28 exit:
     29   ret void
     30 }
     31 
     32 attributes #0 = { "ShaderType"="0" }