blob: 9f6f1ebb28588ef21e484dbb6935e5bd89fce72a [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
Daniel Sanders05d81d82015-11-13 11:44:00 +000013; CHECK: ori ${{[2-9][0-9]?}}, $9, 6
Toma Tabacua23f13c2014-12-17 10:56:16 +000014; 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
David Blaikiea79ac142015-02-27 21:17:42 +000019 %0 = load i32, i32* %a, align 4
Daniel Sanders05d81d82015-11-13 11:44:00 +000020 %1 = call i32 asm sideeffect "addi $$9, $1, 8\0A\09ori $0, $$9, 6", "=r,r,~{$1}"(i32 %0)
Toma Tabacua23f13c2014-12-17 10:56:16 +000021 store i32 %1, i32* %b, align 4
22 ret void
23}