[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / stackmap-large-constants.ll
blob7de430b5393a122031489ea3474c2a2efdb2d380
1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
3 ; CHECK-LABEL:  .section        __LLVM_STACKMAPS,__llvm_stackmaps
4 ; CHECK-NEXT: __LLVM_StackMaps:
5 ; version
6 ; CHECK-NEXT:   .byte   3
7 ; reserved
8 ; CHECK-NEXT:   .byte   0
9 ; reserved
10 ; CHECK-NEXT:   .short  0
11 ; # functions
12 ; CHECK-NEXT:   .long   2
13 ; # constants
14 ; CHECK-NEXT:   .long   2
15 ; # records
16 ; CHECK-NEXT:   .long   2
17 ; function address & stack size
18 ; CHECK-NEXT:   .quad   _foo
19 ; CHECK-NEXT:   .quad   8
20 ; CHECK-NEXT:   .quad   1
21 ; function address & stack size
22 ; CHECK-NEXT:   .quad   _bar
23 ; CHECK-NEXT:   .quad   8
24 ; CHECK-NEXT:   .quad   1
26 ; Constants Array:
27 ; CHECK-NEXT:   .quad   9223372036854775807
28 ; CHECK-NEXT:   .quad   -9223372036854775808
30 ; Patchpoint ID
31 ; CHECK-NEXT:   .quad   0
32 ; Instruction offset
33 ; CHECK-NEXT:   .long   L{{.*}}-_foo
34 ; reserved
35 ; CHECK-NEXT:   .short  0
36 ; # locations
37 ; CHECK-NEXT:   .short  1
38 ; ConstantIndex
39 ; CHECK-NEXT:   .byte   5
40 ; reserved
41 ; CHECK-NEXT:   .byte   0
42 ; size
43 ; CHECK-NEXT:   .short  8
44 ; Dwarf RegNum
45 ; CHECK-NEXT:   .short  0
46 ; reserved
47 ; CHECK-NEXT:   .short  0
48 ; Offset
49 ; CHECK-NEXT:   .long   0
50 ; padding
51 ; CHECK-NEXT:   .p2align 3
52 ; CHECK-NEXT:   .short  0
53 ; NumLiveOuts
54 ; CHECK-NEXT:   .short  0
56 ; CHECK-NEXT:   .p2align        3
58 declare void @llvm.experimental.stackmap(i64, i32, ...)
60 define void @foo() {
61   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 9223372036854775807)
62   ret void
65 ; Patchpoint ID
66 ; CHECK-NEXT:   .quad   0
67 ; Instruction Offset
68 ; CHECK-NEXT:   .long   L{{.*}}-_bar
69 ; reserved
70 ; CHECK-NEXT:   .short  0
71 ; # locations
72 ; CHECK-NEXT:   .short  1
73 ; ConstantIndex
74 ; CHECK-NEXT:   .byte   5
75 ; reserved
76 ; CHECK-NEXT:   .byte   0
77 ; size
78 ; CHECK-NEXT:   .short  8
79 ; Dwarf RegNum
80 ; CHECK-NEXT:   .short  0
81 ; reserved
82 ; CHECK-NEXT:    .short 0
83 ; Offset
84 ; CHECK-NEXT:   .long   1
85 ; padding
86 ; CHECK-NEXT:  .p2align 3
87 ; CHECK-NEXT:   .short  0
88 ; NumLiveOuts
89 ; CHECK-NEXT:   .short  0
92 define void @bar() {
93   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 -9223372036854775808)
94   ret void