Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / ARM / fast-isel-inline-asm.ll
blobf7a6f7d1fb6d5483d747f9dbd860ab90ac0fe663
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2 ; RUN: llc -fast-isel < %s | FileCheck %s
3 target datalayout = "e-m:o-p:32:32-i1:8:32-i8:8:32-i16:16:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
4 target triple = "thumbv7-apple-ios5.0.0"
6 %0 = type opaque
8 ; Make sure that there are no unexpected instructions between the call to bar
9 ; and the inline asm.
10 define void @test_inline_asm_sideeffect(ptr %call) {
11 ; CHECK-LABEL: test_inline_asm_sideeffect:
12 ; CHECK:       @ %bb.0:
13 ; CHECK-NEXT:    push {r4, r7, lr}
14 ; CHECK-NEXT:    add r7, sp, #4
15 ; CHECK-NEXT:    mov r4, r0
16 ; CHECK-NEXT:    bl _bar
17 ; CHECK-NEXT:    mov r0, r4
18 ; CHECK-NEXT:    @ InlineAsm Start
19 ; CHECK-NEXT:    mov r7, r7 @ marker
20 ; CHECK-NEXT:    @ InlineAsm End
21 ; CHECK-NEXT:    bl _foo
22 ; CHECK-NEXT:    pop {r4, r7, pc}
23   call void @bar()
24   call void asm sideeffect "mov\09r7, r7\09\09@ marker", ""()
25   %1 = call ptr @foo(ptr %call)
26   ret void
29 declare ptr @foo(ptr)
30 declare void @bar()