blob: e4a6d1e26c69502b22a81612a556ee93734af08d [file] [log] [blame]
Toma Tabacua23f13c2014-12-17 10:56:16 +00001; RUN: llc -march=mips < %s | FileCheck %s
2
3; Check for the emission of appropriate assembler directives before and
4; after the inline assembly code.
5define void @f() nounwind {
6entry:
7; CHECK: #APP
8; CHECK-NEXT: .set push
9; CHECK-NEXT: .set at
10; CHECK-NEXT: .set macro
11; CHECK-NEXT: .set reorder
12; CHECK: addi $9, ${{[2-9][0-9]?}}, 8
13; CHECK: subi ${{[2-9][0-9]?}}, $9, 6
14; CHECK: .set pop
15; CHECK-NEXT: #NO_APP
16 %a = alloca i32, align 4
17 %b = alloca i32, align 4
18 store i32 20, i32* %a, align 4
19 %0 = load i32* %a, align 4
20 %1 = call i32 asm sideeffect "addi $$9, $1, 8\0A\09subi $0, $$9, 6", "=r,r,~{$1}"(i32 %0)
21 store i32 %1, i32* %b, align 4
22 ret void
23}