; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unkown-unknown -mattr=+kl,widekl | FileCheck %s --check-prefix=X64
; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+kl,widekl -mattr=+avx2 | FileCheck %s --check-prefix=X32
; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unkown-unknown -mattr=+widekl | FileCheck %s --check-prefix=X64
; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+widekl -mattr=+avx2 | FileCheck %s --check-prefix=X32

declare void @llvm.x86.loadiwkey(<2 x i64>, <2 x i64>, <2 x i64>, i32)
declare { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey128(i32, <2 x i64>)
declare { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey256(i32, <2 x i64>, <2 x i64>)
declare { i8, <2 x i64> } @llvm.x86.aesenc128kl(<2 x i64>, i8*)
declare { i8, <2 x i64> } @llvm.x86.aesdec128kl(<2 x i64>, i8*)
declare { i8, <2 x i64> } @llvm.x86.aesenc256kl(<2 x i64>, i8*)
declare { i8, <2 x i64> } @llvm.x86.aesdec256kl(<2 x i64>, i8*)
declare { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide128kl(i8*, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>)
declare { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide128kl(i8*, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>)
declare { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide256kl(i8*, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>)
declare { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide256kl(i8*, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>)

define void @test_loadiwkey(i32 %ctl, <2 x i64> %intkey, <2 x i64> %enkey_lo, <2 x i64> %enkey_hi) {
; X64-LABEL: test_loadiwkey:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movl %edi, %eax
; X64-NEXT:    loadiwkey %xmm2, %xmm1
; X64-NEXT:    retq
;
; X32-LABEL: test_loadiwkey:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    loadiwkey %xmm2, %xmm1
; X32-NEXT:    retl
entry:
  tail call void @llvm.x86.loadiwkey(<2 x i64> %intkey, <2 x i64> %enkey_lo, <2 x i64> %enkey_hi, i32 %ctl)
  ret void
}

define i32 @test_encodekey128_u32(i32 %htype, <2 x i64> %key, <2 x i64>* nocapture %h0, <2 x i64>* nocapture %h1, <2 x i64>* nocapture %h2, <2 x i64>* nocapture %h3, <2 x i64>* nocapture %h4, <2 x i64>* nocapture %h5) nounwind {
; X64-LABEL: test_encodekey128_u32:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    encodekey128 %edi, %eax
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm2, (%rcx)
; X64-NEXT:    movaps %xmm4, (%r8)
; X64-NEXT:    movaps %xmm5, (%r9)
; X64-NEXT:    movaps %xmm6, (%r10)
; X64-NEXT:    retq
;
; X32-LABEL: test_encodekey128_u32:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    pushl %ebx
; X32-NEXT:    pushl %edi
; X32-NEXT:    pushl %esi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %edx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    encodekey128 %eax, %eax
; X32-NEXT:    vmovaps %xmm0, (%ebp)
; X32-NEXT:    vmovaps %xmm1, (%ebx)
; X32-NEXT:    vmovaps %xmm2, (%edi)
; X32-NEXT:    vmovaps %xmm4, (%esi)
; X32-NEXT:    vmovaps %xmm5, (%edx)
; X32-NEXT:    vmovaps %xmm6, (%ecx)
; X32-NEXT:    popl %esi
; X32-NEXT:    popl %edi
; X32-NEXT:    popl %ebx
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = tail call { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey128(i32 %htype, <2 x i64> %key)
  %1 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %h0, align 16
  %2 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %h1, align 16
  %3 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %3, <2 x i64>* %h2, align 16
  %4 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %4, <2 x i64>* %h3, align 16
  %5 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %5, <2 x i64>* %h4, align 16
  %6 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %6, <2 x i64>* %h5, align 16
  %7 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i32 %7
}

define i32 @test_encodekey256_u32(i32 %htype, <2 x i64> %key_lo, <2 x i64> %key_hi, <2 x i64>* nocapture %h0, <2 x i64>* nocapture %h1, <2 x i64>* nocapture %h2, <2 x i64>* nocapture %h3, <2 x i64>* nocapture %h4, <2 x i64>* nocapture %h5, <2 x      i64>* nocapture readnone %h6) nounwind {
; X64-LABEL: test_encodekey256_u32:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    encodekey256 %edi, %eax
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm2, (%rcx)
; X64-NEXT:    movaps %xmm3, (%r8)
; X64-NEXT:    movaps %xmm4, (%r9)
; X64-NEXT:    movaps %xmm5, (%r10)
; X64-NEXT:    retq
;
; X32-LABEL: test_encodekey256_u32:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    pushl %ebx
; X32-NEXT:    pushl %edi
; X32-NEXT:    pushl %esi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %edx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    encodekey256 %eax, %eax
; X32-NEXT:    vmovaps %xmm0, (%ebp)
; X32-NEXT:    vmovaps %xmm1, (%ebx)
; X32-NEXT:    vmovaps %xmm2, (%edi)
; X32-NEXT:    vmovaps %xmm3, (%esi)
; X32-NEXT:    vmovaps %xmm4, (%edx)
; X32-NEXT:    vmovaps %xmm5, (%ecx)
; X32-NEXT:    popl %esi
; X32-NEXT:    popl %edi
; X32-NEXT:    popl %ebx
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = tail call { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey256(i32 %htype, <2 x i64> %key_lo, <2 x i64> %key_hi)
  %1 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %h0, align 16
  %2 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %h1, align 16
  %3 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %3, <2 x i64>* %h2, align 16
  %4 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %4, <2 x i64>* %h3, align 16
  %5 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %5, <2 x i64>* %h4, align 16
  %6 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %6, <2 x i64>* %h5, align 16
  %7 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i32 %7
}

define i8 @test_mm_aesenc128kl_u8(<2 x i64> %data, i8* %h, <2 x i64>* %out) {
; X64-LABEL: test_mm_aesenc128kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    aesenc128kl (%rdi), %xmm0
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesenc128kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    aesenc128kl (%eax), %xmm0
; X32-NEXT:    sete %al
; X32-NEXT:    vmovaps %xmm0, (%ecx)
; X32-NEXT:    retl
entry:
  %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc128kl(<2 x i64> %data, i8* %h)
  %1 = extractvalue { i8, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out
  %2 = extractvalue { i8, <2 x i64> } %0, 0
  ret i8 %2
}

define i8 @test_mm_aesdec128kl_u8(<2 x i64> %data, i8* %h, <2 x i64>* %out) {
; X64-LABEL: test_mm_aesdec128kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    aesdec128kl (%rdi), %xmm0
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesdec128kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    aesdec128kl (%eax), %xmm0
; X32-NEXT:    sete %al
; X32-NEXT:    vmovaps %xmm0, (%ecx)
; X32-NEXT:    retl
entry:
  %0 = tail call { i8, <2 x i64> } @llvm.x86.aesdec128kl(<2 x i64> %data, i8* %h)
  %1 = extractvalue { i8, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out
  %2 = extractvalue { i8, <2 x i64> } %0, 0
  ret i8 %2
}

define i8 @test_mm_aesenc256kl_u8(<2 x i64> %data, i8* %h, <2 x i64>* %out) {
; X64-LABEL: test_mm_aesenc256kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    aesenc256kl (%rdi), %xmm0
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesenc256kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    aesenc256kl (%eax), %xmm0
; X32-NEXT:    sete %al
; X32-NEXT:    vmovaps %xmm0, (%ecx)
; X32-NEXT:    retl
entry:
  %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc256kl(<2 x i64> %data, i8* %h)
  %1 = extractvalue { i8, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out
  %2 = extractvalue { i8, <2 x i64> } %0, 0
  ret i8 %2
}

define i8 @test_mm_aesdec256kl_u8(<2 x i64> %data, i8* %h, <2 x i64>* %out) {
; X64-LABEL: test_mm_aesdec256kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    aesdec256kl (%rdi), %xmm0
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesdec256kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X32-NEXT:    aesdec256kl (%eax), %xmm0
; X32-NEXT:    sete %al
; X32-NEXT:    vmovaps %xmm0, (%ecx)
; X32-NEXT:    retl
entry:
  %0 = tail call { i8, <2 x i64> } @llvm.x86.aesdec256kl(<2 x i64> %data, i8* %h)
  %1 = extractvalue { i8, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out
  %2 = extractvalue { i8, <2 x i64> } %0, 0
  ret i8 %2
}

define i8 @test_mm_aesencwide128kl_u8(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7, <2 x i64>* %out0, <2 x i64>* %out1, <2 x i64>* %out2, <2 x i64>* %out3, <2 x i64>* %out4, <2 x i64>* %out5, <2 x i64>* %out6, <2 x i64>* %out7) nounwind {
; X64-LABEL: test_mm_aesencwide128kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    pushq %rbx
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r11
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %rbx
; X64-NEXT:    aesencwide128kl (%rdi)
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm1, (%rcx)
; X64-NEXT:    movaps %xmm1, (%r8)
; X64-NEXT:    movaps %xmm1, (%r9)
; X64-NEXT:    movaps %xmm1, (%rbx)
; X64-NEXT:    movaps %xmm1, (%r11)
; X64-NEXT:    movaps %xmm1, (%r10)
; X64-NEXT:    popq %rbx
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesencwide128kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    movl %esp, %ebp
; X32-NEXT:    andl $-16, %esp
; X32-NEXT:    subl $16, %esp
; X32-NEXT:    vmovaps 24(%ebp), %xmm3
; X32-NEXT:    vmovaps 40(%ebp), %xmm4
; X32-NEXT:    vmovaps 56(%ebp), %xmm5
; X32-NEXT:    vmovaps 72(%ebp), %xmm6
; X32-NEXT:    vmovaps 88(%ebp), %xmm7
; X32-NEXT:    movl 8(%ebp), %eax
; X32-NEXT:    aesencwide128kl (%eax)
; X32-NEXT:    movl 104(%ebp), %eax
; X32-NEXT:    vmovaps %xmm0, (%eax)
; X32-NEXT:    movl 108(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 112(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 116(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 120(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 124(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 128(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 132(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    sete %al
; X32-NEXT:    movl %ebp, %esp
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide128kl(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6,      <2 x i64> %v7)
  %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out0
  %2 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %out1
  %3 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %2, <2 x i64>* %out2
  %4 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %2, <2 x i64>* %out3
  %5 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %2, <2 x i64>* %out4
  %6 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %2, <2 x i64>* %out5
  %7 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 7
  store <2 x i64> %2, <2 x i64>* %out6
  %8 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 8
  store <2 x i64> %2, <2 x i64>* %out7
  %9 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i8 %9
}

define i8 @test_mm_aesdecwide128kl_u8(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7, <2 x i64>* %out0, <2 x i64>* %out1, <2 x i64>* %out2, <2 x i64>* %out3, <2 x i64>* %out4, <2 x i64>* %out5, <2 x i64>* %out6, <2 x i64>* %out7) nounwind {
; X64-LABEL: test_mm_aesdecwide128kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    pushq %rbx
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r11
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %rbx
; X64-NEXT:    aesdecwide128kl (%rdi)
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm1, (%rcx)
; X64-NEXT:    movaps %xmm1, (%r8)
; X64-NEXT:    movaps %xmm1, (%r9)
; X64-NEXT:    movaps %xmm1, (%rbx)
; X64-NEXT:    movaps %xmm1, (%r11)
; X64-NEXT:    movaps %xmm1, (%r10)
; X64-NEXT:    popq %rbx
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesdecwide128kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    movl %esp, %ebp
; X32-NEXT:    andl $-16, %esp
; X32-NEXT:    subl $16, %esp
; X32-NEXT:    vmovaps 24(%ebp), %xmm3
; X32-NEXT:    vmovaps 40(%ebp), %xmm4
; X32-NEXT:    vmovaps 56(%ebp), %xmm5
; X32-NEXT:    vmovaps 72(%ebp), %xmm6
; X32-NEXT:    vmovaps 88(%ebp), %xmm7
; X32-NEXT:    movl 8(%ebp), %eax
; X32-NEXT:    aesdecwide128kl (%eax)
; X32-NEXT:    movl 104(%ebp), %eax
; X32-NEXT:    vmovaps %xmm0, (%eax)
; X32-NEXT:    movl 108(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 112(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 116(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 120(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 124(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 128(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 132(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    sete %al
; X32-NEXT:    movl %ebp, %esp
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide128kl(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6,      <2 x i64> %v7)
  %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out0
  %2 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %out1
  %3 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %2, <2 x i64>* %out2
  %4 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %2, <2 x i64>* %out3
  %5 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %2, <2 x i64>* %out4
  %6 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %2, <2 x i64>* %out5
  %7 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 7
  store <2 x i64> %2, <2 x i64>* %out6
  %8 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 8
  store <2 x i64> %2, <2 x i64>* %out7
  %9 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i8 %9
}

define i8 @test_mm_aesencwide256kl_u8(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7, <2 x i64>* %out0, <2 x i64>* %out1, <2 x i64>* %out2, <2 x i64>* %out3, <2 x i64>* %out4, <2 x i64>* %out5, <2 x i64>* %out6, <2 x i64>* %out7) nounwind {
; X64-LABEL: test_mm_aesencwide256kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    pushq %rbx
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r11
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %rbx
; X64-NEXT:    aesencwide256kl (%rdi)
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm1, (%rcx)
; X64-NEXT:    movaps %xmm1, (%r8)
; X64-NEXT:    movaps %xmm1, (%r9)
; X64-NEXT:    movaps %xmm1, (%rbx)
; X64-NEXT:    movaps %xmm1, (%r11)
; X64-NEXT:    movaps %xmm1, (%r10)
; X64-NEXT:    popq %rbx
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesencwide256kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    movl %esp, %ebp
; X32-NEXT:    andl $-16, %esp
; X32-NEXT:    subl $16, %esp
; X32-NEXT:    vmovaps 24(%ebp), %xmm3
; X32-NEXT:    vmovaps 40(%ebp), %xmm4
; X32-NEXT:    vmovaps 56(%ebp), %xmm5
; X32-NEXT:    vmovaps 72(%ebp), %xmm6
; X32-NEXT:    vmovaps 88(%ebp), %xmm7
; X32-NEXT:    movl 8(%ebp), %eax
; X32-NEXT:    aesencwide256kl (%eax)
; X32-NEXT:    movl 104(%ebp), %eax
; X32-NEXT:    vmovaps %xmm0, (%eax)
; X32-NEXT:    movl 108(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 112(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 116(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 120(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 124(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 128(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 132(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    sete %al
; X32-NEXT:    movl %ebp, %esp
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide256kl(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6,      <2 x i64> %v7)
  %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out0
  %2 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %out1
  %3 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %2, <2 x i64>* %out2
  %4 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %2, <2 x i64>* %out3
  %5 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %2, <2 x i64>* %out4
  %6 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %2, <2 x i64>* %out5
  %7 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 7
  store <2 x i64> %2, <2 x i64>* %out6
  %8 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 8
  store <2 x i64> %2, <2 x i64>* %out7
  %9 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i8 %9
}

define i8 @test_mm_aesdecwide256kl_u8(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7, <2 x i64>* %out0, <2 x i64>* %out1, <2 x i64>* %out2, <2 x i64>* %out3, <2 x i64>* %out4, <2 x i64>* %out5, <2 x i64>* %out6, <2 x i64>* %out7) nounwind {
; X64-LABEL: test_mm_aesdecwide256kl_u8:
; X64:       # %bb.0: # %entry
; X64-NEXT:    pushq %rbx
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r11
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %rbx
; X64-NEXT:    aesdecwide256kl (%rdi)
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm1, (%rcx)
; X64-NEXT:    movaps %xmm1, (%r8)
; X64-NEXT:    movaps %xmm1, (%r9)
; X64-NEXT:    movaps %xmm1, (%rbx)
; X64-NEXT:    movaps %xmm1, (%r11)
; X64-NEXT:    movaps %xmm1, (%r10)
; X64-NEXT:    popq %rbx
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesdecwide256kl_u8:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    movl %esp, %ebp
; X32-NEXT:    andl $-16, %esp
; X32-NEXT:    subl $16, %esp
; X32-NEXT:    vmovaps 24(%ebp), %xmm3
; X32-NEXT:    vmovaps 40(%ebp), %xmm4
; X32-NEXT:    vmovaps 56(%ebp), %xmm5
; X32-NEXT:    vmovaps 72(%ebp), %xmm6
; X32-NEXT:    vmovaps 88(%ebp), %xmm7
; X32-NEXT:    movl 8(%ebp), %eax
; X32-NEXT:    aesdecwide256kl (%eax)
; X32-NEXT:    movl 104(%ebp), %eax
; X32-NEXT:    vmovaps %xmm0, (%eax)
; X32-NEXT:    movl 108(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 112(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 116(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 120(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 124(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 128(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 132(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    sete %al
; X32-NEXT:    movl %ebp, %esp
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide256kl(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6,      <2 x i64> %v7)
  %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out0
  %2 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %out1
  %3 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %2, <2 x i64>* %out2
  %4 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %2, <2 x i64>* %out3
  %5 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %2, <2 x i64>* %out4
  %6 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %2, <2 x i64>* %out5
  %7 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 7
  store <2 x i64> %2, <2 x i64>* %out6
  %8 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 8
  store <2 x i64> %2, <2 x i64>* %out7
  %9 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i8 %9
}

; Tests to make sure we can select an appropriate addressing mode for a global.

@foo = external dso_local global [64 x i8]

define i8 @test_mm_aesenc256kl_u8_global(<2 x i64> %data, <2 x i64>* %out) {
; X64-LABEL: test_mm_aesenc256kl_u8_global:
; X64:       # %bb.0: # %entry
; X64-NEXT:    aesenc256kl {{.*}}(%rip), %xmm0
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rdi)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesenc256kl_u8_global:
; X32:       # %bb.0: # %entry
; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT:    aesenc256kl foo, %xmm0
; X32-NEXT:    sete %al
; X32-NEXT:    vmovaps %xmm0, (%ecx)
; X32-NEXT:    retl
entry:
  %h = bitcast [64 x i8]* @foo to i8*
  %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc256kl(<2 x i64> %data, i8* %h)
  %1 = extractvalue { i8, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out
  %2 = extractvalue { i8, <2 x i64> } %0, 0
  ret i8 %2
}

define i8 @test_mm_aesdecwide256kl_u8_global(<2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7, <2 x i64>* %out0, <2 x i64>* %out1, <2 x i64>* %out2, <2 x i64>* %out3, <2 x i64>* %out4, <2 x i64>* %out5, <2 x i64>* %out6, <2 x i64>* %out7) nounwind {
; X64-LABEL: test_mm_aesdecwide256kl_u8_global:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r10
; X64-NEXT:    movq {{[0-9]+}}(%rsp), %r11
; X64-NEXT:    aesdecwide256kl {{.*}}(%rip)
; X64-NEXT:    sete %al
; X64-NEXT:    movaps %xmm0, (%rdi)
; X64-NEXT:    movaps %xmm1, (%rsi)
; X64-NEXT:    movaps %xmm1, (%rdx)
; X64-NEXT:    movaps %xmm1, (%rcx)
; X64-NEXT:    movaps %xmm1, (%r8)
; X64-NEXT:    movaps %xmm1, (%r9)
; X64-NEXT:    movaps %xmm1, (%r11)
; X64-NEXT:    movaps %xmm1, (%r10)
; X64-NEXT:    retq
;
; X32-LABEL: test_mm_aesdecwide256kl_u8_global:
; X32:       # %bb.0: # %entry
; X32-NEXT:    pushl %ebp
; X32-NEXT:    movl %esp, %ebp
; X32-NEXT:    andl $-16, %esp
; X32-NEXT:    subl $16, %esp
; X32-NEXT:    movl 88(%ebp), %eax
; X32-NEXT:    vmovaps 8(%ebp), %xmm3
; X32-NEXT:    vmovaps 24(%ebp), %xmm4
; X32-NEXT:    vmovaps 40(%ebp), %xmm5
; X32-NEXT:    vmovaps 56(%ebp), %xmm6
; X32-NEXT:    vmovaps 72(%ebp), %xmm7
; X32-NEXT:    aesdecwide256kl foo
; X32-NEXT:    vmovaps %xmm0, (%eax)
; X32-NEXT:    movl 92(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 96(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 100(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 104(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 108(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 112(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    movl 116(%ebp), %eax
; X32-NEXT:    vmovaps %xmm1, (%eax)
; X32-NEXT:    sete %al
; X32-NEXT:    movl %ebp, %esp
; X32-NEXT:    popl %ebp
; X32-NEXT:    retl
entry:
  %p = bitcast [64 x i8]* @foo to i8*
  %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide256kl(i8* %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6,      <2 x i64> %v7)
  %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1
  store <2 x i64> %1, <2 x i64>* %out0
  %2 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 2
  store <2 x i64> %2, <2 x i64>* %out1
  %3 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 3
  store <2 x i64> %2, <2 x i64>* %out2
  %4 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 4
  store <2 x i64> %2, <2 x i64>* %out3
  %5 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 5
  store <2 x i64> %2, <2 x i64>* %out4
  %6 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 6
  store <2 x i64> %2, <2 x i64>* %out5
  %7 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 7
  store <2 x i64> %2, <2 x i64>* %out6
  %8 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 8
  store <2 x i64> %2, <2 x i64>* %out7
  %9 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 0
  ret i8 %9
}
