1 ; Test the padding of unextended integer stack parameters. These are used 2 ; to pass structures. 3 ; 4 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s 5 6 define i8 @f1(i8 %a, i8 %b, i8 %c, i8 %d, i8 %e, i8 %f, i8 %g) { 7 ; CHECK-LABEL: f1: 8 ; CHECK: ar %r2, %r3 9 ; CHECK: ar %r2, %r4 10 ; CHECK: ar %r2, %r5 11 ; CHECK: ar %r2, %r6 12 ; CHECK: lb {{%r[0-5]}}, 167(%r15) 13 ; CHECK: lb {{%r[0-5]}}, 175(%r15) 14 ; CHECK: br %r14 15 %addb = add i8 %a, %b 16 %addc = add i8 %addb, %c 17 %addd = add i8 %addc, %d 18 %adde = add i8 %addd, %e 19 %addf = add i8 %adde, %f 20 %addg = add i8 %addf, %g 21 ret i8 %addg 22 } 23 24 define i16 @f2(i16 %a, i16 %b, i16 %c, i16 %d, i16 %e, i16 %f, i16 %g) { 25 ; CHECK-LABEL: f2: 26 ; CHECK: ar %r2, %r3 27 ; CHECK: ar %r2, %r4 28 ; CHECK: ar %r2, %r5 29 ; CHECK: ar %r2, %r6 30 ; CHECK: lh {{%r[0-5]}}, 166(%r15) 31 ; CHECK: lh {{%r[0-5]}}, 174(%r15) 32 ; CHECK: br %r14 33 %addb = add i16 %a, %b 34 %addc = add i16 %addb, %c 35 %addd = add i16 %addc, %d 36 %adde = add i16 %addd, %e 37 %addf = add i16 %adde, %f 38 %addg = add i16 %addf, %g 39 ret i16 %addg 40 } 41 42 define i32 @f3(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g) { 43 ; CHECK-LABEL: f3: 44 ; CHECK: ar %r2, %r3 45 ; CHECK: ar %r2, %r4 46 ; CHECK: ar %r2, %r5 47 ; CHECK: ar %r2, %r6 48 ; CHECK: a %r2, 164(%r15) 49 ; CHECK: a %r2, 172(%r15) 50 ; CHECK: br %r14 51 %addb = add i32 %a, %b 52 %addc = add i32 %addb, %c 53 %addd = add i32 %addc, %d 54 %adde = add i32 %addd, %e 55 %addf = add i32 %adde, %f 56 %addg = add i32 %addf, %g 57 ret i32 %addg 58 } 59 60 define i64 @f4(i64 %a, i64 %b, i64 %c, i64 %d, i64 %e, i64 %f, i64 %g) { 61 ; CHECK-LABEL: f4: 62 ; CHECK: agr %r2, %r3 63 ; CHECK: agr %r2, %r4 64 ; CHECK: agr %r2, %r5 65 ; CHECK: agr %r2, %r6 66 ; CHECK: ag %r2, 160(%r15) 67 ; CHECK: ag %r2, 168(%r15) 68 ; CHECK: br %r14 69 %addb = add i64 %a, %b 70 %addc = add i64 %addb, %c 71 %addd = add i64 %addc, %d 72 %adde = add i64 %addd, %e 73 %addf = add i64 %adde, %f 74 %addg = add i64 %addf, %g 75 ret i64 %addg 76 } 77