blob: b04dc86a5d6d3afe64facdec1475f80cc7edf86c [file] [log] [blame]
Sanjoy Dasc0441c22016-04-19 05:24:47 +00001; RUN: llc -filetype=obj -o - -mtriple=x86_64-apple-macosx < %s | llvm-objdump -triple x86_64-apple-macosx -disassemble - | FileCheck %s
2; RUN: llc -mtriple=x86_64-apple-macosx < %s | FileCheck %s --check-prefix=CHECK-ALIGN
3
4declare void @callee(i64*)
5
6define void @f0() "patchable-function"="prologue-short-redirect" {
7; CHECK-LABEL: _f0:
8; CHECK-NEXT: 66 90 nop
9
10; CHECK-ALIGN: .p2align 4, 0x90
11; CHECK-ALIGN: _f0:
12
13 ret void
14}
15
16define void @f1() "patchable-function"="prologue-short-redirect" "no-frame-pointer-elim"="true" {
17; CHECK-LABEL: _f1
18; CHECK-NEXT: ff f5 pushq %rbp
19
20; CHECK-ALIGN: .p2align 4, 0x90
21; CHECK-ALIGN: _f1:
22 ret void
23}
24
25define void @f2() "patchable-function"="prologue-short-redirect" {
26; CHECK-LABEL: _f2
27; CHECK-NEXT: 48 81 ec a8 00 00 00 subq $168, %rsp
28
29; CHECK-ALIGN: .p2align 4, 0x90
30; CHECK-ALIGN: _f2:
31 %ptr = alloca i64, i32 20
32 call void @callee(i64* %ptr)
33 ret void
34}
35
36define void @f3() "patchable-function"="prologue-short-redirect" optsize {
37; CHECK-LABEL: _f3
38; CHECK-NEXT: 66 90 nop
39
40; CHECK-ALIGN: .p2align 4, 0x90
41; CHECK-ALIGN: _f3:
42 ret void
43}