[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / call-constant.ll
blob19aadfc96ad131d5d95e57e9ab60529d207eb0f9
1 ; RUN: llc -mtriple=amdgcn-amd-amdhsa < %s | FileCheck -check-prefix=GCN %s
3 ; FIXME: Emitting unnecessary flat_scratch setup
5 ; GCN-LABEL: {{^}}test_call_undef:
6 ; GCN: s_mov_b32 s8, s7
7 ; GCN: s_mov_b32 flat_scratch_lo, s5
8 ; GCN: s_add_u32 s4, s4, s8
9 ; GCN: s_lshr_b32
10 ; GCN: s_endpgm
11 define amdgpu_kernel void @test_call_undef() #0 {
12   %val = call i32 undef(i32 1)
13   %op = add i32 %val, 1
14   store volatile i32 %op, i32 addrspace(1)* undef
15   ret void
18 ; GCN-LABEL: {{^}}test_tail_call_undef:
19 ; GCN: s_waitcnt
20 ; GCN-NEXT: .Lfunc_end
21 define i32 @test_tail_call_undef() #0 {
22   %call = tail call i32 undef(i32 1)
23   ret i32 %call
26 ; GCN-LABEL: {{^}}test_call_null:
27 ; GCN: s_mov_b32 s8, s7
28 ; GCN: s_mov_b32 flat_scratch_lo, s5
29 ; GCN: s_add_u32 s4, s4, s8
30 ; GCN: s_lshr_b32
31 ; GCN: s_endpgm
32 define amdgpu_kernel void @test_call_null() #0 {
33   %val = call i32 null(i32 1)
34   %op = add i32 %val, 1
35   store volatile i32 %op, i32 addrspace(1)* null
36   ret void
39 ; GCN-LABEL: {{^}}test_tail_call_null:
40 ; GCN: s_waitcnt
41 ; GCN-NEXT: .Lfunc_end
42 define i32 @test_tail_call_null() #0 {
43   %call = tail call i32 null(i32 1)
44   ret i32 %call