Lines Matching full:fast

2 ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefixes=X86,X86-FAST
4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefixes=X64,X64-FAST
46 ; X86-FAST-LABEL: var_shift_i16:
47 ; X86-FAST: # %bb.0:
48 ; X86-FAST-NEXT: movzwl {{[0-9]+}}(%esp), %edx
49 ; X86-FAST-NEXT: movzwl {{[0-9]+}}(%esp), %eax
50 ; X86-FAST-NEXT: movb {{[0-9]+}}(%esp), %cl
51 ; X86-FAST-NEXT: andb $15, %cl
52 ; X86-FAST-NEXT: shldw %cl, %dx, %ax
53 ; X86-FAST-NEXT: retl
68 ; X64-FAST-LABEL: var_shift_i16:
69 ; X64-FAST: # %bb.0:
70 ; X64-FAST-NEXT: movl %edx, %ecx
71 ; X64-FAST-NEXT: movl %edi, %eax
72 ; X64-FAST-NEXT: andb $15, %cl
73 ; X64-FAST-NEXT: # kill: def $cl killed $cl killed $ecx
74 ; X64-FAST-NEXT: shldw %cl, %si, %ax
75 ; X64-FAST-NEXT: # kill: def $ax killed $ax killed $eax
76 ; X64-FAST-NEXT: retq
95 ; X86-FAST-LABEL: var_shift_i32:
96 ; X86-FAST: # %bb.0:
97 ; X86-FAST-NEXT: movb {{[0-9]+}}(%esp), %cl
98 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %edx
99 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %eax
100 ; X86-FAST-NEXT: shldl %cl, %edx, %eax
101 ; X86-FAST-NEXT: retl
115 ; X64-FAST-LABEL: var_shift_i32:
116 ; X64-FAST: # %bb.0:
117 ; X64-FAST-NEXT: movl %edx, %ecx
118 ; X64-FAST-NEXT: movl %edi, %eax
119 ; X64-FAST-NEXT: # kill: def $cl killed $cl killed $ecx
120 ; X64-FAST-NEXT: shldl %cl, %esi, %eax
121 ; X64-FAST-NEXT: retq
179 ; X86-FAST-LABEL: var_shift_i64:
180 ; X86-FAST: # %bb.0:
181 ; X86-FAST-NEXT: pushl %ebx
182 ; X86-FAST-NEXT: pushl %edi
183 ; X86-FAST-NEXT: pushl %esi
184 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %ebx
185 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %edx
186 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %esi
187 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %edi
188 ; X86-FAST-NEXT: movb {{[0-9]+}}(%esp), %ch
189 ; X86-FAST-NEXT: movb %ch, %cl
190 ; X86-FAST-NEXT: notb %cl
191 ; X86-FAST-NEXT: shrdl $1, %edi, %esi
192 ; X86-FAST-NEXT: shrl %edi
193 ; X86-FAST-NEXT: shrdl %cl, %edi, %esi
194 ; X86-FAST-NEXT: shrl %cl, %edi
195 ; X86-FAST-NEXT: testb $32, %cl
196 ; X86-FAST-NEXT: je .LBB5_2
197 ; X86-FAST-NEXT: # %bb.1:
198 ; X86-FAST-NEXT: movl %edi, %esi
199 ; X86-FAST-NEXT: xorl %edi, %edi
200 ; X86-FAST-NEXT: .LBB5_2:
201 ; X86-FAST-NEXT: movl %ebx, %eax
202 ; X86-FAST-NEXT: movb %ch, %cl
203 ; X86-FAST-NEXT: shll %cl, %eax
204 ; X86-FAST-NEXT: shldl %cl, %ebx, %edx
205 ; X86-FAST-NEXT: testb $32, %ch
206 ; X86-FAST-NEXT: je .LBB5_4
207 ; X86-FAST-NEXT: # %bb.3:
208 ; X86-FAST-NEXT: movl %eax, %edx
209 ; X86-FAST-NEXT: xorl %eax, %eax
210 ; X86-FAST-NEXT: .LBB5_4:
211 ; X86-FAST-NEXT: orl %edi, %edx
212 ; X86-FAST-NEXT: orl %esi, %eax
213 ; X86-FAST-NEXT: popl %esi
214 ; X86-FAST-NEXT: popl %edi
215 ; X86-FAST-NEXT: popl %ebx
216 ; X86-FAST-NEXT: retl
279 ; X64-FAST-LABEL: var_shift_i64:
280 ; X64-FAST: # %bb.0:
281 ; X64-FAST-NEXT: movq %rdx, %rcx
282 ; X64-FAST-NEXT: movq %rdi, %rax
283 ; X64-FAST-NEXT: # kill: def $cl killed $cl killed $rcx
284 ; X64-FAST-NEXT: shldq %cl, %rsi, %rax
285 ; X64-FAST-NEXT: retq
330 ; X86-FAST-LABEL: const_shift_i16:
331 ; X86-FAST: # %bb.0:
332 ; X86-FAST-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
333 ; X86-FAST-NEXT: movzwl {{[0-9]+}}(%esp), %eax
334 ; X86-FAST-NEXT: shldw $7, %cx, %ax
335 ; X86-FAST-NEXT: retl
347 ; X64-FAST-LABEL: const_shift_i16:
348 ; X64-FAST: # %bb.0:
349 ; X64-FAST-NEXT: movl %edi, %eax
350 ; X64-FAST-NEXT: shldw $7, %si, %ax
351 ; X64-FAST-NEXT: # kill: def $ax killed $ax killed $eax
352 ; X64-FAST-NEXT: retq
367 ; X86-FAST-LABEL: const_shift_i32:
368 ; X86-FAST: # %bb.0:
369 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %ecx
370 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %eax
371 ; X86-FAST-NEXT: shldl $7, %ecx, %eax
372 ; X86-FAST-NEXT: retl
383 ; X64-FAST-LABEL: const_shift_i32:
384 ; X64-FAST: # %bb.0:
385 ; X64-FAST-NEXT: movl %edi, %eax
386 ; X64-FAST-NEXT: shldl $7, %esi, %eax
387 ; X64-FAST-NEXT: retq
402 ; X86-FAST-LABEL: const_shift_i64:
403 ; X86-FAST: # %bb.0:
404 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %eax
405 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %ecx
406 ; X86-FAST-NEXT: movl {{[0-9]+}}(%esp), %edx
407 ; X86-FAST-NEXT: shrdl $25, %ecx, %eax
408 ; X86-FAST-NEXT: shldl $7, %ecx, %edx
409 ; X86-FAST-NEXT: retl
427 ; X64-FAST-LABEL: const_shift_i64:
428 ; X64-FAST: # %bb.0:
429 ; X64-FAST-NEXT: movq %rdi, %rax
430 ; X64-FAST-NEXT: shldq $7, %rsi, %rax
431 ; X64-FAST-NEXT: retq