# 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(i32* nocapture %x, i32 %y, i32 %z) {
  entry:
    ret void
  }

  define void @b(i32* 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: t2STRi12 %1,
    ; CHECK-NEXT: t2STRi12 killed %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: t2STRi12 killed %12,
    ; CHECK-NEXT: t2STRi12 killed %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:      t2STRi12 {{.*}}, 0
    ; CHECK-LIMIT-NEXT: t2STRi12 {{.*}}, 4
    ; 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: t2STRi12 {{.*}}, 16
    ; CHECK-NEXT: t2STRi12 {{.*}}, 20

    tBX_RET 14, $noreg

...
