; Test spilling using MVC.  The tests here assume z10 register pressure,
; without the high words being available.
;
; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | FileCheck %s

declare void @foo()

@g0 = global i32 0
@g1 = global i32 1
@g2 = global i32 2
@g3 = global i32 3
@g4 = global i32 4
@g5 = global i32 5
@g6 = global i32 6
@g7 = global i32 7
@g8 = global i32 8
@g9 = global i32 9

@h0 = global i64 0
@h1 = global i64 1
@h2 = global i64 2
@h3 = global i64 3
@h4 = global i64 4
@h5 = global i64 5
@h6 = global i64 6
@h7 = global i64 7
@h8 = global i64 8
@h9 = global i64 9

; This function shouldn't spill anything
define void @f1(i32 *%ptr0) {
; CHECK-LABEL: f1:
; CHECK: stmg
; CHECK: aghi %r15, -160
; CHECK-NOT: %r15
; CHECK: brasl %r14, foo@PLT
; CHECK-NOT: %r15
; CHECK: lmg
; CHECK: br %r14
  %ptr1 = getelementptr i32, i32 *%ptr0, i32 2
  %ptr2 = getelementptr i32, i32 *%ptr0, i32 4
  %ptr3 = getelementptr i32, i32 *%ptr0, i32 6
  %ptr4 = getelementptr i32, i32 *%ptr0, i32 8
  %ptr5 = getelementptr i32, i32 *%ptr0, i32 10
  %ptr6 = getelementptr i32, i32 *%ptr0, i32 12

  %val0 = load i32 , i32 *%ptr0
  %val1 = load i32 , i32 *%ptr1
  %val2 = load i32 , i32 *%ptr2
  %val3 = load i32 , i32 *%ptr3
  %val4 = load i32 , i32 *%ptr4
  %val5 = load i32 , i32 *%ptr5
  %val6 = load i32 , i32 *%ptr6

  call void @foo()

  store i32 %val0, i32 *%ptr0
  store i32 %val1, i32 *%ptr1
  store i32 %val2, i32 *%ptr2
  store i32 %val3, i32 *%ptr3
  store i32 %val4, i32 *%ptr4
  store i32 %val5, i32 *%ptr5
  store i32 %val6, i32 *%ptr6

  ret void
}

; Test a case where at least one i32 load and at least one i32 store
; need spills.
define void @f2(i32 *%ptr0) {
; CHECK-LABEL: f2:
; CHECK: mvc [[OFFSET1:16[04]]](4,%r15), [[OFFSET2:[0-9]+]]({{%r[0-9]+}})
; CHECK: brasl %r14, foo@PLT
; CHECK: mvc [[OFFSET2]](4,{{%r[0-9]+}}), [[OFFSET1]](%r15)
; CHECK: br %r14
  %ptr1 = getelementptr i32, i32 *%ptr0, i64 2
  %ptr2 = getelementptr i32, i32 *%ptr0, i64 4
  %ptr3 = getelementptr i32, i32 *%ptr0, i64 6
  %ptr4 = getelementptr i32, i32 *%ptr0, i64 8
  %ptr5 = getelementptr i32, i32 *%ptr0, i64 10
  %ptr6 = getelementptr i32, i32 *%ptr0, i64 12
  %ptr7 = getelementptr i32, i32 *%ptr0, i64 14
  %ptr8 = getelementptr i32, i32 *%ptr0, i64 16

  %val0 = load i32 , i32 *%ptr0
  %val1 = load i32 , i32 *%ptr1
  %val2 = load i32 , i32 *%ptr2
  %val3 = load i32 , i32 *%ptr3
  %val4 = load i32 , i32 *%ptr4
  %val5 = load i32 , i32 *%ptr5
  %val6 = load i32 , i32 *%ptr6
  %val7 = load i32 , i32 *%ptr7
  %val8 = load i32 , i32 *%ptr8

  call void @foo()

  store i32 %val0, i32 *%ptr0
  store i32 %val1, i32 *%ptr1
  store i32 %val2, i32 *%ptr2
  store i32 %val3, i32 *%ptr3
  store i32 %val4, i32 *%ptr4
  store i32 %val5, i32 *%ptr5
  store i32 %val6, i32 *%ptr6
  store i32 %val7, i32 *%ptr7
  store i32 %val8, i32 *%ptr8

  ret void
}

