• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
4define void @nop_test() {
5entry:
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; Add an extra stackmap with a zero-length shadow to thwart the shadow
45; optimization. This will force all 15 bytes of the previous shadow to be
46; padded with nops.
47  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 16, i32 0)
48  ret void
49}
50
51declare void @llvm.experimental.stackmap(i64, i32, ...)
52