[X86] Optimize stackmap shadows on X86.
[oota-llvm.git] / test / MC / X86 / stackmap-nops.ll
1 ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 -disable-fp-elim -filetype=obj %s -o - | llvm-objdump -d - | FileCheck %s
2 ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 -disable-fp-elim -filetype=asm %s -o - | llvm-mc -triple=x86_64-apple-darwin -mcpu=corei7 -filetype=obj - | llvm-objdump -d - | FileCheck %s
3
4 define void @nop_test() {
5 entry:
6 ; CHECK:  0: 55
7 ; CHECK:  1: 48 89 e5
8
9 ; CHECK:  4: 90
10 ; CHECK:  5: 66 90
11 ; CHECK:  7: 0f 1f 00
12 ; CHECK:  a: 0f 1f 40 08
13 ; CHECK:  e: 0f 1f 44 00 08
14 ; CHECK: 13: 66 0f 1f 44 00 08
15 ; CHECK: 19: 0f 1f 80 00 02 00 00
16 ; CHECK: 20: 0f 1f 84 00 00 02 00 00
17 ; CHECK: 28: 66 0f 1f 84 00 00 02 00 00
18 ; CHECK: 31: 2e 66 0f 1f 84 00 00 02 00 00
19 ; CHECK: 3b: 66 2e 66 0f 1f 84 00 00 02 00 00
20 ; CHECK: 46: 66 66 2e 66 0f 1f 84 00 00 02 00 00
21 ; CHECK: 52: 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
22 ; CHECK: 5f: 66 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
23 ; CHECK: 6d: 66 66 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
24
25 ; CHECK: 7c: 5d
26 ; CHECK: 7d: c3
27
28   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  0, i32  0)
29   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  1, i32  1)
30   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  2, i32  2)
31   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  3, i32  3)
32   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  4, i32  4)
33   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  5, i32  5)
34   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  6, i32  6)
35   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  7, i32  7)
36   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  8, i32  8)
37   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64  9, i32  9)
38   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 10, i32 10)
39   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 11, i32 11)
40   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 12, i32 12)
41   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 13, i32 13)
42   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 14, i32 14)
43   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 15, i32 15)
44   tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 16, i32 0)
45   ret void
46 }
47
48 declare void @llvm.experimental.stackmap(i64, i32, ...)