• Home
  • Raw
  • Download

Lines Matching refs:SSE41

2 …: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 -O3 | FileCheck %s --check-prefix=SSE41-X86
3 …llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 -O3 | FileCheck %s --check-prefix=SSE41-X64
25 ; SSE41-X86-LABEL: fceil32:
26 ; SSE41-X86: # %bb.0:
27 ; SSE41-X86-NEXT: pushl %eax
28 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
29 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
30 ; SSE41-X86-NEXT: roundss $10, %xmm0, %xmm0
31 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
32 ; SSE41-X86-NEXT: flds (%esp)
33 ; SSE41-X86-NEXT: wait
34 ; SSE41-X86-NEXT: popl %eax
35 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
36 ; SSE41-X86-NEXT: retl
38 ; SSE41-X64-LABEL: fceil32:
39 ; SSE41-X64: # %bb.0:
40 ; SSE41-X64-NEXT: roundss $10, %xmm0, %xmm0
41 ; SSE41-X64-NEXT: retq
66 ; SSE41-X86-LABEL: fceilf64:
67 ; SSE41-X86: # %bb.0:
68 ; SSE41-X86-NEXT: pushl %ebp
69 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
70 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
71 ; SSE41-X86-NEXT: movl %esp, %ebp
72 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
73 ; SSE41-X86-NEXT: andl $-8, %esp
74 ; SSE41-X86-NEXT: subl $8, %esp
75 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
76 ; SSE41-X86-NEXT: roundsd $10, %xmm0, %xmm0
77 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
78 ; SSE41-X86-NEXT: fldl (%esp)
79 ; SSE41-X86-NEXT: wait
80 ; SSE41-X86-NEXT: movl %ebp, %esp
81 ; SSE41-X86-NEXT: popl %ebp
82 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
83 ; SSE41-X86-NEXT: retl
85 ; SSE41-X64-LABEL: fceilf64:
86 ; SSE41-X64: # %bb.0:
87 ; SSE41-X64-NEXT: roundsd $10, %xmm0, %xmm0
88 ; SSE41-X64-NEXT: retq
119 ; SSE41-X86-LABEL: ffloor32:
120 ; SSE41-X86: # %bb.0:
121 ; SSE41-X86-NEXT: pushl %eax
122 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
123 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
124 ; SSE41-X86-NEXT: roundss $9, %xmm0, %xmm0
125 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
126 ; SSE41-X86-NEXT: flds (%esp)
127 ; SSE41-X86-NEXT: wait
128 ; SSE41-X86-NEXT: popl %eax
129 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
130 ; SSE41-X86-NEXT: retl
132 ; SSE41-X64-LABEL: ffloor32:
133 ; SSE41-X64: # %bb.0:
134 ; SSE41-X64-NEXT: roundss $9, %xmm0, %xmm0
135 ; SSE41-X64-NEXT: retq
160 ; SSE41-X86-LABEL: ffloorf64:
161 ; SSE41-X86: # %bb.0:
162 ; SSE41-X86-NEXT: pushl %ebp
163 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
164 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
165 ; SSE41-X86-NEXT: movl %esp, %ebp
166 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
167 ; SSE41-X86-NEXT: andl $-8, %esp
168 ; SSE41-X86-NEXT: subl $8, %esp
169 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
170 ; SSE41-X86-NEXT: roundsd $9, %xmm0, %xmm0
171 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
172 ; SSE41-X86-NEXT: fldl (%esp)
173 ; SSE41-X86-NEXT: wait
174 ; SSE41-X86-NEXT: movl %ebp, %esp
175 ; SSE41-X86-NEXT: popl %ebp
176 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
177 ; SSE41-X86-NEXT: retl
179 ; SSE41-X64-LABEL: ffloorf64:
180 ; SSE41-X64: # %bb.0:
181 ; SSE41-X64-NEXT: roundsd $9, %xmm0, %xmm0
182 ; SSE41-X64-NEXT: retq
213 ; SSE41-X86-LABEL: ftrunc32:
214 ; SSE41-X86: # %bb.0:
215 ; SSE41-X86-NEXT: pushl %eax
216 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
217 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
218 ; SSE41-X86-NEXT: roundss $11, %xmm0, %xmm0
219 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
220 ; SSE41-X86-NEXT: flds (%esp)
221 ; SSE41-X86-NEXT: wait
222 ; SSE41-X86-NEXT: popl %eax
223 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
224 ; SSE41-X86-NEXT: retl
226 ; SSE41-X64-LABEL: ftrunc32:
227 ; SSE41-X64: # %bb.0:
228 ; SSE41-X64-NEXT: roundss $11, %xmm0, %xmm0
229 ; SSE41-X64-NEXT: retq
254 ; SSE41-X86-LABEL: ftruncf64:
255 ; SSE41-X86: # %bb.0:
256 ; SSE41-X86-NEXT: pushl %ebp
257 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
258 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
259 ; SSE41-X86-NEXT: movl %esp, %ebp
260 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
261 ; SSE41-X86-NEXT: andl $-8, %esp
262 ; SSE41-X86-NEXT: subl $8, %esp
263 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
264 ; SSE41-X86-NEXT: roundsd $11, %xmm0, %xmm0
265 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
266 ; SSE41-X86-NEXT: fldl (%esp)
267 ; SSE41-X86-NEXT: wait
268 ; SSE41-X86-NEXT: movl %ebp, %esp
269 ; SSE41-X86-NEXT: popl %ebp
270 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
271 ; SSE41-X86-NEXT: retl
273 ; SSE41-X64-LABEL: ftruncf64:
274 ; SSE41-X64: # %bb.0:
275 ; SSE41-X64-NEXT: roundsd $11, %xmm0, %xmm0
276 ; SSE41-X64-NEXT: retq
307 ; SSE41-X86-LABEL: frint32:
308 ; SSE41-X86: # %bb.0:
309 ; SSE41-X86-NEXT: pushl %eax
310 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
311 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
312 ; SSE41-X86-NEXT: roundss $4, %xmm0, %xmm0
313 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
314 ; SSE41-X86-NEXT: flds (%esp)
315 ; SSE41-X86-NEXT: wait
316 ; SSE41-X86-NEXT: popl %eax
317 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
318 ; SSE41-X86-NEXT: retl
320 ; SSE41-X64-LABEL: frint32:
321 ; SSE41-X64: # %bb.0:
322 ; SSE41-X64-NEXT: roundss $4, %xmm0, %xmm0
323 ; SSE41-X64-NEXT: retq
349 ; SSE41-X86-LABEL: frintf64:
350 ; SSE41-X86: # %bb.0:
351 ; SSE41-X86-NEXT: pushl %ebp
352 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
353 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
354 ; SSE41-X86-NEXT: movl %esp, %ebp
355 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
356 ; SSE41-X86-NEXT: andl $-8, %esp
357 ; SSE41-X86-NEXT: subl $8, %esp
358 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
359 ; SSE41-X86-NEXT: roundsd $4, %xmm0, %xmm0
360 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
361 ; SSE41-X86-NEXT: fldl (%esp)
362 ; SSE41-X86-NEXT: wait
363 ; SSE41-X86-NEXT: movl %ebp, %esp
364 ; SSE41-X86-NEXT: popl %ebp
365 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
366 ; SSE41-X86-NEXT: retl
368 ; SSE41-X64-LABEL: frintf64:
369 ; SSE41-X64: # %bb.0:
370 ; SSE41-X64-NEXT: roundsd $4, %xmm0, %xmm0
371 ; SSE41-X64-NEXT: retq
403 ; SSE41-X86-LABEL: fnearbyint32:
404 ; SSE41-X86: # %bb.0:
405 ; SSE41-X86-NEXT: pushl %eax
406 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
407 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
408 ; SSE41-X86-NEXT: roundss $12, %xmm0, %xmm0
409 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
410 ; SSE41-X86-NEXT: flds (%esp)
411 ; SSE41-X86-NEXT: wait
412 ; SSE41-X86-NEXT: popl %eax
413 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
414 ; SSE41-X86-NEXT: retl
416 ; SSE41-X64-LABEL: fnearbyint32:
417 ; SSE41-X64: # %bb.0:
418 ; SSE41-X64-NEXT: roundss $12, %xmm0, %xmm0
419 ; SSE41-X64-NEXT: retq
445 ; SSE41-X86-LABEL: fnearbyintf64:
446 ; SSE41-X86: # %bb.0:
447 ; SSE41-X86-NEXT: pushl %ebp
448 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
449 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
450 ; SSE41-X86-NEXT: movl %esp, %ebp
451 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
452 ; SSE41-X86-NEXT: andl $-8, %esp
453 ; SSE41-X86-NEXT: subl $8, %esp
454 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
455 ; SSE41-X86-NEXT: roundsd $12, %xmm0, %xmm0
456 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
457 ; SSE41-X86-NEXT: fldl (%esp)
458 ; SSE41-X86-NEXT: wait
459 ; SSE41-X86-NEXT: movl %ebp, %esp
460 ; SSE41-X86-NEXT: popl %ebp
461 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
462 ; SSE41-X86-NEXT: retl
464 ; SSE41-X64-LABEL: fnearbyintf64:
465 ; SSE41-X64: # %bb.0:
466 ; SSE41-X64-NEXT: roundsd $12, %xmm0, %xmm0
467 ; SSE41-X64-NEXT: retq
499 ; SSE41-X86-LABEL: fround32:
500 ; SSE41-X86: # %bb.0:
501 ; SSE41-X86-NEXT: pushl %eax
502 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
503 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
504 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
505 ; SSE41-X86-NEXT: calll roundf
506 ; SSE41-X86-NEXT: popl %eax
507 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
508 ; SSE41-X86-NEXT: retl
510 ; SSE41-X64-LABEL: fround32:
511 ; SSE41-X64: # %bb.0:
512 ; SSE41-X64-NEXT: pushq %rax
513 ; SSE41-X64-NEXT: .cfi_def_cfa_offset 16
514 ; SSE41-X64-NEXT: callq roundf
515 ; SSE41-X64-NEXT: popq %rax
516 ; SSE41-X64-NEXT: .cfi_def_cfa_offset 8
517 ; SSE41-X64-NEXT: retq
544 ; SSE41-X86-LABEL: froundf64:
545 ; SSE41-X86: # %bb.0:
546 ; SSE41-X86-NEXT: subl $8, %esp
547 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 12
548 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
549 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
550 ; SSE41-X86-NEXT: calll round
551 ; SSE41-X86-NEXT: addl $8, %esp
552 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
553 ; SSE41-X86-NEXT: retl
555 ; SSE41-X64-LABEL: froundf64:
556 ; SSE41-X64: # %bb.0:
557 ; SSE41-X64-NEXT: pushq %rax
558 ; SSE41-X64-NEXT: .cfi_def_cfa_offset 16
559 ; SSE41-X64-NEXT: callq round
560 ; SSE41-X64-NEXT: popq %rax
561 ; SSE41-X64-NEXT: .cfi_def_cfa_offset 8
562 ; SSE41-X64-NEXT: retq
589 ; SSE41-X86-LABEL: froundeven32:
590 ; SSE41-X86: # %bb.0:
591 ; SSE41-X86-NEXT: pushl %eax
592 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
593 ; SSE41-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
594 ; SSE41-X86-NEXT: roundss $8, %xmm0, %xmm0
595 ; SSE41-X86-NEXT: movss %xmm0, (%esp)
596 ; SSE41-X86-NEXT: flds (%esp)
597 ; SSE41-X86-NEXT: wait
598 ; SSE41-X86-NEXT: popl %eax
599 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 4
600 ; SSE41-X86-NEXT: retl
602 ; SSE41-X64-LABEL: froundeven32:
603 ; SSE41-X64: # %bb.0:
604 ; SSE41-X64-NEXT: roundss $8, %xmm0, %xmm0
605 ; SSE41-X64-NEXT: retq
630 ; SSE41-X86-LABEL: froundevenf64:
631 ; SSE41-X86: # %bb.0:
632 ; SSE41-X86-NEXT: pushl %ebp
633 ; SSE41-X86-NEXT: .cfi_def_cfa_offset 8
634 ; SSE41-X86-NEXT: .cfi_offset %ebp, -8
635 ; SSE41-X86-NEXT: movl %esp, %ebp
636 ; SSE41-X86-NEXT: .cfi_def_cfa_register %ebp
637 ; SSE41-X86-NEXT: andl $-8, %esp
638 ; SSE41-X86-NEXT: subl $8, %esp
639 ; SSE41-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
640 ; SSE41-X86-NEXT: roundsd $8, %xmm0, %xmm0
641 ; SSE41-X86-NEXT: movsd %xmm0, (%esp)
642 ; SSE41-X86-NEXT: fldl (%esp)
643 ; SSE41-X86-NEXT: wait
644 ; SSE41-X86-NEXT: movl %ebp, %esp
645 ; SSE41-X86-NEXT: popl %ebp
646 ; SSE41-X86-NEXT: .cfi_def_cfa %esp, 4
647 ; SSE41-X86-NEXT: retl
649 ; SSE41-X64-LABEL: froundevenf64:
650 ; SSE41-X64: # %bb.0:
651 ; SSE41-X64-NEXT: roundsd $8, %xmm0, %xmm0
652 ; SSE41-X64-NEXT: retq