; Test a case where at least one i64 load and at least one i64 store
; need spills.
define void @f3(i64 *%ptr0) {
; CHECK-LABEL: f3:
; CHECK: mvc 160(8,%r15), [[OFFSET:[0-9]+]]({{%r[0-9]+}})
; CHECK: brasl %r14, foo@PLT
; CHECK: mvc [[OFFSET]](8,{{%r[0-9]+}}), 160(%r15)
; CHECK: br %r14
  %ptr1 = getelementptr i64, i64 *%ptr0, i64 2
  %ptr2 = getelementptr i64, i64 *%ptr0, i64 4
  %ptr3 = getelementptr i64, i64 *%ptr0, i64 6
  %ptr4 = getelementptr i64, i64 *%ptr0, i64 8
  %ptr5 = getelementptr i64, i64 *%ptr0, i64 10
  %ptr6 = getelementptr i64, i64 *%ptr0, i64 12
  %ptr7 = getelementptr i64, i64 *%ptr0, i64 14
  %ptr8 = getelementptr i64, i64 *%ptr0, i64 16

  %val0 = load i64 , i64 *%ptr0
  %val1 = load i64 , i64 *%ptr1
  %val2 = load i64 , i64 *%ptr2
  %val3 = load i64 , i64 *%ptr3
  %val4 = load i64 , i64 *%ptr4
  %val5 = load i64 , i64 *%ptr5
  %val6 = load i64 , i64 *%ptr6
  %val7 = load i64 , i64 *%ptr7
  %val8 = load i64 , i64 *%ptr8

  call void @foo()

  store i64 %val0, i64 *%ptr0
  store i64 %val1, i64 *%ptr1
  store i64 %val2, i64 *%ptr2
  store i64 %val3, i64 *%ptr3
  store i64 %val4, i64 *%ptr4
  store i64 %val5, i64 *%ptr5
  store i64 %val6, i64 *%ptr6
  store i64 %val7, i64 *%ptr7
  store i64 %val8, i64 *%ptr8

  ret void
}


; Test a case where at least at least one f32 load and at least one f32 store
; need spills.  The 8 call-saved FPRs could be used for 8 of the %vals
; (and are at the time of writing), but it would really be better to use
; MVC for all 10.
define void @f4(float *%ptr0) {
; CHECK-LABEL: f4:
; CHECK: mvc [[OFFSET1:16[04]]](4,%r15), [[OFFSET2:[0-9]+]]({{%r[0-9]+}})
; CHECK: brasl %r14, foo@PLT
; CHECK: mvc [[OFFSET2]](4,{{%r[0-9]+}}), [[OFFSET1]](%r15)
; CHECK: br %r14
  %ptr1 = getelementptr float, float *%ptr0, i64 2
  %ptr2 = getelementptr float, float *%ptr0, i64 4
  %ptr3 = getelementptr float, float *%ptr0, i64 6
  %ptr4 = getelementptr float, float *%ptr0, i64 8
  %ptr5 = getelementptr float, float *%ptr0, i64 10
  %ptr6 = getelementptr float, float *%ptr0, i64 12
  %ptr7 = getelementptr float, float *%ptr0, i64 14
  %ptr8 = getelementptr float, float *%ptr0, i64 16
  %ptr9 = getelementptr float, float *%ptr0, i64 18

  %val0 = load float , float *%ptr0
  %val1 = load float , float *%ptr1
  %val2 = load float , float *%ptr2
  %val3 = load float , float *%ptr3
  %val4 = load float , float *%ptr4
  %val5 = load float , float *%ptr5
  %val6 = load float , float *%ptr6
  %val7 = load float , float *%ptr7
  %val8 = load float , float *%ptr8
  %val9 = load float , float *%ptr9

  call void @foo()

  store float %val0, float *%ptr0
  store float %val1, float *%ptr1
  store float %val2, float *%ptr2
  store float %val3, float *%ptr3
  store float %val4, float *%ptr4
  store float %val5, float *%ptr5
  store float %val6, float *%ptr6
  store float %val7, float *%ptr7
  store float %val8, float *%ptr8
  store float %val9, float *%ptr9

  ret void
}

