Lines Matching full:linux

2 …y-machineinstrs < %s -enable-tail-merge=0 -mtriple=x86_64-linux | FileCheck %s --check-prefix=LINUX
3 …ineinstrs < %s -enable-tail-merge=0 -mtriple=x86_64-linux-gnux32 | FileCheck %s --check-prefix=LIN…
18 ; LINUX-LABEL: f_thunk:
19 ; LINUX: # %bb.0:
20 ; LINUX-NEXT: pushq %rbp
21 ; LINUX-NEXT: .cfi_def_cfa_offset 16
22 ; LINUX-NEXT: pushq %r15
23 ; LINUX-NEXT: .cfi_def_cfa_offset 24
24 ; LINUX-NEXT: pushq %r14
25 ; LINUX-NEXT: .cfi_def_cfa_offset 32
26 ; LINUX-NEXT: pushq %r13
27 ; LINUX-NEXT: .cfi_def_cfa_offset 40
28 ; LINUX-NEXT: pushq %r12
29 ; LINUX-NEXT: .cfi_def_cfa_offset 48
30 ; LINUX-NEXT: pushq %rbx
31 ; LINUX-NEXT: .cfi_def_cfa_offset 56
32 ; LINUX-NEXT: subq $360, %rsp # imm = 0x168
33 ; LINUX-NEXT: .cfi_def_cfa_offset 416
34 ; LINUX-NEXT: .cfi_offset %rbx, -56
35 ; LINUX-NEXT: .cfi_offset %r12, -48
36 ; LINUX-NEXT: .cfi_offset %r13, -40
37 ; LINUX-NEXT: .cfi_offset %r14, -32
38 ; LINUX-NEXT: .cfi_offset %r15, -24
39 ; LINUX-NEXT: .cfi_offset %rbp, -16
40 ; LINUX-NEXT: movq %r9, %r15
41 ; LINUX-NEXT: movq %r8, %r12
42 ; LINUX-NEXT: movq %rcx, %r13
43 ; LINUX-NEXT: movq %rdx, %rbp
44 ; LINUX-NEXT: movq %rsi, %rbx
45 ; LINUX-NEXT: movq %rdi, %r14
46 ; LINUX-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
47 ; LINUX-NEXT: testb %al, %al
48 ; LINUX-NEXT: je .LBB0_2
49 ; LINUX-NEXT: # %bb.1:
50 ; LINUX-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
51 ; LINUX-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp)
52 ; LINUX-NEXT: movaps %xmm2, {{[0-9]+}}(%rsp)
53 ; LINUX-NEXT: movaps %xmm3, {{[0-9]+}}(%rsp)
54 ; LINUX-NEXT: movaps %xmm4, {{[0-9]+}}(%rsp)
55 ; LINUX-NEXT: movaps %xmm5, {{[0-9]+}}(%rsp)
56 ; LINUX-NEXT: movaps %xmm6, {{[0-9]+}}(%rsp)
57 ; LINUX-NEXT: movaps %xmm7, {{[0-9]+}}(%rsp)
58 ; LINUX-NEXT: .LBB0_2:
59 ; LINUX-NEXT: movq %rbx, {{[0-9]+}}(%rsp)
60 ; LINUX-NEXT: movq %rbp, {{[0-9]+}}(%rsp)
61 ; LINUX-NEXT: movq %r13, {{[0-9]+}}(%rsp)
62 ; LINUX-NEXT: movq %r12, {{[0-9]+}}(%rsp)
63 ; LINUX-NEXT: movq %r15, {{[0-9]+}}(%rsp)
64 ; LINUX-NEXT: leaq {{[0-9]+}}(%rsp), %rax
65 ; LINUX-NEXT: movq %rax, {{[0-9]+}}(%rsp)
66 ; LINUX-NEXT: leaq {{[0-9]+}}(%rsp), %rax
67 ; LINUX-NEXT: movq %rax, {{[0-9]+}}(%rsp)
68 ; LINUX-NEXT: movabsq $206158430216, %rax # imm = 0x3000000008
69 ; LINUX-NEXT: movq %rax, {{[0-9]+}}(%rsp)
70 ; LINUX-NEXT: movq %r14, %rdi
71 ; LINUX-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
72 ; LINUX-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
73 ; LINUX-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
74 ; LINUX-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
75 ; LINUX-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
76 ; LINUX-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
77 ; LINUX-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
78 ; LINUX-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
79 ; LINUX-NEXT: callq get_f
80 ; LINUX-NEXT: movq %rax, %r11
81 ; LINUX-NEXT: movq %r14, %rdi
82 ; LINUX-NEXT: movq %rbx, %rsi
83 ; LINUX-NEXT: movq %rbp, %rdx
84 ; LINUX-NEXT: movq %r13, %rcx
85 ; LINUX-NEXT: movq %r12, %r8
86 ; LINUX-NEXT: movq %r15, %r9
87 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
88 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload
89 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload
90 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload
91 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload
92 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload
93 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload
94 ; LINUX-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload
95 ; LINUX-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
96 ; LINUX-NEXT: addq $360, %rsp # imm = 0x168
97 ; LINUX-NEXT: .cfi_def_cfa_offset 56
98 ; LINUX-NEXT: popq %rbx
99 ; LINUX-NEXT: .cfi_def_cfa_offset 48
100 ; LINUX-NEXT: popq %r12
101 ; LINUX-NEXT: .cfi_def_cfa_offset 40
102 ; LINUX-NEXT: popq %r13
103 ; LINUX-NEXT: .cfi_def_cfa_offset 32
104 ; LINUX-NEXT: popq %r14
105 ; LINUX-NEXT: .cfi_def_cfa_offset 24
106 ; LINUX-NEXT: popq %r15
107 ; LINUX-NEXT: .cfi_def_cfa_offset 16
108 ; LINUX-NEXT: popq %rbp
109 ; LINUX-NEXT: .cfi_def_cfa_offset 8
110 ; LINUX-NEXT: jmpq *%r11 # TAILCALL
112 ; LINUX-X32-LABEL: f_thunk:
113 ; LINUX-X32: # %bb.0:
114 ; LINUX-X32-NEXT: pushq %rbp
115 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 16
116 ; LINUX-X32-NEXT: pushq %r15
117 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 24
118 ; LINUX-X32-NEXT: pushq %r14
119 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 32
120 ; LINUX-X32-NEXT: pushq %r13
121 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 40
122 ; LINUX-X32-NEXT: pushq %r12
123 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 48
124 ; LINUX-X32-NEXT: pushq %rbx
125 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 56
126 ; LINUX-X32-NEXT: subl $344, %esp # imm = 0x158
127 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 400
128 ; LINUX-X32-NEXT: .cfi_offset %rbx, -56
129 ; LINUX-X32-NEXT: .cfi_offset %r12, -48
130 ; LINUX-X32-NEXT: .cfi_offset %r13, -40
131 ; LINUX-X32-NEXT: .cfi_offset %r14, -32
132 ; LINUX-X32-NEXT: .cfi_offset %r15, -24
133 ; LINUX-X32-NEXT: .cfi_offset %rbp, -16
134 ; LINUX-X32-NEXT: movq %r9, %r15
135 ; LINUX-X32-NEXT: movq %r8, %r12
136 ; LINUX-X32-NEXT: movq %rcx, %r13
137 ; LINUX-X32-NEXT: movq %rdx, %rbp
138 ; LINUX-X32-NEXT: movq %rsi, %rbx
139 ; LINUX-X32-NEXT: movq %rdi, %r14
140 ; LINUX-X32-NEXT: movb %al, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
141 ; LINUX-X32-NEXT: testb %al, %al
142 ; LINUX-X32-NEXT: je .LBB0_2
143 ; LINUX-X32-NEXT: # %bb.1:
144 ; LINUX-X32-NEXT: movaps %xmm0, {{[0-9]+}}(%esp)
145 ; LINUX-X32-NEXT: movaps %xmm1, {{[0-9]+}}(%esp)
146 ; LINUX-X32-NEXT: movaps %xmm2, {{[0-9]+}}(%esp)
147 ; LINUX-X32-NEXT: movaps %xmm3, {{[0-9]+}}(%esp)
148 ; LINUX-X32-NEXT: movaps %xmm4, {{[0-9]+}}(%esp)
149 ; LINUX-X32-NEXT: movaps %xmm5, {{[0-9]+}}(%esp)
150 ; LINUX-X32-NEXT: movaps %xmm6, {{[0-9]+}}(%esp)
151 ; LINUX-X32-NEXT: movaps %xmm7, {{[0-9]+}}(%esp)
152 ; LINUX-X32-NEXT: .LBB0_2:
153 ; LINUX-X32-NEXT: movq %rbx, {{[0-9]+}}(%esp)
154 ; LINUX-X32-NEXT: movq %rbp, {{[0-9]+}}(%esp)
155 ; LINUX-X32-NEXT: movq %r13, {{[0-9]+}}(%esp)
156 ; LINUX-X32-NEXT: movq %r12, {{[0-9]+}}(%esp)
157 ; LINUX-X32-NEXT: movq %r15, {{[0-9]+}}(%esp)
158 ; LINUX-X32-NEXT: leal {{[0-9]+}}(%rsp), %eax
159 ; LINUX-X32-NEXT: movl %eax, {{[0-9]+}}(%esp)
160 ; LINUX-X32-NEXT: leal {{[0-9]+}}(%rsp), %eax
161 ; LINUX-X32-NEXT: movl %eax, {{[0-9]+}}(%esp)
162 ; LINUX-X32-NEXT: movabsq $206158430216, %rax # imm = 0x3000000008
163 ; LINUX-X32-NEXT: movq %rax, {{[0-9]+}}(%esp)
164 ; LINUX-X32-NEXT: movq %r14, %rdi
165 ; LINUX-X32-NEXT: movaps %xmm7, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
166 ; LINUX-X32-NEXT: movaps %xmm6, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
167 ; LINUX-X32-NEXT: movaps %xmm5, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
168 ; LINUX-X32-NEXT: movaps %xmm4, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
169 ; LINUX-X32-NEXT: movaps %xmm3, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
170 ; LINUX-X32-NEXT: movaps %xmm2, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
171 ; LINUX-X32-NEXT: movaps %xmm1, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
172 ; LINUX-X32-NEXT: movaps %xmm0, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
173 ; LINUX-X32-NEXT: callq get_f
174 ; LINUX-X32-NEXT: movl %eax, %r11d
175 ; LINUX-X32-NEXT: movq %r14, %rdi
176 ; LINUX-X32-NEXT: movq %rbx, %rsi
177 ; LINUX-X32-NEXT: movq %rbp, %rdx
178 ; LINUX-X32-NEXT: movq %r13, %rcx
179 ; LINUX-X32-NEXT: movq %r12, %r8
180 ; LINUX-X32-NEXT: movq %r15, %r9
181 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm0 # 16-byte Reload
182 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm1 # 16-byte Reload
183 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm2 # 16-byte Reload
184 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm3 # 16-byte Reload
185 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm4 # 16-byte Reload
186 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm5 # 16-byte Reload
187 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm6 # 16-byte Reload
188 ; LINUX-X32-NEXT: movaps {{[-0-9]+}}(%e{{[sb]}}p), %xmm7 # 16-byte Reload
189 ; LINUX-X32-NEXT: movb {{[-0-9]+}}(%e{{[sb]}}p), %al # 1-byte Reload
190 ; LINUX-X32-NEXT: addl $344, %esp # imm = 0x158
191 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 56
192 ; LINUX-X32-NEXT: popq %rbx
193 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 48
194 ; LINUX-X32-NEXT: popq %r12
195 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 40
196 ; LINUX-X32-NEXT: popq %r13
197 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 32
198 ; LINUX-X32-NEXT: popq %r14
199 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 24
200 ; LINUX-X32-NEXT: popq %r15
201 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 16
202 ; LINUX-X32-NEXT: popq %rbp
203 ; LINUX-X32-NEXT: .cfi_def_cfa_offset 8
204 ; LINUX-X32-NEXT: jmpq *%r11 # TAILCALL
301 ; LINUX-LABEL: g_thunk:
302 ; LINUX: # %bb.0:
303 ; LINUX-NEXT: jmpq *%rdi # TAILCALL
305 ; LINUX-X32-LABEL: g_thunk:
306 ; LINUX-X32: # %bb.0:
307 ; LINUX-X32-NEXT: jmpq *%rdi # TAILCALL
330 ; LINUX-LABEL: h_thunk:
331 ; LINUX: # %bb.0:
332 ; LINUX-NEXT: cmpb $1, (%rdi)
333 ; LINUX-NEXT: jne .LBB2_2
334 ; LINUX-NEXT: # %bb.1: # %then
335 ; LINUX-NEXT: movq 8(%rdi), %r11
336 ; LINUX-NEXT: jmpq *%r11 # TAILCALL
337 ; LINUX-NEXT: .LBB2_2: # %else
338 ; LINUX-NEXT: movq 16(%rdi), %r11
339 ; LINUX-NEXT: movl $42, {{.*}}(%rip)
340 ; LINUX-NEXT: jmpq *%r11 # TAILCALL
342 ; LINUX-X32-LABEL: h_thunk:
343 ; LINUX-X32: # %bb.0:
344 ; LINUX-X32-NEXT: cmpb $1, (%edi)
345 ; LINUX-X32-NEXT: jne .LBB2_2
346 ; LINUX-X32-NEXT: # %bb.1: # %then
347 ; LINUX-X32-NEXT: movl 4(%edi), %r11d
348 ; LINUX-X32-NEXT: movl %edi, %edi
349 ; LINUX-X32-NEXT: jmpq *%r11 # TAILCALL
350 ; LINUX-X32-NEXT: .LBB2_2: # %else
351 ; LINUX-X32-NEXT: movl 8(%edi), %r11d
352 ; LINUX-X32-NEXT: movl $42, {{.*}}(%rip)
353 ; LINUX-X32-NEXT: movl %edi, %edi
354 ; LINUX-X32-NEXT: jmpq *%r11 # TAILCALL