• Home
  • Raw
  • Download

Lines Matching refs:SLOW

3 …c < %s -mtriple=i686-unknown-unknown -mattr=+slow-shld | FileCheck %s --check-prefixes=X86,X86-SLOW
5 …< %s -mtriple=x86_64-unknown-unknown -mattr=+slow-shld | FileCheck %s --check-prefixes=X64,X64-SLOW
54 ; X86-SLOW-LABEL: var_shift_i16:
55 ; X86-SLOW: # %bb.0:
56 ; X86-SLOW-NEXT: movb {{[0-9]+}}(%esp), %cl
57 ; X86-SLOW-NEXT: movzwl {{[0-9]+}}(%esp), %edx
58 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %eax
59 ; X86-SLOW-NEXT: shll $16, %eax
60 ; X86-SLOW-NEXT: orl %edx, %eax
61 ; X86-SLOW-NEXT: andb $15, %cl
62 ; X86-SLOW-NEXT: shrl %cl, %eax
63 ; X86-SLOW-NEXT: # kill: def $ax killed $ax killed $eax
64 ; X86-SLOW-NEXT: retl
76 ; X64-SLOW-LABEL: var_shift_i16:
77 ; X64-SLOW: # %bb.0:
78 ; X64-SLOW-NEXT: movl %edx, %ecx
79 ; X64-SLOW-NEXT: shll $16, %edi
80 ; X64-SLOW-NEXT: movzwl %si, %eax
81 ; X64-SLOW-NEXT: orl %edi, %eax
82 ; X64-SLOW-NEXT: andb $15, %cl
83 ; X64-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
84 ; X64-SLOW-NEXT: shrl %cl, %eax
85 ; X64-SLOW-NEXT: # kill: def $ax killed $ax killed $eax
86 ; X64-SLOW-NEXT: retq
100 ; X86-SLOW-LABEL: var_shift_i32:
101 ; X86-SLOW: # %bb.0:
102 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %eax
103 ; X86-SLOW-NEXT: movb {{[0-9]+}}(%esp), %cl
104 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %edx
105 ; X86-SLOW-NEXT: shrl %cl, %edx
106 ; X86-SLOW-NEXT: notb %cl
107 ; X86-SLOW-NEXT: addl %eax, %eax
108 ; X86-SLOW-NEXT: shll %cl, %eax
109 ; X86-SLOW-NEXT: orl %edx, %eax
110 ; X86-SLOW-NEXT: retl
120 ; X64-SLOW-LABEL: var_shift_i32:
121 ; X64-SLOW: # %bb.0:
122 ; X64-SLOW-NEXT: movl %edx, %ecx
123 ; X64-SLOW-NEXT: # kill: def $edi killed $edi def $rdi
124 ; X64-SLOW-NEXT: shrl %cl, %esi
125 ; X64-SLOW-NEXT: leal (%rdi,%rdi), %eax
126 ; X64-SLOW-NEXT: notb %cl
127 ; X64-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
128 ; X64-SLOW-NEXT: shll %cl, %eax
129 ; X64-SLOW-NEXT: orl %esi, %eax
130 ; X64-SLOW-NEXT: retq
219 ; X86-SLOW-LABEL: var_shift_i64:
220 ; X86-SLOW: # %bb.0:
221 ; X86-SLOW-NEXT: pushl %ebp
222 ; X86-SLOW-NEXT: pushl %ebx
223 ; X86-SLOW-NEXT: pushl %edi
224 ; X86-SLOW-NEXT: pushl %esi
225 ; X86-SLOW-NEXT: pushl %eax
226 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %ebp
227 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %esi
228 ; X86-SLOW-NEXT: movb {{[0-9]+}}(%esp), %bl
229 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %eax
230 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %edx
231 ; X86-SLOW-NEXT: movl %eax, %edi
232 ; X86-SLOW-NEXT: andl $2147483647, %edi # imm = 0x7FFFFFFF
233 ; X86-SLOW-NEXT: movl %ebx, %ecx
234 ; X86-SLOW-NEXT: shrl %cl, %edi
235 ; X86-SLOW-NEXT: movl %eax, %ecx
236 ; X86-SLOW-NEXT: shrl $31, %ecx
237 ; X86-SLOW-NEXT: leal (%ecx,%edx,2), %edx
238 ; X86-SLOW-NEXT: movb %bl, %ch
239 ; X86-SLOW-NEXT: notb %ch
240 ; X86-SLOW-NEXT: movb %ch, %cl
241 ; X86-SLOW-NEXT: shll %cl, %edx
242 ; X86-SLOW-NEXT: movb %bl, %cl
243 ; X86-SLOW-NEXT: shrl %cl, %ebp
244 ; X86-SLOW-NEXT: movl %ebp, (%esp) # 4-byte Spill
245 ; X86-SLOW-NEXT: leal (%esi,%esi), %ebp
246 ; X86-SLOW-NEXT: movb %ch, %cl
247 ; X86-SLOW-NEXT: shll %cl, %ebp
248 ; X86-SLOW-NEXT: movb %bl, %cl
249 ; X86-SLOW-NEXT: shrl %cl, %esi
250 ; X86-SLOW-NEXT: testb $32, %bl
251 ; X86-SLOW-NEXT: jne .LBB5_1
252 ; X86-SLOW-NEXT: # %bb.2:
253 ; X86-SLOW-NEXT: orl (%esp), %ebp # 4-byte Folded Reload
254 ; X86-SLOW-NEXT: jmp .LBB5_3
255 ; X86-SLOW-NEXT: .LBB5_1:
256 ; X86-SLOW-NEXT: movl %esi, %ebp
257 ; X86-SLOW-NEXT: xorl %esi, %esi
258 ; X86-SLOW-NEXT: .LBB5_3:
259 ; X86-SLOW-NEXT: addl %eax, %eax
260 ; X86-SLOW-NEXT: movb %ch, %cl
261 ; X86-SLOW-NEXT: shll %cl, %eax
262 ; X86-SLOW-NEXT: testb $32, %ch
263 ; X86-SLOW-NEXT: jne .LBB5_4
264 ; X86-SLOW-NEXT: # %bb.5:
265 ; X86-SLOW-NEXT: orl %edi, %edx
266 ; X86-SLOW-NEXT: jmp .LBB5_6
267 ; X86-SLOW-NEXT: .LBB5_4:
268 ; X86-SLOW-NEXT: movl %eax, %edx
269 ; X86-SLOW-NEXT: xorl %eax, %eax
270 ; X86-SLOW-NEXT: .LBB5_6:
271 ; X86-SLOW-NEXT: orl %esi, %edx
272 ; X86-SLOW-NEXT: orl %ebp, %eax
273 ; X86-SLOW-NEXT: addl $4, %esp
274 ; X86-SLOW-NEXT: popl %esi
275 ; X86-SLOW-NEXT: popl %edi
276 ; X86-SLOW-NEXT: popl %ebx
277 ; X86-SLOW-NEXT: popl %ebp
278 ; X86-SLOW-NEXT: retl
288 ; X64-SLOW-LABEL: var_shift_i64:
289 ; X64-SLOW: # %bb.0:
290 ; X64-SLOW-NEXT: movq %rdx, %rcx
291 ; X64-SLOW-NEXT: shrq %cl, %rsi
292 ; X64-SLOW-NEXT: leaq (%rdi,%rdi), %rax
293 ; X64-SLOW-NEXT: notb %cl
294 ; X64-SLOW-NEXT: # kill: def $cl killed $cl killed $rcx
295 ; X64-SLOW-NEXT: shlq %cl, %rax
296 ; X64-SLOW-NEXT: orq %rsi, %rax
297 ; X64-SLOW-NEXT: retq
336 ; X86-SLOW-LABEL: const_shift_i16:
337 ; X86-SLOW: # %bb.0:
338 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %eax
339 ; X86-SLOW-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
340 ; X86-SLOW-NEXT: shrl $7, %ecx
341 ; X86-SLOW-NEXT: shll $9, %eax
342 ; X86-SLOW-NEXT: orl %ecx, %eax
343 ; X86-SLOW-NEXT: # kill: def $ax killed $ax killed $eax
344 ; X86-SLOW-NEXT: retl
353 ; X64-SLOW-LABEL: const_shift_i16:
354 ; X64-SLOW: # %bb.0:
355 ; X64-SLOW-NEXT: movzwl %si, %eax
356 ; X64-SLOW-NEXT: shll $9, %edi
357 ; X64-SLOW-NEXT: shrl $7, %eax
358 ; X64-SLOW-NEXT: orl %edi, %eax
359 ; X64-SLOW-NEXT: # kill: def $ax killed $ax killed $eax
360 ; X64-SLOW-NEXT: retq
373 ; X86-SLOW-LABEL: const_shift_i32:
374 ; X86-SLOW: # %bb.0:
375 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %eax
376 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %ecx
377 ; X86-SLOW-NEXT: shrl $7, %ecx
378 ; X86-SLOW-NEXT: shll $25, %eax
379 ; X86-SLOW-NEXT: orl %ecx, %eax
380 ; X86-SLOW-NEXT: retl
388 ; X64-SLOW-LABEL: const_shift_i32:
389 ; X64-SLOW: # %bb.0:
390 ; X64-SLOW-NEXT: # kill: def $esi killed $esi def $rsi
391 ; X64-SLOW-NEXT: # kill: def $edi killed $edi def $rdi
392 ; X64-SLOW-NEXT: shrl $7, %esi
393 ; X64-SLOW-NEXT: shll $25, %edi
394 ; X64-SLOW-NEXT: leal (%rdi,%rsi), %eax
395 ; X64-SLOW-NEXT: retq
410 ; X86-SLOW-LABEL: const_shift_i64:
411 ; X86-SLOW: # %bb.0:
412 ; X86-SLOW-NEXT: pushl %esi
413 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %edx
414 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %ecx
415 ; X86-SLOW-NEXT: movl {{[0-9]+}}(%esp), %esi
416 ; X86-SLOW-NEXT: shrl $7, %ecx
417 ; X86-SLOW-NEXT: movl %esi, %eax
418 ; X86-SLOW-NEXT: shll $25, %eax
419 ; X86-SLOW-NEXT: orl %ecx, %eax
420 ; X86-SLOW-NEXT: shrl $7, %esi
421 ; X86-SLOW-NEXT: shll $25, %edx
422 ; X86-SLOW-NEXT: orl %esi, %edx
423 ; X86-SLOW-NEXT: popl %esi
424 ; X86-SLOW-NEXT: retl
432 ; X64-SLOW-LABEL: const_shift_i64:
433 ; X64-SLOW: # %bb.0:
434 ; X64-SLOW-NEXT: shrq $7, %rsi
435 ; X64-SLOW-NEXT: shlq $57, %rdi
436 ; X64-SLOW-NEXT: leaq (%rdi,%rsi), %rax
437 ; X64-SLOW-NEXT: retq