• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
13define amdgpu_kernel void @test(i32 addrspace(1)* %out, i32 addrspace(1)* %in, i32 %cond) {
14entry:
15  %0 = icmp eq i32 %cond, 0
16  br i1 %0, label %endif, label %if
17
18if:
19  %1 = load i32, i32 addrspace(1)* %in
20  br label %endif
21
22endif:
23  %x = phi i32 [ %1, %if], [ 0, %entry]
24  store i32 %x, i32 addrspace(1)* %out
25  br label %done
26
27done:
28  ret void
29}
30