Use static inline to do the right thing when built in C99 mode. Of course,
[llvm/stm8.git] / test / CodeGen / ARM / 2010-05-18-PostIndexBug.ll
blobdf9dbca313f2d9fad9ddd75edcf7b8e7f84b269a
1 ; RUN: llc < %s -mtriple=armv7-apple-darwin   | FileCheck %s -check-prefix=ARM
2 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s -check-prefix=THUMB
3 ; rdar://7998649
5 %struct.foo = type { i64, i64 }
7 define zeroext i8 @t(%struct.foo* %this) noreturn optsize {
8 entry:
9 ; ARM:       t:
10 ; ARM:       str r2, [r1], r0
12 ; THUMB:     t:
13 ; THUMB-NOT: str r0, [r1], r0
14 ; THUMB:     str r2, [r1]
15   %0 = getelementptr inbounds %struct.foo* %this, i32 0, i32 1 ; <i64*> [#uses=1]
16   store i32 0, i32* inttoptr (i32 8 to i32*), align 8
17   br i1 undef, label %bb.nph96, label %bb3
19 bb3:                                              ; preds = %entry
20   %1 = load i64* %0, align 4                      ; <i64> [#uses=0]
21   unreachable
23 bb.nph96:                                         ; preds = %entry
24   unreachable