# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z10 -start-before=greedy %s -o - \
# RUN:   | FileCheck %s
--- |
  define void @f0(double* %ptr1, float* %ptr2) {
    %val0 = load volatile float, float* %ptr2
    %val1 = load volatile float, float* %ptr2
    %val2 = load volatile float, float* %ptr2
    %val3 = load volatile float, float* %ptr2
    %val4 = load volatile float, float* %ptr2
    %val5 = load volatile float, float* %ptr2
    %val6 = load volatile float, float* %ptr2
    %val7 = load volatile float, float* %ptr2
    %val8 = load volatile float, float* %ptr2
    %val9 = load volatile float, float* %ptr2
    %val10 = load volatile float, float* %ptr2
    %val11 = load volatile float, float* %ptr2
    %val12 = load volatile float, float* %ptr2
    %val13 = load volatile float, float* %ptr2
    %val14 = load volatile float, float* %ptr2
    %val15 = load volatile float, float* %ptr2
    %val16 = load volatile float, float* %ptr2
    %ext0 = fpext float %val0 to double
    %ext1 = fpext float %val1 to double
    %ext2 = fpext float %val2 to double
    %ext3 = fpext float %val3 to double
    %ext4 = fpext float %val4 to double
    %ext5 = fpext float %val5 to double
    %ext6 = fpext float %val6 to double
    %ext7 = fpext float %val7 to double
    %ext8 = fpext float %val8 to double
    %ext9 = fpext float %val9 to double
    %ext10 = fpext float %val10 to double
    %ext11 = fpext float %val11 to double
    %ext12 = fpext float %val12 to double
    %ext13 = fpext float %val13 to double
    %ext14 = fpext float %val14 to double
    %ext15 = fpext float %val15 to double
    %ext16 = fpext float %val16 to double
    store volatile float %val0, float* %ptr2
    store volatile float %val1, float* %ptr2
    store volatile float %val2, float* %ptr2
    store volatile float %val3, float* %ptr2
    store volatile float %val4, float* %ptr2
    store volatile float %val5, float* %ptr2
    store volatile float %val6, float* %ptr2
    store volatile float %val7, float* %ptr2
    store volatile float %val8, float* %ptr2
    store volatile float %val9, float* %ptr2
    store volatile float %val10, float* %ptr2
    store volatile float %val11, float* %ptr2
    store volatile float %val12, float* %ptr2
    store volatile float %val13, float* %ptr2
    store volatile float %val14, float* %ptr2
    store volatile float %val15, float* %ptr2
    store volatile float %val16, float* %ptr2
    store volatile double %ext0, double* %ptr1
    store volatile double %ext1, double* %ptr1
    store volatile double %ext2, double* %ptr1
    store volatile double %ext3, double* %ptr1
    store volatile double %ext4, double* %ptr1
    store volatile double %ext5, double* %ptr1
    store volatile double %ext6, double* %ptr1
    store volatile double %ext7, double* %ptr1
    store volatile double %ext8, double* %ptr1
    store volatile double %ext9, double* %ptr1
    store volatile double %ext10, double* %ptr1
    store volatile double %ext11, double* %ptr1
    store volatile double %ext12, double* %ptr1
    store volatile double %ext13, double* %ptr1
    store volatile double %ext14, double* %ptr1
    store volatile double %ext15, double* %ptr1
    store volatile double %ext16, double* %ptr1
    ret void
  }
  
...

# CHECK-LABEL: f0:
# CHECK: ldeb {{%f[0-9]+}}, 16{{[04]}}(%r15)
# CHECK: br %r14

---
name:            f0
alignment:       2
tracksRegLiveness: true
registers:       
  - { id: 0, class: addr64bit }
  - { id: 1, class: addr64bit }
  - { id: 2, class: fp32bit }
  - { id: 3, class: fp32bit }
  - { id: 4, class: fp32bit }
  - { id: 5, class: fp32bit }
  - { id: 6, class: fp32bit }
  - { id: 7, class: fp32bit }
  - { id: 8, class: fp32bit }
  - { id: 9, class: fp32bit }
  - { id: 10, class: fp32bit }
  - { id: 11, class: fp32bit }
  - { id: 12, class: fp32bit }
  - { id: 13, class: fp32bit }
  - { id: 14, class: fp32bit }
  - { id: 15, class: fp32bit }
  - { id: 16, class: fp32bit }
  - { id: 17, class: fp32bit }
  - { id: 18, class: fp32bit }
  - { id: 19, class: fp64bit }
  - { id: 20, class: fp64bit }
  - { id: 21, class: fp64bit }
  - { id: 22, class: fp64bit }
  - { id: 23, class: fp64bit }
  - { id: 24, class: fp64bit }
  - { id: 25, class: fp64bit }
  - { id: 26, class: fp64bit }
  - { id: 27, class: fp64bit }
  - { id: 28, class: fp64bit }
  - { id: 29, class: fp64bit }
  - { id: 30, class: fp64bit }
  - { id: 31, class: fp64bit }
  - { id: 32, class: fp64bit }
  - { id: 33, class: fp64bit }
  - { id: 34, class: fp64bit }
  - { id: 35, class: fp64bit }
liveins:         
  - { reg: '%r2d', virtual-reg: '%0' }
  - { reg: '%r3d', virtual-reg: '%1' }
body:             |
  bb.0 (%ir-block.0):
    liveins: %r2d, %r3d
  
    %1 = COPY %r3d
    %0 = COPY %r2d
    %2 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %3 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %4 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %5 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %6 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %7 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %8 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %9 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %10 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %11 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %12 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %13 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %14 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %15 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %16 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %17 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    %18 = LE %1, 0, _ :: (volatile load 4 from %ir.ptr2)
    STE %2, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %3, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %4, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %5, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %6, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %7, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %8, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %9, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %10, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %11, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %12, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %13, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %14, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %15, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %16, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %17, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    STE %18, %1, 0, _ :: (volatile store 4 into %ir.ptr2)
    %19 = LDEBR %2
    STD %19, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %20 = LDEBR %3
    STD %20, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %21 = LDEBR %4
    STD %21, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %22 = LDEBR %5
    STD %22, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %23 = LDEBR %6
    STD %23, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %24 = LDEBR %7
    STD %24, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %25 = LDEBR %8
    STD %25, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %26 = LDEBR %9
    STD %26, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %27 = LDEBR %10
    STD %27, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %28 = LDEBR %11
    STD %28, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %29 = LDEBR %12
    STD %29, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %30 = LDEBR %13
    STD %30, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %31 = LDEBR %14
    STD %31, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %32 = LDEBR %15
    STD %32, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %33 = LDEBR %16
    STD %33, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %34 = LDEBR %17
    STD %34, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    %35 = LDEBR %18
    STD %35, %0, 0, _ :: (volatile store 8 into %ir.ptr1)
    Return

...
