[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / CodeGen / Thumb / 2014-06-10-thumb1-ldst-opt-bug.ll
blobd5c8db76de86f37727723f6ff68d6cbf4fea1300
1 ; RUN: llc < %s -mtriple=thumbv6m-eabi -verify-machineinstrs -o - | FileCheck %s
3 define void @foo(i32* %A) #0 {
4 entry:
5 ; CHECK-LABEL: foo:
6 ; CHECK: push {r7, lr}
7 ; CHECK: ldm
8 ; CHECK-NEXT: subs
9 ; CHECK-NEXT: bl
10   %0 = load i32, i32* %A, align 4
11   %arrayidx1 = getelementptr inbounds i32, i32* %A, i32 1
12   %1 = load i32, i32* %arrayidx1, align 4
13   tail call void @bar(i32* %A, i32 %0, i32 %1) #2
14   ret void
17 declare void @bar(i32*, i32, i32) #1