[X86] combineTargetShuffle - commute VPERMV3 shuffles so any load is on the RHS
[llvm-project.git] / llvm / test / CodeGen / SystemZ / frame-23.ll
blobe1c8b2b05c9465255c730a181549f91a89dc088a
1 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
3 ; Test backchain with packed-stack, which requires soft-float.
5 attributes #0 = { nounwind "backchain" "packed-stack" "use-soft-float"="true" }
6 define i64 @fun0(i64 %a) #0 {
7 ; CHECK-LABEL: fun0:
8 ; CHECK:      stmg      %r14, %r15, 136(%r15)
9 ; CHECK-NEXT: lgr       %r1, %r15
10 ; CHECK-NEXT: aghi      %r15, -24
11 ; CHECK-NEXT: stg       %r1, 152(%r15)
12 ; CHECK-NEXT: brasl     %r14, foo@PLT
13 ; CHECK-NEXT: lmg       %r14, %r15, 160(%r15)
14 ; CHECK-NEXT: br        %r14
15 entry:
16   %call = call i64 @foo(i64 %a)
17   ret i64 %call
20 declare i64 @foo(i64)