• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; 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:      ori ${{[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, i32* %a, align 4
20  %1 = call i32 asm sideeffect "addi $$9, $1, 8\0A\09ori $0, $$9, 6", "=r,r,~{$1}"(i32 %0)
21  store i32 %1, i32* %b, align 4
22  ret void
23}
24