# RUN: llc -run-pass arm-prera-ldst-opt %s -o - | FileCheck %s
# RUN: llc -run-pass arm-prera-ldst-opt -arm-prera-ldst-opt-reorder-limit=3 %s -o - | FileCheck %s
# RUN: llc -run-pass arm-prera-ldst-opt -arm-prera-ldst-opt-reorder-limit=2 %s -o - | FileCheck %s --check-prefix=CHECK-LIMIT
--- |
  target triple = "thumbv7---eabi"

  define void @a(ptr nocapture %x, i32 %y, i32 %z) {
  entry:
    ret void
  }

  define void @b(ptr nocapture %x, i32 %y, i32 %z) {
  entry:
    ret void
  }
...
---
# CHECK-LABEL: name: a
name:            a
alignment:       2
tracksRegLiveness: true
liveins:
  - { reg: '$r0', virtual-reg: '%0' }
  - { reg: '$r1', virtual-reg: '%1' }
  - { reg: '$r2', virtual-reg: '%2' }
body:             |
  bb.0.entry:
    liveins: $r0, $r1, $r2

    %2 : rgpr = COPY $r2
    %1 : rgpr = COPY $r1
    %0 : gpr = COPY $r0
    %3 : rgpr = t2MUL %2, %2, 14, $noreg
    %4 : rgpr = t2MUL %1, %1, 14, $noreg
    %5 : rgpr = t2MOVi32imm -858993459
    %6 : rgpr, %7 : rgpr  = t2UMULL killed %3, %5, 14, $noreg
    %8 : rgpr, %9 : rgpr  = t2UMULL killed %4, %5, 14, $noreg
    t2STRi12 %1, %0, 0, 14, $noreg :: (store (s32))
    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg
    t2STRi12 killed %10, %0, 4, 14, $noreg :: (store (s32))

    ; Make sure we move the paired stores next to each other, and
    ; insert them in an appropriate location.
    ; CHECK: t2STRDi8 %1, %10,
    ; CHECK-NEXT: t2MOVi
    ; CHECK-NEXT: t2ADDrs

    %11 : rgpr = t2MOVi 55, 14, $noreg, $noreg
    %12 : gprnopc = t2ADDrs %11, killed %7, 19, 14, $noreg, $noreg
    t2STRi12 killed %12, %0, 16, 14, $noreg :: (store (s32))
    %13 : gprnopc = t2ADDrs %11, killed %9, 19, 14, $noreg, $noreg
    t2STRi12 killed %13, %0, 20, 14, $noreg :: (store (s32))

    ; Make sure we move the paired stores next to each other.
    ; CHECK: t2STRDi8 %12, %13,

    tBX_RET 14, $noreg
---
# CHECK-LABEL: name: b
name:            b
alignment:       2
tracksRegLiveness: true
liveins:
  - { reg: '$r0', virtual-reg: '%0' }
  - { reg: '$r1', virtual-reg: '%1' }
  - { reg: '$r2', virtual-reg: '%2' }
body:             |
  bb.0.entry:
    liveins: $r0, $r1, $r2

    %2 : rgpr = COPY $r2
    %1 : rgpr = COPY $r1
    %0 : gpr = COPY $r0
    t2STRi12 %1, %0, 0, 14, $noreg :: (store (s32))
    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg
    t2STRi12 killed %10, %0, 4, 14, $noreg :: (store (s32))
    %3 : rgpr = t2MUL %2, %2, 14, $noreg
    t2STRi12 %3, %0, 8, 14, $noreg :: (store (s32))

    ; Make sure we move the paired stores next to each other, and
    ; insert them in an appropriate location.
    ; CHECK:      t2STRi12 {{.*}}, 0
    ; CHECK-NEXT: t2STRi12 {{.*}}, 4
    ; CHECK-NEXT: t2STRi12 {{.*}}, 8
    ; CHECK-NEXT: t2MUL
    ; CHECK-NEXT: t2MOVi32imm

    ; CHECK-LIMIT-LABEL: name: b
    ; CHECK-LIMIT:      t2STRDi8 {{.*}}, {{.*}}, {{.*}}, 0
    ; CHECK-LIMIT-NEXT: t2MUL
    ; CHECK-LIMIT-NEXT: t2STRi12 {{.*}}, 8

    %4 : rgpr = t2MUL %1, %1, 14, $noreg
    %5 : rgpr = t2MOVi32imm -858993459
    %6 : rgpr, %7 : rgpr  = t2UMULL killed %3, %5, 14, $noreg
    %8 : rgpr, %9 : rgpr  = t2UMULL killed %4, %5, 14, $noreg
    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg
    %11 : rgpr = t2MOVi 55, 14, $noreg, $noreg
    %12 : gprnopc = t2ADDrs %11, killed %7, 19, 14, $noreg, $noreg
    t2STRi12 killed %12, %0, 16, 14, $noreg :: (store (s32))
    %13 : gprnopc = t2ADDrs %11, killed %9, 19, 14, $noreg, $noreg
    t2STRi12 killed %13, %0, 20, 14, $noreg :: (store (s32))

    ; Make sure we move the paired stores next to each other.
    ; CHECK: t2STRDi8 %12, %13, %0, 16

    tBX_RET 14, $noreg

...
