; CHECK-BASELINE-LABEL: out_v2i8:
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: movl %r8d, %eax
-; CHECK-BASELINE-NEXT: andl %r8d, %edi
; CHECK-BASELINE-NEXT: andl %r9d, %esi
+; CHECK-BASELINE-NEXT: andl %r8d, %edi
; CHECK-BASELINE-NEXT: notb %al
; CHECK-BASELINE-NEXT: notb %r9b
; CHECK-BASELINE-NEXT: andb %cl, %r9b
; CHECK-SSE1-LABEL: out_v2i8:
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: movl %r8d, %eax
-; CHECK-SSE1-NEXT: andl %r8d, %edi
; CHECK-SSE1-NEXT: andl %r9d, %esi
+; CHECK-SSE1-NEXT: andl %r8d, %edi
; CHECK-SSE1-NEXT: notb %al
; CHECK-SSE1-NEXT: notb %r9b
; CHECK-SSE1-NEXT: andb %cl, %r9b
; CHECK-BASELINE-LABEL: in_v2i8:
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: movl %edi, %eax
-; CHECK-BASELINE-NEXT: xorl %ecx, %esi
; CHECK-BASELINE-NEXT: xorl %edx, %eax
-; CHECK-BASELINE-NEXT: andl %r8d, %eax
-; CHECK-BASELINE-NEXT: andl %r9d, %esi
; CHECK-BASELINE-NEXT: xorl %ecx, %esi
+; CHECK-BASELINE-NEXT: andl %r9d, %esi
+; CHECK-BASELINE-NEXT: andl %r8d, %eax
; CHECK-BASELINE-NEXT: xorl %edx, %eax
+; CHECK-BASELINE-NEXT: xorl %ecx, %esi
; CHECK-BASELINE-NEXT: # kill: def $al killed $al killed $eax
; CHECK-BASELINE-NEXT: movl %esi, %edx
; CHECK-BASELINE-NEXT: retq
; CHECK-SSE1-LABEL: in_v2i8:
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: movl %edi, %eax
-; CHECK-SSE1-NEXT: xorl %ecx, %esi
; CHECK-SSE1-NEXT: xorl %edx, %eax
-; CHECK-SSE1-NEXT: andl %r8d, %eax
-; CHECK-SSE1-NEXT: andl %r9d, %esi
; CHECK-SSE1-NEXT: xorl %ecx, %esi
+; CHECK-SSE1-NEXT: andl %r9d, %esi
+; CHECK-SSE1-NEXT: andl %r8d, %eax
; CHECK-SSE1-NEXT: xorl %edx, %eax
+; CHECK-SSE1-NEXT: xorl %ecx, %esi
; CHECK-SSE1-NEXT: # kill: def $al killed $al killed $eax
; CHECK-SSE1-NEXT: movl %esi, %edx
; CHECK-SSE1-NEXT: retq
; CHECK-BASELINE-LABEL: in_v4i8:
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: movq %rdi, %rax
-; CHECK-BASELINE-NEXT: xorl %r9d, %esi
; CHECK-BASELINE-NEXT: movb {{[0-9]+}}(%rsp), %dil
; CHECK-BASELINE-NEXT: movb {{[0-9]+}}(%rsp), %r10b
; CHECK-BASELINE-NEXT: movb {{[0-9]+}}(%rsp), %r11b
+; CHECK-BASELINE-NEXT: xorl %r9d, %esi
; CHECK-BASELINE-NEXT: xorb %r11b, %dl
; CHECK-BASELINE-NEXT: xorb %r10b, %cl
; CHECK-BASELINE-NEXT: xorb %dil, %r8b
; CHECK-SSE1-LABEL: in_v4i8:
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: movq %rdi, %rax
-; CHECK-SSE1-NEXT: xorl %r9d, %esi
; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %dil
; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r10b
; CHECK-SSE1-NEXT: movb {{[0-9]+}}(%rsp), %r11b
+; CHECK-SSE1-NEXT: xorl %r9d, %esi
; CHECK-SSE1-NEXT: xorb %r11b, %dl
; CHECK-SSE1-NEXT: xorb %r10b, %cl
; CHECK-SSE1-NEXT: xorb %dil, %r8b
; CHECK-BASELINE-LABEL: in_v2i16:
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: movl %edi, %eax
-; CHECK-BASELINE-NEXT: xorl %ecx, %esi
; CHECK-BASELINE-NEXT: xorl %edx, %eax
-; CHECK-BASELINE-NEXT: andl %r8d, %eax
-; CHECK-BASELINE-NEXT: andl %r9d, %esi
; CHECK-BASELINE-NEXT: xorl %ecx, %esi
+; CHECK-BASELINE-NEXT: andl %r9d, %esi
+; CHECK-BASELINE-NEXT: andl %r8d, %eax
; CHECK-BASELINE-NEXT: xorl %edx, %eax
+; CHECK-BASELINE-NEXT: xorl %ecx, %esi
; CHECK-BASELINE-NEXT: # kill: def $ax killed $ax killed $eax
; CHECK-BASELINE-NEXT: movl %esi, %edx
; CHECK-BASELINE-NEXT: retq
; CHECK-SSE1-LABEL: in_v2i16:
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: movl %edi, %eax
-; CHECK-SSE1-NEXT: xorl %ecx, %esi
; CHECK-SSE1-NEXT: xorl %edx, %eax
-; CHECK-SSE1-NEXT: andl %r8d, %eax
-; CHECK-SSE1-NEXT: andl %r9d, %esi
; CHECK-SSE1-NEXT: xorl %ecx, %esi
+; CHECK-SSE1-NEXT: andl %r9d, %esi
+; CHECK-SSE1-NEXT: andl %r8d, %eax
; CHECK-SSE1-NEXT: xorl %edx, %eax
+; CHECK-SSE1-NEXT: xorl %ecx, %esi
; CHECK-SSE1-NEXT: # kill: def $ax killed $ax killed $eax
; CHECK-SSE1-NEXT: movl %esi, %edx
; CHECK-SSE1-NEXT: retq
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: movq %rdi, %rax
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %r10d
-; CHECK-BASELINE-NEXT: xorl %r10d, %r8d
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %r11d
-; CHECK-BASELINE-NEXT: xorl %r11d, %ecx
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %edi
-; CHECK-BASELINE-NEXT: xorl %edi, %edx
; CHECK-BASELINE-NEXT: xorl %r9d, %esi
+; CHECK-BASELINE-NEXT: xorl %edi, %edx
+; CHECK-BASELINE-NEXT: xorl %r11d, %ecx
+; CHECK-BASELINE-NEXT: xorl %r10d, %r8d
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %r8w
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %cx
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %dx
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: movq %rdi, %rax
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
-; CHECK-SSE1-NEXT: xorl %r10d, %r8d
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
-; CHECK-SSE1-NEXT: xorl %r11d, %ecx
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
-; CHECK-SSE1-NEXT: xorl %edi, %edx
; CHECK-SSE1-NEXT: xorl %r9d, %esi
+; CHECK-SSE1-NEXT: xorl %edi, %edx
+; CHECK-SSE1-NEXT: xorl %r11d, %ecx
+; CHECK-SSE1-NEXT: xorl %r10d, %r8d
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r8w
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %dx
; CHECK-BASELINE-LABEL: in_v8i16:
; CHECK-BASELINE: # %bb.0:
; CHECK-BASELINE-NEXT: pushq %rbp
-; CHECK-BASELINE-NEXT: pushq %r14
; CHECK-BASELINE-NEXT: pushq %rbx
; CHECK-BASELINE-NEXT: movq %rdi, %rax
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %r10d
-; CHECK-BASELINE-NEXT: xorl %r10d, %r9d
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %r11d
-; CHECK-BASELINE-NEXT: xorl %r11d, %r8d
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %edi
-; CHECK-BASELINE-NEXT: xorl %edi, %ecx
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %ebx
; CHECK-BASELINE-NEXT: xorl %ebx, %esi
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %si
; CHECK-BASELINE-NEXT: xorl %ebx, %edx
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %dx
; CHECK-BASELINE-NEXT: xorl %ebx, %edx
-; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %r14d
+; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-BASELINE-NEXT: xorl %ebx, %ecx
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %cx
-; CHECK-BASELINE-NEXT: xorl %edi, %ecx
-; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %edi
+; CHECK-BASELINE-NEXT: xorl %ebx, %ecx
+; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-BASELINE-NEXT: xorl %ebx, %r8d
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %r8w
-; CHECK-BASELINE-NEXT: xorl %r11d, %r8d
+; CHECK-BASELINE-NEXT: xorl %ebx, %r8d
; CHECK-BASELINE-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-BASELINE-NEXT: xorl %ebx, %r9d
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %r9w
-; CHECK-BASELINE-NEXT: xorl %r10d, %r9d
+; CHECK-BASELINE-NEXT: xorl %ebx, %r9d
; CHECK-BASELINE-NEXT: movzwl {{[0-9]+}}(%rsp), %ebp
-; CHECK-BASELINE-NEXT: xorw %bx, %bp
+; CHECK-BASELINE-NEXT: xorw %di, %bp
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %bp
-; CHECK-BASELINE-NEXT: xorl %ebx, %ebp
-; CHECK-BASELINE-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
-; CHECK-BASELINE-NEXT: xorw %di, %bx
-; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %bx
-; CHECK-BASELINE-NEXT: xorl %edi, %ebx
+; CHECK-BASELINE-NEXT: xorl %edi, %ebp
; CHECK-BASELINE-NEXT: movzwl {{[0-9]+}}(%rsp), %edi
-; CHECK-BASELINE-NEXT: xorw %r14w, %di
+; CHECK-BASELINE-NEXT: xorw %r11w, %di
; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %di
-; CHECK-BASELINE-NEXT: xorl %r14d, %edi
-; CHECK-BASELINE-NEXT: movw %di, 14(%rax)
-; CHECK-BASELINE-NEXT: movw %bx, 12(%rax)
+; CHECK-BASELINE-NEXT: xorl %r11d, %edi
+; CHECK-BASELINE-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
+; CHECK-BASELINE-NEXT: xorw %r10w, %bx
+; CHECK-BASELINE-NEXT: andw {{[0-9]+}}(%rsp), %bx
+; CHECK-BASELINE-NEXT: xorl %r10d, %ebx
+; CHECK-BASELINE-NEXT: movw %bx, 14(%rax)
+; CHECK-BASELINE-NEXT: movw %di, 12(%rax)
; CHECK-BASELINE-NEXT: movw %bp, 10(%rax)
; CHECK-BASELINE-NEXT: movw %r9w, 8(%rax)
; CHECK-BASELINE-NEXT: movw %r8w, 6(%rax)
; CHECK-BASELINE-NEXT: movw %dx, 2(%rax)
; CHECK-BASELINE-NEXT: movw %si, (%rax)
; CHECK-BASELINE-NEXT: popq %rbx
-; CHECK-BASELINE-NEXT: popq %r14
; CHECK-BASELINE-NEXT: popq %rbp
; CHECK-BASELINE-NEXT: retq
;
; CHECK-SSE1-LABEL: in_v8i16:
; CHECK-SSE1: # %bb.0:
; CHECK-SSE1-NEXT: pushq %rbp
-; CHECK-SSE1-NEXT: pushq %r14
; CHECK-SSE1-NEXT: pushq %rbx
; CHECK-SSE1-NEXT: movq %rdi, %rax
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r10d
-; CHECK-SSE1-NEXT: xorl %r10d, %r9d
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r11d
-; CHECK-SSE1-NEXT: xorl %r11d, %r8d
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
-; CHECK-SSE1-NEXT: xorl %edi, %ecx
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
; CHECK-SSE1-NEXT: xorl %ebx, %esi
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %si
; CHECK-SSE1-NEXT: xorl %ebx, %edx
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %dx
; CHECK-SSE1-NEXT: xorl %ebx, %edx
-; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %r14d
+; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-SSE1-NEXT: xorl %ebx, %ecx
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %cx
-; CHECK-SSE1-NEXT: xorl %edi, %ecx
-; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %edi
+; CHECK-SSE1-NEXT: xorl %ebx, %ecx
+; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-SSE1-NEXT: xorl %ebx, %r8d
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r8w
-; CHECK-SSE1-NEXT: xorl %r11d, %r8d
+; CHECK-SSE1-NEXT: xorl %ebx, %r8d
; CHECK-SSE1-NEXT: movl {{[0-9]+}}(%rsp), %ebx
+; CHECK-SSE1-NEXT: xorl %ebx, %r9d
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %r9w
-; CHECK-SSE1-NEXT: xorl %r10d, %r9d
+; CHECK-SSE1-NEXT: xorl %ebx, %r9d
; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebp
-; CHECK-SSE1-NEXT: xorw %bx, %bp
+; CHECK-SSE1-NEXT: xorw %di, %bp
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bp
-; CHECK-SSE1-NEXT: xorl %ebx, %ebp
-; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
-; CHECK-SSE1-NEXT: xorw %di, %bx
-; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bx
-; CHECK-SSE1-NEXT: xorl %edi, %ebx
+; CHECK-SSE1-NEXT: xorl %edi, %ebp
; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %edi
-; CHECK-SSE1-NEXT: xorw %r14w, %di
+; CHECK-SSE1-NEXT: xorw %r11w, %di
; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %di
-; CHECK-SSE1-NEXT: xorl %r14d, %edi
-; CHECK-SSE1-NEXT: movw %di, 14(%rax)
-; CHECK-SSE1-NEXT: movw %bx, 12(%rax)
+; CHECK-SSE1-NEXT: xorl %r11d, %edi
+; CHECK-SSE1-NEXT: movzwl {{[0-9]+}}(%rsp), %ebx
+; CHECK-SSE1-NEXT: xorw %r10w, %bx
+; CHECK-SSE1-NEXT: andw {{[0-9]+}}(%rsp), %bx
+; CHECK-SSE1-NEXT: xorl %r10d, %ebx
+; CHECK-SSE1-NEXT: movw %bx, 14(%rax)
+; CHECK-SSE1-NEXT: movw %di, 12(%rax)
; CHECK-SSE1-NEXT: movw %bp, 10(%rax)
; CHECK-SSE1-NEXT: movw %r9w, 8(%rax)
; CHECK-SSE1-NEXT: movw %r8w, 6(%rax)
; CHECK-SSE1-NEXT: movw %dx, 2(%rax)
; CHECK-SSE1-NEXT: movw %si, (%rax)
; CHECK-SSE1-NEXT: popq %rbx
-; CHECK-SSE1-NEXT: popq %r14
; CHECK-SSE1-NEXT: popq %rbp
; CHECK-SSE1-NEXT: retq
;