llvm-ar: Clean up memory management with OwningPtr.
[oota-llvm.git] / test / CodeGen / R600 / vtx-schedule.ll
1 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
2
3 ; This test is for a scheduler bug where VTX_READ instructions that used
4 ; the result of another VTX_READ instruction were being grouped in the
5 ; same fetch clasue.
6
7 ; CHECK: @test
8 ; CHECK: Fetch clause
9 ; CHECK_VTX_READ_32 [[IN0:T[0-9]+\.X]], [[IN0]], 40
10 ; CHECK_VTX_READ_32 [[IN1:T[0-9]+\.X]], [[IN1]], 44
11 ; CHECK: Fetch clause
12 ; CHECK_VTX_READ_32 [[IN0:T[0-9]+\.X]], [[IN0]], 0
13 ; CHECK_VTX_READ_32 [[IN1:T[0-9]+\.X]], [[IN1]], 0
14 define void @test(i32 addrspace(1)* nocapture %out, i32 addrspace(1)* nocapture %in0, i32 addrspace(1)* nocapture %in1) {
15 entry:
16   %0 = load i32 addrspace(1)* %in0, align 4
17   %1 = load i32 addrspace(1)* %in1, align 4
18   %cmp.i = icmp slt i32 %0, %1
19   %cond.i = select i1 %cmp.i, i32 %0, i32 %1
20   store i32 %cond.i, i32 addrspace(1)* %out, align 4
21   ret void
22 }