Tom Stellard | 1b086cb | 2013-05-23 18:26:42 +0000 | [diff] [blame] | 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 | } |