Lines Matching refs:SSE1
3 …le=x86_64-unknown-linux-gnu -mattr=+sse,-sse2 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-SSE1
53 ; CHECK-SSE1-LABEL: out_v2i8:
54 ; CHECK-SSE1: # %bb.0:
55 ; CHECK-SSE1-NEXT: movl %r8d, %eax
56 ; CHECK-SSE1-NEXT: andl %r9d, %esi
57 ; CHECK-SSE1-NEXT: andl %r8d, %edi
58 ; CHECK-SSE1-NEXT: notb %al
59 ; CHECK-SSE1-NEXT: notb %r9b
60 ; CHECK-SSE1-NEXT: andb %cl, %r9b
61 ; CHECK-SSE1-NEXT: andb %dl, %al
62 ; CHECK-SSE1-NEXT: orb %dil, %al
63 ; CHECK-SSE1-NEXT: orb %sil, %r9b
64 ; CHECK-SSE1-NEXT: # kill: def $al killed $al killed $eax
65 ; CHECK-SSE1-NEXT: movl %r9d, %edx
66 ; CHECK-SSE1-NEXT: retq
139 ; CHECK-SSE1-LABEL: out_v4i8:
140 ; CHECK-SSE1: # %bb.0:
141 ; CHECK-SSE1-NEXT: pushq %rbx
142 ; CHECK-SSE1-NEXT: movq %rdi, %rax
143 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
144 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
145 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
146 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
147 ; CHECK-SSE1-NEXT: andb %bl, %r8b
148 ; CHECK-SSE1-NEXT: andb %r11b, %cl
149 ; CHECK-SSE1-NEXT: andb %r10b, %dl
150 ; CHECK-SSE1-NEXT: andb %dil, %sil
151 ; CHECK-SSE1-NEXT: notb %r10b
152 ; CHECK-SSE1-NEXT: notb %r11b
153 ; CHECK-SSE1-NEXT: notb %bl
154 ; CHECK-SSE1-NEXT: notb %dil
155 ; CHECK-SSE1-NEXT: andb %r9b, %dil
156 ; CHECK-SSE1-NEXT: orb %sil, %dil
157 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bl
158 ; CHECK-SSE1-NEXT: orb %r8b, %bl
159 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r11b
160 ; CHECK-SSE1-NEXT: orb %cl, %r11b
161 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
162 ; CHECK-SSE1-NEXT: orb %dl, %r10b
163 ; CHECK-SSE1-NEXT: movb %bl, 3(%rax)
164 ; CHECK-SSE1-NEXT: movb %r11b, 2(%rax)
165 ; CHECK-SSE1-NEXT: movb %r10b, 1(%rax)
166 ; CHECK-SSE1-NEXT: movb %dil, (%rax)
167 ; CHECK-SSE1-NEXT: popq %rbx
168 ; CHECK-SSE1-NEXT: retq
214 ; CHECK-SSE1-LABEL: out_v4i8_undef:
215 ; CHECK-SSE1: # %bb.0:
216 ; CHECK-SSE1-NEXT: movq %rdi, %rax
217 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
218 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
219 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
220 ; CHECK-SSE1-NEXT: andb %r11b, %r8b
221 ; CHECK-SSE1-NEXT: andb %r10b, %dl
222 ; CHECK-SSE1-NEXT: andb %dil, %sil
223 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
224 ; CHECK-SSE1-NEXT: notb %r10b
225 ; CHECK-SSE1-NEXT: notb %r11b
226 ; CHECK-SSE1-NEXT: notb %dil
227 ; CHECK-SSE1-NEXT: andb %r9b, %dil
228 ; CHECK-SSE1-NEXT: orb %sil, %dil
229 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r11b
230 ; CHECK-SSE1-NEXT: orb %r8b, %r11b
231 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
232 ; CHECK-SSE1-NEXT: orb %dl, %r10b
233 ; CHECK-SSE1-NEXT: movb %cl, 2(%rax)
234 ; CHECK-SSE1-NEXT: movb %r11b, 3(%rax)
235 ; CHECK-SSE1-NEXT: movb %r10b, 1(%rax)
236 ; CHECK-SSE1-NEXT: movb %dil, (%rax)
237 ; CHECK-SSE1-NEXT: retq
273 ; CHECK-SSE1-LABEL: out_v2i16:
274 ; CHECK-SSE1: # %bb.0:
275 ; CHECK-SSE1-NEXT: movl %r8d, %eax
276 ; CHECK-SSE1-NEXT: andl %r9d, %esi
277 ; CHECK-SSE1-NEXT: andl %r8d, %edi
278 ; CHECK-SSE1-NEXT: notl %eax
279 ; CHECK-SSE1-NEXT: notl %r9d
280 ; CHECK-SSE1-NEXT: andl %ecx, %r9d
281 ; CHECK-SSE1-NEXT: orl %esi, %r9d
282 ; CHECK-SSE1-NEXT: andl %edx, %eax
283 ; CHECK-SSE1-NEXT: orl %edi, %eax
284 ; CHECK-SSE1-NEXT: # kill: def $ax killed $ax killed $eax
285 ; CHECK-SSE1-NEXT: movl %r9d, %edx
286 ; CHECK-SSE1-NEXT: retq
397 ; CHECK-SSE1-LABEL: out_v8i8:
398 ; CHECK-SSE1: # %bb.0:
399 ; CHECK-SSE1-NEXT: pushq %rbp
400 ; CHECK-SSE1-NEXT: pushq %r15
401 ; CHECK-SSE1-NEXT: pushq %r14
402 ; CHECK-SSE1-NEXT: pushq %r13
403 ; CHECK-SSE1-NEXT: pushq %r12
404 ; CHECK-SSE1-NEXT: pushq %rbx
405 ; CHECK-SSE1-NEXT: movq %rdi, %rax
406 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
407 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r14b
408 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r12b
409 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
410 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
411 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bpl
412 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r15b
413 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
414 ; CHECK-SSE1-NEXT: andb %bl, %r9b
415 ; CHECK-SSE1-NEXT: andb %r15b, %r8b
416 ; CHECK-SSE1-NEXT: andb %bpl, %cl
417 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
418 ; CHECK-SSE1-NEXT: andb %r11b, %dl
419 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
420 ; CHECK-SSE1-NEXT: andb %dil, %sil
421 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r13b
422 ; CHECK-SSE1-NEXT: andb %r12b, %r13b
423 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
424 ; CHECK-SSE1-NEXT: andb %r14b, %cl
425 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dl
426 ; CHECK-SSE1-NEXT: andb %r10b, %dl
427 ; CHECK-SSE1-NEXT: notb %dil
428 ; CHECK-SSE1-NEXT: notb %r11b
429 ; CHECK-SSE1-NEXT: notb %bpl
430 ; CHECK-SSE1-NEXT: notb %r15b
431 ; CHECK-SSE1-NEXT: notb %bl
432 ; CHECK-SSE1-NEXT: notb %r10b
433 ; CHECK-SSE1-NEXT: notb %r14b
434 ; CHECK-SSE1-NEXT: notb %r12b
435 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r12b
436 ; CHECK-SSE1-NEXT: orb %r13b, %r12b
437 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r14b
438 ; CHECK-SSE1-NEXT: orb %cl, %r14b
439 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
440 ; CHECK-SSE1-NEXT: orb %dl, %r10b
441 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bl
442 ; CHECK-SSE1-NEXT: orb %r9b, %bl
443 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r15b
444 ; CHECK-SSE1-NEXT: orb %r8b, %r15b
445 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bpl
446 ; CHECK-SSE1-NEXT: orb {{[-0-9]+}}(%r{{[sb]}}p), %bpl # 1-byte Folded Reload
447 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r11b
448 ; CHECK-SSE1-NEXT: orb {{[-0-9]+}}(%r{{[sb]}}p), %r11b # 1-byte Folded Reload
449 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dil
450 ; CHECK-SSE1-NEXT: orb %sil, %dil
451 ; CHECK-SSE1-NEXT: movb %r12b, 7(%rax)
452 ; CHECK-SSE1-NEXT: movb %r14b, 6(%rax)
453 ; CHECK-SSE1-NEXT: movb %r10b, 5(%rax)
454 ; CHECK-SSE1-NEXT: movb %bl, 4(%rax)
455 ; CHECK-SSE1-NEXT: movb %r15b, 3(%rax)
456 ; CHECK-SSE1-NEXT: movb %bpl, 2(%rax)
457 ; CHECK-SSE1-NEXT: movb %r11b, 1(%rax)
458 ; CHECK-SSE1-NEXT: movb %dil, (%rax)
459 ; CHECK-SSE1-NEXT: popq %rbx
460 ; CHECK-SSE1-NEXT: popq %r12
461 ; CHECK-SSE1-NEXT: popq %r13
462 ; CHECK-SSE1-NEXT: popq %r14
463 ; CHECK-SSE1-NEXT: popq %r15
464 ; CHECK-SSE1-NEXT: popq %rbp
465 ; CHECK-SSE1-NEXT: retq
517 ; CHECK-SSE1-LABEL: out_v4i16:
518 ; CHECK-SSE1: # %bb.0:
519 ; CHECK-SSE1-NEXT: pushq %rbx
520 ; CHECK-SSE1-NEXT: movq %rdi, %rax
521 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
522 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
523 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
524 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
525 ; CHECK-SSE1-NEXT: andl %ebx, %esi
526 ; CHECK-SSE1-NEXT: andl %edi, %r8d
527 ; CHECK-SSE1-NEXT: andl %r11d, %ecx
528 ; CHECK-SSE1-NEXT: andl %r10d, %edx
529 ; CHECK-SSE1-NEXT: notl %r10d
530 ; CHECK-SSE1-NEXT: notl %r11d
531 ; CHECK-SSE1-NEXT: notl %edi
532 ; CHECK-SSE1-NEXT: notl %ebx
533 ; CHECK-SSE1-NEXT: andl %r9d, %ebx
534 ; CHECK-SSE1-NEXT: orl %esi, %ebx
535 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %di
536 ; CHECK-SSE1-NEXT: orl %r8d, %edi
537 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r11w
538 ; CHECK-SSE1-NEXT: orl %ecx, %r11d
539 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r10w
540 ; CHECK-SSE1-NEXT: orl %edx, %r10d
541 ; CHECK-SSE1-NEXT: movw %bx, (%rax)
542 ; CHECK-SSE1-NEXT: movw %di, 6(%rax)
543 ; CHECK-SSE1-NEXT: movw %r11w, 4(%rax)
544 ; CHECK-SSE1-NEXT: movw %r10w, 2(%rax)
545 ; CHECK-SSE1-NEXT: popq %rbx
546 ; CHECK-SSE1-NEXT: retq
592 ; CHECK-SSE1-LABEL: out_v4i16_undef:
593 ; CHECK-SSE1: # %bb.0:
594 ; CHECK-SSE1-NEXT: movq %rdi, %rax
595 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
596 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
597 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
598 ; CHECK-SSE1-NEXT: andl %edi, %esi
599 ; CHECK-SSE1-NEXT: andl %r11d, %r8d
600 ; CHECK-SSE1-NEXT: andl %r10d, %edx
601 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
602 ; CHECK-SSE1-NEXT: notl %r10d
603 ; CHECK-SSE1-NEXT: notl %r11d
604 ; CHECK-SSE1-NEXT: notl %edi
605 ; CHECK-SSE1-NEXT: andl %r9d, %edi
606 ; CHECK-SSE1-NEXT: orl %esi, %edi
607 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r11w
608 ; CHECK-SSE1-NEXT: orl %r8d, %r11d
609 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r10w
610 ; CHECK-SSE1-NEXT: orl %edx, %r10d
611 ; CHECK-SSE1-NEXT: movw %cx, 4(%rax)
612 ; CHECK-SSE1-NEXT: movw %di, (%rax)
613 ; CHECK-SSE1-NEXT: movw %r11w, 6(%rax)
614 ; CHECK-SSE1-NEXT: movw %r10w, 2(%rax)
615 ; CHECK-SSE1-NEXT: retq
650 ; CHECK-SSE1-LABEL: out_v2i32:
651 ; CHECK-SSE1: # %bb.0:
652 ; CHECK-SSE1-NEXT: movl %r8d, %eax
653 ; CHECK-SSE1-NEXT: andl %r9d, %esi
654 ; CHECK-SSE1-NEXT: andl %r8d, %edi
655 ; CHECK-SSE1-NEXT: notl %eax
656 ; CHECK-SSE1-NEXT: notl %r9d
657 ; CHECK-SSE1-NEXT: andl %ecx, %r9d
658 ; CHECK-SSE1-NEXT: orl %esi, %r9d
659 ; CHECK-SSE1-NEXT: andl %edx, %eax
660 ; CHECK-SSE1-NEXT: orl %edi, %eax
661 ; CHECK-SSE1-NEXT: movl %r9d, %edx
662 ; CHECK-SSE1-NEXT: retq
833 ; CHECK-SSE1-LABEL: out_v16i8:
834 ; CHECK-SSE1: # %bb.0:
835 ; CHECK-SSE1-NEXT: pushq %rbp
836 ; CHECK-SSE1-NEXT: pushq %r15
837 ; CHECK-SSE1-NEXT: pushq %r14
838 ; CHECK-SSE1-NEXT: pushq %r13
839 ; CHECK-SSE1-NEXT: pushq %r12
840 ; CHECK-SSE1-NEXT: pushq %rbx
841 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
842 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
843 ; CHECK-SSE1-NEXT: movl %esi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
844 ; CHECK-SSE1-NEXT: movq %rdi, %rax
845 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
846 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
847 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
848 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bpl
849 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r14b
850 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r15b
851 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r12b
852 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r13b
853 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
854 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dl
855 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
856 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
857 ; CHECK-SSE1-NEXT: andb %cl, %sil
858 ; CHECK-SSE1-NEXT: notb %cl
859 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
860 ; CHECK-SSE1-NEXT: orb %sil, %cl
861 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
862 ; CHECK-SSE1-NEXT: andb %dl, %sil
863 ; CHECK-SSE1-NEXT: notb %dl
864 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dl
865 ; CHECK-SSE1-NEXT: orb %sil, %dl
866 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
867 ; CHECK-SSE1-NEXT: andb %bl, %sil
868 ; CHECK-SSE1-NEXT: notb %bl
869 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bl
870 ; CHECK-SSE1-NEXT: orb %sil, %bl
871 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
872 ; CHECK-SSE1-NEXT: andb %r13b, %sil
873 ; CHECK-SSE1-NEXT: notb %r13b
874 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r13b
875 ; CHECK-SSE1-NEXT: orb %sil, %r13b
876 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
877 ; CHECK-SSE1-NEXT: andb %r12b, %sil
878 ; CHECK-SSE1-NEXT: notb %r12b
879 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r12b
880 ; CHECK-SSE1-NEXT: orb %sil, %r12b
881 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
882 ; CHECK-SSE1-NEXT: andb %r15b, %sil
883 ; CHECK-SSE1-NEXT: notb %r15b
884 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r15b
885 ; CHECK-SSE1-NEXT: orb %sil, %r15b
886 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
887 ; CHECK-SSE1-NEXT: andb %r14b, %sil
888 ; CHECK-SSE1-NEXT: notb %r14b
889 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r14b
890 ; CHECK-SSE1-NEXT: orb %sil, %r14b
891 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
892 ; CHECK-SSE1-NEXT: andb %bpl, %sil
893 ; CHECK-SSE1-NEXT: notb %bpl
894 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bpl
895 ; CHECK-SSE1-NEXT: orb %sil, %bpl
896 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
897 ; CHECK-SSE1-NEXT: andb %r11b, %sil
898 ; CHECK-SSE1-NEXT: notb %r11b
899 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r11b
900 ; CHECK-SSE1-NEXT: orb %sil, %r11b
901 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
902 ; CHECK-SSE1-NEXT: andb %r10b, %sil
903 ; CHECK-SSE1-NEXT: notb %r10b
904 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
905 ; CHECK-SSE1-NEXT: orb %sil, %r10b
906 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
907 ; CHECK-SSE1-NEXT: andb %dil, %sil
908 ; CHECK-SSE1-NEXT: notb %dil
909 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dil
910 ; CHECK-SSE1-NEXT: orb %sil, %dil
911 ; CHECK-SSE1-NEXT: movb %cl, 15(%rax)
912 ; CHECK-SSE1-NEXT: movb %dl, 14(%rax)
913 ; CHECK-SSE1-NEXT: movb %bl, 13(%rax)
914 ; CHECK-SSE1-NEXT: movb %r13b, 12(%rax)
915 ; CHECK-SSE1-NEXT: movb %r12b, 11(%rax)
916 ; CHECK-SSE1-NEXT: movb %r15b, 10(%rax)
917 ; CHECK-SSE1-NEXT: movb %r14b, 9(%rax)
918 ; CHECK-SSE1-NEXT: movb %bpl, 8(%rax)
919 ; CHECK-SSE1-NEXT: movb %r11b, 7(%rax)
920 ; CHECK-SSE1-NEXT: movb %r10b, 6(%rax)
921 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
922 ; CHECK-SSE1-NEXT: andb %cl, %r9b
923 ; CHECK-SSE1-NEXT: notb %cl
924 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
925 ; CHECK-SSE1-NEXT: orb %r9b, %cl
926 ; CHECK-SSE1-NEXT: movb %dil, 5(%rax)
927 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dl
928 ; CHECK-SSE1-NEXT: andb %dl, %r8b
929 ; CHECK-SSE1-NEXT: notb %dl
930 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dl
931 ; CHECK-SSE1-NEXT: orb %r8b, %dl
932 ; CHECK-SSE1-NEXT: movb %cl, 4(%rax)
933 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
934 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %esi # 4-byte Reload
935 ; CHECK-SSE1-NEXT: andb %cl, %sil
936 ; CHECK-SSE1-NEXT: notb %cl
937 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
938 ; CHECK-SSE1-NEXT: orb %sil, %cl
939 ; CHECK-SSE1-NEXT: movb %dl, 3(%rax)
940 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dl
941 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %esi # 4-byte Reload
942 ; CHECK-SSE1-NEXT: andb %dl, %sil
943 ; CHECK-SSE1-NEXT: notb %dl
944 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dl
945 ; CHECK-SSE1-NEXT: orb %sil, %dl
946 ; CHECK-SSE1-NEXT: movb %cl, 2(%rax)
947 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
948 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %esi # 4-byte Reload
949 ; CHECK-SSE1-NEXT: andb %cl, %sil
950 ; CHECK-SSE1-NEXT: notb %cl
951 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
952 ; CHECK-SSE1-NEXT: orb %sil, %cl
953 ; CHECK-SSE1-NEXT: movb %dl, 1(%rax)
954 ; CHECK-SSE1-NEXT: movb %cl, (%rax)
955 ; CHECK-SSE1-NEXT: popq %rbx
956 ; CHECK-SSE1-NEXT: popq %r12
957 ; CHECK-SSE1-NEXT: popq %r13
958 ; CHECK-SSE1-NEXT: popq %r14
959 ; CHECK-SSE1-NEXT: popq %r15
960 ; CHECK-SSE1-NEXT: popq %rbp
961 ; CHECK-SSE1-NEXT: retq
1044 ; CHECK-SSE1-LABEL: out_v8i16:
1045 ; CHECK-SSE1: # %bb.0:
1046 ; CHECK-SSE1-NEXT: pushq %rbp
1047 ; CHECK-SSE1-NEXT: pushq %r14
1048 ; CHECK-SSE1-NEXT: pushq %rbx
1049 ; CHECK-SSE1-NEXT: movq %rdi, %rax
1050 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
1051 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
1052 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r14d
1053 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
1054 ; CHECK-SSE1-NEXT: andw %r14w, %bx
1055 ; CHECK-SSE1-NEXT: notl %r14d
1056 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r14w
1057 ; CHECK-SSE1-NEXT: orl %ebx, %r14d
1058 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
1059 ; CHECK-SSE1-NEXT: andw %r11w, %bx
1060 ; CHECK-SSE1-NEXT: notl %r11d
1061 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r11w
1062 ; CHECK-SSE1-NEXT: orl %ebx, %r11d
1063 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
1064 ; CHECK-SSE1-NEXT: andw %r10w, %bx
1065 ; CHECK-SSE1-NEXT: notl %r10d
1066 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r10w
1067 ; CHECK-SSE1-NEXT: orl %ebx, %r10d
1068 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
1069 ; CHECK-SSE1-NEXT: andl %ebx, %r9d
1070 ; CHECK-SSE1-NEXT: notl %ebx
1071 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bx
1072 ; CHECK-SSE1-NEXT: orl %r9d, %ebx
1073 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
1074 ; CHECK-SSE1-NEXT: andl %edi, %r8d
1075 ; CHECK-SSE1-NEXT: notl %edi
1076 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %di
1077 ; CHECK-SSE1-NEXT: orl %r8d, %edi
1078 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebp
1079 ; CHECK-SSE1-NEXT: andl %ebp, %ecx
1080 ; CHECK-SSE1-NEXT: notl %ebp
1081 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bp
1082 ; CHECK-SSE1-NEXT: orl %ecx, %ebp
1083 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ecx
1084 ; CHECK-SSE1-NEXT: andl %ecx, %edx
1085 ; CHECK-SSE1-NEXT: notl %ecx
1086 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
1087 ; CHECK-SSE1-NEXT: orl %edx, %ecx
1088 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edx
1089 ; CHECK-SSE1-NEXT: andl %edx, %esi
1090 ; CHECK-SSE1-NEXT: notl %edx
1091 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %dx
1092 ; CHECK-SSE1-NEXT: orl %esi, %edx
1093 ; CHECK-SSE1-NEXT: movw %r14w, 14(%rax)
1094 ; CHECK-SSE1-NEXT: movw %r11w, 12(%rax)
1095 ; CHECK-SSE1-NEXT: movw %r10w, 10(%rax)
1096 ; CHECK-SSE1-NEXT: movw %bx, 8(%rax)
1097 ; CHECK-SSE1-NEXT: movw %di, 6(%rax)
1098 ; CHECK-SSE1-NEXT: movw %bp, 4(%rax)
1099 ; CHECK-SSE1-NEXT: movw %cx, 2(%rax)
1100 ; CHECK-SSE1-NEXT: movw %dx, (%rax)
1101 ; CHECK-SSE1-NEXT: popq %rbx
1102 ; CHECK-SSE1-NEXT: popq %r14
1103 ; CHECK-SSE1-NEXT: popq %rbp
1104 ; CHECK-SSE1-NEXT: retq
1160 ; CHECK-SSE1-LABEL: out_v4i32:
1161 ; CHECK-SSE1: # %bb.0:
1162 ; CHECK-SSE1-NEXT: movq %rdi, %rax
1163 ; CHECK-SSE1-NEXT: movaps (%rcx), %xmm0
1164 ; CHECK-SSE1-NEXT: movaps (%rsi), %xmm1
1165 ; CHECK-SSE1-NEXT: andps %xmm0, %xmm1
1166 ; CHECK-SSE1-NEXT: andnps (%rdx), %xmm0
1167 ; CHECK-SSE1-NEXT: orps %xmm1, %xmm0
1168 ; CHECK-SSE1-NEXT: movaps %xmm0, (%rdi)
1169 ; CHECK-SSE1-NEXT: retq
1226 ; CHECK-SSE1-LABEL: out_v4i32_undef:
1227 ; CHECK-SSE1: # %bb.0:
1228 ; CHECK-SSE1-NEXT: movq %rdi, %rax
1229 ; CHECK-SSE1-NEXT: movaps (%rcx), %xmm0
1230 ; CHECK-SSE1-NEXT: movaps (%rsi), %xmm1
1231 ; CHECK-SSE1-NEXT: andps %xmm0, %xmm1
1232 ; CHECK-SSE1-NEXT: andnps (%rdx), %xmm0
1233 ; CHECK-SSE1-NEXT: orps %xmm1, %xmm0
1234 ; CHECK-SSE1-NEXT: movaps %xmm0, (%rdi)
1235 ; CHECK-SSE1-NEXT: retq
1277 ; CHECK-SSE1-LABEL: out_v2i64:
1278 ; CHECK-SSE1: # %bb.0:
1279 ; CHECK-SSE1-NEXT: movq %r8, %rax
1280 ; CHECK-SSE1-NEXT: andq %r9, %rsi
1281 ; CHECK-SSE1-NEXT: andq %r8, %rdi
1282 ; CHECK-SSE1-NEXT: notq %rax
1283 ; CHECK-SSE1-NEXT: notq %r9
1284 ; CHECK-SSE1-NEXT: andq %rcx, %r9
1285 ; CHECK-SSE1-NEXT: orq %rsi, %r9
1286 ; CHECK-SSE1-NEXT: andq %rdx, %rax
1287 ; CHECK-SSE1-NEXT: orq %rdi, %rax
1288 ; CHECK-SSE1-NEXT: movq %r9, %rdx
1289 ; CHECK-SSE1-NEXT: retq
1610 ; CHECK-SSE1-LABEL: out_v32i8:
1611 ; CHECK-SSE1: # %bb.0:
1612 ; CHECK-SSE1-NEXT: pushq %rbp
1613 ; CHECK-SSE1-NEXT: pushq %r15
1614 ; CHECK-SSE1-NEXT: pushq %r14
1615 ; CHECK-SSE1-NEXT: pushq %r13
1616 ; CHECK-SSE1-NEXT: pushq %r12
1617 ; CHECK-SSE1-NEXT: pushq %rbx
1618 ; CHECK-SSE1-NEXT: movq %rcx, %r15
1619 ; CHECK-SSE1-NEXT: movq %rsi, %r14
1620 ; CHECK-SSE1-NEXT: movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
1621 ; CHECK-SSE1-NEXT: movb 16(%rcx), %al
1622 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1623 ; CHECK-SSE1-NEXT: movb 17(%rcx), %al
1624 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1625 ; CHECK-SSE1-NEXT: movb 18(%rcx), %al
1626 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1627 ; CHECK-SSE1-NEXT: movb 19(%rcx), %al
1628 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1629 ; CHECK-SSE1-NEXT: movb 20(%rcx), %al
1630 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1631 ; CHECK-SSE1-NEXT: movb 21(%rcx), %r12b
1632 ; CHECK-SSE1-NEXT: movb 22(%rcx), %r9b
1633 ; CHECK-SSE1-NEXT: movb 23(%rcx), %r10b
1634 ; CHECK-SSE1-NEXT: movb 24(%rcx), %r11b
1635 ; CHECK-SSE1-NEXT: movb 25(%rcx), %bpl
1636 ; CHECK-SSE1-NEXT: movb 26(%rcx), %r13b
1637 ; CHECK-SSE1-NEXT: movb 27(%rcx), %r8b
1638 ; CHECK-SSE1-NEXT: movb 28(%rcx), %dil
1639 ; CHECK-SSE1-NEXT: movb 29(%rcx), %sil
1640 ; CHECK-SSE1-NEXT: movb 30(%rcx), %bl
1641 ; CHECK-SSE1-NEXT: movb 31(%rcx), %al
1642 ; CHECK-SSE1-NEXT: movb 31(%r14), %cl
1643 ; CHECK-SSE1-NEXT: andb %al, %cl
1644 ; CHECK-SSE1-NEXT: notb %al
1645 ; CHECK-SSE1-NEXT: andb 31(%rdx), %al
1646 ; CHECK-SSE1-NEXT: orb %cl, %al
1647 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1648 ; CHECK-SSE1-NEXT: movb 30(%r14), %al
1649 ; CHECK-SSE1-NEXT: andb %bl, %al
1650 ; CHECK-SSE1-NEXT: notb %bl
1651 ; CHECK-SSE1-NEXT: andb 30(%rdx), %bl
1652 ; CHECK-SSE1-NEXT: orb %al, %bl
1653 ; CHECK-SSE1-NEXT: movb %bl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1654 ; CHECK-SSE1-NEXT: movb 29(%r14), %al
1655 ; CHECK-SSE1-NEXT: andb %sil, %al
1656 ; CHECK-SSE1-NEXT: notb %sil
1657 ; CHECK-SSE1-NEXT: andb 29(%rdx), %sil
1658 ; CHECK-SSE1-NEXT: orb %al, %sil
1659 ; CHECK-SSE1-NEXT: movb %sil, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1660 ; CHECK-SSE1-NEXT: movb 28(%r14), %al
1661 ; CHECK-SSE1-NEXT: andb %dil, %al
1662 ; CHECK-SSE1-NEXT: notb %dil
1663 ; CHECK-SSE1-NEXT: andb 28(%rdx), %dil
1664 ; CHECK-SSE1-NEXT: orb %al, %dil
1665 ; CHECK-SSE1-NEXT: movb %dil, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1666 ; CHECK-SSE1-NEXT: movb 27(%r14), %al
1667 ; CHECK-SSE1-NEXT: andb %r8b, %al
1668 ; CHECK-SSE1-NEXT: notb %r8b
1669 ; CHECK-SSE1-NEXT: andb 27(%rdx), %r8b
1670 ; CHECK-SSE1-NEXT: orb %al, %r8b
1671 ; CHECK-SSE1-NEXT: movb %r8b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1672 ; CHECK-SSE1-NEXT: movb 26(%r14), %al
1673 ; CHECK-SSE1-NEXT: andb %r13b, %al
1674 ; CHECK-SSE1-NEXT: notb %r13b
1675 ; CHECK-SSE1-NEXT: andb 26(%rdx), %r13b
1676 ; CHECK-SSE1-NEXT: orb %al, %r13b
1677 ; CHECK-SSE1-NEXT: movb %r13b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1678 ; CHECK-SSE1-NEXT: movb 25(%r14), %al
1679 ; CHECK-SSE1-NEXT: andb %bpl, %al
1680 ; CHECK-SSE1-NEXT: notb %bpl
1681 ; CHECK-SSE1-NEXT: andb 25(%rdx), %bpl
1682 ; CHECK-SSE1-NEXT: orb %al, %bpl
1683 ; CHECK-SSE1-NEXT: movb %bpl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1684 ; CHECK-SSE1-NEXT: movb 24(%r14), %al
1685 ; CHECK-SSE1-NEXT: andb %r11b, %al
1686 ; CHECK-SSE1-NEXT: notb %r11b
1687 ; CHECK-SSE1-NEXT: andb 24(%rdx), %r11b
1688 ; CHECK-SSE1-NEXT: orb %al, %r11b
1689 ; CHECK-SSE1-NEXT: movb %r11b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1690 ; CHECK-SSE1-NEXT: movb 23(%r14), %al
1691 ; CHECK-SSE1-NEXT: andb %r10b, %al
1692 ; CHECK-SSE1-NEXT: notb %r10b
1693 ; CHECK-SSE1-NEXT: andb 23(%rdx), %r10b
1694 ; CHECK-SSE1-NEXT: orb %al, %r10b
1695 ; CHECK-SSE1-NEXT: movb %r10b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1696 ; CHECK-SSE1-NEXT: movb 22(%r14), %al
1697 ; CHECK-SSE1-NEXT: andb %r9b, %al
1698 ; CHECK-SSE1-NEXT: notb %r9b
1699 ; CHECK-SSE1-NEXT: andb 22(%rdx), %r9b
1700 ; CHECK-SSE1-NEXT: orb %al, %r9b
1701 ; CHECK-SSE1-NEXT: movb %r9b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1702 ; CHECK-SSE1-NEXT: movb 21(%r14), %al
1703 ; CHECK-SSE1-NEXT: andb %r12b, %al
1704 ; CHECK-SSE1-NEXT: notb %r12b
1705 ; CHECK-SSE1-NEXT: andb 21(%rdx), %r12b
1706 ; CHECK-SSE1-NEXT: orb %al, %r12b
1707 ; CHECK-SSE1-NEXT: movb %r12b, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1708 ; CHECK-SSE1-NEXT: movb 20(%r14), %al
1709 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %cl # 1-byte Reload
1710 ; CHECK-SSE1-NEXT: andb %cl, %al
1711 ; CHECK-SSE1-NEXT: notb %cl
1712 ; CHECK-SSE1-NEXT: andb 20(%rdx), %cl
1713 ; CHECK-SSE1-NEXT: orb %al, %cl
1714 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1715 ; CHECK-SSE1-NEXT: movb 19(%r14), %al
1716 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %cl # 1-byte Reload
1717 ; CHECK-SSE1-NEXT: andb %cl, %al
1718 ; CHECK-SSE1-NEXT: notb %cl
1719 ; CHECK-SSE1-NEXT: andb 19(%rdx), %cl
1720 ; CHECK-SSE1-NEXT: orb %al, %cl
1721 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1722 ; CHECK-SSE1-NEXT: movb 18(%r14), %al
1723 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %cl # 1-byte Reload
1724 ; CHECK-SSE1-NEXT: andb %cl, %al
1725 ; CHECK-SSE1-NEXT: notb %cl
1726 ; CHECK-SSE1-NEXT: andb 18(%rdx), %cl
1727 ; CHECK-SSE1-NEXT: orb %al, %cl
1728 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1729 ; CHECK-SSE1-NEXT: movb 17(%r14), %al
1730 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %cl # 1-byte Reload
1731 ; CHECK-SSE1-NEXT: andb %cl, %al
1732 ; CHECK-SSE1-NEXT: notb %cl
1733 ; CHECK-SSE1-NEXT: movq %rdx, %rbx
1734 ; CHECK-SSE1-NEXT: andb 17(%rdx), %cl
1735 ; CHECK-SSE1-NEXT: orb %al, %cl
1736 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1737 ; CHECK-SSE1-NEXT: movb 16(%r14), %al
1738 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %cl # 1-byte Reload
1739 ; CHECK-SSE1-NEXT: andb %cl, %al
1740 ; CHECK-SSE1-NEXT: notb %cl
1741 ; CHECK-SSE1-NEXT: andb 16(%rdx), %cl
1742 ; CHECK-SSE1-NEXT: orb %al, %cl
1743 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1744 ; CHECK-SSE1-NEXT: movb 15(%r15), %cl
1745 ; CHECK-SSE1-NEXT: movb 15(%r14), %al
1746 ; CHECK-SSE1-NEXT: andb %cl, %al
1747 ; CHECK-SSE1-NEXT: notb %cl
1748 ; CHECK-SSE1-NEXT: andb 15(%rdx), %cl
1749 ; CHECK-SSE1-NEXT: orb %al, %cl
1750 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1751 ; CHECK-SSE1-NEXT: movb 14(%r15), %cl
1752 ; CHECK-SSE1-NEXT: movb 14(%r14), %al
1753 ; CHECK-SSE1-NEXT: andb %cl, %al
1754 ; CHECK-SSE1-NEXT: notb %cl
1755 ; CHECK-SSE1-NEXT: andb 14(%rdx), %cl
1756 ; CHECK-SSE1-NEXT: orb %al, %cl
1757 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1758 ; CHECK-SSE1-NEXT: movb 13(%r15), %cl
1759 ; CHECK-SSE1-NEXT: movb 13(%r14), %al
1760 ; CHECK-SSE1-NEXT: andb %cl, %al
1761 ; CHECK-SSE1-NEXT: notb %cl
1762 ; CHECK-SSE1-NEXT: andb 13(%rdx), %cl
1763 ; CHECK-SSE1-NEXT: orb %al, %cl
1764 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1765 ; CHECK-SSE1-NEXT: movb 12(%r15), %cl
1766 ; CHECK-SSE1-NEXT: movb 12(%r14), %al
1767 ; CHECK-SSE1-NEXT: andb %cl, %al
1768 ; CHECK-SSE1-NEXT: notb %cl
1769 ; CHECK-SSE1-NEXT: andb 12(%rdx), %cl
1770 ; CHECK-SSE1-NEXT: orb %al, %cl
1771 ; CHECK-SSE1-NEXT: movb %cl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
1772 ; CHECK-SSE1-NEXT: movb 11(%r15), %r13b
1773 ; CHECK-SSE1-NEXT: movb 11(%r14), %al
1774 ; CHECK-SSE1-NEXT: andb %r13b, %al
1775 ; CHECK-SSE1-NEXT: notb %r13b
1776 ; CHECK-SSE1-NEXT: andb 11(%rdx), %r13b
1777 ; CHECK-SSE1-NEXT: orb %al, %r13b
1778 ; CHECK-SSE1-NEXT: movb 10(%r15), %r12b
1779 ; CHECK-SSE1-NEXT: movb 10(%r14), %al
1780 ; CHECK-SSE1-NEXT: andb %r12b, %al
1781 ; CHECK-SSE1-NEXT: notb %r12b
1782 ; CHECK-SSE1-NEXT: andb 10(%rdx), %r12b
1783 ; CHECK-SSE1-NEXT: orb %al, %r12b
1784 ; CHECK-SSE1-NEXT: movb 9(%r15), %bpl
1785 ; CHECK-SSE1-NEXT: movb 9(%r14), %al
1786 ; CHECK-SSE1-NEXT: andb %bpl, %al
1787 ; CHECK-SSE1-NEXT: notb %bpl
1788 ; CHECK-SSE1-NEXT: andb 9(%rdx), %bpl
1789 ; CHECK-SSE1-NEXT: orb %al, %bpl
1790 ; CHECK-SSE1-NEXT: movb 8(%r15), %r11b
1791 ; CHECK-SSE1-NEXT: movb 8(%r14), %al
1792 ; CHECK-SSE1-NEXT: andb %r11b, %al
1793 ; CHECK-SSE1-NEXT: notb %r11b
1794 ; CHECK-SSE1-NEXT: andb 8(%rdx), %r11b
1795 ; CHECK-SSE1-NEXT: orb %al, %r11b
1796 ; CHECK-SSE1-NEXT: movb 7(%r15), %r10b
1797 ; CHECK-SSE1-NEXT: movb 7(%r14), %al
1798 ; CHECK-SSE1-NEXT: andb %r10b, %al
1799 ; CHECK-SSE1-NEXT: notb %r10b
1800 ; CHECK-SSE1-NEXT: andb 7(%rdx), %r10b
1801 ; CHECK-SSE1-NEXT: orb %al, %r10b
1802 ; CHECK-SSE1-NEXT: movb 6(%r15), %r9b
1803 ; CHECK-SSE1-NEXT: movb 6(%r14), %al
1804 ; CHECK-SSE1-NEXT: andb %r9b, %al
1805 ; CHECK-SSE1-NEXT: notb %r9b
1806 ; CHECK-SSE1-NEXT: andb 6(%rdx), %r9b
1807 ; CHECK-SSE1-NEXT: orb %al, %r9b
1808 ; CHECK-SSE1-NEXT: movb 5(%r15), %r8b
1809 ; CHECK-SSE1-NEXT: movb 5(%r14), %al
1810 ; CHECK-SSE1-NEXT: andb %r8b, %al
1811 ; CHECK-SSE1-NEXT: notb %r8b
1812 ; CHECK-SSE1-NEXT: andb 5(%rdx), %r8b
1813 ; CHECK-SSE1-NEXT: orb %al, %r8b
1814 ; CHECK-SSE1-NEXT: movb 4(%r15), %dil
1815 ; CHECK-SSE1-NEXT: movb 4(%r14), %al
1816 ; CHECK-SSE1-NEXT: andb %dil, %al
1817 ; CHECK-SSE1-NEXT: notb %dil
1818 ; CHECK-SSE1-NEXT: andb 4(%rdx), %dil
1819 ; CHECK-SSE1-NEXT: orb %al, %dil
1820 ; CHECK-SSE1-NEXT: movb 3(%r15), %sil
1821 ; CHECK-SSE1-NEXT: movb 3(%r14), %al
1822 ; CHECK-SSE1-NEXT: andb %sil, %al
1823 ; CHECK-SSE1-NEXT: notb %sil
1824 ; CHECK-SSE1-NEXT: andb 3(%rdx), %sil
1825 ; CHECK-SSE1-NEXT: orb %al, %sil
1826 ; CHECK-SSE1-NEXT: movb 2(%r15), %dl
1827 ; CHECK-SSE1-NEXT: movb 2(%r14), %al
1828 ; CHECK-SSE1-NEXT: andb %dl, %al
1829 ; CHECK-SSE1-NEXT: notb %dl
1830 ; CHECK-SSE1-NEXT: andb 2(%rbx), %dl
1831 ; CHECK-SSE1-NEXT: orb %al, %dl
1832 ; CHECK-SSE1-NEXT: movb 1(%r15), %al
1833 ; CHECK-SSE1-NEXT: movb 1(%r14), %cl
1834 ; CHECK-SSE1-NEXT: andb %al, %cl
1835 ; CHECK-SSE1-NEXT: notb %al
1836 ; CHECK-SSE1-NEXT: andb 1(%rbx), %al
1837 ; CHECK-SSE1-NEXT: orb %cl, %al
1838 ; CHECK-SSE1-NEXT: movb (%r15), %r15b
1839 ; CHECK-SSE1-NEXT: movb (%r14), %r14b
1840 ; CHECK-SSE1-NEXT: andb %r15b, %r14b
1841 ; CHECK-SSE1-NEXT: notb %r15b
1842 ; CHECK-SSE1-NEXT: andb (%rbx), %r15b
1843 ; CHECK-SSE1-NEXT: orb %r14b, %r15b
1844 ; CHECK-SSE1-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
1845 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1846 ; CHECK-SSE1-NEXT: movb %bl, 31(%rcx)
1847 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1848 ; CHECK-SSE1-NEXT: movb %bl, 30(%rcx)
1849 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1850 ; CHECK-SSE1-NEXT: movb %bl, 29(%rcx)
1851 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1852 ; CHECK-SSE1-NEXT: movb %bl, 28(%rcx)
1853 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1854 ; CHECK-SSE1-NEXT: movb %bl, 27(%rcx)
1855 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1856 ; CHECK-SSE1-NEXT: movb %bl, 26(%rcx)
1857 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1858 ; CHECK-SSE1-NEXT: movb %bl, 25(%rcx)
1859 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1860 ; CHECK-SSE1-NEXT: movb %bl, 24(%rcx)
1861 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1862 ; CHECK-SSE1-NEXT: movb %bl, 23(%rcx)
1863 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1864 ; CHECK-SSE1-NEXT: movb %bl, 22(%rcx)
1865 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1866 ; CHECK-SSE1-NEXT: movb %bl, 21(%rcx)
1867 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1868 ; CHECK-SSE1-NEXT: movb %bl, 20(%rcx)
1869 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1870 ; CHECK-SSE1-NEXT: movb %bl, 19(%rcx)
1871 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1872 ; CHECK-SSE1-NEXT: movb %bl, 18(%rcx)
1873 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1874 ; CHECK-SSE1-NEXT: movb %bl, 17(%rcx)
1875 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1876 ; CHECK-SSE1-NEXT: movb %bl, 16(%rcx)
1877 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1878 ; CHECK-SSE1-NEXT: movb %bl, 15(%rcx)
1879 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1880 ; CHECK-SSE1-NEXT: movb %bl, 14(%rcx)
1881 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1882 ; CHECK-SSE1-NEXT: movb %bl, 13(%rcx)
1883 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %bl # 1-byte Reload
1884 ; CHECK-SSE1-NEXT: movb %bl, 12(%rcx)
1885 ; CHECK-SSE1-NEXT: movb %r13b, 11(%rcx)
1886 ; CHECK-SSE1-NEXT: movb %r12b, 10(%rcx)
1887 ; CHECK-SSE1-NEXT: movb %bpl, 9(%rcx)
1888 ; CHECK-SSE1-NEXT: movb %r11b, 8(%rcx)
1889 ; CHECK-SSE1-NEXT: movb %r10b, 7(%rcx)
1890 ; CHECK-SSE1-NEXT: movb %r9b, 6(%rcx)
1891 ; CHECK-SSE1-NEXT: movb %r8b, 5(%rcx)
1892 ; CHECK-SSE1-NEXT: movb %dil, 4(%rcx)
1893 ; CHECK-SSE1-NEXT: movb %sil, 3(%rcx)
1894 ; CHECK-SSE1-NEXT: movb %dl, 2(%rcx)
1895 ; CHECK-SSE1-NEXT: movb %al, 1(%rcx)
1896 ; CHECK-SSE1-NEXT: movb %r15b, (%rcx)
1897 ; CHECK-SSE1-NEXT: movq %rcx, %rax
1898 ; CHECK-SSE1-NEXT: popq %rbx
1899 ; CHECK-SSE1-NEXT: popq %r12
1900 ; CHECK-SSE1-NEXT: popq %r13
1901 ; CHECK-SSE1-NEXT: popq %r14
1902 ; CHECK-SSE1-NEXT: popq %r15
1903 ; CHECK-SSE1-NEXT: popq %rbp
1904 ; CHECK-SSE1-NEXT: retq
2082 ; CHECK-SSE1-LABEL: out_v16i16:
2083 ; CHECK-SSE1: # %bb.0:
2084 ; CHECK-SSE1-NEXT: pushq %rbp
2085 ; CHECK-SSE1-NEXT: pushq %r15
2086 ; CHECK-SSE1-NEXT: pushq %r14
2087 ; CHECK-SSE1-NEXT: pushq %r13
2088 ; CHECK-SSE1-NEXT: pushq %r12
2089 ; CHECK-SSE1-NEXT: pushq %rbx
2090 ; CHECK-SSE1-NEXT: movq %rcx, %r9
2091 ; CHECK-SSE1-NEXT: movq %rdx, %r10
2092 ; CHECK-SSE1-NEXT: movq %rsi, %r8
2093 ; CHECK-SSE1-NEXT: movq %rdi, %r11
2094 ; CHECK-SSE1-NEXT: movl 12(%rcx), %eax
2095 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2096 ; CHECK-SSE1-NEXT: movzwl 14(%rcx), %edx
2097 ; CHECK-SSE1-NEXT: movl 16(%rcx), %esi
2098 ; CHECK-SSE1-NEXT: movzwl 18(%rcx), %edi
2099 ; CHECK-SSE1-NEXT: movl 20(%rcx), %ecx
2100 ; CHECK-SSE1-NEXT: movzwl 22(%r9), %r15d
2101 ; CHECK-SSE1-NEXT: movl 24(%r9), %r12d
2102 ; CHECK-SSE1-NEXT: movzwl 26(%r9), %r14d
2103 ; CHECK-SSE1-NEXT: movl 28(%r9), %ebx
2104 ; CHECK-SSE1-NEXT: movzwl 30(%r9), %ebp
2105 ; CHECK-SSE1-NEXT: movzwl 30(%r8), %r13d
2106 ; CHECK-SSE1-NEXT: andw %bp, %r13w
2107 ; CHECK-SSE1-NEXT: notl %ebp
2108 ; CHECK-SSE1-NEXT: andw 30(%r10), %bp
2109 ; CHECK-SSE1-NEXT: orl %r13d, %ebp
2110 ; CHECK-SSE1-NEXT: movzwl 28(%r8), %eax
2111 ; CHECK-SSE1-NEXT: andw %bx, %ax
2112 ; CHECK-SSE1-NEXT: notl %ebx
2113 ; CHECK-SSE1-NEXT: andw 28(%r10), %bx
2114 ; CHECK-SSE1-NEXT: orl %eax, %ebx
2115 ; CHECK-SSE1-NEXT: movzwl 26(%r8), %eax
2116 ; CHECK-SSE1-NEXT: andw %r14w, %ax
2117 ; CHECK-SSE1-NEXT: notl %r14d
2118 ; CHECK-SSE1-NEXT: andw 26(%r10), %r14w
2119 ; CHECK-SSE1-NEXT: orl %eax, %r14d
2120 ; CHECK-SSE1-NEXT: movzwl 24(%r8), %eax
2121 ; CHECK-SSE1-NEXT: andw %r12w, %ax
2122 ; CHECK-SSE1-NEXT: notl %r12d
2123 ; CHECK-SSE1-NEXT: andw 24(%r10), %r12w
2124 ; CHECK-SSE1-NEXT: orl %eax, %r12d
2125 ; CHECK-SSE1-NEXT: movzwl 22(%r8), %eax
2126 ; CHECK-SSE1-NEXT: andw %r15w, %ax
2127 ; CHECK-SSE1-NEXT: notl %r15d
2128 ; CHECK-SSE1-NEXT: andw 22(%r10), %r15w
2129 ; CHECK-SSE1-NEXT: orl %eax, %r15d
2130 ; CHECK-SSE1-NEXT: movzwl 20(%r8), %eax
2131 ; CHECK-SSE1-NEXT: andw %cx, %ax
2132 ; CHECK-SSE1-NEXT: notl %ecx
2133 ; CHECK-SSE1-NEXT: andw 20(%r10), %cx
2134 ; CHECK-SSE1-NEXT: orl %eax, %ecx
2135 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2136 ; CHECK-SSE1-NEXT: movzwl 18(%r8), %eax
2137 ; CHECK-SSE1-NEXT: andw %di, %ax
2138 ; CHECK-SSE1-NEXT: notl %edi
2139 ; CHECK-SSE1-NEXT: andw 18(%r10), %di
2140 ; CHECK-SSE1-NEXT: orl %eax, %edi
2141 ; CHECK-SSE1-NEXT: movl %edi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2142 ; CHECK-SSE1-NEXT: movzwl 16(%r8), %eax
2143 ; CHECK-SSE1-NEXT: andw %si, %ax
2144 ; CHECK-SSE1-NEXT: notl %esi
2145 ; CHECK-SSE1-NEXT: andw 16(%r10), %si
2146 ; CHECK-SSE1-NEXT: orl %eax, %esi
2147 ; CHECK-SSE1-NEXT: movl %esi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2148 ; CHECK-SSE1-NEXT: movzwl 14(%r8), %eax
2149 ; CHECK-SSE1-NEXT: andw %dx, %ax
2150 ; CHECK-SSE1-NEXT: notl %edx
2151 ; CHECK-SSE1-NEXT: andw 14(%r10), %dx
2152 ; CHECK-SSE1-NEXT: orl %eax, %edx
2153 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2154 ; CHECK-SSE1-NEXT: movzwl 12(%r8), %eax
2155 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2156 ; CHECK-SSE1-NEXT: andw %cx, %ax
2157 ; CHECK-SSE1-NEXT: notl %ecx
2158 ; CHECK-SSE1-NEXT: andw 12(%r10), %cx
2159 ; CHECK-SSE1-NEXT: orl %eax, %ecx
2160 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
2161 ; CHECK-SSE1-NEXT: movzwl 10(%r9), %r13d
2162 ; CHECK-SSE1-NEXT: movzwl 10(%r8), %eax
2163 ; CHECK-SSE1-NEXT: andw %r13w, %ax
2164 ; CHECK-SSE1-NEXT: notl %r13d
2165 ; CHECK-SSE1-NEXT: andw 10(%r10), %r13w
2166 ; CHECK-SSE1-NEXT: orl %eax, %r13d
2167 ; CHECK-SSE1-NEXT: movl 8(%r9), %edi
2168 ; CHECK-SSE1-NEXT: movzwl 8(%r8), %eax
2169 ; CHECK-SSE1-NEXT: andw %di, %ax
2170 ; CHECK-SSE1-NEXT: notl %edi
2171 ; CHECK-SSE1-NEXT: andw 8(%r10), %di
2172 ; CHECK-SSE1-NEXT: orl %eax, %edi
2173 ; CHECK-SSE1-NEXT: movzwl 6(%r9), %esi
2174 ; CHECK-SSE1-NEXT: movzwl 6(%r8), %eax
2175 ; CHECK-SSE1-NEXT: andw %si, %ax
2176 ; CHECK-SSE1-NEXT: notl %esi
2177 ; CHECK-SSE1-NEXT: andw 6(%r10), %si
2178 ; CHECK-SSE1-NEXT: orl %eax, %esi
2179 ; CHECK-SSE1-NEXT: movl 4(%r9), %edx
2180 ; CHECK-SSE1-NEXT: movzwl 4(%r8), %eax
2181 ; CHECK-SSE1-NEXT: andw %dx, %ax
2182 ; CHECK-SSE1-NEXT: notl %edx
2183 ; CHECK-SSE1-NEXT: andw 4(%r10), %dx
2184 ; CHECK-SSE1-NEXT: orl %eax, %edx
2185 ; CHECK-SSE1-NEXT: movzwl 2(%r9), %eax
2186 ; CHECK-SSE1-NEXT: movzwl 2(%r8), %ecx
2187 ; CHECK-SSE1-NEXT: andw %ax, %cx
2188 ; CHECK-SSE1-NEXT: notl %eax
2189 ; CHECK-SSE1-NEXT: andw 2(%r10), %ax
2190 ; CHECK-SSE1-NEXT: orl %ecx, %eax
2191 ; CHECK-SSE1-NEXT: movl (%r9), %r9d
2192 ; CHECK-SSE1-NEXT: movzwl (%r8), %ecx
2193 ; CHECK-SSE1-NEXT: andw %r9w, %cx
2194 ; CHECK-SSE1-NEXT: notl %r9d
2195 ; CHECK-SSE1-NEXT: andw (%r10), %r9w
2196 ; CHECK-SSE1-NEXT: orl %ecx, %r9d
2197 ; CHECK-SSE1-NEXT: movw %bp, 30(%r11)
2198 ; CHECK-SSE1-NEXT: movw %bx, 28(%r11)
2199 ; CHECK-SSE1-NEXT: movw %r14w, 26(%r11)
2200 ; CHECK-SSE1-NEXT: movw %r12w, 24(%r11)
2201 ; CHECK-SSE1-NEXT: movw %r15w, 22(%r11)
2202 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2203 ; CHECK-SSE1-NEXT: movw %cx, 20(%r11)
2204 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2205 ; CHECK-SSE1-NEXT: movw %cx, 18(%r11)
2206 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2207 ; CHECK-SSE1-NEXT: movw %cx, 16(%r11)
2208 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2209 ; CHECK-SSE1-NEXT: movw %cx, 14(%r11)
2210 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
2211 ; CHECK-SSE1-NEXT: movw %cx, 12(%r11)
2212 ; CHECK-SSE1-NEXT: movw %r13w, 10(%r11)
2213 ; CHECK-SSE1-NEXT: movw %di, 8(%r11)
2214 ; CHECK-SSE1-NEXT: movw %si, 6(%r11)
2215 ; CHECK-SSE1-NEXT: movw %dx, 4(%r11)
2216 ; CHECK-SSE1-NEXT: movw %ax, 2(%r11)
2217 ; CHECK-SSE1-NEXT: movw %r9w, (%r11)
2218 ; CHECK-SSE1-NEXT: movq %r11, %rax
2219 ; CHECK-SSE1-NEXT: popq %rbx
2220 ; CHECK-SSE1-NEXT: popq %r12
2221 ; CHECK-SSE1-NEXT: popq %r13
2222 ; CHECK-SSE1-NEXT: popq %r14
2223 ; CHECK-SSE1-NEXT: popq %r15
2224 ; CHECK-SSE1-NEXT: popq %rbp
2225 ; CHECK-SSE1-NEXT: retq
2327 ; CHECK-SSE1-LABEL: out_v8i32:
2328 ; CHECK-SSE1: # %bb.0:
2329 ; CHECK-SSE1-NEXT: pushq %rbp
2330 ; CHECK-SSE1-NEXT: pushq %r15
2331 ; CHECK-SSE1-NEXT: pushq %r14
2332 ; CHECK-SSE1-NEXT: pushq %rbx
2333 ; CHECK-SSE1-NEXT: movq %rdi, %rax
2334 ; CHECK-SSE1-NEXT: movl 4(%rcx), %r8d
2335 ; CHECK-SSE1-NEXT: movl 8(%rcx), %r9d
2336 ; CHECK-SSE1-NEXT: movl 12(%rcx), %r10d
2337 ; CHECK-SSE1-NEXT: movl 16(%rcx), %r11d
2338 ; CHECK-SSE1-NEXT: movl 20(%rcx), %r15d
2339 ; CHECK-SSE1-NEXT: movl 24(%rcx), %ebx
2340 ; CHECK-SSE1-NEXT: movl 28(%rcx), %ebp
2341 ; CHECK-SSE1-NEXT: movl 28(%rsi), %r14d
2342 ; CHECK-SSE1-NEXT: andl %ebp, %r14d
2343 ; CHECK-SSE1-NEXT: notl %ebp
2344 ; CHECK-SSE1-NEXT: andl 28(%rdx), %ebp
2345 ; CHECK-SSE1-NEXT: orl %r14d, %ebp
2346 ; CHECK-SSE1-NEXT: movl 24(%rsi), %edi
2347 ; CHECK-SSE1-NEXT: andl %ebx, %edi
2348 ; CHECK-SSE1-NEXT: notl %ebx
2349 ; CHECK-SSE1-NEXT: andl 24(%rdx), %ebx
2350 ; CHECK-SSE1-NEXT: orl %edi, %ebx
2351 ; CHECK-SSE1-NEXT: movl 20(%rsi), %edi
2352 ; CHECK-SSE1-NEXT: andl %r15d, %edi
2353 ; CHECK-SSE1-NEXT: notl %r15d
2354 ; CHECK-SSE1-NEXT: andl 20(%rdx), %r15d
2355 ; CHECK-SSE1-NEXT: orl %edi, %r15d
2356 ; CHECK-SSE1-NEXT: movl 16(%rsi), %edi
2357 ; CHECK-SSE1-NEXT: andl %r11d, %edi
2358 ; CHECK-SSE1-NEXT: notl %r11d
2359 ; CHECK-SSE1-NEXT: andl 16(%rdx), %r11d
2360 ; CHECK-SSE1-NEXT: orl %edi, %r11d
2361 ; CHECK-SSE1-NEXT: movl 12(%rsi), %edi
2362 ; CHECK-SSE1-NEXT: andl %r10d, %edi
2363 ; CHECK-SSE1-NEXT: notl %r10d
2364 ; CHECK-SSE1-NEXT: andl 12(%rdx), %r10d
2365 ; CHECK-SSE1-NEXT: orl %edi, %r10d
2366 ; CHECK-SSE1-NEXT: movl 8(%rsi), %edi
2367 ; CHECK-SSE1-NEXT: andl %r9d, %edi
2368 ; CHECK-SSE1-NEXT: notl %r9d
2369 ; CHECK-SSE1-NEXT: andl 8(%rdx), %r9d
2370 ; CHECK-SSE1-NEXT: orl %edi, %r9d
2371 ; CHECK-SSE1-NEXT: movl 4(%rsi), %edi
2372 ; CHECK-SSE1-NEXT: andl %r8d, %edi
2373 ; CHECK-SSE1-NEXT: notl %r8d
2374 ; CHECK-SSE1-NEXT: andl 4(%rdx), %r8d
2375 ; CHECK-SSE1-NEXT: orl %edi, %r8d
2376 ; CHECK-SSE1-NEXT: movl (%rcx), %ecx
2377 ; CHECK-SSE1-NEXT: movl (%rsi), %esi
2378 ; CHECK-SSE1-NEXT: andl %ecx, %esi
2379 ; CHECK-SSE1-NEXT: notl %ecx
2380 ; CHECK-SSE1-NEXT: andl (%rdx), %ecx
2381 ; CHECK-SSE1-NEXT: orl %esi, %ecx
2382 ; CHECK-SSE1-NEXT: movl %ebp, 28(%rax)
2383 ; CHECK-SSE1-NEXT: movl %ebx, 24(%rax)
2384 ; CHECK-SSE1-NEXT: movl %r15d, 20(%rax)
2385 ; CHECK-SSE1-NEXT: movl %r11d, 16(%rax)
2386 ; CHECK-SSE1-NEXT: movl %r10d, 12(%rax)
2387 ; CHECK-SSE1-NEXT: movl %r9d, 8(%rax)
2388 ; CHECK-SSE1-NEXT: movl %r8d, 4(%rax)
2389 ; CHECK-SSE1-NEXT: movl %ecx, (%rax)
2390 ; CHECK-SSE1-NEXT: popq %rbx
2391 ; CHECK-SSE1-NEXT: popq %r14
2392 ; CHECK-SSE1-NEXT: popq %r15
2393 ; CHECK-SSE1-NEXT: popq %rbp
2394 ; CHECK-SSE1-NEXT: retq
2462 ; CHECK-SSE1-LABEL: out_v4i64:
2463 ; CHECK-SSE1: # %bb.0:
2464 ; CHECK-SSE1-NEXT: pushq %rbx
2465 ; CHECK-SSE1-NEXT: movq %rdi, %rax
2466 ; CHECK-SSE1-NEXT: movq (%rcx), %r8
2467 ; CHECK-SSE1-NEXT: movq 8(%rcx), %r9
2468 ; CHECK-SSE1-NEXT: movq 16(%rcx), %rdi
2469 ; CHECK-SSE1-NEXT: movq 24(%rcx), %rcx
2470 ; CHECK-SSE1-NEXT: movq 24(%rsi), %r10
2471 ; CHECK-SSE1-NEXT: andq %rcx, %r10
2472 ; CHECK-SSE1-NEXT: movq 16(%rsi), %r11
2473 ; CHECK-SSE1-NEXT: andq %rdi, %r11
2474 ; CHECK-SSE1-NEXT: movq 8(%rsi), %rbx
2475 ; CHECK-SSE1-NEXT: andq %r9, %rbx
2476 ; CHECK-SSE1-NEXT: movq (%rsi), %rsi
2477 ; CHECK-SSE1-NEXT: andq %r8, %rsi
2478 ; CHECK-SSE1-NEXT: notq %r8
2479 ; CHECK-SSE1-NEXT: notq %r9
2480 ; CHECK-SSE1-NEXT: notq %rdi
2481 ; CHECK-SSE1-NEXT: notq %rcx
2482 ; CHECK-SSE1-NEXT: andq 24(%rdx), %rcx
2483 ; CHECK-SSE1-NEXT: orq %r10, %rcx
2484 ; CHECK-SSE1-NEXT: andq 16(%rdx), %rdi
2485 ; CHECK-SSE1-NEXT: orq %r11, %rdi
2486 ; CHECK-SSE1-NEXT: andq 8(%rdx), %r9
2487 ; CHECK-SSE1-NEXT: orq %rbx, %r9
2488 ; CHECK-SSE1-NEXT: andq (%rdx), %r8
2489 ; CHECK-SSE1-NEXT: orq %rsi, %r8
2490 ; CHECK-SSE1-NEXT: movq %rcx, 24(%rax)
2491 ; CHECK-SSE1-NEXT: movq %rdi, 16(%rax)
2492 ; CHECK-SSE1-NEXT: movq %r9, 8(%rax)
2493 ; CHECK-SSE1-NEXT: movq %r8, (%rax)
2494 ; CHECK-SSE1-NEXT: popq %rbx
2495 ; CHECK-SSE1-NEXT: retq
2568 ; CHECK-SSE1-LABEL: in_v2i8:
2569 ; CHECK-SSE1: # %bb.0:
2570 ; CHECK-SSE1-NEXT: movl %edi, %eax
2571 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2572 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2573 ; CHECK-SSE1-NEXT: andl %r9d, %esi
2574 ; CHECK-SSE1-NEXT: andl %r8d, %eax
2575 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2576 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2577 ; CHECK-SSE1-NEXT: # kill: def $al killed $al killed $eax
2578 ; CHECK-SSE1-NEXT: movl %esi, %edx
2579 ; CHECK-SSE1-NEXT: retq
2642 ; CHECK-SSE1-LABEL: in_v4i8:
2643 ; CHECK-SSE1: # %bb.0:
2644 ; CHECK-SSE1-NEXT: movq %rdi, %rax
2645 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
2646 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
2647 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
2648 ; CHECK-SSE1-NEXT: xorl %r9d, %esi
2649 ; CHECK-SSE1-NEXT: xorb %r11b, %dl
2650 ; CHECK-SSE1-NEXT: xorb %r10b, %cl
2651 ; CHECK-SSE1-NEXT: xorb %dil, %r8b
2652 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r8b
2653 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
2654 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dl
2655 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %sil
2656 ; CHECK-SSE1-NEXT: xorb %r9b, %sil
2657 ; CHECK-SSE1-NEXT: xorb %r11b, %dl
2658 ; CHECK-SSE1-NEXT: xorb %r10b, %cl
2659 ; CHECK-SSE1-NEXT: xorb %dil, %r8b
2660 ; CHECK-SSE1-NEXT: movb %r8b, 3(%rax)
2661 ; CHECK-SSE1-NEXT: movb %cl, 2(%rax)
2662 ; CHECK-SSE1-NEXT: movb %dl, 1(%rax)
2663 ; CHECK-SSE1-NEXT: movb %sil, (%rax)
2664 ; CHECK-SSE1-NEXT: retq
2697 ; CHECK-SSE1-LABEL: in_v2i16:
2698 ; CHECK-SSE1: # %bb.0:
2699 ; CHECK-SSE1-NEXT: movl %edi, %eax
2700 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2701 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2702 ; CHECK-SSE1-NEXT: andl %r9d, %esi
2703 ; CHECK-SSE1-NEXT: andl %r8d, %eax
2704 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2705 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2706 ; CHECK-SSE1-NEXT: # kill: def $ax killed $ax killed $eax
2707 ; CHECK-SSE1-NEXT: movl %esi, %edx
2708 ; CHECK-SSE1-NEXT: retq
2805 ; CHECK-SSE1-LABEL: in_v8i8:
2806 ; CHECK-SSE1: # %bb.0:
2807 ; CHECK-SSE1-NEXT: pushq %rbp
2808 ; CHECK-SSE1-NEXT: pushq %r15
2809 ; CHECK-SSE1-NEXT: pushq %r14
2810 ; CHECK-SSE1-NEXT: pushq %r13
2811 ; CHECK-SSE1-NEXT: pushq %r12
2812 ; CHECK-SSE1-NEXT: pushq %rbx
2813 ; CHECK-SSE1-NEXT: movl %ecx, %r10d
2814 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
2815 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bpl
2816 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r14b
2817 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r15b
2818 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r12b
2819 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r13b
2820 ; CHECK-SSE1-NEXT: xorb %r13b, %sil
2821 ; CHECK-SSE1-NEXT: xorb %r12b, %dl
2822 ; CHECK-SSE1-NEXT: xorb %r15b, %r10b
2823 ; CHECK-SSE1-NEXT: xorb %r14b, %r8b
2824 ; CHECK-SSE1-NEXT: xorb %bpl, %r9b
2825 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
2826 ; CHECK-SSE1-NEXT: xorb {{[0-9]+}}(%rsp), %bl
2827 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
2828 ; CHECK-SSE1-NEXT: xorb {{[0-9]+}}(%rsp), %cl
2829 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
2830 ; CHECK-SSE1-NEXT: xorb %r11b, %al
2831 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r9b
2832 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r8b
2833 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
2834 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dl
2835 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %sil
2836 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %al
2837 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
2838 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bl
2839 ; CHECK-SSE1-NEXT: xorb %r13b, %sil
2840 ; CHECK-SSE1-NEXT: xorb %r12b, %dl
2841 ; CHECK-SSE1-NEXT: xorb %r15b, %r10b
2842 ; CHECK-SSE1-NEXT: xorb %r14b, %r8b
2843 ; CHECK-SSE1-NEXT: xorb %bpl, %r9b
2844 ; CHECK-SSE1-NEXT: xorb {{[0-9]+}}(%rsp), %bl
2845 ; CHECK-SSE1-NEXT: xorb {{[0-9]+}}(%rsp), %cl
2846 ; CHECK-SSE1-NEXT: xorb %r11b, %al
2847 ; CHECK-SSE1-NEXT: movb %al, 7(%rdi)
2848 ; CHECK-SSE1-NEXT: movb %cl, 6(%rdi)
2849 ; CHECK-SSE1-NEXT: movb %bl, 5(%rdi)
2850 ; CHECK-SSE1-NEXT: movb %r9b, 4(%rdi)
2851 ; CHECK-SSE1-NEXT: movb %r8b, 3(%rdi)
2852 ; CHECK-SSE1-NEXT: movb %r10b, 2(%rdi)
2853 ; CHECK-SSE1-NEXT: movb %dl, 1(%rdi)
2854 ; CHECK-SSE1-NEXT: movb %sil, (%rdi)
2855 ; CHECK-SSE1-NEXT: movq %rdi, %rax
2856 ; CHECK-SSE1-NEXT: popq %rbx
2857 ; CHECK-SSE1-NEXT: popq %r12
2858 ; CHECK-SSE1-NEXT: popq %r13
2859 ; CHECK-SSE1-NEXT: popq %r14
2860 ; CHECK-SSE1-NEXT: popq %r15
2861 ; CHECK-SSE1-NEXT: popq %rbp
2862 ; CHECK-SSE1-NEXT: retq
2906 ; CHECK-SSE1-LABEL: in_v4i16:
2907 ; CHECK-SSE1: # %bb.0:
2908 ; CHECK-SSE1-NEXT: movq %rdi, %rax
2909 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
2910 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
2911 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
2912 ; CHECK-SSE1-NEXT: xorl %r9d, %esi
2913 ; CHECK-SSE1-NEXT: xorl %edi, %edx
2914 ; CHECK-SSE1-NEXT: xorl %r11d, %ecx
2915 ; CHECK-SSE1-NEXT: xorl %r10d, %r8d
2916 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r8w
2917 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
2918 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %dx
2919 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %si
2920 ; CHECK-SSE1-NEXT: xorl %r9d, %esi
2921 ; CHECK-SSE1-NEXT: xorl %edi, %edx
2922 ; CHECK-SSE1-NEXT: xorl %r11d, %ecx
2923 ; CHECK-SSE1-NEXT: xorl %r10d, %r8d
2924 ; CHECK-SSE1-NEXT: movw %r8w, 6(%rax)
2925 ; CHECK-SSE1-NEXT: movw %cx, 4(%rax)
2926 ; CHECK-SSE1-NEXT: movw %dx, 2(%rax)
2927 ; CHECK-SSE1-NEXT: movw %si, (%rax)
2928 ; CHECK-SSE1-NEXT: retq
2960 ; CHECK-SSE1-LABEL: in_v2i32:
2961 ; CHECK-SSE1: # %bb.0:
2962 ; CHECK-SSE1-NEXT: movl %edi, %eax
2963 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2964 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2965 ; CHECK-SSE1-NEXT: andl %r9d, %esi
2966 ; CHECK-SSE1-NEXT: andl %r8d, %eax
2967 ; CHECK-SSE1-NEXT: xorl %edx, %eax
2968 ; CHECK-SSE1-NEXT: xorl %ecx, %esi
2969 ; CHECK-SSE1-NEXT: movl %esi, %edx
2970 ; CHECK-SSE1-NEXT: retq
3123 ; CHECK-SSE1-LABEL: in_v16i8:
3124 ; CHECK-SSE1: # %bb.0:
3125 ; CHECK-SSE1-NEXT: pushq %rbp
3126 ; CHECK-SSE1-NEXT: pushq %r15
3127 ; CHECK-SSE1-NEXT: pushq %r14
3128 ; CHECK-SSE1-NEXT: pushq %r13
3129 ; CHECK-SSE1-NEXT: pushq %r12
3130 ; CHECK-SSE1-NEXT: pushq %rbx
3131 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
3132 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
3133 ; CHECK-SSE1-NEXT: movl %esi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
3134 ; CHECK-SSE1-NEXT: movq %rdi, %rdx
3135 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %sil
3136 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
3137 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3138 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bpl
3139 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r14b
3140 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r15b
3141 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r12b
3142 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r13b
3143 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
3144 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
3145 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
3146 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
3147 ; CHECK-SSE1-NEXT: xorb %dil, %r9b
3148 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r9b
3149 ; CHECK-SSE1-NEXT: xorb %dil, %r9b
3150 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
3151 ; CHECK-SSE1-NEXT: xorb %r10b, %dil
3152 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %dil
3153 ; CHECK-SSE1-NEXT: xorb %r10b, %dil
3154 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
3155 ; CHECK-SSE1-NEXT: xorb %r11b, %r10b
3156 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r10b
3157 ; CHECK-SSE1-NEXT: xorb %r11b, %r10b
3158 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
3159 ; CHECK-SSE1-NEXT: xorb %bl, %r11b
3160 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r11b
3161 ; CHECK-SSE1-NEXT: xorb %bl, %r11b
3162 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bl
3163 ; CHECK-SSE1-NEXT: xorb %r13b, %bl
3164 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bl
3165 ; CHECK-SSE1-NEXT: xorb %r13b, %bl
3166 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r13b
3167 ; CHECK-SSE1-NEXT: xorb %r12b, %r13b
3168 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r13b
3169 ; CHECK-SSE1-NEXT: xorb %r12b, %r13b
3170 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r12b
3171 ; CHECK-SSE1-NEXT: xorb %r15b, %r12b
3172 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r12b
3173 ; CHECK-SSE1-NEXT: xorb %r15b, %r12b
3174 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r15b
3175 ; CHECK-SSE1-NEXT: xorb %r14b, %r15b
3176 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r15b
3177 ; CHECK-SSE1-NEXT: xorb %r14b, %r15b
3178 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r14b
3179 ; CHECK-SSE1-NEXT: xorb %bpl, %r14b
3180 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r14b
3181 ; CHECK-SSE1-NEXT: xorb %bpl, %r14b
3182 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %bpl
3183 ; CHECK-SSE1-NEXT: xorb %al, %bpl
3184 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %bpl
3185 ; CHECK-SSE1-NEXT: xorb %al, %bpl
3186 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3187 ; CHECK-SSE1-NEXT: xorb %cl, %al
3188 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %al
3189 ; CHECK-SSE1-NEXT: xorb %cl, %al
3190 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %cl
3191 ; CHECK-SSE1-NEXT: xorb %sil, %cl
3192 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
3193 ; CHECK-SSE1-NEXT: xorb %sil, %cl
3194 ; CHECK-SSE1-NEXT: movb %cl, 15(%rdx)
3195 ; CHECK-SSE1-NEXT: movb %al, 14(%rdx)
3196 ; CHECK-SSE1-NEXT: movb %bpl, 13(%rdx)
3197 ; CHECK-SSE1-NEXT: movb %r14b, 12(%rdx)
3198 ; CHECK-SSE1-NEXT: movb %r15b, 11(%rdx)
3199 ; CHECK-SSE1-NEXT: movb %r12b, 10(%rdx)
3200 ; CHECK-SSE1-NEXT: movb %r13b, 9(%rdx)
3201 ; CHECK-SSE1-NEXT: movb %bl, 8(%rdx)
3202 ; CHECK-SSE1-NEXT: movb %r11b, 7(%rdx)
3203 ; CHECK-SSE1-NEXT: movb %r10b, 6(%rdx)
3204 ; CHECK-SSE1-NEXT: movb %dil, 5(%rdx)
3205 ; CHECK-SSE1-NEXT: movb %r9b, 4(%rdx)
3206 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3207 ; CHECK-SSE1-NEXT: xorb %al, %r8b
3208 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %r8b
3209 ; CHECK-SSE1-NEXT: xorb %al, %r8b
3210 ; CHECK-SSE1-NEXT: movb %r8b, 3(%rdx)
3211 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3212 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
3213 ; CHECK-SSE1-NEXT: xorb %al, %cl
3214 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
3215 ; CHECK-SSE1-NEXT: xorb %al, %cl
3216 ; CHECK-SSE1-NEXT: movb %cl, 2(%rdx)
3217 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3218 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
3219 ; CHECK-SSE1-NEXT: xorb %al, %cl
3220 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
3221 ; CHECK-SSE1-NEXT: xorb %al, %cl
3222 ; CHECK-SSE1-NEXT: movb %cl, 1(%rdx)
3223 ; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %al
3224 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
3225 ; CHECK-SSE1-NEXT: xorb %al, %cl
3226 ; CHECK-SSE1-NEXT: andb {{[0-9]+}}(%rsp), %cl
3227 ; CHECK-SSE1-NEXT: xorb %al, %cl
3228 ; CHECK-SSE1-NEXT: movb %cl, (%rdx)
3229 ; CHECK-SSE1-NEXT: movq %rdx, %rax
3230 ; CHECK-SSE1-NEXT: popq %rbx
3231 ; CHECK-SSE1-NEXT: popq %r12
3232 ; CHECK-SSE1-NEXT: popq %r13
3233 ; CHECK-SSE1-NEXT: popq %r14
3234 ; CHECK-SSE1-NEXT: popq %r15
3235 ; CHECK-SSE1-NEXT: popq %rbp
3236 ; CHECK-SSE1-NEXT: retq
3308 ; CHECK-SSE1-LABEL: in_v8i16:
3309 ; CHECK-SSE1: # %bb.0:
3310 ; CHECK-SSE1-NEXT: pushq %rbp
3311 ; CHECK-SSE1-NEXT: pushq %rbx
3312 ; CHECK-SSE1-NEXT: movq %rdi, %rax
3313 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
3314 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
3315 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
3316 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
3317 ; CHECK-SSE1-NEXT: xorl %ebx, %esi
3318 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %si
3319 ; CHECK-SSE1-NEXT: xorl %ebx, %esi
3320 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
3321 ; CHECK-SSE1-NEXT: xorl %ebx, %edx
3322 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %dx
3323 ; CHECK-SSE1-NEXT: xorl %ebx, %edx
3324 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
3325 ; CHECK-SSE1-NEXT: xorl %ebx, %ecx
3326 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
3327 ; CHECK-SSE1-NEXT: xorl %ebx, %ecx
3328 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
3329 ; CHECK-SSE1-NEXT: xorl %ebx, %r8d
3330 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r8w
3331 ; CHECK-SSE1-NEXT: xorl %ebx, %r8d
3332 ; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
3333 ; CHECK-SSE1-NEXT: xorl %ebx, %r9d
3334 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r9w
3335 ; CHECK-SSE1-NEXT: xorl %ebx, %r9d
3336 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebp
3337 ; CHECK-SSE1-NEXT: xorw %di, %bp
3338 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bp
3339 ; CHECK-SSE1-NEXT: xorl %edi, %ebp
3340 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %edi
3341 ; CHECK-SSE1-NEXT: xorw %r11w, %di
3342 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %di
3343 ; CHECK-SSE1-NEXT: xorl %r11d, %edi
3344 ; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
3345 ; CHECK-SSE1-NEXT: xorw %r10w, %bx
3346 ; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bx
3347 ; CHECK-SSE1-NEXT: xorl %r10d, %ebx
3348 ; CHECK-SSE1-NEXT: movw %bx, 14(%rax)
3349 ; CHECK-SSE1-NEXT: movw %di, 12(%rax)
3350 ; CHECK-SSE1-NEXT: movw %bp, 10(%rax)
3351 ; CHECK-SSE1-NEXT: movw %r9w, 8(%rax)
3352 ; CHECK-SSE1-NEXT: movw %r8w, 6(%rax)
3353 ; CHECK-SSE1-NEXT: movw %cx, 4(%rax)
3354 ; CHECK-SSE1-NEXT: movw %dx, 2(%rax)
3355 ; CHECK-SSE1-NEXT: movw %si, (%rax)
3356 ; CHECK-SSE1-NEXT: popq %rbx
3357 ; CHECK-SSE1-NEXT: popq %rbp
3358 ; CHECK-SSE1-NEXT: retq
3409 ; CHECK-SSE1-LABEL: in_v4i32:
3410 ; CHECK-SSE1: # %bb.0:
3411 ; CHECK-SSE1-NEXT: movq %rdi, %rax
3412 ; CHECK-SSE1-NEXT: movaps (%rcx), %xmm0
3413 ; CHECK-SSE1-NEXT: movaps %xmm0, %xmm1
3414 ; CHECK-SSE1-NEXT: andnps (%rdx), %xmm1
3415 ; CHECK-SSE1-NEXT: andps (%rsi), %xmm0
3416 ; CHECK-SSE1-NEXT: orps %xmm1, %xmm0
3417 ; CHECK-SSE1-NEXT: movaps %xmm0, (%rdi)
3418 ; CHECK-SSE1-NEXT: retq
3457 ; CHECK-SSE1-LABEL: in_v2i64:
3458 ; CHECK-SSE1: # %bb.0:
3459 ; CHECK-SSE1-NEXT: movq %rdi, %rax
3460 ; CHECK-SSE1-NEXT: xorq %rdx, %rax
3461 ; CHECK-SSE1-NEXT: xorq %rcx, %rsi
3462 ; CHECK-SSE1-NEXT: andq %r9, %rsi
3463 ; CHECK-SSE1-NEXT: andq %r8, %rax
3464 ; CHECK-SSE1-NEXT: xorq %rdx, %rax
3465 ; CHECK-SSE1-NEXT: xorq %rcx, %rsi
3466 ; CHECK-SSE1-NEXT: movq %rsi, %rdx
3467 ; CHECK-SSE1-NEXT: retq
3754 ; CHECK-SSE1-LABEL: in_v32i8:
3755 ; CHECK-SSE1: # %bb.0:
3756 ; CHECK-SSE1-NEXT: pushq %rbp
3757 ; CHECK-SSE1-NEXT: pushq %r15
3758 ; CHECK-SSE1-NEXT: pushq %r14
3759 ; CHECK-SSE1-NEXT: pushq %r13
3760 ; CHECK-SSE1-NEXT: pushq %r12
3761 ; CHECK-SSE1-NEXT: pushq %rbx
3762 ; CHECK-SSE1-NEXT: movq %rdx, %r13
3763 ; CHECK-SSE1-NEXT: movq %rsi, %rbx
3764 ; CHECK-SSE1-NEXT: movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
3765 ; CHECK-SSE1-NEXT: movb 15(%rdx), %r12b
3766 ; CHECK-SSE1-NEXT: movb 14(%rdx), %al
3767 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3768 ; CHECK-SSE1-NEXT: movb 13(%rdx), %al
3769 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3770 ; CHECK-SSE1-NEXT: movb 12(%rdx), %al
3771 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3772 ; CHECK-SSE1-NEXT: movb 11(%rdx), %al
3773 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3774 ; CHECK-SSE1-NEXT: movb 10(%rdx), %al
3775 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3776 ; CHECK-SSE1-NEXT: movb 9(%rdx), %r9b
3777 ; CHECK-SSE1-NEXT: movb 8(%rdx), %r10b
3778 ; CHECK-SSE1-NEXT: movb 7(%rdx), %r11b
3779 ; CHECK-SSE1-NEXT: movb 6(%rdx), %r8b
3780 ; CHECK-SSE1-NEXT: movb 5(%rdx), %bpl
3781 ; CHECK-SSE1-NEXT: movb 4(%rdx), %sil
3782 ; CHECK-SSE1-NEXT: movb 3(%rdx), %dil
3783 ; CHECK-SSE1-NEXT: movb 2(%rdx), %r14b
3784 ; CHECK-SSE1-NEXT: movb (%rdx), %al
3785 ; CHECK-SSE1-NEXT: movb 1(%rdx), %r15b
3786 ; CHECK-SSE1-NEXT: movb (%rbx), %dl
3787 ; CHECK-SSE1-NEXT: xorb %al, %dl
3788 ; CHECK-SSE1-NEXT: andb (%rcx), %dl
3789 ; CHECK-SSE1-NEXT: xorb %al, %dl
3790 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3791 ; CHECK-SSE1-NEXT: movb 1(%rbx), %al
3792 ; CHECK-SSE1-NEXT: xorb %r15b, %al
3793 ; CHECK-SSE1-NEXT: andb 1(%rcx), %al
3794 ; CHECK-SSE1-NEXT: xorb %r15b, %al
3795 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3796 ; CHECK-SSE1-NEXT: movb 2(%rbx), %al
3797 ; CHECK-SSE1-NEXT: xorb %r14b, %al
3798 ; CHECK-SSE1-NEXT: andb 2(%rcx), %al
3799 ; CHECK-SSE1-NEXT: xorb %r14b, %al
3800 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3801 ; CHECK-SSE1-NEXT: movb 3(%rbx), %al
3802 ; CHECK-SSE1-NEXT: xorb %dil, %al
3803 ; CHECK-SSE1-NEXT: andb 3(%rcx), %al
3804 ; CHECK-SSE1-NEXT: xorb %dil, %al
3805 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3806 ; CHECK-SSE1-NEXT: movb 4(%rbx), %al
3807 ; CHECK-SSE1-NEXT: xorb %sil, %al
3808 ; CHECK-SSE1-NEXT: andb 4(%rcx), %al
3809 ; CHECK-SSE1-NEXT: xorb %sil, %al
3810 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3811 ; CHECK-SSE1-NEXT: movb 5(%rbx), %al
3812 ; CHECK-SSE1-NEXT: xorb %bpl, %al
3813 ; CHECK-SSE1-NEXT: andb 5(%rcx), %al
3814 ; CHECK-SSE1-NEXT: xorb %bpl, %al
3815 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3816 ; CHECK-SSE1-NEXT: movb 6(%rbx), %al
3817 ; CHECK-SSE1-NEXT: xorb %r8b, %al
3818 ; CHECK-SSE1-NEXT: andb 6(%rcx), %al
3819 ; CHECK-SSE1-NEXT: xorb %r8b, %al
3820 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3821 ; CHECK-SSE1-NEXT: movb 7(%rbx), %al
3822 ; CHECK-SSE1-NEXT: xorb %r11b, %al
3823 ; CHECK-SSE1-NEXT: andb 7(%rcx), %al
3824 ; CHECK-SSE1-NEXT: xorb %r11b, %al
3825 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3826 ; CHECK-SSE1-NEXT: movb 8(%rbx), %al
3827 ; CHECK-SSE1-NEXT: xorb %r10b, %al
3828 ; CHECK-SSE1-NEXT: andb 8(%rcx), %al
3829 ; CHECK-SSE1-NEXT: xorb %r10b, %al
3830 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3831 ; CHECK-SSE1-NEXT: movb 9(%rbx), %al
3832 ; CHECK-SSE1-NEXT: xorb %r9b, %al
3833 ; CHECK-SSE1-NEXT: andb 9(%rcx), %al
3834 ; CHECK-SSE1-NEXT: xorb %r9b, %al
3835 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3836 ; CHECK-SSE1-NEXT: movb 10(%rbx), %dl
3837 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3838 ; CHECK-SSE1-NEXT: xorb %al, %dl
3839 ; CHECK-SSE1-NEXT: andb 10(%rcx), %dl
3840 ; CHECK-SSE1-NEXT: xorb %al, %dl
3841 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3842 ; CHECK-SSE1-NEXT: movb 11(%rbx), %dl
3843 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3844 ; CHECK-SSE1-NEXT: xorb %al, %dl
3845 ; CHECK-SSE1-NEXT: andb 11(%rcx), %dl
3846 ; CHECK-SSE1-NEXT: xorb %al, %dl
3847 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3848 ; CHECK-SSE1-NEXT: movb 12(%rbx), %dl
3849 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3850 ; CHECK-SSE1-NEXT: xorb %al, %dl
3851 ; CHECK-SSE1-NEXT: andb 12(%rcx), %dl
3852 ; CHECK-SSE1-NEXT: xorb %al, %dl
3853 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3854 ; CHECK-SSE1-NEXT: movb 13(%rbx), %dl
3855 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3856 ; CHECK-SSE1-NEXT: xorb %al, %dl
3857 ; CHECK-SSE1-NEXT: andb 13(%rcx), %dl
3858 ; CHECK-SSE1-NEXT: xorb %al, %dl
3859 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3860 ; CHECK-SSE1-NEXT: movb 14(%rbx), %dl
3861 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3862 ; CHECK-SSE1-NEXT: xorb %al, %dl
3863 ; CHECK-SSE1-NEXT: andb 14(%rcx), %dl
3864 ; CHECK-SSE1-NEXT: xorb %al, %dl
3865 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3866 ; CHECK-SSE1-NEXT: movb 15(%rbx), %al
3867 ; CHECK-SSE1-NEXT: xorb %r12b, %al
3868 ; CHECK-SSE1-NEXT: andb 15(%rcx), %al
3869 ; CHECK-SSE1-NEXT: xorb %r12b, %al
3870 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3871 ; CHECK-SSE1-NEXT: movb 16(%r13), %al
3872 ; CHECK-SSE1-NEXT: movb 16(%rbx), %dl
3873 ; CHECK-SSE1-NEXT: xorb %al, %dl
3874 ; CHECK-SSE1-NEXT: andb 16(%rcx), %dl
3875 ; CHECK-SSE1-NEXT: xorb %al, %dl
3876 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3877 ; CHECK-SSE1-NEXT: movb 17(%r13), %al
3878 ; CHECK-SSE1-NEXT: movb 17(%rbx), %dl
3879 ; CHECK-SSE1-NEXT: xorb %al, %dl
3880 ; CHECK-SSE1-NEXT: andb 17(%rcx), %dl
3881 ; CHECK-SSE1-NEXT: xorb %al, %dl
3882 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3883 ; CHECK-SSE1-NEXT: movb 18(%r13), %al
3884 ; CHECK-SSE1-NEXT: movb 18(%rbx), %dl
3885 ; CHECK-SSE1-NEXT: xorb %al, %dl
3886 ; CHECK-SSE1-NEXT: andb 18(%rcx), %dl
3887 ; CHECK-SSE1-NEXT: xorb %al, %dl
3888 ; CHECK-SSE1-NEXT: movb %dl, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3889 ; CHECK-SSE1-NEXT: movb 19(%r13), %al
3890 ; CHECK-SSE1-NEXT: movb 19(%rbx), %r12b
3891 ; CHECK-SSE1-NEXT: xorb %al, %r12b
3892 ; CHECK-SSE1-NEXT: andb 19(%rcx), %r12b
3893 ; CHECK-SSE1-NEXT: xorb %al, %r12b
3894 ; CHECK-SSE1-NEXT: movb 20(%r13), %al
3895 ; CHECK-SSE1-NEXT: movb 20(%rbx), %r15b
3896 ; CHECK-SSE1-NEXT: xorb %al, %r15b
3897 ; CHECK-SSE1-NEXT: andb 20(%rcx), %r15b
3898 ; CHECK-SSE1-NEXT: movq %rcx, %rsi
3899 ; CHECK-SSE1-NEXT: xorb %al, %r15b
3900 ; CHECK-SSE1-NEXT: movb 21(%r13), %al
3901 ; CHECK-SSE1-NEXT: movb 21(%rbx), %r14b
3902 ; CHECK-SSE1-NEXT: xorb %al, %r14b
3903 ; CHECK-SSE1-NEXT: andb 21(%rcx), %r14b
3904 ; CHECK-SSE1-NEXT: xorb %al, %r14b
3905 ; CHECK-SSE1-NEXT: movb 22(%r13), %al
3906 ; CHECK-SSE1-NEXT: movb 22(%rbx), %bpl
3907 ; CHECK-SSE1-NEXT: xorb %al, %bpl
3908 ; CHECK-SSE1-NEXT: andb 22(%rcx), %bpl
3909 ; CHECK-SSE1-NEXT: xorb %al, %bpl
3910 ; CHECK-SSE1-NEXT: movb 23(%r13), %al
3911 ; CHECK-SSE1-NEXT: movb 23(%rbx), %r11b
3912 ; CHECK-SSE1-NEXT: xorb %al, %r11b
3913 ; CHECK-SSE1-NEXT: andb 23(%rcx), %r11b
3914 ; CHECK-SSE1-NEXT: xorb %al, %r11b
3915 ; CHECK-SSE1-NEXT: movb 24(%r13), %al
3916 ; CHECK-SSE1-NEXT: movb 24(%rbx), %r10b
3917 ; CHECK-SSE1-NEXT: xorb %al, %r10b
3918 ; CHECK-SSE1-NEXT: andb 24(%rcx), %r10b
3919 ; CHECK-SSE1-NEXT: xorb %al, %r10b
3920 ; CHECK-SSE1-NEXT: movb 25(%r13), %al
3921 ; CHECK-SSE1-NEXT: movb 25(%rbx), %r9b
3922 ; CHECK-SSE1-NEXT: xorb %al, %r9b
3923 ; CHECK-SSE1-NEXT: andb 25(%rcx), %r9b
3924 ; CHECK-SSE1-NEXT: xorb %al, %r9b
3925 ; CHECK-SSE1-NEXT: movb 26(%r13), %al
3926 ; CHECK-SSE1-NEXT: movb 26(%rbx), %r8b
3927 ; CHECK-SSE1-NEXT: xorb %al, %r8b
3928 ; CHECK-SSE1-NEXT: andb 26(%rcx), %r8b
3929 ; CHECK-SSE1-NEXT: xorb %al, %r8b
3930 ; CHECK-SSE1-NEXT: movb 27(%r13), %al
3931 ; CHECK-SSE1-NEXT: movb 27(%rbx), %dil
3932 ; CHECK-SSE1-NEXT: xorb %al, %dil
3933 ; CHECK-SSE1-NEXT: andb 27(%rcx), %dil
3934 ; CHECK-SSE1-NEXT: xorb %al, %dil
3935 ; CHECK-SSE1-NEXT: movb 28(%r13), %al
3936 ; CHECK-SSE1-NEXT: movb 28(%rbx), %dl
3937 ; CHECK-SSE1-NEXT: xorb %al, %dl
3938 ; CHECK-SSE1-NEXT: andb 28(%rcx), %dl
3939 ; CHECK-SSE1-NEXT: xorb %al, %dl
3940 ; CHECK-SSE1-NEXT: movb 29(%r13), %al
3941 ; CHECK-SSE1-NEXT: movb 29(%rbx), %cl
3942 ; CHECK-SSE1-NEXT: xorb %al, %cl
3943 ; CHECK-SSE1-NEXT: andb 29(%rsi), %cl
3944 ; CHECK-SSE1-NEXT: xorb %al, %cl
3945 ; CHECK-SSE1-NEXT: movb 30(%r13), %al
3946 ; CHECK-SSE1-NEXT: movb %al, {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Spill
3947 ; CHECK-SSE1-NEXT: movb 30(%rbx), %al
3948 ; CHECK-SSE1-NEXT: xorb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Folded Reload
3949 ; CHECK-SSE1-NEXT: andb 30(%rsi), %al
3950 ; CHECK-SSE1-NEXT: xorb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Folded Reload
3951 ; CHECK-SSE1-NEXT: movb 31(%r13), %r13b
3952 ; CHECK-SSE1-NEXT: movb 31(%rbx), %bl
3953 ; CHECK-SSE1-NEXT: xorb %r13b, %bl
3954 ; CHECK-SSE1-NEXT: andb 31(%rsi), %bl
3955 ; CHECK-SSE1-NEXT: xorb %r13b, %bl
3956 ; CHECK-SSE1-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Reload
3957 ; CHECK-SSE1-NEXT: movb %bl, 31(%r13)
3958 ; CHECK-SSE1-NEXT: movb %al, 30(%r13)
3959 ; CHECK-SSE1-NEXT: movb %cl, 29(%r13)
3960 ; CHECK-SSE1-NEXT: movb %dl, 28(%r13)
3961 ; CHECK-SSE1-NEXT: movb %dil, 27(%r13)
3962 ; CHECK-SSE1-NEXT: movb %r8b, 26(%r13)
3963 ; CHECK-SSE1-NEXT: movb %r9b, 25(%r13)
3964 ; CHECK-SSE1-NEXT: movb %r10b, 24(%r13)
3965 ; CHECK-SSE1-NEXT: movb %r11b, 23(%r13)
3966 ; CHECK-SSE1-NEXT: movb %bpl, 22(%r13)
3967 ; CHECK-SSE1-NEXT: movb %r14b, 21(%r13)
3968 ; CHECK-SSE1-NEXT: movb %r15b, 20(%r13)
3969 ; CHECK-SSE1-NEXT: movb %r12b, 19(%r13)
3970 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3971 ; CHECK-SSE1-NEXT: movb %al, 18(%r13)
3972 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3973 ; CHECK-SSE1-NEXT: movb %al, 17(%r13)
3974 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3975 ; CHECK-SSE1-NEXT: movb %al, 16(%r13)
3976 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3977 ; CHECK-SSE1-NEXT: movb %al, 15(%r13)
3978 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3979 ; CHECK-SSE1-NEXT: movb %al, 14(%r13)
3980 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3981 ; CHECK-SSE1-NEXT: movb %al, 13(%r13)
3982 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3983 ; CHECK-SSE1-NEXT: movb %al, 12(%r13)
3984 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3985 ; CHECK-SSE1-NEXT: movb %al, 11(%r13)
3986 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3987 ; CHECK-SSE1-NEXT: movb %al, 10(%r13)
3988 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3989 ; CHECK-SSE1-NEXT: movb %al, 9(%r13)
3990 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3991 ; CHECK-SSE1-NEXT: movb %al, 8(%r13)
3992 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3993 ; CHECK-SSE1-NEXT: movb %al, 7(%r13)
3994 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3995 ; CHECK-SSE1-NEXT: movb %al, 6(%r13)
3996 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3997 ; CHECK-SSE1-NEXT: movb %al, 5(%r13)
3998 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
3999 ; CHECK-SSE1-NEXT: movb %al, 4(%r13)
4000 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
4001 ; CHECK-SSE1-NEXT: movb %al, 3(%r13)
4002 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
4003 ; CHECK-SSE1-NEXT: movb %al, 2(%r13)
4004 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
4005 ; CHECK-SSE1-NEXT: movb %al, 1(%r13)
4006 ; CHECK-SSE1-NEXT: movb {{[-0-9]+}}(%r{{[sb]}}p), %al # 1-byte Reload
4007 ; CHECK-SSE1-NEXT: movb %al, (%r13)
4008 ; CHECK-SSE1-NEXT: movq %r13, %rax
4009 ; CHECK-SSE1-NEXT: popq %rbx
4010 ; CHECK-SSE1-NEXT: popq %r12
4011 ; CHECK-SSE1-NEXT: popq %r13
4012 ; CHECK-SSE1-NEXT: popq %r14
4013 ; CHECK-SSE1-NEXT: popq %r15
4014 ; CHECK-SSE1-NEXT: popq %rbp
4015 ; CHECK-SSE1-NEXT: retq
4198 ; CHECK-SSE1-LABEL: in_v16i16:
4199 ; CHECK-SSE1: # %bb.0:
4200 ; CHECK-SSE1-NEXT: pushq %rbp
4201 ; CHECK-SSE1-NEXT: pushq %r15
4202 ; CHECK-SSE1-NEXT: pushq %r14
4203 ; CHECK-SSE1-NEXT: pushq %r13
4204 ; CHECK-SSE1-NEXT: pushq %r12
4205 ; CHECK-SSE1-NEXT: pushq %rbx
4206 ; CHECK-SSE1-NEXT: movq %rcx, %r9
4207 ; CHECK-SSE1-NEXT: movq %rdi, %r10
4208 ; CHECK-SSE1-NEXT: movzwl 30(%rdx), %edi
4209 ; CHECK-SSE1-NEXT: movl %edi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4210 ; CHECK-SSE1-NEXT: movl 28(%rdx), %edi
4211 ; CHECK-SSE1-NEXT: movl %edi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4212 ; CHECK-SSE1-NEXT: movzwl 26(%rdx), %edi
4213 ; CHECK-SSE1-NEXT: movl %edi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4214 ; CHECK-SSE1-NEXT: movl 24(%rdx), %eax
4215 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4216 ; CHECK-SSE1-NEXT: movzwl 22(%rdx), %eax
4217 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4218 ; CHECK-SSE1-NEXT: movl 20(%rdx), %r11d
4219 ; CHECK-SSE1-NEXT: movl %r11d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4220 ; CHECK-SSE1-NEXT: movzwl 18(%rdx), %r14d
4221 ; CHECK-SSE1-NEXT: movl %r14d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4222 ; CHECK-SSE1-NEXT: movl 16(%rdx), %r15d
4223 ; CHECK-SSE1-NEXT: movl %r15d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4224 ; CHECK-SSE1-NEXT: movzwl 14(%rdx), %r12d
4225 ; CHECK-SSE1-NEXT: movl %r12d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4226 ; CHECK-SSE1-NEXT: movl 12(%rdx), %r13d
4227 ; CHECK-SSE1-NEXT: movl %r13d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4228 ; CHECK-SSE1-NEXT: movzwl 10(%rdx), %r8d
4229 ; CHECK-SSE1-NEXT: movl %r8d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4230 ; CHECK-SSE1-NEXT: movl 8(%rdx), %ebx
4231 ; CHECK-SSE1-NEXT: movl %ebx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4232 ; CHECK-SSE1-NEXT: movzwl 6(%rdx), %ebp
4233 ; CHECK-SSE1-NEXT: movl %ebp, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4234 ; CHECK-SSE1-NEXT: movl (%rdx), %ecx
4235 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4236 ; CHECK-SSE1-NEXT: movl 4(%rdx), %edi
4237 ; CHECK-SSE1-NEXT: movl %edi, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4238 ; CHECK-SSE1-NEXT: movzwl 2(%rdx), %eax
4239 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4240 ; CHECK-SSE1-NEXT: movzwl (%rsi), %edx
4241 ; CHECK-SSE1-NEXT: xorw %cx, %dx
4242 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4243 ; CHECK-SSE1-NEXT: movzwl 2(%rsi), %ecx
4244 ; CHECK-SSE1-NEXT: xorw %ax, %cx
4245 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4246 ; CHECK-SSE1-NEXT: movzwl 4(%rsi), %eax
4247 ; CHECK-SSE1-NEXT: xorw %di, %ax
4248 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4249 ; CHECK-SSE1-NEXT: movzwl 6(%rsi), %edx
4250 ; CHECK-SSE1-NEXT: xorw %bp, %dx
4251 ; CHECK-SSE1-NEXT: movl %edx, %eax
4252 ; CHECK-SSE1-NEXT: movzwl 8(%rsi), %ecx
4253 ; CHECK-SSE1-NEXT: xorw %bx, %cx
4254 ; CHECK-SSE1-NEXT: movzwl 10(%rsi), %edx
4255 ; CHECK-SSE1-NEXT: xorw %r8w, %dx
4256 ; CHECK-SSE1-NEXT: movl %edx, %r8d
4257 ; CHECK-SSE1-NEXT: movzwl 12(%rsi), %edx
4258 ; CHECK-SSE1-NEXT: xorw %r13w, %dx
4259 ; CHECK-SSE1-NEXT: movzwl 14(%rsi), %r13d
4260 ; CHECK-SSE1-NEXT: xorw %r12w, %r13w
4261 ; CHECK-SSE1-NEXT: movzwl 16(%rsi), %r12d
4262 ; CHECK-SSE1-NEXT: xorw %r15w, %r12w
4263 ; CHECK-SSE1-NEXT: movzwl 18(%rsi), %r15d
4264 ; CHECK-SSE1-NEXT: xorw %r14w, %r15w
4265 ; CHECK-SSE1-NEXT: movzwl 20(%rsi), %r14d
4266 ; CHECK-SSE1-NEXT: xorw %r11w, %r14w
4267 ; CHECK-SSE1-NEXT: movzwl 22(%rsi), %ebp
4268 ; CHECK-SSE1-NEXT: xorw {{[-0-9]+}}(%r{{[sb]}}p), %bp # 2-byte Folded Reload
4269 ; CHECK-SSE1-NEXT: movzwl 24(%rsi), %ebx
4270 ; CHECK-SSE1-NEXT: xorw {{[-0-9]+}}(%r{{[sb]}}p), %bx # 2-byte Folded Reload
4271 ; CHECK-SSE1-NEXT: movzwl 26(%rsi), %r11d
4272 ; CHECK-SSE1-NEXT: xorw {{[-0-9]+}}(%r{{[sb]}}p), %r11w # 2-byte Folded Reload
4273 ; CHECK-SSE1-NEXT: movzwl 28(%rsi), %edi
4274 ; CHECK-SSE1-NEXT: xorw {{[-0-9]+}}(%r{{[sb]}}p), %di # 2-byte Folded Reload
4275 ; CHECK-SSE1-NEXT: movzwl 30(%rsi), %esi
4276 ; CHECK-SSE1-NEXT: xorw {{[-0-9]+}}(%r{{[sb]}}p), %si # 2-byte Folded Reload
4277 ; CHECK-SSE1-NEXT: andw 30(%r9), %si
4278 ; CHECK-SSE1-NEXT: andw 28(%r9), %di
4279 ; CHECK-SSE1-NEXT: andw 26(%r9), %r11w
4280 ; CHECK-SSE1-NEXT: andw 24(%r9), %bx
4281 ; CHECK-SSE1-NEXT: andw 22(%r9), %bp
4282 ; CHECK-SSE1-NEXT: andw 20(%r9), %r14w
4283 ; CHECK-SSE1-NEXT: andw 18(%r9), %r15w
4284 ; CHECK-SSE1-NEXT: andw 16(%r9), %r12w
4285 ; CHECK-SSE1-NEXT: andw 14(%r9), %r13w
4286 ; CHECK-SSE1-NEXT: andw 12(%r9), %dx
4287 ; CHECK-SSE1-NEXT: movl %edx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4288 ; CHECK-SSE1-NEXT: andw 10(%r9), %r8w
4289 ; CHECK-SSE1-NEXT: movl %r8d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4290 ; CHECK-SSE1-NEXT: movl %ecx, %edx
4291 ; CHECK-SSE1-NEXT: andw 8(%r9), %dx
4292 ; CHECK-SSE1-NEXT: andw 6(%r9), %ax
4293 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4294 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %r8d # 4-byte Reload
4295 ; CHECK-SSE1-NEXT: andw 4(%r9), %r8w
4296 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Reload
4297 ; CHECK-SSE1-NEXT: andw 2(%r9), %ax
4298 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Reload
4299 ; CHECK-SSE1-NEXT: andw (%r9), %cx
4300 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 4-byte Folded Reload
4301 ; CHECK-SSE1-NEXT: movl %ecx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4302 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Folded Reload
4303 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4304 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r8d # 4-byte Folded Reload
4305 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %r9d # 4-byte Reload
4306 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r9d # 4-byte Folded Reload
4307 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %edx # 4-byte Folded Reload
4308 ; CHECK-SSE1-NEXT: movl %edx, %ecx
4309 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %edx # 4-byte Reload
4310 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %edx # 4-byte Folded Reload
4311 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Reload
4312 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Folded Reload
4313 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r13d # 4-byte Folded Reload
4314 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r12d # 4-byte Folded Reload
4315 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r15d # 4-byte Folded Reload
4316 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r14d # 4-byte Folded Reload
4317 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %ebp # 4-byte Folded Reload
4318 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %ebx # 4-byte Folded Reload
4319 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r11d # 4-byte Folded Reload
4320 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %edi # 4-byte Folded Reload
4321 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %esi # 4-byte Folded Reload
4322 ; CHECK-SSE1-NEXT: movw %si, 30(%r10)
4323 ; CHECK-SSE1-NEXT: movw %di, 28(%r10)
4324 ; CHECK-SSE1-NEXT: movw %r11w, 26(%r10)
4325 ; CHECK-SSE1-NEXT: movw %bx, 24(%r10)
4326 ; CHECK-SSE1-NEXT: movw %bp, 22(%r10)
4327 ; CHECK-SSE1-NEXT: movw %r14w, 20(%r10)
4328 ; CHECK-SSE1-NEXT: movw %r15w, 18(%r10)
4329 ; CHECK-SSE1-NEXT: movw %r12w, 16(%r10)
4330 ; CHECK-SSE1-NEXT: movw %r13w, 14(%r10)
4331 ; CHECK-SSE1-NEXT: movw %ax, 12(%r10)
4332 ; CHECK-SSE1-NEXT: movw %dx, 10(%r10)
4333 ; CHECK-SSE1-NEXT: movw %cx, 8(%r10)
4334 ; CHECK-SSE1-NEXT: movw %r9w, 6(%r10)
4335 ; CHECK-SSE1-NEXT: movw %r8w, 4(%r10)
4336 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Reload
4337 ; CHECK-SSE1-NEXT: movw %ax, 2(%r10)
4338 ; CHECK-SSE1-NEXT: movl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Reload
4339 ; CHECK-SSE1-NEXT: movw %ax, (%r10)
4340 ; CHECK-SSE1-NEXT: movq %r10, %rax
4341 ; CHECK-SSE1-NEXT: popq %rbx
4342 ; CHECK-SSE1-NEXT: popq %r12
4343 ; CHECK-SSE1-NEXT: popq %r13
4344 ; CHECK-SSE1-NEXT: popq %r14
4345 ; CHECK-SSE1-NEXT: popq %r15
4346 ; CHECK-SSE1-NEXT: popq %rbp
4347 ; CHECK-SSE1-NEXT: retq
4448 ; CHECK-SSE1-LABEL: in_v8i32:
4449 ; CHECK-SSE1: # %bb.0:
4450 ; CHECK-SSE1-NEXT: pushq %rbp
4451 ; CHECK-SSE1-NEXT: pushq %r15
4452 ; CHECK-SSE1-NEXT: pushq %r14
4453 ; CHECK-SSE1-NEXT: pushq %r13
4454 ; CHECK-SSE1-NEXT: pushq %r12
4455 ; CHECK-SSE1-NEXT: pushq %rbx
4456 ; CHECK-SSE1-NEXT: movl 28(%rdx), %r15d
4457 ; CHECK-SSE1-NEXT: movl 24(%rdx), %r14d
4458 ; CHECK-SSE1-NEXT: movl 20(%rdx), %r10d
4459 ; CHECK-SSE1-NEXT: movl %r10d, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4460 ; CHECK-SSE1-NEXT: movl 16(%rdx), %eax
4461 ; CHECK-SSE1-NEXT: movl %eax, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4462 ; CHECK-SSE1-NEXT: movl 12(%rdx), %ebp
4463 ; CHECK-SSE1-NEXT: movl %ebp, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4464 ; CHECK-SSE1-NEXT: movl 8(%rdx), %ebx
4465 ; CHECK-SSE1-NEXT: movl %ebx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
4466 ; CHECK-SSE1-NEXT: movl (%rdx), %r12d
4467 ; CHECK-SSE1-NEXT: movl 4(%rdx), %r13d
4468 ; CHECK-SSE1-NEXT: movl (%rsi), %r11d
4469 ; CHECK-SSE1-NEXT: xorl %r12d, %r11d
4470 ; CHECK-SSE1-NEXT: movl 4(%rsi), %r9d
4471 ; CHECK-SSE1-NEXT: xorl %r13d, %r9d
4472 ; CHECK-SSE1-NEXT: movl 8(%rsi), %r8d
4473 ; CHECK-SSE1-NEXT: xorl %ebx, %r8d
4474 ; CHECK-SSE1-NEXT: movl 12(%rsi), %ebx
4475 ; CHECK-SSE1-NEXT: xorl %ebp, %ebx
4476 ; CHECK-SSE1-NEXT: movl 16(%rsi), %ebp
4477 ; CHECK-SSE1-NEXT: xorl %eax, %ebp
4478 ; CHECK-SSE1-NEXT: movl 20(%rsi), %edx
4479 ; CHECK-SSE1-NEXT: xorl %r10d, %edx
4480 ; CHECK-SSE1-NEXT: movl 24(%rsi), %eax
4481 ; CHECK-SSE1-NEXT: xorl %r14d, %eax
4482 ; CHECK-SSE1-NEXT: movl 28(%rsi), %esi
4483 ; CHECK-SSE1-NEXT: xorl %r15d, %esi
4484 ; CHECK-SSE1-NEXT: andl 28(%rcx), %esi
4485 ; CHECK-SSE1-NEXT: andl 24(%rcx), %eax
4486 ; CHECK-SSE1-NEXT: andl 20(%rcx), %edx
4487 ; CHECK-SSE1-NEXT: andl 16(%rcx), %ebp
4488 ; CHECK-SSE1-NEXT: andl 12(%rcx), %ebx
4489 ; CHECK-SSE1-NEXT: andl 8(%rcx), %r8d
4490 ; CHECK-SSE1-NEXT: andl 4(%rcx), %r9d
4491 ; CHECK-SSE1-NEXT: andl (%rcx), %r11d
4492 ; CHECK-SSE1-NEXT: xorl %r12d, %r11d
4493 ; CHECK-SSE1-NEXT: xorl %r13d, %r9d
4494 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %r8d # 4-byte Folded Reload
4495 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %ebx # 4-byte Folded Reload
4496 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %ebp # 4-byte Folded Reload
4497 ; CHECK-SSE1-NEXT: xorl {{[-0-9]+}}(%r{{[sb]}}p), %edx # 4-byte Folded Reload
4498 ; CHECK-SSE1-NEXT: xorl %r14d, %eax
4499 ; CHECK-SSE1-NEXT: xorl %r15d, %esi
4500 ; CHECK-SSE1-NEXT: movl %esi, 28(%rdi)
4501 ; CHECK-SSE1-NEXT: movl %eax, 24(%rdi)
4502 ; CHECK-SSE1-NEXT: movl %edx, 20(%rdi)
4503 ; CHECK-SSE1-NEXT: movl %ebp, 16(%rdi)
4504 ; CHECK-SSE1-NEXT: movl %ebx, 12(%rdi)
4505 ; CHECK-SSE1-NEXT: movl %r8d, 8(%rdi)
4506 ; CHECK-SSE1-NEXT: movl %r9d, 4(%rdi)
4507 ; CHECK-SSE1-NEXT: movl %r11d, (%rdi)
4508 ; CHECK-SSE1-NEXT: movq %rdi, %rax
4509 ; CHECK-SSE1-NEXT: popq %rbx
4510 ; CHECK-SSE1-NEXT: popq %r12
4511 ; CHECK-SSE1-NEXT: popq %r13
4512 ; CHECK-SSE1-NEXT: popq %r14
4513 ; CHECK-SSE1-NEXT: popq %r15
4514 ; CHECK-SSE1-NEXT: popq %rbp
4515 ; CHECK-SSE1-NEXT: retq
4578 ; CHECK-SSE1-LABEL: in_v4i64:
4579 ; CHECK-SSE1: # %bb.0:
4580 ; CHECK-SSE1-NEXT: pushq %rbx
4581 ; CHECK-SSE1-NEXT: movq %rdi, %rax
4582 ; CHECK-SSE1-NEXT: movq 24(%rdx), %r8
4583 ; CHECK-SSE1-NEXT: movq 16(%rdx), %r9
4584 ; CHECK-SSE1-NEXT: movq (%rdx), %r11
4585 ; CHECK-SSE1-NEXT: movq 8(%rdx), %r10
4586 ; CHECK-SSE1-NEXT: movq (%rsi), %rdx
4587 ; CHECK-SSE1-NEXT: xorq %r11, %rdx
4588 ; CHECK-SSE1-NEXT: movq 8(%rsi), %rdi
4589 ; CHECK-SSE1-NEXT: xorq %r10, %rdi
4590 ; CHECK-SSE1-NEXT: movq 16(%rsi), %rbx
4591 ; CHECK-SSE1-NEXT: xorq %r9, %rbx
4592 ; CHECK-SSE1-NEXT: movq 24(%rsi), %rsi
4593 ; CHECK-SSE1-NEXT: xorq %r8, %rsi
4594 ; CHECK-SSE1-NEXT: andq 24(%rcx), %rsi
4595 ; CHECK-SSE1-NEXT: andq 16(%rcx), %rbx
4596 ; CHECK-SSE1-NEXT: andq 8(%rcx), %rdi
4597 ; CHECK-SSE1-NEXT: andq (%rcx), %rdx
4598 ; CHECK-SSE1-NEXT: xorq %r11, %rdx
4599 ; CHECK-SSE1-NEXT: xorq %r10, %rdi
4600 ; CHECK-SSE1-NEXT: xorq %r9, %rbx
4601 ; CHECK-SSE1-NEXT: xorq %r8, %rsi
4602 ; CHECK-SSE1-NEXT: movq %rsi, 24(%rax)
4603 ; CHECK-SSE1-NEXT: movq %rbx, 16(%rax)
4604 ; CHECK-SSE1-NEXT: movq %rdi, 8(%rax)
4605 ; CHECK-SSE1-NEXT: movq %rdx, (%rax)
4606 ; CHECK-SSE1-NEXT: popq %rbx
4607 ; CHECK-SSE1-NEXT: retq