xref: /aosp_15_r20/external/llvm/test/CodeGen/AMDGPU/vselect64.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck  %s
2*9880d681SAndroid Build Coastguard Worker; XXX: Merge this test into vselect.ll once SI supports 64-bit select.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: {{^}}test_select_v4i64:
5*9880d681SAndroid Build Coastguard Worker; Make sure the vectors aren't being stored on the stack.  We know they are
6*9880d681SAndroid Build Coastguard Worker; being stored on the stack if the shaders uses at leat 10 registers.
7*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: {{\**}} MOV T{{[0-9][0-9]}}.X
8*9880d681SAndroid Build Coastguard Workerdefine void @test_select_v4i64(<4 x i64> addrspace(1)* %out, <4 x i32> %c) {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker       %cmp = icmp ne  <4 x i32> %c, <i32 0, i32 0, i32 0, i32 0>
11*9880d681SAndroid Build Coastguard Worker       %result = select <4 x i1> %cmp, <4 x i64> <i64 0, i64 1, i64 2, i64 3>, <4 x i64> <i64 4, i64 5, i64 6, i64 7>
12*9880d681SAndroid Build Coastguard Worker       store <4 x i64> %result, <4 x i64> addrspace(1)* %out
13*9880d681SAndroid Build Coastguard Worker       ret void
14*9880d681SAndroid Build Coastguard Worker}
15*9880d681SAndroid Build Coastguard Worker
16