1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -march=r600 -mcpu=cypress -start-after safe-stack | FileCheck %s
5 define amdgpu_kernel void @test(ptr addrspace(1) %out) {
7 ; CHECK: ; %bb.0: ; %bb
8 ; CHECK-NEXT: ALU 4, @6, KC0[CB0:0-32], KC1[]
9 ; CHECK-NEXT: MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 0
10 ; CHECK-NEXT: ALU 3, @11, KC0[], KC1[]
11 ; CHECK-NEXT: MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 1
14 ; CHECK-NEXT: ALU clause starting at 6:
15 ; CHECK-NEXT: MOV T0.X, literal.x,
16 ; CHECK-NEXT: MOV T0.Y, 0.0,
17 ; CHECK-NEXT: LSHR * T1.X, KC0[2].Y, literal.x,
18 ; CHECK-NEXT: 2(2.802597e-45), 0(0.000000e+00)
19 ; CHECK-NEXT: MOV * T0.W, KC0[2].Y,
20 ; CHECK-NEXT: ALU clause starting at 11:
21 ; CHECK-NEXT: MOV T0.X, literal.x,
22 ; CHECK-NEXT: MOV T0.Y, 0.0,
23 ; CHECK-NEXT: LSHR * T1.X, T0.W, literal.y,
24 ; CHECK-NEXT: 4(5.605194e-45), 2(2.802597e-45)
26 store i64 2, ptr addrspace(1) %out
27 %tmp = load i64, ptr addrspace(1) %out
31 %tmp1 = icmp ugt i64 %tmp, 4
32 %umax = select i1 %tmp1, i64 %tmp, i64 4
33 store i64 %umax, ptr addrspace(1) %out