; Similarly for f64.
define void @f5(double *%ptr0) {
; CHECK-LABEL: f5:
; CHECK: mvc 160(8,%r15), [[OFFSET:[0-9]+]]({{%r[0-9]+}})
; CHECK: brasl %r14, foo@PLT
; CHECK: mvc [[OFFSET]](8,{{%r[0-9]+}}), 160(%r15)
; CHECK: br %r14
  %ptr1 = getelementptr double, double *%ptr0, i64 2
  %ptr2 = getelementptr double, double *%ptr0, i64 4
  %ptr3 = getelementptr double, double *%ptr0, i64 6
  %ptr4 = getelementptr double, double *%ptr0, i64 8
  %ptr5 = getelementptr double, double *%ptr0, i64 10
  %ptr6 = getelementptr double, double *%ptr0, i64 12
  %ptr7 = getelementptr double, double *%ptr0, i64 14
  %ptr8 = getelementptr double, double *%ptr0, i64 16
  %ptr9 = getelementptr double, double *%ptr0, i64 18

  %val0 = load double , double *%ptr0
  %val1 = load double , double *%ptr1
  %val2 = load double , double *%ptr2
  %val3 = load double , double *%ptr3
  %val4 = load double , double *%ptr4
  %val5 = load double , double *%ptr5
  %val6 = load double , double *%ptr6
  %val7 = load double , double *%ptr7
  %val8 = load double , double *%ptr8
  %val9 = load double , double *%ptr9

  call void @foo()

  store double %val0, double *%ptr0
  store double %val1, double *%ptr1
  store double %val2, double *%ptr2
  store double %val3, double *%ptr3
  store double %val4, double *%ptr4
  store double %val5, double *%ptr5
  store double %val6, double *%ptr6
  store double %val7, double *%ptr7
  store double %val8, double *%ptr8
  store double %val9, double *%ptr9

  ret void
}

; Repeat f2 with atomic accesses.  We shouldn't use MVC here.
define void @f6(i32 *%ptr0) {
; CHECK-LABEL: f6:
; CHECK-NOT: mvc
; CHECK: br %r14
  %ptr1 = getelementptr i32, i32 *%ptr0, i64 2
  %ptr2 = getelementptr i32, i32 *%ptr0, i64 4
  %ptr3 = getelementptr i32, i32 *%ptr0, i64 6
  %ptr4 = getelementptr i32, i32 *%ptr0, i64 8
  %ptr5 = getelementptr i32, i32 *%ptr0, i64 10
  %ptr6 = getelementptr i32, i32 *%ptr0, i64 12
  %ptr7 = getelementptr i32, i32 *%ptr0, i64 14
  %ptr8 = getelementptr i32, i32 *%ptr0, i64 16

  %val0 = load atomic i32 , i32 *%ptr0 unordered, align 4
  %val1 = load atomic i32 , i32 *%ptr1 unordered, align 4
  %val2 = load atomic i32 , i32 *%ptr2 unordered, align 4
  %val3 = load atomic i32 , i32 *%ptr3 unordered, align 4
  %val4 = load atomic i32 , i32 *%ptr4 unordered, align 4
  %val5 = load atomic i32 , i32 *%ptr5 unordered, align 4
  %val6 = load atomic i32 , i32 *%ptr6 unordered, align 4
  %val7 = load atomic i32 , i32 *%ptr7 unordered, align 4
  %val8 = load atomic i32 , i32 *%ptr8 unordered, align 4

  call void @foo()

  store atomic i32 %val0, i32 *%ptr0 unordered, align 4
  store atomic i32 %val1, i32 *%ptr1 unordered, align 4
  store atomic i32 %val2, i32 *%ptr2 unordered, align 4
  store atomic i32 %val3, i32 *%ptr3 unordered, align 4
  store atomic i32 %val4, i32 *%ptr4 unordered, align 4
  store atomic i32 %val5, i32 *%ptr5 unordered, align 4
  store atomic i32 %val6, i32 *%ptr6 unordered, align 4
  store atomic i32 %val7, i32 *%ptr7 unordered, align 4
  store atomic i32 %val8, i32 *%ptr8 unordered, align 4

  ret void
}

