xref: /aosp_15_r20/external/llvm/test/CodeGen/AMDGPU/vtx-schedule.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; This test is for a scheduler bug where VTX_READ instructions that used
4*9880d681SAndroid Build Coastguard Worker; the result of another VTX_READ instruction were being grouped in the
5*9880d681SAndroid Build Coastguard Worker; same fetch clasue.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; CHECK: {{^}}test:
8*9880d681SAndroid Build Coastguard Worker; CHECK: Fetch clause
9*9880d681SAndroid Build Coastguard Worker; CHECK: VTX_READ_32 [[IN0:T[0-9]+\.X]], [[IN0]], 0
10*9880d681SAndroid Build Coastguard Worker; CHECK: Fetch clause
11*9880d681SAndroid Build Coastguard Worker; CHECK: VTX_READ_32 [[IN1:T[0-9]+\.X]], [[IN1]], 0
12*9880d681SAndroid Build Coastguard Workerdefine void @test(i32 addrspace(1)* nocapture %out, i32 addrspace(1)* addrspace(1)* nocapture %in0) {
13*9880d681SAndroid Build Coastguard Workerentry:
14*9880d681SAndroid Build Coastguard Worker  %0 = load i32 addrspace(1)*, i32 addrspace(1)* addrspace(1)* %in0
15*9880d681SAndroid Build Coastguard Worker  %1 = load i32, i32 addrspace(1)* %0
16*9880d681SAndroid Build Coastguard Worker  store i32 %1, i32 addrspace(1)* %out
17*9880d681SAndroid Build Coastguard Worker  ret void
18*9880d681SAndroid Build Coastguard Worker}
19