[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / early-inline.ll
blobeb533048e8d2db61dba3efa588579ff6c6b6a959
1 ; RUN: opt -mtriple=amdgcn-- -O1 -S -inline-threshold=1 -amdgpu-early-inline-all %s | FileCheck %s
3 @c_alias = alias i32 (i32), i32 (i32)* @callee
5 define i32 @callee(i32 %x) {
6 entry:
7   %mul1 = mul i32 %x, %x
8   %mul2 = mul i32 %mul1, %x
9   %mul3 = mul i32 %mul1, %mul2
10   %mul4 = mul i32 %mul3, %mul2
11   %mul5 = mul i32 %mul4, %mul3
12   ret i32 %mul5
15 ; CHECK-LABEL: @caller
16 ; CHECK: mul i32
17 ; CHECK-NOT: call i32
19 define amdgpu_kernel void @caller(i32 %x) {
20 entry:
21   %res = call i32 @callee(i32 %x)
22   store volatile i32 %res, i32 addrspace(1)* undef
23   ret void
26 ; CHECK-LABEL: @alias_caller(
27 ; CHECK-NOT: call
28 define amdgpu_kernel void @alias_caller(i32 %x) {
29 entry:
30   %res = call i32 @c_alias(i32 %x)
31   store volatile i32 %res, i32 addrspace(1)* undef
32   ret void