; ...likewise volatile accesses.
define void @f7(i32 *%ptr0) {
; CHECK-LABEL: f7:
; CHECK-NOT: mvc
; CHECK: br %r14
  %ptr1 = getelementptr i32, i32 *%ptr0, i64 2
  %ptr2 = getelementptr i32, i32 *%ptr0, i64 4
  %ptr3 = getelementptr i32, i32 *%ptr0, i64 6
  %ptr4 = getelementptr i32, i32 *%ptr0, i64 8
  %ptr5 = getelementptr i32, i32 *%ptr0, i64 10
  %ptr6 = getelementptr i32, i32 *%ptr0, i64 12
  %ptr7 = getelementptr i32, i32 *%ptr0, i64 14
  %ptr8 = getelementptr i32, i32 *%ptr0, i64 16

  %val0 = load volatile i32 , i32 *%ptr0
  %val1 = load volatile i32 , i32 *%ptr1
  %val2 = load volatile i32 , i32 *%ptr2
  %val3 = load volatile i32 , i32 *%ptr3
  %val4 = load volatile i32 , i32 *%ptr4
  %val5 = load volatile i32 , i32 *%ptr5
  %val6 = load volatile i32 , i32 *%ptr6
  %val7 = load volatile i32 , i32 *%ptr7
  %val8 = load volatile i32 , i32 *%ptr8

  call void @foo()

  store volatile i32 %val0, i32 *%ptr0
  store volatile i32 %val1, i32 *%ptr1
  store volatile i32 %val2, i32 *%ptr2
  store volatile i32 %val3, i32 *%ptr3
  store volatile i32 %val4, i32 *%ptr4
  store volatile i32 %val5, i32 *%ptr5
  store volatile i32 %val6, i32 *%ptr6
  store volatile i32 %val7, i32 *%ptr7
  store volatile i32 %val8, i32 *%ptr8

  ret void
}

; Check that LRL and STRL are not converted.
define void @f8() {
; CHECK-LABEL: f8:
; CHECK-NOT: mvc
; CHECK: br %r14
  %val0 = load i32 , i32 *@g0
  %val1 = load i32 , i32 *@g1
  %val2 = load i32 , i32 *@g2
  %val3 = load i32 , i32 *@g3
  %val4 = load i32 , i32 *@g4
  %val5 = load i32 , i32 *@g5
  %val6 = load i32 , i32 *@g6
  %val7 = load i32 , i32 *@g7
  %val8 = load i32 , i32 *@g8
  %val9 = load i32 , i32 *@g9

  call void @foo()

  store i32 %val0, i32 *@g0
  store i32 %val1, i32 *@g1
  store i32 %val2, i32 *@g2
  store i32 %val3, i32 *@g3
  store i32 %val4, i32 *@g4
  store i32 %val5, i32 *@g5
  store i32 %val6, i32 *@g6
  store i32 %val7, i32 *@g7
  store i32 %val8, i32 *@g8
  store i32 %val9, i32 *@g9

  ret void
}

; Likewise LGRL and STGRL.
define void @f9() {
; CHECK-LABEL: f9:
; CHECK-NOT: mvc
; CHECK: br %r14
  %val0 = load i64 , i64 *@h0
  %val1 = load i64 , i64 *@h1
  %val2 = load i64 , i64 *@h2
  %val3 = load i64 , i64 *@h3
  %val4 = load i64 , i64 *@h4
  %val5 = load i64 , i64 *@h5
  %val6 = load i64 , i64 *@h6
  %val7 = load i64 , i64 *@h7
  %val8 = load i64 , i64 *@h8
  %val9 = load i64 , i64 *@h9

  call void @foo()

  store i64 %val0, i64 *@h0
  store i64 %val1, i64 *@h1
  store i64 %val2, i64 *@h2
  store i64 %val3, i64 *@h3
  store i64 %val4, i64 *@h4
  store i64 %val5, i64 *@h5
  store i64 %val6, i64 *@h6
  store i64 %val7, i64 *@h7
  store i64 %val8, i64 *@h8
  store i64 %val9, i64 *@h9

  ret void
}

