Home | History | Annotate | Download | only in R600
      1 ; RUN: llc -march=r600 -mcpu=redwood %s -o - | FileCheck %s
      2 
      3 ; This tests for a bug where vertex fetch clauses right before an ENDIF
      4 ; instruction where being emitted after the ENDIF.  We were using ALU_POP_AFTER
      5 ; for the ALU clause before the vetex fetch instead of emitting a POP instruction
      6 ; after the fetch clause.
      7 
      8 
      9 ; CHECK-LABEL: {{^}}test:
     10 ; CHECK-NOT: ALU_POP_AFTER
     11 ; CHECK: TEX
     12 ; CHECK-NEXT: POP
     13 define void @test(i32 addrspace(1)* %out, i32 addrspace(1)* %in, i32 %cond) {
     14 entry:
     15   %0 = icmp eq i32 %cond, 0
     16   br i1 %0, label %endif, label %if
     17 
     18 if:
     19   %1 = load i32, i32 addrspace(1)* %in
     20   br label %endif
     21 
     22 endif:
     23   %x = phi i32 [ %1, %if], [ 0, %entry]
     24   store i32 %x, i32 addrspace(1)* %out
     25   br label %done
     26 
     27 done:
     28   ret void
     29 }
     30