[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / SystemZ / dyn-alloca-offset.ll
blobb9997ac0ec9eacd17a6e23a9080fe25b75b7b76b
1 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
3 declare i64 @llvm.get.dynamic.area.offset.i64()
5 declare void @use(i64)
7 define void @f1() {
8 ; CHECK-LABEL: f1
9 ; CHECK: la %r2, 160
10 ; CHECK: brasl %r14, use
11 ; CHECK: br %r14
12   %tmp = alloca i64, align 32
13   %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()
14   call void @use(i64 %dynamic_area_offset)
15   ret void
18 define void @f2(i64 %arg) {
19 ; CHECK-LABEL: f2
20 ; CHECK: la %r2, 160(%r2)
21 ; CHECK: brasl %r14, use
22 ; CHECK: br %r14
23   %tmp = alloca i64, align 32
24   %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()
25   %param = add i64 %dynamic_area_offset, %arg
26   call void @use(i64 %param)
27   ret void
30 declare void @eatsalot(i64, i64, i64, i64, i64, i64)
32 define void @f3() {
33 ; CHECK-LABEL: f3
34 ; CHECK: la %r2, 168
35 ; CHECK: brasl %r14, use
36 ; CHECK: br %r14
37   %tmp = alloca i64, align 32
38   call void @eatsalot(i64 0, i64 0, i64 0, i64 0, i64 0, i64 0)
39   %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()
40   call void @use(i64 %dynamic_area_offset)
41   ret void