; This showed a problem with the way stack coloring updated instructions.
; The copy from %val9 to %newval8 can be done using an MVC, which then
; has two frame index operands.  Stack coloring chose a valid renumbering
; [FI0, FI1] -> [FI1, FI2], but applied it in the form FI0 -> FI1 -> FI2,
; so that both operands ended up being the same.
define void @f10() {
; CHECK-LABEL: f10:
; CHECK: lgrl [[REG:%r[0-9]+]], h9
; CHECK: stg [[REG]], [[VAL9:[0-9]+]](%r15)
; CHECK: brasl %r14, foo@PLT
; CHECK: brasl %r14, foo@PLT
; CHECK: mvc [[NEWVAL8:[0-9]+]](8,%r15), [[VAL9]](%r15)
; CHECK: brasl %r14, foo@PLT
; CHECK: lg [[REG:%r[0-9]+]], [[NEWVAL8]](%r15)
; CHECK: stgrl [[REG]], h8
; CHECK: br %r14
entry:
  %val8 = load volatile i64 , i64 *@h8
  %val0 = load volatile i64 , i64 *@h0
  %val1 = load volatile i64 , i64 *@h1
  %val2 = load volatile i64 , i64 *@h2
  %val3 = load volatile i64 , i64 *@h3
  %val4 = load volatile i64 , i64 *@h4
  %val5 = load volatile i64 , i64 *@h5
  %val6 = load volatile i64 , i64 *@h6
  %val7 = load volatile i64 , i64 *@h7
  %val9 = load volatile i64 , i64 *@h9

  call void @foo()

  store volatile i64 %val0, i64 *@h0
  store volatile i64 %val1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7

  %check = load volatile i64 , i64 *@h0
  %cond = icmp eq i64 %check, 0
  br i1 %cond, label %skip, label %fallthru

fallthru:
  call void @foo()

  store volatile i64 %val0, i64 *@h0
  store volatile i64 %val1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7
  store volatile i64 %val8, i64 *@h8
  br label %skip

skip:
  %newval8 = phi i64 [ %val8, %entry ], [ %val9, %fallthru ]
  call void @foo()

  store volatile i64 %val0, i64 *@h0
  store volatile i64 %val1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7
  store volatile i64 %newval8, i64 *@h8
  store volatile i64 %val9, i64 *@h9

  ret void
}

; This used to generate a no-op MVC.  It is very sensitive to spill heuristics.
define void @f11() {
; CHECK-LABEL: f11:
; CHECK-NOT: mvc [[OFFSET:[0-9]+]](8,%r15), [[OFFSET]](%r15)
; CHECK: br %r14
entry:
  %val0 = load volatile i64 , i64 *@h0
  %val1 = load volatile i64 , i64 *@h1
  %val2 = load volatile i64 , i64 *@h2
  %val3 = load volatile i64 , i64 *@h3
  %val4 = load volatile i64 , i64 *@h4
  %val5 = load volatile i64 , i64 *@h5
  %val6 = load volatile i64 , i64 *@h6
  %val7 = load volatile i64 , i64 *@h7

  %altval0 = load volatile i64 , i64 *@h0
  %altval1 = load volatile i64 , i64 *@h1

  call void @foo()

  store volatile i64 %val0, i64 *@h0
  store volatile i64 %val1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7

  %check = load volatile i64 , i64 *@h0
  %cond = icmp eq i64 %check, 0
  br i1 %cond, label %a1, label %b1

a1:
  call void @foo()
  br label %join1

b1:
  call void @foo()
  br label %join1

join1:
  %newval0 = phi i64 [ %val0, %a1 ], [ %altval0, %b1 ]

  call void @foo()

  store volatile i64 %val1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7
  br i1 %cond, label %a2, label %b2

a2:
  call void @foo()
  br label %join2

b2:
  call void @foo()
  br label %join2

join2:
  %newval1 = phi i64 [ %val1, %a2 ], [ %altval1, %b2 ]

  call void @foo()

  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7

  call void @foo()

  store volatile i64 %newval0, i64 *@h0
  store volatile i64 %newval1, i64 *@h1
  store volatile i64 %val2, i64 *@h2
  store volatile i64 %val3, i64 *@h3
  store volatile i64 %val4, i64 *@h4
  store volatile i64 %val5, i64 *@h5
  store volatile i64 %val6, i64 *@h6
  store volatile i64 %val7, i64 *@h7

  ret void
}
