[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / r600-legalize-umax-bug.ll
blobf3a785db0b2b4fe1f3a146dacb165eca732feb1b
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
3 ; Don't crash
5 define amdgpu_kernel void @test(ptr addrspace(1) %out) {
6 ; CHECK-LABEL: test:
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
12 ; CHECK-NEXT:    CF_END
13 ; CHECK-NEXT:    PAD
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)
25 bb:
26   store i64 2, ptr addrspace(1) %out
27   %tmp = load i64, ptr addrspace(1) %out
28   br label %jump
30 jump:                                             ; preds = %bb
31   %tmp1 = icmp ugt i64 %tmp, 4
32   %umax = select i1 %tmp1, i64 %tmp, i64 4
33   store i64 %umax, ptr addrspace(1) %out
34   ret void