# RUN: llc -run-pass arm-prera-ldst-opt %s -o - | FileCheck %s
--- |
  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:       1
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, _
    %4 : rgpr = t2MUL %1, %1, 14, _
    %5 : rgpr = t2MOVi32imm -858993459
    %6 : rgpr, %7 : rgpr  = t2UMULL killed %3, %5, 14, _
    %8 : rgpr, %9 : rgpr  = t2UMULL killed %4, %5, 14, _
    t2STRi12 %1, %0, 0, 14, _ :: (store 4)
    %10 : rgpr = t2LSLri %2, 1, 14, _, _
    t2STRi12 killed %10, %0, 4, 14, _ :: (store 4)

    ; 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, _, _
    %12 : gprnopc = t2ADDrs %11, killed %7, 19, 14, _, _
    t2STRi12 killed %12, %0, 16, 14, _ :: (store 4)
    %13 : gprnopc = t2ADDrs %11, killed %9, 19, 14, _, _
    t2STRi12 killed %13, %0, 20, 14, _ :: (store 4)

    ; Make sure we move the paired stores next to each other.
    ; CHECK: t2STRi12 killed %12,
    ; CHECK-NEXT: t2STRi12 killed %13,

    tBX_RET 14, _
---
# CHECK-LABEL: name: b
name:            b
alignment:       1
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, _ :: (store 4)
    %10 : rgpr = t2LSLri %2, 1, 14, _, _
    t2STRi12 killed %10, %0, 4, 14, _ :: (store 4)
    %3 : rgpr = t2MUL %2, %2, 14, _
    t2STRi12 %3, %0, 8, 14, _ :: (store 4)

    ; 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

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

    ; Make sure we move the paired stores next to each other.
    ; CHECK: t2STRi12 {{.*}}, 16
    ; CHECK-NEXT: t2STRi12 {{.*}}, 20

    tBX_RET 14, _

...
