16864 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-- -mattr=+sse2 | FileCheck %s --check-prefixes=SSE3; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefixes=AVX4; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX25; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX2-FP6; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX2-FCP7; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl | FileCheck %s --check-prefixes=AVX5128; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX512-FCP9; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefixes=AVX512DQ10; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX512DQ-FCP11; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefixes=AVX512BW12; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512bw,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX512BW-FCP13; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+avx512bw | FileCheck %s --check-prefixes=AVX512DQ-BW14; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512vl,+avx512dq,+avx512bw,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle | FileCheck %s --check-prefixes=AVX512DQ-BW-FCP15 16; These patterns are produced by LoopVectorizer for interleaved stores.17 18define void @store_i64_stride8_vf2(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {19; SSE-LABEL: store_i64_stride8_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1023; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1124; SSE-NEXT: movaps (%rdi), %xmm025; SSE-NEXT: movaps (%rsi), %xmm126; SSE-NEXT: movaps (%rdx), %xmm227; SSE-NEXT: movaps (%rcx), %xmm328; SSE-NEXT: movaps (%r8), %xmm429; SSE-NEXT: movaps (%r9), %xmm530; SSE-NEXT: movaps (%r11), %xmm631; SSE-NEXT: movaps (%r10), %xmm732; SSE-NEXT: movaps %xmm0, %xmm833; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm1[0]34; SSE-NEXT: movaps %xmm2, %xmm935; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm3[0]36; SSE-NEXT: movaps %xmm6, %xmm1037; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm7[0]38; SSE-NEXT: movaps %xmm4, %xmm1139; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm5[0]40; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]41; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]42; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm7[1]43; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm5[1]44; SSE-NEXT: movaps %xmm4, 96(%rax)45; SSE-NEXT: movaps %xmm6, 112(%rax)46; SSE-NEXT: movaps %xmm2, 80(%rax)47; SSE-NEXT: movaps %xmm0, 64(%rax)48; SSE-NEXT: movaps %xmm11, 32(%rax)49; SSE-NEXT: movaps %xmm10, 48(%rax)50; SSE-NEXT: movaps %xmm9, 16(%rax)51; SSE-NEXT: movaps %xmm8, (%rax)52; SSE-NEXT: retq53;54; AVX-LABEL: store_i64_stride8_vf2:55; AVX: # %bb.0:56; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax57; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1058; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1159; AVX-NEXT: vmovaps (%rdi), %xmm060; AVX-NEXT: vmovaps (%rsi), %xmm161; AVX-NEXT: vmovaps (%r8), %xmm262; AVX-NEXT: vmovaps (%r9), %xmm363; AVX-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm164; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm0, %ymm065; AVX-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]66; AVX-NEXT: vinsertf128 $1, (%r11), %ymm3, %ymm367; AVX-NEXT: vinsertf128 $1, (%r10), %ymm2, %ymm268; AVX-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]69; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]70; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]71; AVX-NEXT: vmovaps %ymm1, 96(%rax)72; AVX-NEXT: vmovaps %ymm0, 64(%rax)73; AVX-NEXT: vmovaps %ymm5, 32(%rax)74; AVX-NEXT: vmovaps %ymm4, (%rax)75; AVX-NEXT: vzeroupper76; AVX-NEXT: retq77;78; AVX2-LABEL: store_i64_stride8_vf2:79; AVX2: # %bb.0:80; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax81; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1082; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1183; AVX2-NEXT: vmovaps (%rdi), %xmm084; AVX2-NEXT: vmovaps (%rdx), %xmm185; AVX2-NEXT: vmovaps (%r8), %xmm286; AVX2-NEXT: vmovaps (%r11), %xmm387; AVX2-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm088; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm189; AVX2-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm290; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm3, %ymm391; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]92; AVX2-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,1,3]93; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]94; AVX2-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,1,3]95; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]96; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]97; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]98; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]99; AVX2-NEXT: vmovaps %ymm1, 96(%rax)100; AVX2-NEXT: vmovaps %ymm0, 64(%rax)101; AVX2-NEXT: vmovaps %ymm5, 32(%rax)102; AVX2-NEXT: vmovaps %ymm4, (%rax)103; AVX2-NEXT: vzeroupper104; AVX2-NEXT: retq105;106; AVX2-FP-LABEL: store_i64_stride8_vf2:107; AVX2-FP: # %bb.0:108; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax109; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10110; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r11111; AVX2-FP-NEXT: vmovaps (%rdi), %xmm0112; AVX2-FP-NEXT: vmovaps (%rdx), %xmm1113; AVX2-FP-NEXT: vmovaps (%r8), %xmm2114; AVX2-FP-NEXT: vmovaps (%r11), %xmm3115; AVX2-FP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm0116; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm1117; AVX2-FP-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm2118; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm3, %ymm3119; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]120; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,1,3]121; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]122; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,1,3]123; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]124; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]125; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]126; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]127; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)128; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)129; AVX2-FP-NEXT: vmovaps %ymm5, 32(%rax)130; AVX2-FP-NEXT: vmovaps %ymm4, (%rax)131; AVX2-FP-NEXT: vzeroupper132; AVX2-FP-NEXT: retq133;134; AVX2-FCP-LABEL: store_i64_stride8_vf2:135; AVX2-FCP: # %bb.0:136; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax137; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10138; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11139; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm0140; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm1141; AVX2-FCP-NEXT: vmovaps (%r8), %xmm2142; AVX2-FCP-NEXT: vmovaps (%r11), %xmm3143; AVX2-FCP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm0144; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm1145; AVX2-FCP-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm2146; AVX2-FCP-NEXT: vinsertf128 $1, (%r10), %ymm3, %ymm3147; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]148; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,1,3]149; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]150; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,1,3]151; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]152; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]153; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]154; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]155; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rax)156; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)157; AVX2-FCP-NEXT: vmovaps %ymm5, 32(%rax)158; AVX2-FCP-NEXT: vmovaps %ymm4, (%rax)159; AVX2-FCP-NEXT: vzeroupper160; AVX2-FCP-NEXT: retq161;162; AVX512-LABEL: store_i64_stride8_vf2:163; AVX512: # %bb.0:164; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax165; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10166; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r11167; AVX512-NEXT: vmovdqa (%rdi), %xmm0168; AVX512-NEXT: vmovdqa (%rdx), %xmm1169; AVX512-NEXT: vmovdqa (%r8), %xmm2170; AVX512-NEXT: vmovdqa (%r11), %xmm3171; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1172; AVX512-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0173; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0174; AVX512-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1175; AVX512-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2176; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1177; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]178; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm2179; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]180; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm3181; AVX512-NEXT: vmovdqa64 %zmm3, 64(%rax)182; AVX512-NEXT: vmovdqa64 %zmm2, (%rax)183; AVX512-NEXT: vzeroupper184; AVX512-NEXT: retq185;186; AVX512-FCP-LABEL: store_i64_stride8_vf2:187; AVX512-FCP: # %bb.0:188; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax189; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10190; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11191; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm0192; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm1193; AVX512-FCP-NEXT: vmovdqa (%r8), %xmm2194; AVX512-FCP-NEXT: vmovdqa (%r11), %xmm3195; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1196; AVX512-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0197; AVX512-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0198; AVX512-FCP-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1199; AVX512-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2200; AVX512-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1201; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]202; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2203; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]204; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3205; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)206; AVX512-FCP-NEXT: vmovdqa64 %zmm2, (%rax)207; AVX512-FCP-NEXT: vzeroupper208; AVX512-FCP-NEXT: retq209;210; AVX512DQ-LABEL: store_i64_stride8_vf2:211; AVX512DQ: # %bb.0:212; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax213; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10214; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r11215; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm0216; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm1217; AVX512DQ-NEXT: vmovdqa (%r8), %xmm2218; AVX512DQ-NEXT: vmovdqa (%r11), %xmm3219; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1220; AVX512DQ-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0221; AVX512DQ-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0222; AVX512DQ-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1223; AVX512DQ-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2224; AVX512DQ-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1225; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]226; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm2227; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]228; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm3229; AVX512DQ-NEXT: vmovdqa64 %zmm3, 64(%rax)230; AVX512DQ-NEXT: vmovdqa64 %zmm2, (%rax)231; AVX512DQ-NEXT: vzeroupper232; AVX512DQ-NEXT: retq233;234; AVX512DQ-FCP-LABEL: store_i64_stride8_vf2:235; AVX512DQ-FCP: # %bb.0:236; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax237; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10238; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11239; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm0240; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm1241; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %xmm2242; AVX512DQ-FCP-NEXT: vmovdqa (%r11), %xmm3243; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1244; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0245; AVX512DQ-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0246; AVX512DQ-FCP-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1247; AVX512DQ-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2248; AVX512DQ-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1249; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]250; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2251; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]252; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3253; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)254; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, (%rax)255; AVX512DQ-FCP-NEXT: vzeroupper256; AVX512DQ-FCP-NEXT: retq257;258; AVX512BW-LABEL: store_i64_stride8_vf2:259; AVX512BW: # %bb.0:260; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax261; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10262; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r11263; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0264; AVX512BW-NEXT: vmovdqa (%rdx), %xmm1265; AVX512BW-NEXT: vmovdqa (%r8), %xmm2266; AVX512BW-NEXT: vmovdqa (%r11), %xmm3267; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1268; AVX512BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0269; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0270; AVX512BW-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1271; AVX512BW-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2272; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1273; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]274; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm2275; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]276; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3277; AVX512BW-NEXT: vmovdqa64 %zmm3, 64(%rax)278; AVX512BW-NEXT: vmovdqa64 %zmm2, (%rax)279; AVX512BW-NEXT: vzeroupper280; AVX512BW-NEXT: retq281;282; AVX512BW-FCP-LABEL: store_i64_stride8_vf2:283; AVX512BW-FCP: # %bb.0:284; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax285; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10286; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11287; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm0288; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm1289; AVX512BW-FCP-NEXT: vmovdqa (%r8), %xmm2290; AVX512BW-FCP-NEXT: vmovdqa (%r11), %xmm3291; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1292; AVX512BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0293; AVX512BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0294; AVX512BW-FCP-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1295; AVX512BW-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2296; AVX512BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1297; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]298; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2299; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]300; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3301; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)302; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, (%rax)303; AVX512BW-FCP-NEXT: vzeroupper304; AVX512BW-FCP-NEXT: retq305;306; AVX512DQ-BW-LABEL: store_i64_stride8_vf2:307; AVX512DQ-BW: # %bb.0:308; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax309; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10310; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r11311; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm0312; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm1313; AVX512DQ-BW-NEXT: vmovdqa (%r8), %xmm2314; AVX512DQ-BW-NEXT: vmovdqa (%r11), %xmm3315; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1316; AVX512DQ-BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0317; AVX512DQ-BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0318; AVX512DQ-BW-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1319; AVX512DQ-BW-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2320; AVX512DQ-BW-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1321; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]322; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm2323; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]324; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3325; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 64(%rax)326; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, (%rax)327; AVX512DQ-BW-NEXT: vzeroupper328; AVX512DQ-BW-NEXT: retq329;330; AVX512DQ-BW-FCP-LABEL: store_i64_stride8_vf2:331; AVX512DQ-BW-FCP: # %bb.0:332; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax333; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10334; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11335; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm0336; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm1337; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %xmm2338; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r11), %xmm3339; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1340; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0341; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0342; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%r10), %ymm3, %ymm1343; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm2344; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm1345; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,14]346; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2347; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,3,5,7,9,11,13,15]348; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3349; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)350; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, (%rax)351; AVX512DQ-BW-FCP-NEXT: vzeroupper352; AVX512DQ-BW-FCP-NEXT: retq353 %in.vec0 = load <2 x i64>, ptr %in.vecptr0, align 64354 %in.vec1 = load <2 x i64>, ptr %in.vecptr1, align 64355 %in.vec2 = load <2 x i64>, ptr %in.vecptr2, align 64356 %in.vec3 = load <2 x i64>, ptr %in.vecptr3, align 64357 %in.vec4 = load <2 x i64>, ptr %in.vecptr4, align 64358 %in.vec5 = load <2 x i64>, ptr %in.vecptr5, align 64359 %in.vec6 = load <2 x i64>, ptr %in.vecptr6, align 64360 %in.vec7 = load <2 x i64>, ptr %in.vecptr7, align 64361 %1 = shufflevector <2 x i64> %in.vec0, <2 x i64> %in.vec1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>362 %2 = shufflevector <2 x i64> %in.vec2, <2 x i64> %in.vec3, <4 x i32> <i32 0, i32 1, i32 2, i32 3>363 %3 = shufflevector <2 x i64> %in.vec4, <2 x i64> %in.vec5, <4 x i32> <i32 0, i32 1, i32 2, i32 3>364 %4 = shufflevector <2 x i64> %in.vec6, <2 x i64> %in.vec7, <4 x i32> <i32 0, i32 1, i32 2, i32 3>365 %5 = shufflevector <4 x i64> %1, <4 x i64> %2, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>366 %6 = shufflevector <4 x i64> %3, <4 x i64> %4, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>367 %7 = shufflevector <8 x i64> %5, <8 x i64> %6, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>368 %interleaved.vec = shufflevector <16 x i64> %7, <16 x i64> poison, <16 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>369 store <16 x i64> %interleaved.vec, ptr %out.vec, align 64370 ret void371}372 373define void @store_i64_stride8_vf4(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {374; SSE-LABEL: store_i64_stride8_vf4:375; SSE: # %bb.0:376; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax377; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r10378; SSE-NEXT: movaps (%rdi), %xmm4379; SSE-NEXT: movaps 16(%rdi), %xmm2380; SSE-NEXT: movaps (%rsi), %xmm10381; SSE-NEXT: movaps 16(%rsi), %xmm14382; SSE-NEXT: movaps (%rdx), %xmm1383; SSE-NEXT: movaps 16(%rdx), %xmm3384; SSE-NEXT: movaps (%rcx), %xmm7385; SSE-NEXT: movaps 16(%rcx), %xmm12386; SSE-NEXT: movaps (%r8), %xmm5387; SSE-NEXT: movaps 16(%r8), %xmm0388; SSE-NEXT: movaps (%r9), %xmm13389; SSE-NEXT: movaps (%r10), %xmm6390; SSE-NEXT: movaps 16(%r10), %xmm9391; SSE-NEXT: movaps (%rax), %xmm15392; SSE-NEXT: movaps 16(%rax), %xmm11393; SSE-NEXT: movaps %xmm1, %xmm8394; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm7[0]395; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill396; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm7[1]397; SSE-NEXT: movaps %xmm4, %xmm7398; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm10[0]399; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm10[1]400; SSE-NEXT: movaps %xmm3, %xmm10401; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm12[0]402; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm12[1]403; SSE-NEXT: movaps %xmm2, %xmm12404; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm14[0]405; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm14[1]406; SSE-NEXT: movaps %xmm6, %xmm14407; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm15[0]408; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm15[1]409; SSE-NEXT: movaps %xmm5, %xmm15410; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm13[0]411; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm13[1]412; SSE-NEXT: movaps %xmm9, %xmm13413; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm11[0]414; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm11[1]415; SSE-NEXT: movaps 16(%r9), %xmm11416; SSE-NEXT: movaps %xmm0, %xmm8417; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm11[0]418; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm11[1]419; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax420; SSE-NEXT: movaps %xmm0, 224(%rax)421; SSE-NEXT: movaps %xmm9, 240(%rax)422; SSE-NEXT: movaps %xmm8, 160(%rax)423; SSE-NEXT: movaps %xmm13, 176(%rax)424; SSE-NEXT: movaps %xmm5, 96(%rax)425; SSE-NEXT: movaps %xmm6, 112(%rax)426; SSE-NEXT: movaps %xmm15, 32(%rax)427; SSE-NEXT: movaps %xmm14, 48(%rax)428; SSE-NEXT: movaps %xmm2, 192(%rax)429; SSE-NEXT: movaps %xmm3, 208(%rax)430; SSE-NEXT: movaps %xmm12, 128(%rax)431; SSE-NEXT: movaps %xmm10, 144(%rax)432; SSE-NEXT: movaps %xmm4, 64(%rax)433; SSE-NEXT: movaps %xmm1, 80(%rax)434; SSE-NEXT: movaps %xmm7, (%rax)435; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload436; SSE-NEXT: movaps %xmm0, 16(%rax)437; SSE-NEXT: retq438;439; AVX-LABEL: store_i64_stride8_vf4:440; AVX: # %bb.0:441; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax442; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r10443; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r11444; AVX-NEXT: vmovaps (%rdx), %ymm2445; AVX-NEXT: vmovaps (%rcx), %ymm3446; AVX-NEXT: vmovaps (%r11), %ymm1447; AVX-NEXT: vmovaps (%r10), %ymm4448; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm4[0],ymm1[2],ymm4[2]449; AVX-NEXT: vmovaps 16(%r9), %xmm5450; AVX-NEXT: vmovaps 16(%r8), %xmm6451; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm6[0],xmm5[0]452; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]453; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]454; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm6[1],xmm5[1]455; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm4[0,1,2,3],ymm1[4,5,6,7]456; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]457; AVX-NEXT: vmovaps 16(%rsi), %xmm5458; AVX-NEXT: vmovaps 16(%rdi), %xmm6459; AVX-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm6[1],xmm5[1]460; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]461; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]462; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm6[0],xmm5[0]463; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]464; AVX-NEXT: vmovaps (%r9), %xmm3465; AVX-NEXT: vmovaps (%r8), %xmm5466; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm5[1],xmm3[1]467; AVX-NEXT: vmovaps (%r10), %xmm7468; AVX-NEXT: vmovaps (%r11), %xmm8469; AVX-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm8[1],xmm7[1]470; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm5[0],xmm3[0]471; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm8[0],xmm7[0]472; AVX-NEXT: vmovaps (%rsi), %xmm7473; AVX-NEXT: vmovaps (%rdi), %xmm8474; AVX-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm8[1],xmm7[1]475; AVX-NEXT: vmovaps (%rcx), %xmm11476; AVX-NEXT: vmovaps (%rdx), %xmm12477; AVX-NEXT: vunpckhpd {{.*#+}} xmm13 = xmm12[1],xmm11[1]478; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm8[0],xmm7[0]479; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm12[0],xmm11[0]480; AVX-NEXT: vmovaps %xmm8, 16(%rax)481; AVX-NEXT: vmovaps %xmm7, (%rax)482; AVX-NEXT: vmovaps %xmm13, 80(%rax)483; AVX-NEXT: vmovaps %xmm10, 64(%rax)484; AVX-NEXT: vmovaps %xmm5, 48(%rax)485; AVX-NEXT: vmovaps %xmm3, 32(%rax)486; AVX-NEXT: vmovaps %xmm9, 112(%rax)487; AVX-NEXT: vmovaps %xmm6, 96(%rax)488; AVX-NEXT: vmovaps %ymm2, 128(%rax)489; AVX-NEXT: vmovaps %ymm4, 192(%rax)490; AVX-NEXT: vmovaps %ymm1, 224(%rax)491; AVX-NEXT: vmovaps %ymm0, 160(%rax)492; AVX-NEXT: vzeroupper493; AVX-NEXT: retq494;495; AVX2-LABEL: store_i64_stride8_vf4:496; AVX2: # %bb.0:497; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax498; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r10499; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r11500; AVX2-NEXT: vmovaps (%rdi), %ymm0501; AVX2-NEXT: vmovaps (%rsi), %ymm1502; AVX2-NEXT: vmovaps (%rdx), %ymm2503; AVX2-NEXT: vmovaps (%rcx), %ymm3504; AVX2-NEXT: vmovaps (%r8), %ymm4505; AVX2-NEXT: vmovaps (%r9), %ymm5506; AVX2-NEXT: vmovaps (%r11), %ymm6507; AVX2-NEXT: vmovaps (%r10), %ymm7508; AVX2-NEXT: vmovaps (%r9), %xmm8509; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm8, %ymm8510; AVX2-NEXT: vmovaps (%r8), %xmm9511; AVX2-NEXT: vinsertf128 $1, (%r11), %ymm9, %ymm9512; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]513; AVX2-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]514; AVX2-NEXT: vmovaps (%rsi), %xmm9515; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm9, %ymm9516; AVX2-NEXT: vmovaps (%rdi), %xmm11517; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm11518; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]519; AVX2-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]520; AVX2-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]521; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]522; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm13[2,3],ymm11[2,3]523; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]524; AVX2-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]525; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]526; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]527; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]528; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]529; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]530; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]531; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]532; AVX2-NEXT: vmovaps %ymm0, 128(%rax)533; AVX2-NEXT: vmovaps %ymm5, 192(%rax)534; AVX2-NEXT: vmovaps %ymm4, 224(%rax)535; AVX2-NEXT: vmovaps %ymm11, 160(%rax)536; AVX2-NEXT: vmovaps %ymm9, 64(%rax)537; AVX2-NEXT: vmovaps %ymm12, (%rax)538; AVX2-NEXT: vmovaps %ymm8, 96(%rax)539; AVX2-NEXT: vmovaps %ymm10, 32(%rax)540; AVX2-NEXT: vzeroupper541; AVX2-NEXT: retq542;543; AVX2-FP-LABEL: store_i64_stride8_vf4:544; AVX2-FP: # %bb.0:545; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax546; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10547; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r11548; AVX2-FP-NEXT: vmovaps (%rdi), %ymm0549; AVX2-FP-NEXT: vmovaps (%rsi), %ymm1550; AVX2-FP-NEXT: vmovaps (%rdx), %ymm2551; AVX2-FP-NEXT: vmovaps (%rcx), %ymm3552; AVX2-FP-NEXT: vmovaps (%r8), %ymm4553; AVX2-FP-NEXT: vmovaps (%r9), %ymm5554; AVX2-FP-NEXT: vmovaps (%r11), %ymm6555; AVX2-FP-NEXT: vmovaps (%r10), %ymm7556; AVX2-FP-NEXT: vmovaps (%r9), %xmm8557; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm8, %ymm8558; AVX2-FP-NEXT: vmovaps (%r8), %xmm9559; AVX2-FP-NEXT: vinsertf128 $1, (%r11), %ymm9, %ymm9560; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]561; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]562; AVX2-FP-NEXT: vmovaps (%rsi), %xmm9563; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm9, %ymm9564; AVX2-FP-NEXT: vmovaps (%rdi), %xmm11565; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm11566; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]567; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]568; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]569; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]570; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm13[2,3],ymm11[2,3]571; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]572; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]573; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]574; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]575; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]576; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]577; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]578; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]579; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]580; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rax)581; AVX2-FP-NEXT: vmovaps %ymm5, 192(%rax)582; AVX2-FP-NEXT: vmovaps %ymm4, 224(%rax)583; AVX2-FP-NEXT: vmovaps %ymm11, 160(%rax)584; AVX2-FP-NEXT: vmovaps %ymm9, 64(%rax)585; AVX2-FP-NEXT: vmovaps %ymm12, (%rax)586; AVX2-FP-NEXT: vmovaps %ymm8, 96(%rax)587; AVX2-FP-NEXT: vmovaps %ymm10, 32(%rax)588; AVX2-FP-NEXT: vzeroupper589; AVX2-FP-NEXT: retq590;591; AVX2-FCP-LABEL: store_i64_stride8_vf4:592; AVX2-FCP: # %bb.0:593; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax594; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10595; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11596; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm0597; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm1598; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm2599; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm3600; AVX2-FCP-NEXT: vmovaps (%r8), %ymm4601; AVX2-FCP-NEXT: vmovaps (%r9), %ymm5602; AVX2-FCP-NEXT: vmovaps (%r11), %ymm6603; AVX2-FCP-NEXT: vmovaps (%r10), %ymm7604; AVX2-FCP-NEXT: vmovaps (%r9), %xmm8605; AVX2-FCP-NEXT: vinsertf128 $1, (%r10), %ymm8, %ymm8606; AVX2-FCP-NEXT: vmovaps (%r8), %xmm9607; AVX2-FCP-NEXT: vinsertf128 $1, (%r11), %ymm9, %ymm9608; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]609; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]610; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm9611; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm9, %ymm9612; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm11613; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm11614; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]615; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]616; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]617; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]618; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm13[2,3],ymm11[2,3]619; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]620; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]621; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]622; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]623; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]624; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]625; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]626; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]627; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]628; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rax)629; AVX2-FCP-NEXT: vmovaps %ymm5, 192(%rax)630; AVX2-FCP-NEXT: vmovaps %ymm4, 224(%rax)631; AVX2-FCP-NEXT: vmovaps %ymm11, 160(%rax)632; AVX2-FCP-NEXT: vmovaps %ymm9, 64(%rax)633; AVX2-FCP-NEXT: vmovaps %ymm12, (%rax)634; AVX2-FCP-NEXT: vmovaps %ymm8, 96(%rax)635; AVX2-FCP-NEXT: vmovaps %ymm10, 32(%rax)636; AVX2-FCP-NEXT: vzeroupper637; AVX2-FCP-NEXT: retq638;639; AVX512-LABEL: store_i64_stride8_vf4:640; AVX512: # %bb.0:641; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax642; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10643; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r11644; AVX512-NEXT: vmovdqa (%rdi), %ymm0645; AVX512-NEXT: vmovdqa (%rdx), %ymm1646; AVX512-NEXT: vmovdqa (%r8), %ymm2647; AVX512-NEXT: vmovdqa (%r11), %ymm3648; AVX512-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0649; AVX512-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1650; AVX512-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2651; AVX512-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3652; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]653; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]654; AVX512-NEXT: vmovdqa64 %zmm2, %zmm5655; AVX512-NEXT: vpermt2q %zmm3, %zmm4, %zmm5656; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm4657; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]658; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]659; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]660; AVX512-NEXT: vmovdqa64 %zmm2, %zmm6661; AVX512-NEXT: vpermt2q %zmm3, %zmm5, %zmm6662; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm5663; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]664; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]665; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]666; AVX512-NEXT: vmovdqa64 %zmm2, %zmm7667; AVX512-NEXT: vpermt2q %zmm3, %zmm6, %zmm7668; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm6669; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]670; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]671; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]672; AVX512-NEXT: vpermt2q %zmm3, %zmm7, %zmm2673; AVX512-NEXT: vpermt2q %zmm1, %zmm7, %zmm0674; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]675; AVX512-NEXT: vmovdqa64 %zmm0, 192(%rax)676; AVX512-NEXT: vmovdqa64 %zmm6, 128(%rax)677; AVX512-NEXT: vmovdqa64 %zmm5, 64(%rax)678; AVX512-NEXT: vmovdqa64 %zmm4, (%rax)679; AVX512-NEXT: vzeroupper680; AVX512-NEXT: retq681;682; AVX512-FCP-LABEL: store_i64_stride8_vf4:683; AVX512-FCP: # %bb.0:684; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax685; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10686; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11687; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm0688; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm1689; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm2690; AVX512-FCP-NEXT: vmovdqa (%r11), %ymm3691; AVX512-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0692; AVX512-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1693; AVX512-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2694; AVX512-FCP-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3695; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]696; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]697; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm5698; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm5699; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4700; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]701; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]702; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]703; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm6704; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm5, %zmm6705; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm5706; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]707; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]708; AVX512-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]709; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm7710; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm7711; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm6712; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]713; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]714; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]715; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm2716; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm0717; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]718; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)719; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)720; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)721; AVX512-FCP-NEXT: vmovdqa64 %zmm4, (%rax)722; AVX512-FCP-NEXT: vzeroupper723; AVX512-FCP-NEXT: retq724;725; AVX512DQ-LABEL: store_i64_stride8_vf4:726; AVX512DQ: # %bb.0:727; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax728; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10729; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r11730; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0731; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm1732; AVX512DQ-NEXT: vmovdqa (%r8), %ymm2733; AVX512DQ-NEXT: vmovdqa (%r11), %ymm3734; AVX512DQ-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0735; AVX512DQ-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1736; AVX512DQ-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2737; AVX512DQ-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3738; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]739; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]740; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm5741; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm4, %zmm5742; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm4743; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]744; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]745; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]746; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm6747; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm5, %zmm6748; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm5749; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]750; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]751; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]752; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm7753; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm6, %zmm7754; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm6755; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]756; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]757; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]758; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm7, %zmm2759; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm7, %zmm0760; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]761; AVX512DQ-NEXT: vmovdqa64 %zmm0, 192(%rax)762; AVX512DQ-NEXT: vmovdqa64 %zmm6, 128(%rax)763; AVX512DQ-NEXT: vmovdqa64 %zmm5, 64(%rax)764; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%rax)765; AVX512DQ-NEXT: vzeroupper766; AVX512DQ-NEXT: retq767;768; AVX512DQ-FCP-LABEL: store_i64_stride8_vf4:769; AVX512DQ-FCP: # %bb.0:770; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax771; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10772; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11773; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm0774; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm1775; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm2776; AVX512DQ-FCP-NEXT: vmovdqa (%r11), %ymm3777; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0778; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1779; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2780; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3781; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]782; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]783; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm5784; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm5785; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4786; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]787; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]788; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]789; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm6790; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm5, %zmm6791; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm5792; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]793; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]794; AVX512DQ-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]795; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm7796; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm7797; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm6798; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]799; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]800; AVX512DQ-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]801; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm2802; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm0803; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]804; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)805; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)806; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)807; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, (%rax)808; AVX512DQ-FCP-NEXT: vzeroupper809; AVX512DQ-FCP-NEXT: retq810;811; AVX512BW-LABEL: store_i64_stride8_vf4:812; AVX512BW: # %bb.0:813; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax814; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10815; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r11816; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0817; AVX512BW-NEXT: vmovdqa (%rdx), %ymm1818; AVX512BW-NEXT: vmovdqa (%r8), %ymm2819; AVX512BW-NEXT: vmovdqa (%r11), %ymm3820; AVX512BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0821; AVX512BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1822; AVX512BW-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2823; AVX512BW-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3824; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]825; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]826; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm5827; AVX512BW-NEXT: vpermt2q %zmm3, %zmm4, %zmm5828; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4829; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]830; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]831; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]832; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm6833; AVX512BW-NEXT: vpermt2q %zmm3, %zmm5, %zmm6834; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm5835; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]836; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]837; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]838; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm7839; AVX512BW-NEXT: vpermt2q %zmm3, %zmm6, %zmm7840; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm6841; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]842; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]843; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]844; AVX512BW-NEXT: vpermt2q %zmm3, %zmm7, %zmm2845; AVX512BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm0846; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]847; AVX512BW-NEXT: vmovdqa64 %zmm0, 192(%rax)848; AVX512BW-NEXT: vmovdqa64 %zmm6, 128(%rax)849; AVX512BW-NEXT: vmovdqa64 %zmm5, 64(%rax)850; AVX512BW-NEXT: vmovdqa64 %zmm4, (%rax)851; AVX512BW-NEXT: vzeroupper852; AVX512BW-NEXT: retq853;854; AVX512BW-FCP-LABEL: store_i64_stride8_vf4:855; AVX512BW-FCP: # %bb.0:856; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax857; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10858; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11859; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm0860; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm1861; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm2862; AVX512BW-FCP-NEXT: vmovdqa (%r11), %ymm3863; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0864; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1865; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2866; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3867; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]868; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]869; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm5870; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm5871; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4872; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]873; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]874; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]875; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm6876; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm5, %zmm6877; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm5878; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]879; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]880; AVX512BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]881; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm7882; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm7883; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm6884; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]885; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]886; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]887; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm2888; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm0889; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]890; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)891; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)892; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)893; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)894; AVX512BW-FCP-NEXT: vzeroupper895; AVX512BW-FCP-NEXT: retq896;897; AVX512DQ-BW-LABEL: store_i64_stride8_vf4:898; AVX512DQ-BW: # %bb.0:899; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax900; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10901; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r11902; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm0903; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm1904; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm2905; AVX512DQ-BW-NEXT: vmovdqa (%r11), %ymm3906; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0907; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1908; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2909; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3910; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]911; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]912; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm5913; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm4, %zmm5914; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4915; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]916; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]917; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]918; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm6919; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm5, %zmm6920; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm5921; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]922; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]923; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]924; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm7925; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm6, %zmm7926; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm6927; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]928; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]929; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]930; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm7, %zmm2931; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm0932; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]933; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 192(%rax)934; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 128(%rax)935; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 64(%rax)936; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, (%rax)937; AVX512DQ-BW-NEXT: vzeroupper938; AVX512DQ-BW-NEXT: retq939;940; AVX512DQ-BW-FCP-LABEL: store_i64_stride8_vf4:941; AVX512DQ-BW-FCP: # %bb.0:942; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax943; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10944; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11945; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm0946; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm1947; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm2948; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r11), %ymm3949; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0950; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1951; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2952; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%r10), %zmm3, %zmm3953; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]954; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]955; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm5956; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm5957; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4958; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]959; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]960; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]961; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm6962; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm5, %zmm6963; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm5964; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]965; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]966; AVX512DQ-BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]967; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm7968; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm7969; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm6970; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]971; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]972; AVX512DQ-BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]973; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm2974; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm0975; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]976; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)977; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)978; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)979; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)980; AVX512DQ-BW-FCP-NEXT: vzeroupper981; AVX512DQ-BW-FCP-NEXT: retq982 %in.vec0 = load <4 x i64>, ptr %in.vecptr0, align 64983 %in.vec1 = load <4 x i64>, ptr %in.vecptr1, align 64984 %in.vec2 = load <4 x i64>, ptr %in.vecptr2, align 64985 %in.vec3 = load <4 x i64>, ptr %in.vecptr3, align 64986 %in.vec4 = load <4 x i64>, ptr %in.vecptr4, align 64987 %in.vec5 = load <4 x i64>, ptr %in.vecptr5, align 64988 %in.vec6 = load <4 x i64>, ptr %in.vecptr6, align 64989 %in.vec7 = load <4 x i64>, ptr %in.vecptr7, align 64990 %1 = shufflevector <4 x i64> %in.vec0, <4 x i64> %in.vec1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>991 %2 = shufflevector <4 x i64> %in.vec2, <4 x i64> %in.vec3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>992 %3 = shufflevector <4 x i64> %in.vec4, <4 x i64> %in.vec5, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>993 %4 = shufflevector <4 x i64> %in.vec6, <4 x i64> %in.vec7, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>994 %5 = shufflevector <8 x i64> %1, <8 x i64> %2, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>995 %6 = shufflevector <8 x i64> %3, <8 x i64> %4, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>996 %7 = shufflevector <16 x i64> %5, <16 x i64> %6, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>997 %interleaved.vec = shufflevector <32 x i64> %7, <32 x i64> poison, <32 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 28, i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 29, i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 30, i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27, i32 31>998 store <32 x i64> %interleaved.vec, ptr %out.vec, align 64999 ret void1000}1001 1002define void @store_i64_stride8_vf8(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {1003; SSE-LABEL: store_i64_stride8_vf8:1004; SSE: # %bb.0:1005; SSE-NEXT: subq $152, %rsp1006; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1007; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r101008; SSE-NEXT: movaps (%rdi), %xmm71009; SSE-NEXT: movaps 16(%rdi), %xmm91010; SSE-NEXT: movaps (%rsi), %xmm31011; SSE-NEXT: movaps 16(%rsi), %xmm01012; SSE-NEXT: movaps (%rdx), %xmm81013; SSE-NEXT: movaps 16(%rdx), %xmm111014; SSE-NEXT: movaps (%rcx), %xmm41015; SSE-NEXT: movaps 16(%rcx), %xmm11016; SSE-NEXT: movaps (%r8), %xmm101017; SSE-NEXT: movaps 16(%r8), %xmm131018; SSE-NEXT: movaps (%r9), %xmm51019; SSE-NEXT: movaps 16(%r9), %xmm21020; SSE-NEXT: movaps (%r10), %xmm121021; SSE-NEXT: movaps 16(%r10), %xmm151022; SSE-NEXT: movaps (%rax), %xmm61023; SSE-NEXT: movaps %xmm7, %xmm141024; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm3[0]1025; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1026; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm3[1]1027; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1028; SSE-NEXT: movaps %xmm8, %xmm31029; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm4[0]1030; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1031; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm4[1]1032; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1033; SSE-NEXT: movaps %xmm10, %xmm41034; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]1035; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1036; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm5[1]1037; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1038; SSE-NEXT: movaps %xmm12, %xmm41039; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm6[0]1040; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1041; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm6[1]1042; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1043; SSE-NEXT: movaps %xmm9, %xmm31044; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]1045; SSE-NEXT: movaps %xmm3, (%rsp) # 16-byte Spill1046; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]1047; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1048; SSE-NEXT: movaps %xmm11, %xmm01049; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]1050; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1051; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm1[1]1052; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1053; SSE-NEXT: movaps %xmm13, %xmm01054; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm2[0]1055; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1056; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm2[1]1057; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1058; SSE-NEXT: movaps 16(%rax), %xmm01059; SSE-NEXT: movaps %xmm15, %xmm11060; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1061; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1062; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]1063; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1064; SSE-NEXT: movaps 32(%rdi), %xmm131065; SSE-NEXT: movaps 32(%rsi), %xmm01066; SSE-NEXT: movaps %xmm13, %xmm11067; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1068; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1069; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]1070; SSE-NEXT: movaps 32(%rdx), %xmm111071; SSE-NEXT: movaps 32(%rcx), %xmm01072; SSE-NEXT: movaps %xmm11, %xmm151073; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]1074; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]1075; SSE-NEXT: movaps 32(%r8), %xmm101076; SSE-NEXT: movaps 32(%r9), %xmm01077; SSE-NEXT: movaps %xmm10, %xmm141078; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]1079; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]1080; SSE-NEXT: movaps 32(%r10), %xmm81081; SSE-NEXT: movaps 32(%rax), %xmm11082; SSE-NEXT: movaps %xmm8, %xmm121083; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm1[0]1084; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]1085; SSE-NEXT: movaps 48(%rdi), %xmm61086; SSE-NEXT: movaps 48(%rsi), %xmm01087; SSE-NEXT: movaps %xmm6, %xmm91088; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm0[0]1089; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]1090; SSE-NEXT: movaps 48(%rdx), %xmm51091; SSE-NEXT: movaps 48(%rcx), %xmm11092; SSE-NEXT: movaps %xmm5, %xmm71093; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]1094; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm1[1]1095; SSE-NEXT: movaps 48(%r8), %xmm11096; SSE-NEXT: movaps 48(%r9), %xmm21097; SSE-NEXT: movaps %xmm1, %xmm41098; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]1099; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]1100; SSE-NEXT: movaps 48(%r10), %xmm21101; SSE-NEXT: movaps 48(%rax), %xmm31102; SSE-NEXT: movaps %xmm2, %xmm01103; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm3[0]1104; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]1105; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1106; SSE-NEXT: movaps %xmm2, 496(%rax)1107; SSE-NEXT: movaps %xmm1, 480(%rax)1108; SSE-NEXT: movaps %xmm5, 464(%rax)1109; SSE-NEXT: movaps %xmm6, 448(%rax)1110; SSE-NEXT: movaps %xmm0, 432(%rax)1111; SSE-NEXT: movaps %xmm4, 416(%rax)1112; SSE-NEXT: movaps %xmm7, 400(%rax)1113; SSE-NEXT: movaps %xmm9, 384(%rax)1114; SSE-NEXT: movaps %xmm8, 368(%rax)1115; SSE-NEXT: movaps %xmm10, 352(%rax)1116; SSE-NEXT: movaps %xmm11, 336(%rax)1117; SSE-NEXT: movaps %xmm13, 320(%rax)1118; SSE-NEXT: movaps %xmm12, 304(%rax)1119; SSE-NEXT: movaps %xmm14, 288(%rax)1120; SSE-NEXT: movaps %xmm15, 272(%rax)1121; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1122; SSE-NEXT: movaps %xmm0, 256(%rax)1123; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1124; SSE-NEXT: movaps %xmm0, 240(%rax)1125; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1126; SSE-NEXT: movaps %xmm0, 224(%rax)1127; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1128; SSE-NEXT: movaps %xmm0, 208(%rax)1129; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1130; SSE-NEXT: movaps %xmm0, 192(%rax)1131; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1132; SSE-NEXT: movaps %xmm0, 176(%rax)1133; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1134; SSE-NEXT: movaps %xmm0, 160(%rax)1135; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1136; SSE-NEXT: movaps %xmm0, 144(%rax)1137; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload1138; SSE-NEXT: movaps %xmm0, 128(%rax)1139; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1140; SSE-NEXT: movaps %xmm0, 112(%rax)1141; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1142; SSE-NEXT: movaps %xmm0, 96(%rax)1143; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1144; SSE-NEXT: movaps %xmm0, 80(%rax)1145; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1146; SSE-NEXT: movaps %xmm0, 64(%rax)1147; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1148; SSE-NEXT: movaps %xmm0, 48(%rax)1149; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1150; SSE-NEXT: movaps %xmm0, 32(%rax)1151; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1152; SSE-NEXT: movaps %xmm0, 16(%rax)1153; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1154; SSE-NEXT: movaps %xmm0, (%rax)1155; SSE-NEXT: addq $152, %rsp1156; SSE-NEXT: retq1157;1158; AVX-LABEL: store_i64_stride8_vf8:1159; AVX: # %bb.0:1160; AVX-NEXT: pushq %rax1161; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r101162; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1163; AVX-NEXT: vmovaps 32(%r9), %xmm11164; AVX-NEXT: vmovaps 32(%r8), %xmm21165; AVX-NEXT: vmovlhps {{.*#+}} xmm0 = xmm2[0],xmm1[0]1166; AVX-NEXT: vmovaps (%rax), %xmm51167; AVX-NEXT: vmovaps 32(%rax), %xmm31168; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm41169; AVX-NEXT: vinsertf128 $1, 32(%r10), %ymm0, %ymm01170; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm4[1],ymm0[2],ymm4[2]1171; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1172; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]1173; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm21174; AVX-NEXT: vbroadcastsd 40(%r10), %ymm31175; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]1176; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]1177; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1178; AVX-NEXT: vmovaps 32(%rsi), %xmm31179; AVX-NEXT: vmovaps 32(%rdi), %xmm41180; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm4[0],xmm3[0]1181; AVX-NEXT: vmovaps (%rcx), %xmm71182; AVX-NEXT: vmovaps 32(%rcx), %xmm61183; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm2, %ymm81184; AVX-NEXT: vinsertf128 $1, 32(%rdx), %ymm2, %ymm21185; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm2[0],ymm8[1],ymm2[2],ymm8[2]1186; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1187; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]1188; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm3, %ymm41189; AVX-NEXT: vbroadcastsd 40(%rdx), %ymm61190; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]1191; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm4[2,3],ymm3[4,5],ymm4[6,7]1192; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1193; AVX-NEXT: vmovaps (%r9), %xmm61194; AVX-NEXT: vmovaps (%r8), %xmm81195; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm8[0],xmm6[0]1196; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm4, %ymm91197; AVX-NEXT: vinsertf128 $1, (%r10), %ymm4, %ymm41198; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm9[1],ymm4[2],ymm9[2]1199; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm8[1],xmm6[1]1200; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm51201; AVX-NEXT: vbroadcastsd 8(%r10), %ymm81202; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]1203; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3],ymm6[4,5],ymm5[6,7]1204; AVX-NEXT: vmovaps (%rsi), %xmm81205; AVX-NEXT: vmovaps (%rdi), %xmm91206; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm9[0],xmm8[0]1207; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm6, %ymm101208; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm6, %ymm61209; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm10[1],ymm6[2],ymm10[2]1210; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm9[1],xmm8[1]1211; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm8, %ymm71212; AVX-NEXT: vbroadcastsd 8(%rdx), %ymm91213; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]1214; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm7[2,3],ymm8[4,5],ymm7[6,7]1215; AVX-NEXT: vmovaps 16(%r9), %xmm101216; AVX-NEXT: vmovaps 16(%r8), %xmm111217; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm11[0],xmm10[0]1218; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]1219; AVX-NEXT: vbroadcastsd 16(%rax), %ymm91220; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm9[6,7]1221; AVX-NEXT: vmovaps 16(%rsi), %xmm121222; AVX-NEXT: vmovaps 16(%rdi), %xmm131223; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm13[0],xmm12[0]1224; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],mem[4,5,6,7]1225; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm141226; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm14[6,7]1227; AVX-NEXT: vmovaps 48(%r9), %xmm141228; AVX-NEXT: vmovaps 48(%r8), %xmm151229; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm14[1]1230; AVX-NEXT: vbroadcastsd 56(%r10), %ymm11231; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm1[4,5,6,7]1232; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm15[0],xmm14[0]1233; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],mem[4,5,6,7]1234; AVX-NEXT: vbroadcastsd 48(%rax), %ymm141235; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm1[0,1,2,3,4,5],ymm14[6,7]1236; AVX-NEXT: vmovaps 48(%rsi), %xmm11237; AVX-NEXT: vmovaps 48(%rdi), %xmm151238; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm1[1]1239; AVX-NEXT: vbroadcastsd 56(%rdx), %ymm31240; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1241; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm15[0],xmm1[0]1242; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],mem[4,5,6,7]1243; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm31244; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]1245; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm11[1],xmm10[1]1246; AVX-NEXT: vbroadcastsd 24(%r10), %ymm101247; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm10[4,5,6,7]1248; AVX-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm13[1],xmm12[1]1249; AVX-NEXT: vbroadcastsd 24(%rdx), %ymm111250; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]1251; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rdx1252; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]1253; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1254; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1255; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]1256; AVX-NEXT: vmovaps %ymm10, 192(%rdx)1257; AVX-NEXT: vmovaps %ymm3, 224(%rdx)1258; AVX-NEXT: vmovaps %ymm8, 64(%rdx)1259; AVX-NEXT: vmovapd %ymm6, (%rdx)1260; AVX-NEXT: vmovaps %ymm1, 384(%rdx)1261; AVX-NEXT: vmovaps %ymm0, 448(%rdx)1262; AVX-NEXT: vmovaps %ymm5, 96(%rdx)1263; AVX-NEXT: vmovapd %ymm4, 32(%rdx)1264; AVX-NEXT: vmovaps %ymm14, 416(%rdx)1265; AVX-NEXT: vmovaps %ymm2, 480(%rdx)1266; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1267; AVX-NEXT: vmovaps %ymm0, 320(%rdx)1268; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1269; AVX-NEXT: vmovaps %ymm0, 256(%rdx)1270; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1271; AVX-NEXT: vmovaps %ymm0, 352(%rdx)1272; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1273; AVX-NEXT: vmovaps %ymm0, 288(%rdx)1274; AVX-NEXT: vmovaps %ymm9, 128(%rdx)1275; AVX-NEXT: vmovaps %ymm7, 160(%rdx)1276; AVX-NEXT: popq %rax1277; AVX-NEXT: vzeroupper1278; AVX-NEXT: retq1279;1280; AVX2-LABEL: store_i64_stride8_vf8:1281; AVX2: # %bb.0:1282; AVX2-NEXT: pushq %rax1283; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r101284; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1285; AVX2-NEXT: vmovaps (%rax), %xmm61286; AVX2-NEXT: vmovaps 32(%rax), %xmm31287; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm01288; AVX2-NEXT: vmovaps (%r9), %xmm91289; AVX2-NEXT: vmovaps 32(%r9), %xmm71290; AVX2-NEXT: vmovaps (%r8), %xmm101291; AVX2-NEXT: vmovaps 32(%r8), %xmm81292; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm7[1]1293; AVX2-NEXT: vbroadcastsd 40(%r10), %ymm21294; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]1295; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1296; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1297; AVX2-NEXT: vmovaps 32(%rcx), %xmm51298; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm11299; AVX2-NEXT: vmovaps (%rsi), %xmm111300; AVX2-NEXT: vmovaps 32(%rsi), %xmm131301; AVX2-NEXT: vmovaps (%rdi), %xmm121302; AVX2-NEXT: vmovaps 32(%rdi), %xmm141303; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm14[1],xmm13[1]1304; AVX2-NEXT: vbroadcastsd 40(%rdx), %ymm41305; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]1306; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm1[6,7]1307; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1308; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm21309; AVX2-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm10[1],xmm9[1]1310; AVX2-NEXT: vbroadcastsd 8(%r10), %ymm151311; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1312; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm2[6,7]1313; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1314; AVX2-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm12[1],xmm11[1]1315; AVX2-NEXT: vbroadcastsd 8(%rdx), %ymm151316; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1317; AVX2-NEXT: vmovaps (%rcx), %xmm151318; AVX2-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm01319; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm0[6,7]1320; AVX2-NEXT: vmovlhps {{.*#+}} xmm0 = xmm8[0],xmm7[0]1321; AVX2-NEXT: vmovaps (%rdi), %ymm71322; AVX2-NEXT: vinsertf128 $1, 32(%r10), %ymm0, %ymm01323; AVX2-NEXT: vbroadcastsd %xmm3, %ymm31324; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]1325; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1326; AVX2-NEXT: vmovaps (%rsi), %ymm81327; AVX2-NEXT: vmovlhps {{.*#+}} xmm0 = xmm14[0],xmm13[0]1328; AVX2-NEXT: vmovaps 32(%r8), %ymm11329; AVX2-NEXT: vinsertf128 $1, 32(%rdx), %ymm0, %ymm01330; AVX2-NEXT: vbroadcastsd %xmm5, %ymm51331; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],ymm5[6,7]1332; AVX2-NEXT: vmovaps (%r8), %ymm131333; AVX2-NEXT: vmovlhps {{.*#+}} xmm0 = xmm10[0],xmm9[0]1334; AVX2-NEXT: vmovaps (%r9), %ymm141335; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm0, %ymm01336; AVX2-NEXT: vbroadcastsd %xmm6, %ymm61337; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],ymm6[6,7]1338; AVX2-NEXT: vmovlhps {{.*#+}} xmm0 = xmm12[0],xmm11[0]1339; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm0, %ymm01340; AVX2-NEXT: vbroadcastsd %xmm15, %ymm91341; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],ymm9[6,7]1342; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm14[0],ymm13[2],ymm14[2]1343; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1344; AVX2-NEXT: vbroadcastsd 16(%rax), %ymm101345; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3,4,5],ymm10[6,7]1346; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]1347; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1348; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm111349; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm11[6,7]1350; AVX2-NEXT: vmovaps 32(%r9), %ymm01351; AVX2-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]1352; AVX2-NEXT: vbroadcastsd 56(%r10), %ymm151353; AVX2-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1354; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1355; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1356; AVX2-NEXT: vbroadcastsd 48(%rax), %ymm11357; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]1358; AVX2-NEXT: vmovaps 32(%rdi), %ymm11359; AVX2-NEXT: vmovaps 32(%rsi), %ymm151360; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm15[1],ymm1[3],ymm15[3]1361; AVX2-NEXT: vbroadcastsd 56(%rdx), %ymm31362; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]1363; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]1364; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]1365; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm31366; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]1367; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm14[1],ymm13[3],ymm14[3]1368; AVX2-NEXT: vbroadcastsd 24(%r10), %ymm131369; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm13[2,3]1370; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]1371; AVX2-NEXT: vbroadcastsd 24(%rdx), %ymm81372; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm8[2,3]1373; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx1374; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm12[0,1,2,3,4,5],mem[6,7]1375; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1376; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1377; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]1378; AVX2-NEXT: vmovaps %ymm7, 192(%rdx)1379; AVX2-NEXT: vmovaps %ymm3, 224(%rdx)1380; AVX2-NEXT: vmovaps %ymm1, 384(%rdx)1381; AVX2-NEXT: vmovaps %ymm0, 448(%rdx)1382; AVX2-NEXT: vmovaps %ymm2, 416(%rdx)1383; AVX2-NEXT: vmovaps %ymm8, 480(%rdx)1384; AVX2-NEXT: vmovaps %ymm11, 128(%rdx)1385; AVX2-NEXT: vmovaps %ymm10, 160(%rdx)1386; AVX2-NEXT: vmovaps %ymm4, 64(%rdx)1387; AVX2-NEXT: vmovaps %ymm9, (%rdx)1388; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1389; AVX2-NEXT: vmovaps %ymm0, 96(%rdx)1390; AVX2-NEXT: vmovaps %ymm6, 32(%rdx)1391; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1392; AVX2-NEXT: vmovaps %ymm0, 320(%rdx)1393; AVX2-NEXT: vmovaps %ymm5, 256(%rdx)1394; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1395; AVX2-NEXT: vmovaps %ymm0, 352(%rdx)1396; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1397; AVX2-NEXT: vmovaps %ymm0, 288(%rdx)1398; AVX2-NEXT: popq %rax1399; AVX2-NEXT: vzeroupper1400; AVX2-NEXT: retq1401;1402; AVX2-FP-LABEL: store_i64_stride8_vf8:1403; AVX2-FP: # %bb.0:1404; AVX2-FP-NEXT: pushq %rax1405; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r101406; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1407; AVX2-FP-NEXT: vmovaps (%rax), %xmm61408; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm31409; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm01410; AVX2-FP-NEXT: vmovaps (%r9), %xmm91411; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm71412; AVX2-FP-NEXT: vmovaps (%r8), %xmm101413; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm81414; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm7[1]1415; AVX2-FP-NEXT: vbroadcastsd 40(%r10), %ymm21416; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]1417; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1418; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1419; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm51420; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm11421; AVX2-FP-NEXT: vmovaps (%rsi), %xmm111422; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm131423; AVX2-FP-NEXT: vmovaps (%rdi), %xmm121424; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm141425; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm14[1],xmm13[1]1426; AVX2-FP-NEXT: vbroadcastsd 40(%rdx), %ymm41427; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]1428; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm1[6,7]1429; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1430; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm21431; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm10[1],xmm9[1]1432; AVX2-FP-NEXT: vbroadcastsd 8(%r10), %ymm151433; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1434; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm2[6,7]1435; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1436; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm12[1],xmm11[1]1437; AVX2-FP-NEXT: vbroadcastsd 8(%rdx), %ymm151438; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1439; AVX2-FP-NEXT: vmovaps (%rcx), %xmm151440; AVX2-FP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm01441; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm0[6,7]1442; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm8[0],xmm7[0]1443; AVX2-FP-NEXT: vmovaps (%rdi), %ymm71444; AVX2-FP-NEXT: vinsertf128 $1, 32(%r10), %ymm0, %ymm01445; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm31446; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]1447; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1448; AVX2-FP-NEXT: vmovaps (%rsi), %ymm81449; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm14[0],xmm13[0]1450; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm11451; AVX2-FP-NEXT: vinsertf128 $1, 32(%rdx), %ymm0, %ymm01452; AVX2-FP-NEXT: vbroadcastsd %xmm5, %ymm51453; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],ymm5[6,7]1454; AVX2-FP-NEXT: vmovaps (%r8), %ymm131455; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm10[0],xmm9[0]1456; AVX2-FP-NEXT: vmovaps (%r9), %ymm141457; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm0, %ymm01458; AVX2-FP-NEXT: vbroadcastsd %xmm6, %ymm61459; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],ymm6[6,7]1460; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm12[0],xmm11[0]1461; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm0, %ymm01462; AVX2-FP-NEXT: vbroadcastsd %xmm15, %ymm91463; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],ymm9[6,7]1464; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm14[0],ymm13[2],ymm14[2]1465; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1466; AVX2-FP-NEXT: vbroadcastsd 16(%rax), %ymm101467; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3,4,5],ymm10[6,7]1468; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]1469; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1470; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm111471; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm11[6,7]1472; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm01473; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]1474; AVX2-FP-NEXT: vbroadcastsd 56(%r10), %ymm151475; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1476; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1477; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1478; AVX2-FP-NEXT: vbroadcastsd 48(%rax), %ymm11479; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]1480; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm11481; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm151482; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm15[1],ymm1[3],ymm15[3]1483; AVX2-FP-NEXT: vbroadcastsd 56(%rdx), %ymm31484; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]1485; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]1486; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]1487; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm31488; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]1489; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm14[1],ymm13[3],ymm14[3]1490; AVX2-FP-NEXT: vbroadcastsd 24(%r10), %ymm131491; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm13[2,3]1492; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]1493; AVX2-FP-NEXT: vbroadcastsd 24(%rdx), %ymm81494; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm8[2,3]1495; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rdx1496; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm12[0,1,2,3,4,5],mem[6,7]1497; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1498; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1499; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]1500; AVX2-FP-NEXT: vmovaps %ymm7, 192(%rdx)1501; AVX2-FP-NEXT: vmovaps %ymm3, 224(%rdx)1502; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rdx)1503; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rdx)1504; AVX2-FP-NEXT: vmovaps %ymm2, 416(%rdx)1505; AVX2-FP-NEXT: vmovaps %ymm8, 480(%rdx)1506; AVX2-FP-NEXT: vmovaps %ymm11, 128(%rdx)1507; AVX2-FP-NEXT: vmovaps %ymm10, 160(%rdx)1508; AVX2-FP-NEXT: vmovaps %ymm4, 64(%rdx)1509; AVX2-FP-NEXT: vmovaps %ymm9, (%rdx)1510; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1511; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rdx)1512; AVX2-FP-NEXT: vmovaps %ymm6, 32(%rdx)1513; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1514; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rdx)1515; AVX2-FP-NEXT: vmovaps %ymm5, 256(%rdx)1516; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1517; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rdx)1518; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1519; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rdx)1520; AVX2-FP-NEXT: popq %rax1521; AVX2-FP-NEXT: vzeroupper1522; AVX2-FP-NEXT: retq1523;1524; AVX2-FCP-LABEL: store_i64_stride8_vf8:1525; AVX2-FCP: # %bb.0:1526; AVX2-FCP-NEXT: pushq %rax1527; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101528; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1529; AVX2-FCP-NEXT: vmovaps (%rax), %xmm61530; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm31531; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm01532; AVX2-FCP-NEXT: vmovaps (%r9), %xmm91533; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm71534; AVX2-FCP-NEXT: vmovaps (%r8), %xmm101535; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm81536; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm7[1]1537; AVX2-FCP-NEXT: vbroadcastsd 40(%r10), %ymm21538; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]1539; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1540; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1541; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm51542; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm11543; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm111544; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm131545; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm121546; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm141547; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm14[1],xmm13[1]1548; AVX2-FCP-NEXT: vbroadcastsd 40(%rdx), %ymm41549; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]1550; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm1[6,7]1551; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1552; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm21553; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm10[1],xmm9[1]1554; AVX2-FCP-NEXT: vbroadcastsd 8(%r10), %ymm151555; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1556; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm2[6,7]1557; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1558; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm12[1],xmm11[1]1559; AVX2-FCP-NEXT: vbroadcastsd 8(%rdx), %ymm151560; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]1561; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm151562; AVX2-FCP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm01563; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm0[6,7]1564; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm8[0],xmm7[0]1565; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm71566; AVX2-FCP-NEXT: vinsertf128 $1, 32(%r10), %ymm0, %ymm01567; AVX2-FCP-NEXT: vbroadcastsd %xmm3, %ymm31568; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]1569; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1570; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm81571; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm14[0],xmm13[0]1572; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm11573; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rdx), %ymm0, %ymm01574; AVX2-FCP-NEXT: vbroadcastsd %xmm5, %ymm51575; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],ymm5[6,7]1576; AVX2-FCP-NEXT: vmovaps (%r8), %ymm131577; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm10[0],xmm9[0]1578; AVX2-FCP-NEXT: vmovaps (%r9), %ymm141579; AVX2-FCP-NEXT: vinsertf128 $1, (%r10), %ymm0, %ymm01580; AVX2-FCP-NEXT: vbroadcastsd %xmm6, %ymm61581; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],ymm6[6,7]1582; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm0 = xmm12[0],xmm11[0]1583; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm0, %ymm01584; AVX2-FCP-NEXT: vbroadcastsd %xmm15, %ymm91585; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],ymm9[6,7]1586; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm14[0],ymm13[2],ymm14[2]1587; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1588; AVX2-FCP-NEXT: vbroadcastsd 16(%rax), %ymm101589; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3,4,5],ymm10[6,7]1590; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]1591; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1592; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm111593; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm11[6,7]1594; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm01595; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]1596; AVX2-FCP-NEXT: vbroadcastsd 56(%r10), %ymm151597; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1598; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1599; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]1600; AVX2-FCP-NEXT: vbroadcastsd 48(%rax), %ymm11601; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]1602; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm11603; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm151604; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm15[1],ymm1[3],ymm15[3]1605; AVX2-FCP-NEXT: vbroadcastsd 56(%rdx), %ymm31606; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]1607; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]1608; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]1609; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm31610; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]1611; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm14[1],ymm13[3],ymm14[3]1612; AVX2-FCP-NEXT: vbroadcastsd 24(%r10), %ymm131613; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm13[2,3]1614; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]1615; AVX2-FCP-NEXT: vbroadcastsd 24(%rdx), %ymm81616; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm8[2,3]1617; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rdx1618; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm12[0,1,2,3,4,5],mem[6,7]1619; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1620; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1621; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]1622; AVX2-FCP-NEXT: vmovaps %ymm7, 192(%rdx)1623; AVX2-FCP-NEXT: vmovaps %ymm3, 224(%rdx)1624; AVX2-FCP-NEXT: vmovaps %ymm1, 384(%rdx)1625; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rdx)1626; AVX2-FCP-NEXT: vmovaps %ymm2, 416(%rdx)1627; AVX2-FCP-NEXT: vmovaps %ymm8, 480(%rdx)1628; AVX2-FCP-NEXT: vmovaps %ymm11, 128(%rdx)1629; AVX2-FCP-NEXT: vmovaps %ymm10, 160(%rdx)1630; AVX2-FCP-NEXT: vmovaps %ymm4, 64(%rdx)1631; AVX2-FCP-NEXT: vmovaps %ymm9, (%rdx)1632; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1633; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rdx)1634; AVX2-FCP-NEXT: vmovaps %ymm6, 32(%rdx)1635; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1636; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rdx)1637; AVX2-FCP-NEXT: vmovaps %ymm5, 256(%rdx)1638; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1639; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rdx)1640; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1641; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rdx)1642; AVX2-FCP-NEXT: popq %rax1643; AVX2-FCP-NEXT: vzeroupper1644; AVX2-FCP-NEXT: retq1645;1646; AVX512-LABEL: store_i64_stride8_vf8:1647; AVX512: # %bb.0:1648; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax1649; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r101650; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r111651; AVX512-NEXT: vmovdqa64 (%rdi), %zmm61652; AVX512-NEXT: vmovdqa64 (%rsi), %zmm81653; AVX512-NEXT: vmovdqa64 (%rdx), %zmm71654; AVX512-NEXT: vmovdqa64 (%rcx), %zmm111655; AVX512-NEXT: vmovdqa64 (%r8), %zmm01656; AVX512-NEXT: vmovdqa64 (%r9), %zmm21657; AVX512-NEXT: vmovdqa64 (%r11), %zmm11658; AVX512-NEXT: vmovdqa64 (%r10), %zmm31659; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]1660; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1661; AVX512-NEXT: vmovdqa64 %zmm1, %zmm51662; AVX512-NEXT: vpermt2q %zmm3, %zmm4, %zmm51663; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm41664; AVX512-NEXT: movb $-64, %r8b1665; AVX512-NEXT: kmovw %r8d, %k11666; AVX512-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}1667; AVX512-NEXT: vmovdqa (%rsi), %xmm51668; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm101669; AVX512-NEXT: vmovdqa (%rdi), %xmm51670; AVX512-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm121671; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]1672; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm161673; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]1674; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1675; AVX512-NEXT: vmovdqa64 %zmm7, %zmm91676; AVX512-NEXT: vpermt2q %zmm11, %zmm5, %zmm91677; AVX512-NEXT: vmovdqa64 %zmm6, %zmm131678; AVX512-NEXT: vpermt2q %zmm8, %zmm5, %zmm131679; AVX512-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1680; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm51681; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]1682; AVX512-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm51683; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]1684; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1685; AVX512-NEXT: vmovdqa64 %zmm7, %zmm131686; AVX512-NEXT: vpermt2q %zmm11, %zmm9, %zmm131687; AVX512-NEXT: vmovdqa64 %zmm6, %zmm141688; AVX512-NEXT: vpermt2q %zmm8, %zmm9, %zmm141689; AVX512-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]1690; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm91691; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]1692; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm91693; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]1694; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1695; AVX512-NEXT: vmovdqa64 %zmm7, %zmm141696; AVX512-NEXT: vpermt2q %zmm11, %zmm13, %zmm141697; AVX512-NEXT: vmovdqa64 %zmm6, %zmm151698; AVX512-NEXT: vpermt2q %zmm8, %zmm13, %zmm151699; AVX512-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]1700; AVX512-NEXT: vpermi2q %zmm3, %zmm1, %zmm131701; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]1702; AVX512-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}1703; AVX512-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm131704; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]1705; AVX512-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1706; AVX512-NEXT: vpermt2q %zmm11, %zmm14, %zmm71707; AVX512-NEXT: vpermt2q %zmm8, %zmm14, %zmm61708; AVX512-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]1709; AVX512-NEXT: vpermi2q %zmm3, %zmm1, %zmm141710; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]1711; AVX512-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}1712; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm61713; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]1714; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1715; AVX512-NEXT: vmovdqa64 %zmm1, %zmm81716; AVX512-NEXT: vpermt2q %zmm3, %zmm7, %zmm81717; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm71718; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}1719; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]1720; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm71721; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]1722; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1723; AVX512-NEXT: vmovdqa64 %zmm1, %zmm101724; AVX512-NEXT: vpermt2q %zmm3, %zmm8, %zmm101725; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm81726; AVX512-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}1727; AVX512-NEXT: vmovdqa (%rcx), %ymm101728; AVX512-NEXT: vmovdqa (%rdx), %ymm111729; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]1730; AVX512-NEXT: vmovdqa (%rsi), %ymm141731; AVX512-NEXT: vmovdqa (%rdi), %ymm151732; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]1733; AVX512-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]1734; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm41735; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]1736; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1737; AVX512-NEXT: vpermt2q %zmm3, %zmm8, %zmm11738; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm01739; AVX512-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}1740; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]1741; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1742; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1743; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm01744; AVX512-NEXT: vmovdqa64 %zmm0, 192(%rax)1745; AVX512-NEXT: vmovdqa64 %zmm4, 128(%rax)1746; AVX512-NEXT: vmovdqa64 %zmm7, (%rax)1747; AVX512-NEXT: vmovdqa64 %zmm6, 320(%rax)1748; AVX512-NEXT: vmovdqa64 %zmm13, 256(%rax)1749; AVX512-NEXT: vmovdqa64 %zmm9, 448(%rax)1750; AVX512-NEXT: vmovdqa64 %zmm5, 384(%rax)1751; AVX512-NEXT: vmovdqa64 %zmm16, 64(%rax)1752; AVX512-NEXT: vzeroupper1753; AVX512-NEXT: retq1754;1755; AVX512-FCP-LABEL: store_i64_stride8_vf8:1756; AVX512-FCP: # %bb.0:1757; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1758; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101759; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r111760; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm61761; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm81762; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm71763; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm111764; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm01765; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm21766; AVX512-FCP-NEXT: vmovdqa64 (%r11), %zmm11767; AVX512-FCP-NEXT: vmovdqa64 (%r10), %zmm31768; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]1769; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1770; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm51771; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm51772; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm41773; AVX512-FCP-NEXT: movb $-64, %r8b1774; AVX512-FCP-NEXT: kmovw %r8d, %k11775; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}1776; AVX512-FCP-NEXT: vmovdqa (%rsi), %xmm51777; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm101778; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm51779; AVX512-FCP-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm121780; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]1781; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm161782; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]1783; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1784; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm91785; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm91786; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm131787; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm131788; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1789; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm51790; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]1791; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm51792; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]1793; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1794; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm131795; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm131796; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm141797; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm9, %zmm141798; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]1799; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm91800; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]1801; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm91802; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]1803; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1804; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm141805; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm13, %zmm141806; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm151807; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm13, %zmm151808; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]1809; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm131810; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]1811; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}1812; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm131813; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]1814; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1815; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm14, %zmm71816; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm14, %zmm61817; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]1818; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm141819; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]1820; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}1821; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm61822; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]1823; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1824; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm81825; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm81826; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm71827; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}1828; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]1829; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm71830; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]1831; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1832; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm101833; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm101834; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm81835; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}1836; AVX512-FCP-NEXT: vmovdqa (%rcx), %ymm101837; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm111838; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]1839; AVX512-FCP-NEXT: vmovdqa (%rsi), %ymm141840; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm151841; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]1842; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]1843; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm41844; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]1845; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1846; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm11847; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm01848; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}1849; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]1850; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1851; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1852; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm01853; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)1854; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 128(%rax)1855; AVX512-FCP-NEXT: vmovdqa64 %zmm7, (%rax)1856; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 320(%rax)1857; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)1858; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 448(%rax)1859; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 384(%rax)1860; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 64(%rax)1861; AVX512-FCP-NEXT: vzeroupper1862; AVX512-FCP-NEXT: retq1863;1864; AVX512DQ-LABEL: store_i64_stride8_vf8:1865; AVX512DQ: # %bb.0:1866; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax1867; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r101868; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r111869; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm61870; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm81871; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm71872; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm111873; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm01874; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm21875; AVX512DQ-NEXT: vmovdqa64 (%r11), %zmm11876; AVX512DQ-NEXT: vmovdqa64 (%r10), %zmm31877; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]1878; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1879; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm51880; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm4, %zmm51881; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm41882; AVX512DQ-NEXT: movb $-64, %r8b1883; AVX512DQ-NEXT: kmovw %r8d, %k11884; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}1885; AVX512DQ-NEXT: vmovdqa (%rsi), %xmm51886; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm101887; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm51888; AVX512DQ-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm121889; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]1890; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm161891; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]1892; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1893; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm91894; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm5, %zmm91895; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm131896; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm5, %zmm131897; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1898; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm51899; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]1900; AVX512DQ-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm51901; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]1902; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1903; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm131904; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm9, %zmm131905; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm141906; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm9, %zmm141907; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]1908; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm91909; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]1910; AVX512DQ-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm91911; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]1912; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1913; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm141914; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm13, %zmm141915; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm151916; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm13, %zmm151917; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]1918; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm1, %zmm131919; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]1920; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}1921; AVX512DQ-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm131922; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]1923; AVX512DQ-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1924; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm14, %zmm71925; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm14, %zmm61926; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]1927; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm1, %zmm141928; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]1929; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}1930; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm61931; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]1932; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1933; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm81934; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm7, %zmm81935; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm71936; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}1937; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]1938; AVX512DQ-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm71939; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]1940; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1941; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm101942; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm8, %zmm101943; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm81944; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}1945; AVX512DQ-NEXT: vmovdqa (%rcx), %ymm101946; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm111947; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]1948; AVX512DQ-NEXT: vmovdqa (%rsi), %ymm141949; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm151950; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]1951; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]1952; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm41953; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]1954; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1955; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm8, %zmm11956; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm01957; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}1958; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]1959; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1960; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1961; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm01962; AVX512DQ-NEXT: vmovdqa64 %zmm0, 192(%rax)1963; AVX512DQ-NEXT: vmovdqa64 %zmm4, 128(%rax)1964; AVX512DQ-NEXT: vmovdqa64 %zmm7, (%rax)1965; AVX512DQ-NEXT: vmovdqa64 %zmm6, 320(%rax)1966; AVX512DQ-NEXT: vmovdqa64 %zmm13, 256(%rax)1967; AVX512DQ-NEXT: vmovdqa64 %zmm9, 448(%rax)1968; AVX512DQ-NEXT: vmovdqa64 %zmm5, 384(%rax)1969; AVX512DQ-NEXT: vmovdqa64 %zmm16, 64(%rax)1970; AVX512DQ-NEXT: vzeroupper1971; AVX512DQ-NEXT: retq1972;1973; AVX512DQ-FCP-LABEL: store_i64_stride8_vf8:1974; AVX512DQ-FCP: # %bb.0:1975; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1976; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101977; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r111978; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm61979; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm81980; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm71981; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm111982; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm01983; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm21984; AVX512DQ-FCP-NEXT: vmovdqa64 (%r11), %zmm11985; AVX512DQ-FCP-NEXT: vmovdqa64 (%r10), %zmm31986; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]1987; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1988; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm51989; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm51990; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm41991; AVX512DQ-FCP-NEXT: movb $-64, %r8b1992; AVX512DQ-FCP-NEXT: kmovw %r8d, %k11993; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}1994; AVX512DQ-FCP-NEXT: vmovdqa (%rsi), %xmm51995; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm101996; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm51997; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm121998; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]1999; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm162000; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]2001; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2002; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm92003; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm92004; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm132005; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm132006; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]2007; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm52008; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]2009; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm52010; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]2011; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2012; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm132013; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm132014; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm142015; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm9, %zmm142016; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2017; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm92018; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]2019; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm92020; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]2021; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2022; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm142023; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm13, %zmm142024; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm152025; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm13, %zmm152026; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2027; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm132028; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]2029; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}2030; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm132031; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]2032; AVX512DQ-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2033; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm14, %zmm72034; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm14, %zmm62035; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]2036; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm142037; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]2038; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}2039; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm62040; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]2041; AVX512DQ-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2042; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm82043; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm82044; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm72045; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2046; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]2047; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm72048; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]2049; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2050; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm102051; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm102052; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm82053; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}2054; AVX512DQ-FCP-NEXT: vmovdqa (%rcx), %ymm102055; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm112056; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2057; AVX512DQ-FCP-NEXT: vmovdqa (%rsi), %ymm142058; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm152059; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2060; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]2061; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm42062; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2063; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2064; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm12065; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm02066; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}2067; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]2068; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2069; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]2070; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02071; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)2072; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 128(%rax)2073; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, (%rax)2074; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 320(%rax)2075; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)2076; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 448(%rax)2077; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 384(%rax)2078; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 64(%rax)2079; AVX512DQ-FCP-NEXT: vzeroupper2080; AVX512DQ-FCP-NEXT: retq2081;2082; AVX512BW-LABEL: store_i64_stride8_vf8:2083; AVX512BW: # %bb.0:2084; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2085; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r102086; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r112087; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm62088; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm82089; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm72090; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm112091; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm02092; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm22093; AVX512BW-NEXT: vmovdqa64 (%r11), %zmm12094; AVX512BW-NEXT: vmovdqa64 (%r10), %zmm32095; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]2096; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2097; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm52098; AVX512BW-NEXT: vpermt2q %zmm3, %zmm4, %zmm52099; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm42100; AVX512BW-NEXT: movb $-64, %r8b2101; AVX512BW-NEXT: kmovd %r8d, %k12102; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}2103; AVX512BW-NEXT: vmovdqa (%rsi), %xmm52104; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm102105; AVX512BW-NEXT: vmovdqa (%rdi), %xmm52106; AVX512BW-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm122107; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]2108; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm162109; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]2110; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2111; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm92112; AVX512BW-NEXT: vpermt2q %zmm11, %zmm5, %zmm92113; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm132114; AVX512BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm132115; AVX512BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]2116; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm52117; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]2118; AVX512BW-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm52119; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]2120; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2121; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm132122; AVX512BW-NEXT: vpermt2q %zmm11, %zmm9, %zmm132123; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm142124; AVX512BW-NEXT: vpermt2q %zmm8, %zmm9, %zmm142125; AVX512BW-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2126; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm92127; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]2128; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm92129; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]2130; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2131; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm142132; AVX512BW-NEXT: vpermt2q %zmm11, %zmm13, %zmm142133; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm152134; AVX512BW-NEXT: vpermt2q %zmm8, %zmm13, %zmm152135; AVX512BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2136; AVX512BW-NEXT: vpermi2q %zmm3, %zmm1, %zmm132137; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]2138; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}2139; AVX512BW-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm132140; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]2141; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2142; AVX512BW-NEXT: vpermt2q %zmm11, %zmm14, %zmm72143; AVX512BW-NEXT: vpermt2q %zmm8, %zmm14, %zmm62144; AVX512BW-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]2145; AVX512BW-NEXT: vpermi2q %zmm3, %zmm1, %zmm142146; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]2147; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}2148; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm62149; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]2150; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2151; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm82152; AVX512BW-NEXT: vpermt2q %zmm3, %zmm7, %zmm82153; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm72154; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2155; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]2156; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm72157; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]2158; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2159; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm102160; AVX512BW-NEXT: vpermt2q %zmm3, %zmm8, %zmm102161; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm82162; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}2163; AVX512BW-NEXT: vmovdqa (%rcx), %ymm102164; AVX512BW-NEXT: vmovdqa (%rdx), %ymm112165; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2166; AVX512BW-NEXT: vmovdqa (%rsi), %ymm142167; AVX512BW-NEXT: vmovdqa (%rdi), %ymm152168; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2169; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]2170; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm42171; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2172; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2173; AVX512BW-NEXT: vpermt2q %zmm3, %zmm8, %zmm12174; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm02175; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}2176; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]2177; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2178; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]2179; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02180; AVX512BW-NEXT: vmovdqa64 %zmm0, 192(%rax)2181; AVX512BW-NEXT: vmovdqa64 %zmm4, 128(%rax)2182; AVX512BW-NEXT: vmovdqa64 %zmm7, (%rax)2183; AVX512BW-NEXT: vmovdqa64 %zmm6, 320(%rax)2184; AVX512BW-NEXT: vmovdqa64 %zmm13, 256(%rax)2185; AVX512BW-NEXT: vmovdqa64 %zmm9, 448(%rax)2186; AVX512BW-NEXT: vmovdqa64 %zmm5, 384(%rax)2187; AVX512BW-NEXT: vmovdqa64 %zmm16, 64(%rax)2188; AVX512BW-NEXT: vzeroupper2189; AVX512BW-NEXT: retq2190;2191; AVX512BW-FCP-LABEL: store_i64_stride8_vf8:2192; AVX512BW-FCP: # %bb.0:2193; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2194; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102195; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r112196; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm62197; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm82198; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm72199; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm112200; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm02201; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm22202; AVX512BW-FCP-NEXT: vmovdqa64 (%r11), %zmm12203; AVX512BW-FCP-NEXT: vmovdqa64 (%r10), %zmm32204; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]2205; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2206; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm52207; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm52208; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm42209; AVX512BW-FCP-NEXT: movb $-64, %r8b2210; AVX512BW-FCP-NEXT: kmovd %r8d, %k12211; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}2212; AVX512BW-FCP-NEXT: vmovdqa (%rsi), %xmm52213; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm102214; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm52215; AVX512BW-FCP-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm122216; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]2217; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm162218; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]2219; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2220; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm92221; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm92222; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm132223; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm132224; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]2225; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm52226; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]2227; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm52228; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]2229; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2230; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm132231; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm132232; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm142233; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm9, %zmm142234; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2235; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm92236; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]2237; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm92238; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]2239; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2240; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm142241; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm13, %zmm142242; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm152243; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm13, %zmm152244; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2245; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm132246; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]2247; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}2248; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm132249; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]2250; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2251; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm14, %zmm72252; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm14, %zmm62253; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]2254; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm142255; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]2256; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}2257; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm62258; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]2259; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2260; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm82261; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm82262; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm72263; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2264; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]2265; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm72266; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]2267; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2268; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm102269; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm102270; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm82271; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}2272; AVX512BW-FCP-NEXT: vmovdqa (%rcx), %ymm102273; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm112274; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2275; AVX512BW-FCP-NEXT: vmovdqa (%rsi), %ymm142276; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm152277; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2278; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]2279; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm42280; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2281; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2282; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm12283; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm02284; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}2285; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]2286; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2287; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]2288; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02289; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)2290; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 128(%rax)2291; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, (%rax)2292; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 320(%rax)2293; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)2294; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 448(%rax)2295; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 384(%rax)2296; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 64(%rax)2297; AVX512BW-FCP-NEXT: vzeroupper2298; AVX512BW-FCP-NEXT: retq2299;2300; AVX512DQ-BW-LABEL: store_i64_stride8_vf8:2301; AVX512DQ-BW: # %bb.0:2302; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2303; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r102304; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r112305; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm62306; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm82307; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm72308; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm112309; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm02310; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm22311; AVX512DQ-BW-NEXT: vmovdqa64 (%r11), %zmm12312; AVX512DQ-BW-NEXT: vmovdqa64 (%r10), %zmm32313; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]2314; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2315; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm52316; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm4, %zmm52317; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm42318; AVX512DQ-BW-NEXT: movb $-64, %r8b2319; AVX512DQ-BW-NEXT: kmovd %r8d, %k12320; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}2321; AVX512DQ-BW-NEXT: vmovdqa (%rsi), %xmm52322; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm102323; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm52324; AVX512DQ-BW-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm122325; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]2326; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm162327; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]2328; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2329; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm92330; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm5, %zmm92331; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm132332; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm132333; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]2334; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm52335; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]2336; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm52337; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]2338; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2339; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm132340; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm9, %zmm132341; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm142342; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm9, %zmm142343; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2344; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm92345; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]2346; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm92347; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]2348; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2349; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm142350; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm13, %zmm142351; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm152352; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm13, %zmm152353; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2354; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm1, %zmm132355; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]2356; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}2357; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm132358; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]2359; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2360; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm14, %zmm72361; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm14, %zmm62362; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]2363; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm1, %zmm142364; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]2365; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}2366; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm62367; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]2368; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2369; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm82370; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm7, %zmm82371; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm72372; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2373; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]2374; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm72375; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]2376; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2377; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm102378; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm8, %zmm102379; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm82380; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}2381; AVX512DQ-BW-NEXT: vmovdqa (%rcx), %ymm102382; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm112383; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2384; AVX512DQ-BW-NEXT: vmovdqa (%rsi), %ymm142385; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm152386; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2387; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]2388; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm42389; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2390; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2391; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm8, %zmm12392; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm02393; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}2394; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]2395; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2396; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]2397; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02398; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 192(%rax)2399; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 128(%rax)2400; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, (%rax)2401; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 320(%rax)2402; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 256(%rax)2403; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 448(%rax)2404; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 384(%rax)2405; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 64(%rax)2406; AVX512DQ-BW-NEXT: vzeroupper2407; AVX512DQ-BW-NEXT: retq2408;2409; AVX512DQ-BW-FCP-LABEL: store_i64_stride8_vf8:2410; AVX512DQ-BW-FCP: # %bb.0:2411; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2412; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102413; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r112414; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm62415; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm82416; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm72417; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm112418; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm02419; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm22420; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r11), %zmm12421; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r10), %zmm32422; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [1,9,1,9,1,9,1,9]2423; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2424; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm52425; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm52426; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm42427; AVX512DQ-BW-FCP-NEXT: movb $-64, %r8b2428; AVX512DQ-BW-FCP-NEXT: kmovd %r8d, %k12429; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm4 {%k1}2430; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rsi), %xmm52431; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm5, %ymm102432; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm52433; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rdx), %ymm5, %ymm122434; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm10[1],ymm12[3],ymm10[3]2435; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm4, %zmm162436; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [6,14,6,14,6,14,6,14]2437; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2438; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm92439; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm92440; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm132441; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm132442; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]2443; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm52444; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm1[0],zmm3[0],zmm1[2],zmm3[2],zmm1[4],zmm3[4],zmm1[6],zmm3[6]2445; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm5, %zmm52446; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [7,15,7,15,7,15,7,15]2447; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2448; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm132449; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm132450; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm142451; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm9, %zmm142452; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2453; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm92454; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm1[1],zmm3[1],zmm1[3],zmm3[3],zmm1[5],zmm3[5],zmm1[7],zmm3[7]2455; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm9, %zmm92456; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [4,12,4,12,4,12,4,12]2457; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2458; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm142459; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm13, %zmm142460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm152461; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm13, %zmm152462; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2463; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm132464; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm15 = zmm0[0],zmm2[0],zmm0[2],zmm2[2],zmm0[4],zmm2[4],zmm0[6],zmm2[6]2465; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm15 {%k1}2466; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm15, %zmm132467; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [5,13,5,13,5,13,5,13]2468; AVX512DQ-BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2469; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm14, %zmm72470; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm14, %zmm62471; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]2472; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm1, %zmm142473; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm0[1],zmm2[1],zmm0[3],zmm2[3],zmm0[5],zmm2[5],zmm0[7],zmm2[7]2474; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm7 {%k1}2475; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm7, %zmm62476; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]2477; AVX512DQ-BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2478; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm82479; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm7, %zmm82480; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm72481; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2482; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm12[0],ymm10[0],ymm12[2],ymm10[2]2483; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm7, %zmm72484; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [2,10,2,10,2,10,2,10]2485; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2486; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm102487; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm102488; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm82489; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k1}2490; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rcx), %ymm102491; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm112492; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2493; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rsi), %ymm142494; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm152495; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2496; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm4[2,3],ymm12[2,3]2497; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm8, %zmm42498; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2499; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2500; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm8, %zmm12501; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm02502; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}2503; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]2504; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2505; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]2506; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02507; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)2508; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 128(%rax)2509; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, (%rax)2510; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 320(%rax)2511; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)2512; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 448(%rax)2513; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 384(%rax)2514; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 64(%rax)2515; AVX512DQ-BW-FCP-NEXT: vzeroupper2516; AVX512DQ-BW-FCP-NEXT: retq2517 %in.vec0 = load <8 x i64>, ptr %in.vecptr0, align 642518 %in.vec1 = load <8 x i64>, ptr %in.vecptr1, align 642519 %in.vec2 = load <8 x i64>, ptr %in.vecptr2, align 642520 %in.vec3 = load <8 x i64>, ptr %in.vecptr3, align 642521 %in.vec4 = load <8 x i64>, ptr %in.vecptr4, align 642522 %in.vec5 = load <8 x i64>, ptr %in.vecptr5, align 642523 %in.vec6 = load <8 x i64>, ptr %in.vecptr6, align 642524 %in.vec7 = load <8 x i64>, ptr %in.vecptr7, align 642525 %1 = shufflevector <8 x i64> %in.vec0, <8 x i64> %in.vec1, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>2526 %2 = shufflevector <8 x i64> %in.vec2, <8 x i64> %in.vec3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>2527 %3 = shufflevector <8 x i64> %in.vec4, <8 x i64> %in.vec5, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>2528 %4 = shufflevector <8 x i64> %in.vec6, <8 x i64> %in.vec7, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>2529 %5 = shufflevector <16 x i64> %1, <16 x i64> %2, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>2530 %6 = shufflevector <16 x i64> %3, <16 x i64> %4, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>2531 %7 = shufflevector <32 x i64> %5, <32 x i64> %6, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>2532 %interleaved.vec = shufflevector <64 x i64> %7, <64 x i64> poison, <64 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56, i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57, i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58, i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59, i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60, i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61, i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62, i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63>2533 store <64 x i64> %interleaved.vec, ptr %out.vec, align 642534 ret void2535}2536 2537define void @store_i64_stride8_vf16(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {2538; SSE-LABEL: store_i64_stride8_vf16:2539; SSE: # %bb.0:2540; SSE-NEXT: subq $664, %rsp # imm = 0x2982541; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2542; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r102543; SSE-NEXT: movaps (%rdi), %xmm72544; SSE-NEXT: movaps 16(%rdi), %xmm82545; SSE-NEXT: movaps (%rsi), %xmm22546; SSE-NEXT: movaps 16(%rsi), %xmm02547; SSE-NEXT: movaps (%rdx), %xmm92548; SSE-NEXT: movaps 16(%rdx), %xmm102549; SSE-NEXT: movaps (%rcx), %xmm42550; SSE-NEXT: movaps 16(%rcx), %xmm12551; SSE-NEXT: movaps (%r8), %xmm112552; SSE-NEXT: movaps 16(%r8), %xmm122553; SSE-NEXT: movaps (%r9), %xmm52554; SSE-NEXT: movaps 16(%r9), %xmm32555; SSE-NEXT: movaps (%r10), %xmm132556; SSE-NEXT: movaps 16(%r10), %xmm152557; SSE-NEXT: movaps (%rax), %xmm62558; SSE-NEXT: movaps %xmm7, %xmm142559; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm2[0]2560; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2561; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]2562; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2563; SSE-NEXT: movaps %xmm9, %xmm22564; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm4[0]2565; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2566; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm4[1]2567; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2568; SSE-NEXT: movaps %xmm11, %xmm22569; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm5[0]2570; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2571; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm5[1]2572; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2573; SSE-NEXT: movaps %xmm13, %xmm42574; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm6[0]2575; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2576; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]2577; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2578; SSE-NEXT: movaps %xmm8, %xmm22579; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2580; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2581; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]2582; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2583; SSE-NEXT: movaps %xmm10, %xmm02584; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]2585; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2586; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm1[1]2587; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2588; SSE-NEXT: movaps %xmm12, %xmm02589; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm3[0]2590; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2591; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm3[1]2592; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2593; SSE-NEXT: movaps 16(%rax), %xmm02594; SSE-NEXT: movaps %xmm15, %xmm12595; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2596; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2597; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]2598; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2599; SSE-NEXT: movaps 32(%rdi), %xmm22600; SSE-NEXT: movaps 32(%rsi), %xmm02601; SSE-NEXT: movaps %xmm2, %xmm12602; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2603; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2604; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2605; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2606; SSE-NEXT: movaps 32(%rdx), %xmm22607; SSE-NEXT: movaps 32(%rcx), %xmm02608; SSE-NEXT: movaps %xmm2, %xmm12609; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2610; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2611; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2612; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2613; SSE-NEXT: movaps 32(%r8), %xmm22614; SSE-NEXT: movaps 32(%r9), %xmm02615; SSE-NEXT: movaps %xmm2, %xmm12616; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2617; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2618; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2619; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2620; SSE-NEXT: movaps 32(%r10), %xmm22621; SSE-NEXT: movaps 32(%rax), %xmm02622; SSE-NEXT: movaps %xmm2, %xmm12623; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2624; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2625; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2626; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2627; SSE-NEXT: movaps 48(%rdi), %xmm22628; SSE-NEXT: movaps 48(%rsi), %xmm02629; SSE-NEXT: movaps %xmm2, %xmm12630; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2631; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2632; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2633; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2634; SSE-NEXT: movaps 48(%rdx), %xmm22635; SSE-NEXT: movaps 48(%rcx), %xmm02636; SSE-NEXT: movaps %xmm2, %xmm12637; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2638; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2639; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2640; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2641; SSE-NEXT: movaps 48(%r8), %xmm22642; SSE-NEXT: movaps 48(%r9), %xmm02643; SSE-NEXT: movaps %xmm2, %xmm12644; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2645; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2646; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2647; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2648; SSE-NEXT: movaps 48(%r10), %xmm22649; SSE-NEXT: movaps 48(%rax), %xmm02650; SSE-NEXT: movaps %xmm2, %xmm12651; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2652; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2653; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2654; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2655; SSE-NEXT: movaps 64(%rdi), %xmm22656; SSE-NEXT: movaps 64(%rsi), %xmm02657; SSE-NEXT: movaps %xmm2, %xmm12658; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2659; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2660; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2661; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2662; SSE-NEXT: movaps 64(%rdx), %xmm22663; SSE-NEXT: movaps 64(%rcx), %xmm02664; SSE-NEXT: movaps %xmm2, %xmm12665; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2666; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2667; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2668; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2669; SSE-NEXT: movaps 64(%r8), %xmm22670; SSE-NEXT: movaps 64(%r9), %xmm02671; SSE-NEXT: movaps %xmm2, %xmm12672; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2673; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2674; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2675; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2676; SSE-NEXT: movaps 64(%r10), %xmm22677; SSE-NEXT: movaps 64(%rax), %xmm02678; SSE-NEXT: movaps %xmm2, %xmm12679; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2680; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2681; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2682; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2683; SSE-NEXT: movaps 80(%rdi), %xmm22684; SSE-NEXT: movaps 80(%rsi), %xmm02685; SSE-NEXT: movaps %xmm2, %xmm12686; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2687; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill2688; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2689; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2690; SSE-NEXT: movaps 80(%rdx), %xmm22691; SSE-NEXT: movaps 80(%rcx), %xmm02692; SSE-NEXT: movaps %xmm2, %xmm12693; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2694; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2695; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2696; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2697; SSE-NEXT: movaps 80(%r8), %xmm22698; SSE-NEXT: movaps 80(%r9), %xmm02699; SSE-NEXT: movaps %xmm2, %xmm12700; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2701; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2702; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2703; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2704; SSE-NEXT: movaps 80(%r10), %xmm22705; SSE-NEXT: movaps 80(%rax), %xmm02706; SSE-NEXT: movaps %xmm2, %xmm12707; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2708; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2709; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2710; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2711; SSE-NEXT: movaps 96(%rdi), %xmm132712; SSE-NEXT: movaps 96(%rsi), %xmm02713; SSE-NEXT: movaps %xmm13, %xmm12714; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2715; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2716; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]2717; SSE-NEXT: movaps 96(%rdx), %xmm102718; SSE-NEXT: movaps 96(%rcx), %xmm02719; SSE-NEXT: movaps %xmm10, %xmm152720; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]2721; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]2722; SSE-NEXT: movaps 96(%r8), %xmm112723; SSE-NEXT: movaps 96(%r9), %xmm02724; SSE-NEXT: movaps %xmm11, %xmm142725; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]2726; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]2727; SSE-NEXT: movaps 96(%r10), %xmm92728; SSE-NEXT: movaps 96(%rax), %xmm02729; SSE-NEXT: movaps %xmm9, %xmm122730; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm0[0]2731; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]2732; SSE-NEXT: movaps 112(%rdi), %xmm72733; SSE-NEXT: movaps 112(%rsi), %xmm02734; SSE-NEXT: movaps %xmm7, %xmm82735; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]2736; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]2737; SSE-NEXT: movaps 112(%rdx), %xmm52738; SSE-NEXT: movaps 112(%rcx), %xmm12739; SSE-NEXT: movaps %xmm5, %xmm62740; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm1[0]2741; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm1[1]2742; SSE-NEXT: movaps 112(%r8), %xmm12743; SSE-NEXT: movaps 112(%r9), %xmm22744; SSE-NEXT: movaps %xmm1, %xmm42745; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]2746; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]2747; SSE-NEXT: movaps 112(%r10), %xmm22748; SSE-NEXT: movaps 112(%rax), %xmm32749; SSE-NEXT: movaps %xmm2, %xmm02750; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm3[0]2751; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]2752; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2753; SSE-NEXT: movaps %xmm2, 1008(%rax)2754; SSE-NEXT: movaps %xmm1, 992(%rax)2755; SSE-NEXT: movaps %xmm5, 976(%rax)2756; SSE-NEXT: movaps %xmm7, 960(%rax)2757; SSE-NEXT: movaps %xmm0, 944(%rax)2758; SSE-NEXT: movaps %xmm4, 928(%rax)2759; SSE-NEXT: movaps %xmm6, 912(%rax)2760; SSE-NEXT: movaps %xmm8, 896(%rax)2761; SSE-NEXT: movaps %xmm9, 880(%rax)2762; SSE-NEXT: movaps %xmm11, 864(%rax)2763; SSE-NEXT: movaps %xmm10, 848(%rax)2764; SSE-NEXT: movaps %xmm13, 832(%rax)2765; SSE-NEXT: movaps %xmm12, 816(%rax)2766; SSE-NEXT: movaps %xmm14, 800(%rax)2767; SSE-NEXT: movaps %xmm15, 784(%rax)2768; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2769; SSE-NEXT: movaps %xmm0, 768(%rax)2770; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2771; SSE-NEXT: movaps %xmm0, 752(%rax)2772; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2773; SSE-NEXT: movaps %xmm0, 736(%rax)2774; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2775; SSE-NEXT: movaps %xmm0, 720(%rax)2776; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2777; SSE-NEXT: movaps %xmm0, 704(%rax)2778; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2779; SSE-NEXT: movaps %xmm0, 688(%rax)2780; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2781; SSE-NEXT: movaps %xmm0, 672(%rax)2782; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2783; SSE-NEXT: movaps %xmm0, 656(%rax)2784; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload2785; SSE-NEXT: movaps %xmm0, 640(%rax)2786; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2787; SSE-NEXT: movaps %xmm0, 624(%rax)2788; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2789; SSE-NEXT: movaps %xmm0, 608(%rax)2790; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2791; SSE-NEXT: movaps %xmm0, 592(%rax)2792; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2793; SSE-NEXT: movaps %xmm0, 576(%rax)2794; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2795; SSE-NEXT: movaps %xmm0, 560(%rax)2796; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2797; SSE-NEXT: movaps %xmm0, 544(%rax)2798; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2799; SSE-NEXT: movaps %xmm0, 528(%rax)2800; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2801; SSE-NEXT: movaps %xmm0, 512(%rax)2802; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2803; SSE-NEXT: movaps %xmm0, 496(%rax)2804; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2805; SSE-NEXT: movaps %xmm0, 480(%rax)2806; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2807; SSE-NEXT: movaps %xmm0, 464(%rax)2808; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2809; SSE-NEXT: movaps %xmm0, 448(%rax)2810; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2811; SSE-NEXT: movaps %xmm0, 432(%rax)2812; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2813; SSE-NEXT: movaps %xmm0, 416(%rax)2814; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2815; SSE-NEXT: movaps %xmm0, 400(%rax)2816; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2817; SSE-NEXT: movaps %xmm0, 384(%rax)2818; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2819; SSE-NEXT: movaps %xmm0, 368(%rax)2820; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2821; SSE-NEXT: movaps %xmm0, 352(%rax)2822; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2823; SSE-NEXT: movaps %xmm0, 336(%rax)2824; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2825; SSE-NEXT: movaps %xmm0, 320(%rax)2826; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2827; SSE-NEXT: movaps %xmm0, 304(%rax)2828; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2829; SSE-NEXT: movaps %xmm0, 288(%rax)2830; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2831; SSE-NEXT: movaps %xmm0, 272(%rax)2832; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2833; SSE-NEXT: movaps %xmm0, 256(%rax)2834; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2835; SSE-NEXT: movaps %xmm0, 240(%rax)2836; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2837; SSE-NEXT: movaps %xmm0, 224(%rax)2838; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2839; SSE-NEXT: movaps %xmm0, 208(%rax)2840; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2841; SSE-NEXT: movaps %xmm0, 192(%rax)2842; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2843; SSE-NEXT: movaps %xmm0, 176(%rax)2844; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2845; SSE-NEXT: movaps %xmm0, 160(%rax)2846; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2847; SSE-NEXT: movaps %xmm0, 144(%rax)2848; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2849; SSE-NEXT: movaps %xmm0, 128(%rax)2850; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2851; SSE-NEXT: movaps %xmm0, 112(%rax)2852; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2853; SSE-NEXT: movaps %xmm0, 96(%rax)2854; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2855; SSE-NEXT: movaps %xmm0, 80(%rax)2856; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2857; SSE-NEXT: movaps %xmm0, 64(%rax)2858; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2859; SSE-NEXT: movaps %xmm0, 48(%rax)2860; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2861; SSE-NEXT: movaps %xmm0, 32(%rax)2862; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2863; SSE-NEXT: movaps %xmm0, 16(%rax)2864; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2865; SSE-NEXT: movaps %xmm0, (%rax)2866; SSE-NEXT: addq $664, %rsp # imm = 0x2982867; SSE-NEXT: retq2868;2869; AVX-LABEL: store_i64_stride8_vf16:2870; AVX: # %bb.0:2871; AVX-NEXT: subq $488, %rsp # imm = 0x1E82872; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r102873; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax2874; AVX-NEXT: vmovaps (%rsi), %xmm42875; AVX-NEXT: vmovaps (%rdi), %xmm52876; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm4[0]2877; AVX-NEXT: vmovaps (%rcx), %xmm62878; AVX-NEXT: vmovaps 32(%rcx), %xmm22879; AVX-NEXT: vmovaps 64(%rcx), %xmm02880; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm1, %ymm32881; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm1, %ymm12882; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2],ymm3[2]2883; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2884; AVX-NEXT: vmovaps (%r9), %xmm72885; AVX-NEXT: vmovaps (%r8), %xmm82886; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm8[0],xmm7[0]2887; AVX-NEXT: vmovaps (%rax), %xmm102888; AVX-NEXT: vmovaps 32(%rax), %xmm32889; AVX-NEXT: vmovaps 64(%rax), %xmm12890; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm9, %ymm112891; AVX-NEXT: vinsertf128 $1, (%r10), %ymm9, %ymm92892; AVX-NEXT: vshufpd {{.*#+}} ymm9 = ymm9[0],ymm11[1],ymm9[2],ymm11[2]2893; AVX-NEXT: vmovupd %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2894; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]2895; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm4, %ymm52896; AVX-NEXT: vbroadcastsd 8(%rdx), %ymm62897; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]2898; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3],ymm4[4,5],ymm5[6,7]2899; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2900; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm8[1],xmm7[1]2901; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm4, %ymm52902; AVX-NEXT: vbroadcastsd 8(%r10), %ymm62903; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]2904; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3],ymm4[4,5],ymm5[6,7]2905; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2906; AVX-NEXT: vmovaps 32(%rsi), %xmm42907; AVX-NEXT: vmovaps 32(%rdi), %xmm52908; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]2909; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm72910; AVX-NEXT: vinsertf128 $1, 32(%rdx), %ymm6, %ymm62911; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]2912; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2913; AVX-NEXT: vmovaps 32(%r9), %xmm62914; AVX-NEXT: vmovaps 32(%r8), %xmm72915; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm7[0],xmm6[0]2916; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm8, %ymm92917; AVX-NEXT: vinsertf128 $1, 32(%r10), %ymm8, %ymm82918; AVX-NEXT: vshufpd {{.*#+}} ymm8 = ymm8[0],ymm9[1],ymm8[2],ymm9[2]2919; AVX-NEXT: vmovupd %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2920; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]2921; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm22922; AVX-NEXT: vbroadcastsd 40(%rdx), %ymm52923; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]2924; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]2925; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2926; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]2927; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm32928; AVX-NEXT: vbroadcastsd 40(%r10), %ymm42929; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]2930; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]2931; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2932; AVX-NEXT: vmovaps 64(%rsi), %xmm22933; AVX-NEXT: vmovaps 64(%rdi), %xmm32934; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]2935; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm4, %ymm52936; AVX-NEXT: vinsertf128 $1, 64(%rdx), %ymm4, %ymm42937; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm5[1],ymm4[2],ymm5[2]2938; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2939; AVX-NEXT: vmovaps 64(%r9), %xmm42940; AVX-NEXT: vmovaps 64(%r8), %xmm52941; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]2942; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm72943; AVX-NEXT: vinsertf128 $1, 64(%r10), %ymm6, %ymm62944; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]2945; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2946; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]2947; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm02948; AVX-NEXT: vbroadcastsd 72(%rdx), %ymm32949; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]2950; AVX-NEXT: vmovaps 96(%rcx), %xmm32951; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5],ymm0[6,7]2952; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2953; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]2954; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12955; AVX-NEXT: vbroadcastsd 72(%r10), %ymm22956; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]2957; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]2958; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2959; AVX-NEXT: vmovaps 96(%rsi), %xmm02960; AVX-NEXT: vmovaps 96(%rdi), %xmm12961; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2962; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm42963; AVX-NEXT: vinsertf128 $1, 96(%rdx), %ymm2, %ymm22964; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]2965; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2966; AVX-NEXT: vmovaps 96(%rax), %xmm22967; AVX-NEXT: vmovaps 96(%r9), %xmm42968; AVX-NEXT: vmovaps 96(%r8), %xmm52969; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]2970; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm72971; AVX-NEXT: vinsertf128 $1, 96(%r10), %ymm6, %ymm62972; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]2973; AVX-NEXT: vmovupd %ymm6, (%rsp) # 32-byte Spill2974; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2975; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm12976; AVX-NEXT: vbroadcastsd 104(%rdx), %ymm32977; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]2978; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]2979; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2980; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]2981; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm12982; AVX-NEXT: vbroadcastsd 104(%r10), %ymm22983; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]2984; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]2985; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2986; AVX-NEXT: vmovaps 16(%rsi), %xmm02987; AVX-NEXT: vmovaps 16(%rdi), %xmm12988; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2989; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]2990; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm32991; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]2992; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2993; AVX-NEXT: vmovaps 16(%r9), %xmm22994; AVX-NEXT: vmovaps 16(%r8), %xmm32995; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]2996; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]2997; AVX-NEXT: vbroadcastsd 16(%rax), %ymm52998; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]2999; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3000; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3001; AVX-NEXT: vbroadcastsd 24(%rdx), %ymm13002; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]3003; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]3004; AVX-NEXT: vbroadcastsd 24(%r10), %ymm13005; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]3006; AVX-NEXT: vmovaps 48(%rsi), %xmm03007; AVX-NEXT: vmovaps 48(%rdi), %xmm13008; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3009; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]3010; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm33011; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]3012; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3013; AVX-NEXT: vmovaps 48(%r9), %xmm23014; AVX-NEXT: vmovaps 48(%r8), %xmm43015; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm4[0],xmm2[0]3016; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],mem[4,5,6,7]3017; AVX-NEXT: vbroadcastsd 48(%rax), %ymm73018; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm3[0,1,2,3,4,5],ymm7[6,7]3019; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3020; AVX-NEXT: vbroadcastsd 56(%rdx), %ymm13021; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm1[4,5,6,7]3022; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]3023; AVX-NEXT: vbroadcastsd 56(%r10), %ymm13024; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]3025; AVX-NEXT: vmovaps 80(%rsi), %xmm53026; AVX-NEXT: vmovaps 80(%rdi), %xmm23027; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm5[0]3028; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],mem[4,5,6,7]3029; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm43030; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3,4,5],ymm4[6,7]3031; AVX-NEXT: vmovaps 80(%r9), %xmm13032; AVX-NEXT: vmovaps 80(%r8), %xmm03033; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm0[0],xmm1[0]3034; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],mem[4,5,6,7]3035; AVX-NEXT: vbroadcastsd 80(%rax), %ymm143036; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5],ymm14[6,7]3037; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm5[1]3038; AVX-NEXT: vbroadcastsd 88(%rdx), %ymm53039; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3],ymm5[4,5,6,7]3040; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]3041; AVX-NEXT: vbroadcastsd 88(%r10), %ymm13042; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm1[4,5,6,7]3043; AVX-NEXT: vmovaps 112(%rsi), %xmm13044; AVX-NEXT: vmovaps 112(%rdi), %xmm53045; AVX-NEXT: vmovlhps {{.*#+}} xmm14 = xmm5[0],xmm1[0]3046; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],mem[4,5,6,7]3047; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm153048; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3049; AVX-NEXT: vmovaps 112(%r9), %xmm153050; AVX-NEXT: vmovaps 112(%r8), %xmm03051; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm0[0],xmm15[0]3052; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],mem[4,5,6,7]3053; AVX-NEXT: vbroadcastsd 112(%rax), %ymm123054; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3055; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm1[1]3056; AVX-NEXT: vbroadcastsd 120(%rdx), %ymm53057; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]3058; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm15[1]3059; AVX-NEXT: vbroadcastsd 120(%r10), %ymm53060; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]3061; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rdx3062; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]3063; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5],mem[6,7]3064; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],mem[6,7]3065; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]3066; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]3067; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]3068; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3069; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]3070; AVX-NEXT: vmovaps %ymm0, 992(%rdx)3071; AVX-NEXT: vmovaps %ymm1, 960(%rdx)3072; AVX-NEXT: vmovaps %ymm12, 928(%rdx)3073; AVX-NEXT: vmovaps %ymm14, 896(%rdx)3074; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3075; AVX-NEXT: vmovaps %ymm0, 864(%rdx)3076; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3077; AVX-NEXT: vmovaps %ymm0, 832(%rdx)3078; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3079; AVX-NEXT: vmovaps %ymm0, 800(%rdx)3080; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3081; AVX-NEXT: vmovaps %ymm0, 768(%rdx)3082; AVX-NEXT: vmovaps %ymm2, 736(%rdx)3083; AVX-NEXT: vmovaps %ymm3, 704(%rdx)3084; AVX-NEXT: vmovaps %ymm4, 672(%rdx)3085; AVX-NEXT: vmovaps %ymm9, 640(%rdx)3086; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3087; AVX-NEXT: vmovaps %ymm0, 608(%rdx)3088; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3089; AVX-NEXT: vmovaps %ymm0, 576(%rdx)3090; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3091; AVX-NEXT: vmovaps %ymm0, 544(%rdx)3092; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3093; AVX-NEXT: vmovaps %ymm0, 512(%rdx)3094; AVX-NEXT: vmovaps %ymm7, 480(%rdx)3095; AVX-NEXT: vmovaps %ymm8, 448(%rdx)3096; AVX-NEXT: vmovaps %ymm11, 416(%rdx)3097; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3098; AVX-NEXT: vmovaps %ymm0, 384(%rdx)3099; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3100; AVX-NEXT: vmovaps %ymm0, 352(%rdx)3101; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3102; AVX-NEXT: vmovaps %ymm0, 320(%rdx)3103; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3104; AVX-NEXT: vmovaps %ymm0, 288(%rdx)3105; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3106; AVX-NEXT: vmovaps %ymm0, 256(%rdx)3107; AVX-NEXT: vmovaps %ymm5, 224(%rdx)3108; AVX-NEXT: vmovaps %ymm6, 192(%rdx)3109; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3110; AVX-NEXT: vmovaps %ymm0, 160(%rdx)3111; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3112; AVX-NEXT: vmovaps %ymm0, 128(%rdx)3113; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3114; AVX-NEXT: vmovaps %ymm0, 96(%rdx)3115; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3116; AVX-NEXT: vmovaps %ymm0, 64(%rdx)3117; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3118; AVX-NEXT: vmovaps %ymm0, 32(%rdx)3119; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3120; AVX-NEXT: vmovaps %ymm0, (%rdx)3121; AVX-NEXT: addq $488, %rsp # imm = 0x1E83122; AVX-NEXT: vzeroupper3123; AVX-NEXT: retq3124;3125; AVX2-LABEL: store_i64_stride8_vf16:3126; AVX2: # %bb.0:3127; AVX2-NEXT: subq $488, %rsp # imm = 0x1E83128; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r103129; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3130; AVX2-NEXT: vmovaps (%rcx), %xmm03131; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3132; AVX2-NEXT: vmovaps 32(%rcx), %xmm33133; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3134; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03135; AVX2-NEXT: vmovaps (%rsi), %xmm23136; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3137; AVX2-NEXT: vmovaps 32(%rsi), %xmm43138; AVX2-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3139; AVX2-NEXT: vmovaps (%rdi), %xmm13140; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3141; AVX2-NEXT: vmovaps 32(%rdi), %xmm53142; AVX2-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3143; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]3144; AVX2-NEXT: vbroadcastsd 8(%rdx), %ymm23145; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3146; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3147; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3148; AVX2-NEXT: vmovaps (%rax), %xmm03149; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3150; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03151; AVX2-NEXT: vmovaps (%r9), %xmm13152; AVX2-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill3153; AVX2-NEXT: vmovaps 32(%r9), %xmm63154; AVX2-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3155; AVX2-NEXT: vmovaps (%r8), %xmm153156; AVX2-NEXT: vmovaps 32(%r8), %xmm73157; AVX2-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3158; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm15[1],xmm1[1]3159; AVX2-NEXT: vbroadcastsd 8(%r10), %ymm23160; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3161; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3162; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3163; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm03164; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]3165; AVX2-NEXT: vbroadcastsd 40(%rdx), %ymm23166; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3167; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3168; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3169; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]3170; AVX2-NEXT: vbroadcastsd 40(%r10), %ymm13171; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3172; AVX2-NEXT: vmovaps 32(%rax), %xmm123173; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm13174; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3175; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3176; AVX2-NEXT: vmovaps 64(%rsi), %xmm113177; AVX2-NEXT: vmovaps 64(%rdi), %xmm103178; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]3179; AVX2-NEXT: vbroadcastsd 72(%rdx), %ymm13180; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3181; AVX2-NEXT: vmovaps 64(%rcx), %xmm93182; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm13183; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3184; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3185; AVX2-NEXT: vmovaps 64(%r9), %xmm83186; AVX2-NEXT: vmovaps 64(%r8), %xmm73187; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]3188; AVX2-NEXT: vbroadcastsd 72(%r10), %ymm13189; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3190; AVX2-NEXT: vmovaps 64(%rax), %xmm63191; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm13192; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3193; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3194; AVX2-NEXT: vmovaps 96(%rsi), %xmm53195; AVX2-NEXT: vmovaps 96(%rdi), %xmm43196; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]3197; AVX2-NEXT: vbroadcastsd 104(%rdx), %ymm13198; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3199; AVX2-NEXT: vmovaps 96(%rcx), %xmm33200; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm13201; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3202; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3203; AVX2-NEXT: vmovaps 96(%r9), %xmm23204; AVX2-NEXT: vmovaps 96(%r8), %xmm13205; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]3206; AVX2-NEXT: vbroadcastsd 104(%r10), %ymm143207; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm14[4,5,6,7]3208; AVX2-NEXT: vmovaps 96(%rax), %xmm03209; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm133210; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]3211; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3212; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3213; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3214; AVX2-NEXT: # xmm13 = xmm13[0],mem[0]3215; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm13, %ymm133216; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3217; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3218; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3219; AVX2-NEXT: vunpcklpd (%rsp), %xmm15, %xmm13 # 16-byte Folded Reload3220; AVX2-NEXT: # xmm13 = xmm15[0],mem[0]3221; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm13, %ymm133222; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3223; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3224; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3225; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3226; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3227; AVX2-NEXT: # xmm13 = xmm13[0],mem[0]3228; AVX2-NEXT: vinsertf128 $1, 32(%rdx), %ymm13, %ymm133229; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3230; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3231; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3232; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3233; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3234; AVX2-NEXT: # xmm13 = xmm13[0],mem[0]3235; AVX2-NEXT: vinsertf128 $1, 32(%r10), %ymm13, %ymm133236; AVX2-NEXT: vbroadcastsd %xmm12, %ymm123237; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3238; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3239; AVX2-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]3240; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm10, %ymm103241; AVX2-NEXT: vbroadcastsd %xmm9, %ymm93242; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]3243; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3244; AVX2-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]3245; AVX2-NEXT: vinsertf128 $1, 64(%r10), %ymm7, %ymm73246; AVX2-NEXT: vbroadcastsd %xmm6, %ymm63247; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]3248; AVX2-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3249; AVX2-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]3250; AVX2-NEXT: vinsertf128 $1, 96(%rdx), %ymm4, %ymm43251; AVX2-NEXT: vbroadcastsd %xmm3, %ymm33252; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]3253; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3254; AVX2-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]3255; AVX2-NEXT: vinsertf128 $1, 96(%r10), %ymm1, %ymm13256; AVX2-NEXT: vbroadcastsd %xmm0, %ymm03257; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3258; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3259; AVX2-NEXT: vmovaps (%rdi), %ymm03260; AVX2-NEXT: vmovaps (%rsi), %ymm13261; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3262; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3263; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm33264; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]3265; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3266; AVX2-NEXT: vmovaps (%r8), %ymm23267; AVX2-NEXT: vmovaps (%r9), %ymm33268; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3269; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3270; AVX2-NEXT: vbroadcastsd 16(%rax), %ymm63271; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]3272; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3273; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3274; AVX2-NEXT: vbroadcastsd 24(%rdx), %ymm13275; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]3276; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3277; AVX2-NEXT: vbroadcastsd 24(%r10), %ymm23278; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm2[2,3]3279; AVX2-NEXT: vmovaps 32(%rdi), %ymm63280; AVX2-NEXT: vmovaps 32(%rsi), %ymm73281; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]3282; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3283; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm33284; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm3[6,7]3285; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3286; AVX2-NEXT: vmovaps 32(%r8), %ymm83287; AVX2-NEXT: vmovaps 32(%r9), %ymm93288; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]3289; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3290; AVX2-NEXT: vbroadcastsd 48(%rax), %ymm103291; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm10[6,7]3292; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]3293; AVX2-NEXT: vbroadcastsd 56(%rdx), %ymm73294; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm6[2,3],ymm7[2,3]3295; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]3296; AVX2-NEXT: vbroadcastsd 56(%r10), %ymm83297; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm6[2,3],ymm8[2,3]3298; AVX2-NEXT: vmovaps 64(%rdi), %ymm103299; AVX2-NEXT: vmovaps 64(%rsi), %ymm113300; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3301; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],mem[2,3]3302; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm93303; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3304; AVX2-NEXT: vmovaps 64(%r8), %ymm13305; AVX2-NEXT: vmovaps 64(%r9), %ymm03306; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3307; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],mem[2,3]3308; AVX2-NEXT: vbroadcastsd 80(%rax), %ymm143309; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm14[6,7]3310; AVX2-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3311; AVX2-NEXT: vbroadcastsd 88(%rdx), %ymm113312; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm11[2,3]3313; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3314; AVX2-NEXT: vbroadcastsd 88(%r10), %ymm13315; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3],ymm1[2,3]3316; AVX2-NEXT: vmovaps 96(%rdi), %ymm13317; AVX2-NEXT: vmovaps 96(%rsi), %ymm113318; AVX2-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm11[0],ymm1[2],ymm11[2]3319; AVX2-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],mem[2,3]3320; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm153321; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3322; AVX2-NEXT: vmovaps 96(%r8), %ymm153323; AVX2-NEXT: vmovaps 96(%r9), %ymm03324; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3325; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],mem[2,3]3326; AVX2-NEXT: vbroadcastsd 112(%rax), %ymm123327; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3328; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm11[1],ymm1[3],ymm11[3]3329; AVX2-NEXT: vbroadcastsd 120(%rdx), %ymm113330; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm11[2,3]3331; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm0[1],ymm15[3],ymm0[3]3332; AVX2-NEXT: vbroadcastsd 120(%r10), %ymm113333; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm11[2,3]3334; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx3335; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3336; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]3337; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]3338; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],mem[6,7]3339; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]3340; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]3341; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3342; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]3343; AVX2-NEXT: vmovaps %ymm0, 992(%rdx)3344; AVX2-NEXT: vmovaps %ymm1, 960(%rdx)3345; AVX2-NEXT: vmovaps %ymm12, 928(%rdx)3346; AVX2-NEXT: vmovaps %ymm14, 896(%rdx)3347; AVX2-NEXT: vmovaps %ymm2, 736(%rdx)3348; AVX2-NEXT: vmovaps %ymm10, 704(%rdx)3349; AVX2-NEXT: vmovaps %ymm9, 672(%rdx)3350; AVX2-NEXT: vmovaps %ymm6, 640(%rdx)3351; AVX2-NEXT: vmovaps %ymm8, 480(%rdx)3352; AVX2-NEXT: vmovaps %ymm7, 448(%rdx)3353; AVX2-NEXT: vmovaps %ymm3, 416(%rdx)3354; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3355; AVX2-NEXT: vmovaps %ymm0, 384(%rdx)3356; AVX2-NEXT: vmovaps %ymm4, 224(%rdx)3357; AVX2-NEXT: vmovaps %ymm5, 192(%rdx)3358; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3359; AVX2-NEXT: vmovaps %ymm0, 160(%rdx)3360; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3361; AVX2-NEXT: vmovaps %ymm0, 128(%rdx)3362; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3363; AVX2-NEXT: vmovaps %ymm0, 864(%rdx)3364; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3365; AVX2-NEXT: vmovaps %ymm0, 832(%rdx)3366; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3367; AVX2-NEXT: vmovaps %ymm0, 800(%rdx)3368; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3369; AVX2-NEXT: vmovaps %ymm0, 768(%rdx)3370; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3371; AVX2-NEXT: vmovaps %ymm0, 608(%rdx)3372; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3373; AVX2-NEXT: vmovaps %ymm0, 576(%rdx)3374; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3375; AVX2-NEXT: vmovaps %ymm0, 544(%rdx)3376; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3377; AVX2-NEXT: vmovaps %ymm0, 512(%rdx)3378; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3379; AVX2-NEXT: vmovaps %ymm0, 352(%rdx)3380; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3381; AVX2-NEXT: vmovaps %ymm0, 320(%rdx)3382; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3383; AVX2-NEXT: vmovaps %ymm0, 288(%rdx)3384; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3385; AVX2-NEXT: vmovaps %ymm0, 256(%rdx)3386; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3387; AVX2-NEXT: vmovaps %ymm0, 96(%rdx)3388; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3389; AVX2-NEXT: vmovaps %ymm0, 64(%rdx)3390; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3391; AVX2-NEXT: vmovaps %ymm0, 32(%rdx)3392; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3393; AVX2-NEXT: vmovaps %ymm0, (%rdx)3394; AVX2-NEXT: addq $488, %rsp # imm = 0x1E83395; AVX2-NEXT: vzeroupper3396; AVX2-NEXT: retq3397;3398; AVX2-FP-LABEL: store_i64_stride8_vf16:3399; AVX2-FP: # %bb.0:3400; AVX2-FP-NEXT: subq $488, %rsp # imm = 0x1E83401; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r103402; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3403; AVX2-FP-NEXT: vmovaps (%rcx), %xmm03404; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3405; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm33406; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3407; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03408; AVX2-FP-NEXT: vmovaps (%rsi), %xmm23409; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3410; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm43411; AVX2-FP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3412; AVX2-FP-NEXT: vmovaps (%rdi), %xmm13413; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3414; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm53415; AVX2-FP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3416; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]3417; AVX2-FP-NEXT: vbroadcastsd 8(%rdx), %ymm23418; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3419; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3420; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3421; AVX2-FP-NEXT: vmovaps (%rax), %xmm03422; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3423; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03424; AVX2-FP-NEXT: vmovaps (%r9), %xmm13425; AVX2-FP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill3426; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm63427; AVX2-FP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3428; AVX2-FP-NEXT: vmovaps (%r8), %xmm153429; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm73430; AVX2-FP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3431; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm15[1],xmm1[1]3432; AVX2-FP-NEXT: vbroadcastsd 8(%r10), %ymm23433; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3434; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3435; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3436; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm03437; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]3438; AVX2-FP-NEXT: vbroadcastsd 40(%rdx), %ymm23439; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3440; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3441; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3442; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]3443; AVX2-FP-NEXT: vbroadcastsd 40(%r10), %ymm13444; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3445; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm123446; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm13447; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3448; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3449; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm113450; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm103451; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]3452; AVX2-FP-NEXT: vbroadcastsd 72(%rdx), %ymm13453; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3454; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm93455; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm13456; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3457; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3458; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm83459; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm73460; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]3461; AVX2-FP-NEXT: vbroadcastsd 72(%r10), %ymm13462; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3463; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm63464; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm13465; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3466; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3467; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm53468; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm43469; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]3470; AVX2-FP-NEXT: vbroadcastsd 104(%rdx), %ymm13471; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3472; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm33473; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm13474; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3475; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3476; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm23477; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm13478; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]3479; AVX2-FP-NEXT: vbroadcastsd 104(%r10), %ymm143480; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm14[4,5,6,7]3481; AVX2-FP-NEXT: vmovaps 96(%rax), %xmm03482; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm133483; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]3484; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3485; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3486; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3487; AVX2-FP-NEXT: # xmm13 = xmm13[0],mem[0]3488; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm13, %ymm133489; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3490; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3491; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3492; AVX2-FP-NEXT: vunpcklpd (%rsp), %xmm15, %xmm13 # 16-byte Folded Reload3493; AVX2-FP-NEXT: # xmm13 = xmm15[0],mem[0]3494; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm13, %ymm133495; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3496; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3497; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3498; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3499; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3500; AVX2-FP-NEXT: # xmm13 = xmm13[0],mem[0]3501; AVX2-FP-NEXT: vinsertf128 $1, 32(%rdx), %ymm13, %ymm133502; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3503; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3504; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3505; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3506; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3507; AVX2-FP-NEXT: # xmm13 = xmm13[0],mem[0]3508; AVX2-FP-NEXT: vinsertf128 $1, 32(%r10), %ymm13, %ymm133509; AVX2-FP-NEXT: vbroadcastsd %xmm12, %ymm123510; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3511; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3512; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]3513; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm10, %ymm103514; AVX2-FP-NEXT: vbroadcastsd %xmm9, %ymm93515; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]3516; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3517; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]3518; AVX2-FP-NEXT: vinsertf128 $1, 64(%r10), %ymm7, %ymm73519; AVX2-FP-NEXT: vbroadcastsd %xmm6, %ymm63520; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]3521; AVX2-FP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3522; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]3523; AVX2-FP-NEXT: vinsertf128 $1, 96(%rdx), %ymm4, %ymm43524; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm33525; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]3526; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3527; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]3528; AVX2-FP-NEXT: vinsertf128 $1, 96(%r10), %ymm1, %ymm13529; AVX2-FP-NEXT: vbroadcastsd %xmm0, %ymm03530; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3531; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3532; AVX2-FP-NEXT: vmovaps (%rdi), %ymm03533; AVX2-FP-NEXT: vmovaps (%rsi), %ymm13534; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3535; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3536; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm33537; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]3538; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3539; AVX2-FP-NEXT: vmovaps (%r8), %ymm23540; AVX2-FP-NEXT: vmovaps (%r9), %ymm33541; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3542; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3543; AVX2-FP-NEXT: vbroadcastsd 16(%rax), %ymm63544; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]3545; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3546; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3547; AVX2-FP-NEXT: vbroadcastsd 24(%rdx), %ymm13548; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]3549; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3550; AVX2-FP-NEXT: vbroadcastsd 24(%r10), %ymm23551; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm2[2,3]3552; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm63553; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm73554; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]3555; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3556; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm33557; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm3[6,7]3558; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3559; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm83560; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm93561; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]3562; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3563; AVX2-FP-NEXT: vbroadcastsd 48(%rax), %ymm103564; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm10[6,7]3565; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]3566; AVX2-FP-NEXT: vbroadcastsd 56(%rdx), %ymm73567; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm6[2,3],ymm7[2,3]3568; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]3569; AVX2-FP-NEXT: vbroadcastsd 56(%r10), %ymm83570; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm6[2,3],ymm8[2,3]3571; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm103572; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm113573; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3574; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],mem[2,3]3575; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm93576; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3577; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm13578; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm03579; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3580; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],mem[2,3]3581; AVX2-FP-NEXT: vbroadcastsd 80(%rax), %ymm143582; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm14[6,7]3583; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3584; AVX2-FP-NEXT: vbroadcastsd 88(%rdx), %ymm113585; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm11[2,3]3586; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3587; AVX2-FP-NEXT: vbroadcastsd 88(%r10), %ymm13588; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3],ymm1[2,3]3589; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm13590; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm113591; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm11[0],ymm1[2],ymm11[2]3592; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],mem[2,3]3593; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm153594; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3595; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm153596; AVX2-FP-NEXT: vmovaps 96(%r9), %ymm03597; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3598; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],mem[2,3]3599; AVX2-FP-NEXT: vbroadcastsd 112(%rax), %ymm123600; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3601; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm11[1],ymm1[3],ymm11[3]3602; AVX2-FP-NEXT: vbroadcastsd 120(%rdx), %ymm113603; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm11[2,3]3604; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm0[1],ymm15[3],ymm0[3]3605; AVX2-FP-NEXT: vbroadcastsd 120(%r10), %ymm113606; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm11[2,3]3607; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rdx3608; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3609; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]3610; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]3611; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],mem[6,7]3612; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]3613; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]3614; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3615; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]3616; AVX2-FP-NEXT: vmovaps %ymm0, 992(%rdx)3617; AVX2-FP-NEXT: vmovaps %ymm1, 960(%rdx)3618; AVX2-FP-NEXT: vmovaps %ymm12, 928(%rdx)3619; AVX2-FP-NEXT: vmovaps %ymm14, 896(%rdx)3620; AVX2-FP-NEXT: vmovaps %ymm2, 736(%rdx)3621; AVX2-FP-NEXT: vmovaps %ymm10, 704(%rdx)3622; AVX2-FP-NEXT: vmovaps %ymm9, 672(%rdx)3623; AVX2-FP-NEXT: vmovaps %ymm6, 640(%rdx)3624; AVX2-FP-NEXT: vmovaps %ymm8, 480(%rdx)3625; AVX2-FP-NEXT: vmovaps %ymm7, 448(%rdx)3626; AVX2-FP-NEXT: vmovaps %ymm3, 416(%rdx)3627; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3628; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rdx)3629; AVX2-FP-NEXT: vmovaps %ymm4, 224(%rdx)3630; AVX2-FP-NEXT: vmovaps %ymm5, 192(%rdx)3631; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3632; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rdx)3633; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3634; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rdx)3635; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3636; AVX2-FP-NEXT: vmovaps %ymm0, 864(%rdx)3637; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3638; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rdx)3639; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3640; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rdx)3641; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3642; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rdx)3643; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3644; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rdx)3645; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3646; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rdx)3647; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3648; AVX2-FP-NEXT: vmovaps %ymm0, 544(%rdx)3649; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3650; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rdx)3651; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3652; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rdx)3653; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3654; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rdx)3655; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3656; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rdx)3657; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3658; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rdx)3659; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3660; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rdx)3661; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3662; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rdx)3663; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3664; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rdx)3665; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3666; AVX2-FP-NEXT: vmovaps %ymm0, (%rdx)3667; AVX2-FP-NEXT: addq $488, %rsp # imm = 0x1E83668; AVX2-FP-NEXT: vzeroupper3669; AVX2-FP-NEXT: retq3670;3671; AVX2-FCP-LABEL: store_i64_stride8_vf16:3672; AVX2-FCP: # %bb.0:3673; AVX2-FCP-NEXT: subq $488, %rsp # imm = 0x1E83674; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r103675; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3676; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm03677; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3678; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm33679; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3680; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03681; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm23682; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3683; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm43684; AVX2-FCP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3685; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm13686; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3687; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm53688; AVX2-FCP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3689; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]3690; AVX2-FCP-NEXT: vbroadcastsd 8(%rdx), %ymm23691; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3692; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3693; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3694; AVX2-FCP-NEXT: vmovaps (%rax), %xmm03695; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3696; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03697; AVX2-FCP-NEXT: vmovaps (%r9), %xmm13698; AVX2-FCP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill3699; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm63700; AVX2-FCP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3701; AVX2-FCP-NEXT: vmovaps (%r8), %xmm153702; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm73703; AVX2-FCP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3704; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm15[1],xmm1[1]3705; AVX2-FCP-NEXT: vbroadcastsd 8(%r10), %ymm23706; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3707; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3708; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3709; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm03710; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]3711; AVX2-FCP-NEXT: vbroadcastsd 40(%rdx), %ymm23712; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3713; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3714; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3715; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]3716; AVX2-FCP-NEXT: vbroadcastsd 40(%r10), %ymm13717; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3718; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm123719; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm13720; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3721; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3722; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm113723; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm103724; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]3725; AVX2-FCP-NEXT: vbroadcastsd 72(%rdx), %ymm13726; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3727; AVX2-FCP-NEXT: vmovaps 64(%rcx), %xmm93728; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm13729; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3730; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3731; AVX2-FCP-NEXT: vmovaps 64(%r9), %xmm83732; AVX2-FCP-NEXT: vmovaps 64(%r8), %xmm73733; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]3734; AVX2-FCP-NEXT: vbroadcastsd 72(%r10), %ymm13735; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3736; AVX2-FCP-NEXT: vmovaps 64(%rax), %xmm63737; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm13738; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3739; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3740; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm53741; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm43742; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]3743; AVX2-FCP-NEXT: vbroadcastsd 104(%rdx), %ymm13744; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3745; AVX2-FCP-NEXT: vmovaps 96(%rcx), %xmm33746; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm13747; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3748; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3749; AVX2-FCP-NEXT: vmovaps 96(%r9), %xmm23750; AVX2-FCP-NEXT: vmovaps 96(%r8), %xmm13751; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]3752; AVX2-FCP-NEXT: vbroadcastsd 104(%r10), %ymm143753; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm14[4,5,6,7]3754; AVX2-FCP-NEXT: vmovaps 96(%rax), %xmm03755; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm133756; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]3757; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3758; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3759; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3760; AVX2-FCP-NEXT: # xmm13 = xmm13[0],mem[0]3761; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm13, %ymm133762; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3763; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3764; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3765; AVX2-FCP-NEXT: vunpcklpd (%rsp), %xmm15, %xmm13 # 16-byte Folded Reload3766; AVX2-FCP-NEXT: # xmm13 = xmm15[0],mem[0]3767; AVX2-FCP-NEXT: vinsertf128 $1, (%r10), %ymm13, %ymm133768; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3769; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3770; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3771; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3772; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3773; AVX2-FCP-NEXT: # xmm13 = xmm13[0],mem[0]3774; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rdx), %ymm13, %ymm133775; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 16-byte Folded Reload3776; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]3777; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3778; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3779; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload3780; AVX2-FCP-NEXT: # xmm13 = xmm13[0],mem[0]3781; AVX2-FCP-NEXT: vinsertf128 $1, 32(%r10), %ymm13, %ymm133782; AVX2-FCP-NEXT: vbroadcastsd %xmm12, %ymm123783; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3784; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3785; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]3786; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rdx), %ymm10, %ymm103787; AVX2-FCP-NEXT: vbroadcastsd %xmm9, %ymm93788; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]3789; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3790; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]3791; AVX2-FCP-NEXT: vinsertf128 $1, 64(%r10), %ymm7, %ymm73792; AVX2-FCP-NEXT: vbroadcastsd %xmm6, %ymm63793; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]3794; AVX2-FCP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3795; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]3796; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rdx), %ymm4, %ymm43797; AVX2-FCP-NEXT: vbroadcastsd %xmm3, %ymm33798; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]3799; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3800; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]3801; AVX2-FCP-NEXT: vinsertf128 $1, 96(%r10), %ymm1, %ymm13802; AVX2-FCP-NEXT: vbroadcastsd %xmm0, %ymm03803; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3804; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3805; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm03806; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm13807; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3808; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3809; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm33810; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]3811; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3812; AVX2-FCP-NEXT: vmovaps (%r8), %ymm23813; AVX2-FCP-NEXT: vmovaps (%r9), %ymm33814; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3815; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3816; AVX2-FCP-NEXT: vbroadcastsd 16(%rax), %ymm63817; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]3818; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3819; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3820; AVX2-FCP-NEXT: vbroadcastsd 24(%rdx), %ymm13821; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]3822; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3823; AVX2-FCP-NEXT: vbroadcastsd 24(%r10), %ymm23824; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm2[2,3]3825; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm63826; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm73827; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]3828; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3829; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm33830; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm3[6,7]3831; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3832; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm83833; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm93834; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]3835; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]3836; AVX2-FCP-NEXT: vbroadcastsd 48(%rax), %ymm103837; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm10[6,7]3838; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]3839; AVX2-FCP-NEXT: vbroadcastsd 56(%rdx), %ymm73840; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm6[2,3],ymm7[2,3]3841; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]3842; AVX2-FCP-NEXT: vbroadcastsd 56(%r10), %ymm83843; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm6[2,3],ymm8[2,3]3844; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm103845; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm113846; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3847; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],mem[2,3]3848; AVX2-FCP-NEXT: vbroadcastsd 80(%rcx), %ymm93849; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3850; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm13851; AVX2-FCP-NEXT: vmovaps 64(%r9), %ymm03852; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3853; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],mem[2,3]3854; AVX2-FCP-NEXT: vbroadcastsd 80(%rax), %ymm143855; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm14[6,7]3856; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3857; AVX2-FCP-NEXT: vbroadcastsd 88(%rdx), %ymm113858; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm11[2,3]3859; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3860; AVX2-FCP-NEXT: vbroadcastsd 88(%r10), %ymm13861; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3],ymm1[2,3]3862; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm13863; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm113864; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm11[0],ymm1[2],ymm11[2]3865; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],mem[2,3]3866; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm153867; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3868; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm153869; AVX2-FCP-NEXT: vmovaps 96(%r9), %ymm03870; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3871; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],mem[2,3]3872; AVX2-FCP-NEXT: vbroadcastsd 112(%rax), %ymm123873; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]3874; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm11[1],ymm1[3],ymm11[3]3875; AVX2-FCP-NEXT: vbroadcastsd 120(%rdx), %ymm113876; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm11[2,3]3877; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm0[1],ymm15[3],ymm0[3]3878; AVX2-FCP-NEXT: vbroadcastsd 120(%r10), %ymm113879; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm11[2,3]3880; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rdx3881; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3882; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]3883; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]3884; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],mem[6,7]3885; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]3886; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]3887; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3888; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]3889; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%rdx)3890; AVX2-FCP-NEXT: vmovaps %ymm1, 960(%rdx)3891; AVX2-FCP-NEXT: vmovaps %ymm12, 928(%rdx)3892; AVX2-FCP-NEXT: vmovaps %ymm14, 896(%rdx)3893; AVX2-FCP-NEXT: vmovaps %ymm2, 736(%rdx)3894; AVX2-FCP-NEXT: vmovaps %ymm10, 704(%rdx)3895; AVX2-FCP-NEXT: vmovaps %ymm9, 672(%rdx)3896; AVX2-FCP-NEXT: vmovaps %ymm6, 640(%rdx)3897; AVX2-FCP-NEXT: vmovaps %ymm8, 480(%rdx)3898; AVX2-FCP-NEXT: vmovaps %ymm7, 448(%rdx)3899; AVX2-FCP-NEXT: vmovaps %ymm3, 416(%rdx)3900; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3901; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rdx)3902; AVX2-FCP-NEXT: vmovaps %ymm4, 224(%rdx)3903; AVX2-FCP-NEXT: vmovaps %ymm5, 192(%rdx)3904; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3905; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rdx)3906; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3907; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rdx)3908; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3909; AVX2-FCP-NEXT: vmovaps %ymm0, 864(%rdx)3910; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3911; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rdx)3912; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3913; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rdx)3914; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3915; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rdx)3916; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3917; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rdx)3918; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3919; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rdx)3920; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3921; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%rdx)3922; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3923; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rdx)3924; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3925; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rdx)3926; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3927; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rdx)3928; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3929; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rdx)3930; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3931; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rdx)3932; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3933; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rdx)3934; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3935; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rdx)3936; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3937; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rdx)3938; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3939; AVX2-FCP-NEXT: vmovaps %ymm0, (%rdx)3940; AVX2-FCP-NEXT: addq $488, %rsp # imm = 0x1E83941; AVX2-FCP-NEXT: vzeroupper3942; AVX2-FCP-NEXT: retq3943;3944; AVX512-LABEL: store_i64_stride8_vf16:3945; AVX512: # %bb.0:3946; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax3947; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r103948; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r113949; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm113950; AVX512-NEXT: vmovdqa64 (%rdi), %zmm153951; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm273952; AVX512-NEXT: vmovdqa64 (%rsi), %zmm173953; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm143954; AVX512-NEXT: vmovdqa64 (%rdx), %zmm53955; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm283956; AVX512-NEXT: vmovdqa64 (%rcx), %zmm263957; AVX512-NEXT: vmovdqa64 (%r8), %zmm63958; AVX512-NEXT: vmovdqa64 64(%r8), %zmm03959; AVX512-NEXT: vmovdqa64 (%r9), %zmm73960; AVX512-NEXT: vmovdqa64 64(%r9), %zmm13961; AVX512-NEXT: vmovdqa64 (%r11), %zmm83962; AVX512-NEXT: vmovdqa64 64(%r11), %zmm33963; AVX512-NEXT: vmovdqa64 (%r10), %zmm93964; AVX512-NEXT: vmovdqa64 64(%r10), %zmm43965; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]3966; AVX512-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3967; AVX512-NEXT: vmovdqa64 %zmm8, %zmm103968; AVX512-NEXT: vpermt2q %zmm9, %zmm18, %zmm103969; AVX512-NEXT: vmovdqa64 %zmm6, %zmm123970; AVX512-NEXT: vpermt2q %zmm7, %zmm18, %zmm123971; AVX512-NEXT: movb $-64, %r8b3972; AVX512-NEXT: kmovw %r8d, %k13973; AVX512-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}3974; AVX512-NEXT: vmovdqa (%rsi), %xmm103975; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm103976; AVX512-NEXT: vmovdqa64 (%rdi), %xmm163977; AVX512-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm163978; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]3979; AVX512-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm213980; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]3981; AVX512-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3982; AVX512-NEXT: vmovdqa64 %zmm8, %zmm123983; AVX512-NEXT: vpermt2q %zmm9, %zmm19, %zmm123984; AVX512-NEXT: vmovdqa64 %zmm6, %zmm203985; AVX512-NEXT: vpermt2q %zmm7, %zmm19, %zmm203986; AVX512-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}3987; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]3988; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm223989; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]3990; AVX512-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3991; AVX512-NEXT: vmovdqa64 %zmm5, %zmm103992; AVX512-NEXT: vpermt2q %zmm26, %zmm20, %zmm103993; AVX512-NEXT: vmovdqa64 %zmm15, %zmm123994; AVX512-NEXT: vpermt2q %zmm17, %zmm20, %zmm123995; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]3996; AVX512-NEXT: vmovdqa64 %zmm8, %zmm123997; AVX512-NEXT: vpermt2q %zmm9, %zmm20, %zmm123998; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]3999; AVX512-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4000; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294001; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4002; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4003; AVX512-NEXT: vmovdqa64 %zmm5, %zmm124004; AVX512-NEXT: vpermt2q %zmm26, %zmm23, %zmm124005; AVX512-NEXT: vmovdqa64 %zmm15, %zmm24006; AVX512-NEXT: vpermt2q %zmm17, %zmm23, %zmm24007; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]4008; AVX512-NEXT: vmovdqa64 %zmm8, %zmm124009; AVX512-NEXT: vpermt2q %zmm9, %zmm23, %zmm124010; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4011; AVX512-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4012; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm314013; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]4014; AVX512-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4015; AVX512-NEXT: vmovdqa64 %zmm5, %zmm24016; AVX512-NEXT: vpermt2q %zmm26, %zmm24, %zmm24017; AVX512-NEXT: vmovdqa64 %zmm15, %zmm134018; AVX512-NEXT: vpermt2q %zmm17, %zmm24, %zmm134019; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]4020; AVX512-NEXT: vmovdqa64 %zmm6, %zmm134021; AVX512-NEXT: vpermt2q %zmm7, %zmm24, %zmm134022; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]4023; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm164024; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]4025; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4026; AVX512-NEXT: vpermt2q %zmm26, %zmm25, %zmm54027; AVX512-NEXT: vpermt2q %zmm17, %zmm25, %zmm154028; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]4029; AVX512-NEXT: vmovdqa64 %zmm6, %zmm54030; AVX512-NEXT: vpermt2q %zmm7, %zmm25, %zmm54031; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]4032; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm174033; AVX512-NEXT: vmovdqa64 %zmm3, %zmm24034; AVX512-NEXT: vpermt2q %zmm4, %zmm18, %zmm24035; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm184036; AVX512-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}4037; AVX512-NEXT: vmovdqa 64(%rsi), %xmm24038; AVX512-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm24039; AVX512-NEXT: vmovdqa 64(%rdi), %xmm54040; AVX512-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm54041; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]4042; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm184043; AVX512-NEXT: vmovdqa64 %zmm3, %zmm134044; AVX512-NEXT: vpermt2q %zmm4, %zmm19, %zmm134045; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm194046; AVX512-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}4047; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]4048; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm194049; AVX512-NEXT: vmovdqa64 %zmm14, %zmm24050; AVX512-NEXT: vpermt2q %zmm28, %zmm20, %zmm24051; AVX512-NEXT: vmovdqa64 %zmm11, %zmm54052; AVX512-NEXT: vpermt2q %zmm27, %zmm20, %zmm54053; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4054; AVX512-NEXT: vpermi2q %zmm4, %zmm3, %zmm204055; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]4056; AVX512-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}4057; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm204058; AVX512-NEXT: vmovdqa64 %zmm14, %zmm24059; AVX512-NEXT: vpermt2q %zmm28, %zmm23, %zmm24060; AVX512-NEXT: vmovdqa64 %zmm11, %zmm54061; AVX512-NEXT: vpermt2q %zmm27, %zmm23, %zmm54062; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4063; AVX512-NEXT: vpermi2q %zmm4, %zmm3, %zmm234064; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]4065; AVX512-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}4066; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm24067; AVX512-NEXT: vmovdqa64 %zmm14, %zmm54068; AVX512-NEXT: vpermt2q %zmm28, %zmm24, %zmm54069; AVX512-NEXT: vmovdqa64 %zmm11, %zmm134070; AVX512-NEXT: vpermt2q %zmm27, %zmm24, %zmm134071; AVX512-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]4072; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm244073; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]4074; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm54075; AVX512-NEXT: vpermt2q %zmm28, %zmm25, %zmm144076; AVX512-NEXT: vpermt2q %zmm27, %zmm25, %zmm114077; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]4078; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm254079; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]4080; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm114081; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]4082; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4083; AVX512-NEXT: vmovdqa64 %zmm8, %zmm144084; AVX512-NEXT: vpermt2q %zmm9, %zmm13, %zmm144085; AVX512-NEXT: vmovdqa64 %zmm6, %zmm154086; AVX512-NEXT: vpermt2q %zmm7, %zmm13, %zmm154087; AVX512-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}4088; AVX512-NEXT: vmovdqa (%rcx), %ymm144089; AVX512-NEXT: vmovdqa64 64(%rcx), %ymm234090; AVX512-NEXT: vmovdqa64 (%rdx), %ymm244091; AVX512-NEXT: vmovdqa64 64(%rdx), %ymm254092; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]4093; AVX512-NEXT: vmovdqa64 (%rsi), %ymm264094; AVX512-NEXT: vmovdqa64 64(%rsi), %ymm274095; AVX512-NEXT: vmovdqa64 (%rdi), %ymm284096; AVX512-NEXT: vmovdqa64 64(%rdi), %ymm304097; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]4098; AVX512-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]4099; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm104100; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]4101; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4102; AVX512-NEXT: vpermt2q %zmm9, %zmm12, %zmm84103; AVX512-NEXT: vpermt2q %zmm7, %zmm12, %zmm64104; AVX512-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}4105; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]4106; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]4107; AVX512-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4108; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm64109; AVX512-NEXT: vmovdqa64 %zmm3, %zmm74110; AVX512-NEXT: vpermt2q %zmm4, %zmm13, %zmm74111; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm134112; AVX512-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}4113; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]4114; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]4115; AVX512-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4116; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm74117; AVX512-NEXT: vpermt2q %zmm4, %zmm12, %zmm34118; AVX512-NEXT: vpermt2q %zmm1, %zmm12, %zmm04119; AVX512-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}4120; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]4121; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]4122; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4123; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm04124; AVX512-NEXT: vmovdqa64 %zmm0, 640(%rax)4125; AVX512-NEXT: vmovdqa64 %zmm7, 704(%rax)4126; AVX512-NEXT: vmovdqa64 %zmm6, 128(%rax)4127; AVX512-NEXT: vmovdqa64 %zmm10, 192(%rax)4128; AVX512-NEXT: vmovdqa64 %zmm11, 896(%rax)4129; AVX512-NEXT: vmovdqa64 %zmm5, 960(%rax)4130; AVX512-NEXT: vmovdqa64 %zmm2, 768(%rax)4131; AVX512-NEXT: vmovdqa64 %zmm20, 832(%rax)4132; AVX512-NEXT: vmovdqa64 %zmm19, 512(%rax)4133; AVX512-NEXT: vmovdqa64 %zmm18, 576(%rax)4134; AVX512-NEXT: vmovdqa64 %zmm17, 384(%rax)4135; AVX512-NEXT: vmovdqa64 %zmm16, 448(%rax)4136; AVX512-NEXT: vmovdqa64 %zmm31, 256(%rax)4137; AVX512-NEXT: vmovdqa64 %zmm29, 320(%rax)4138; AVX512-NEXT: vmovdqa64 %zmm22, (%rax)4139; AVX512-NEXT: vmovdqa64 %zmm21, 64(%rax)4140; AVX512-NEXT: vzeroupper4141; AVX512-NEXT: retq4142;4143; AVX512-FCP-LABEL: store_i64_stride8_vf16:4144; AVX512-FCP: # %bb.0:4145; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4146; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r104147; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r114148; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm114149; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm154150; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm274151; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm174152; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm144153; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm54154; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm284155; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm264156; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm64157; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm04158; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm74159; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm14160; AVX512-FCP-NEXT: vmovdqa64 (%r11), %zmm84161; AVX512-FCP-NEXT: vmovdqa64 64(%r11), %zmm34162; AVX512-FCP-NEXT: vmovdqa64 (%r10), %zmm94163; AVX512-FCP-NEXT: vmovdqa64 64(%r10), %zmm44164; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]4165; AVX512-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4166; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm104167; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm104168; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm124169; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm124170; AVX512-FCP-NEXT: movb $-64, %r8b4171; AVX512-FCP-NEXT: kmovw %r8d, %k14172; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}4173; AVX512-FCP-NEXT: vmovdqa (%rsi), %xmm104174; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm104175; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %xmm164176; AVX512-FCP-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm164177; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]4178; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm214179; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]4180; AVX512-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4181; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm124182; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm19, %zmm124183; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm204184; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm204185; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}4186; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]4187; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm224188; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]4189; AVX512-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4190; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm104191; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm20, %zmm104192; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm124193; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm20, %zmm124194; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]4195; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm124196; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm124197; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]4198; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4199; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294200; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4201; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4202; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm124203; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm124204; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm24205; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm23, %zmm24206; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]4207; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm124208; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm124209; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4210; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4211; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm314212; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]4213; AVX512-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4214; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm24215; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm24216; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm134217; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm24, %zmm134218; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]4219; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm134220; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm24, %zmm134221; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]4222; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm164223; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]4224; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4225; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm54226; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm25, %zmm154227; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]4228; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm54229; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm25, %zmm54230; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]4231; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm174232; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm24233; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm18, %zmm24234; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm184235; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}4236; AVX512-FCP-NEXT: vmovdqa 64(%rsi), %xmm24237; AVX512-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm24238; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm54239; AVX512-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm54240; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]4241; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm184242; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm134243; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm134244; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm194245; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}4246; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]4247; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm194248; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm24249; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm20, %zmm24250; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm54251; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm20, %zmm54252; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4253; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm204254; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]4255; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}4256; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm204257; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm24258; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm24259; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm54260; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm23, %zmm54261; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4262; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm234263; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]4264; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}4265; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm24266; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm54267; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm24, %zmm54268; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm134269; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm24, %zmm134270; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]4271; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm244272; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]4273; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm54274; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm144275; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm25, %zmm114276; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]4277; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm254278; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]4279; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm114280; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]4281; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4282; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm144283; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm13, %zmm144284; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm154285; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm154286; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}4287; AVX512-FCP-NEXT: vmovdqa (%rcx), %ymm144288; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %ymm234289; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %ymm244290; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %ymm254291; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]4292; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %ymm264293; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %ymm274294; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %ymm284295; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %ymm304296; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]4297; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]4298; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm104299; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]4300; AVX512-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4301; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm12, %zmm84302; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm64303; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}4304; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]4305; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]4306; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4307; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm64308; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm74309; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm74310; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm134311; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}4312; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]4313; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]4314; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4315; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm74316; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm12, %zmm34317; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm04318; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}4319; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]4320; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]4321; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4322; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm04323; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 640(%rax)4324; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)4325; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)4326; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)4327; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 896(%rax)4328; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 960(%rax)4329; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 768(%rax)4330; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 832(%rax)4331; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)4332; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 576(%rax)4333; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 384(%rax)4334; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 448(%rax)4335; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 256(%rax)4336; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 320(%rax)4337; AVX512-FCP-NEXT: vmovdqa64 %zmm22, (%rax)4338; AVX512-FCP-NEXT: vmovdqa64 %zmm21, 64(%rax)4339; AVX512-FCP-NEXT: vzeroupper4340; AVX512-FCP-NEXT: retq4341;4342; AVX512DQ-LABEL: store_i64_stride8_vf16:4343; AVX512DQ: # %bb.0:4344; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4345; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r104346; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r114347; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm114348; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm154349; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm274350; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm174351; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm144352; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm54353; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm284354; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm264355; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm64356; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm04357; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm74358; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm14359; AVX512DQ-NEXT: vmovdqa64 (%r11), %zmm84360; AVX512DQ-NEXT: vmovdqa64 64(%r11), %zmm34361; AVX512DQ-NEXT: vmovdqa64 (%r10), %zmm94362; AVX512DQ-NEXT: vmovdqa64 64(%r10), %zmm44363; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]4364; AVX512DQ-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4365; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm104366; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm18, %zmm104367; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm124368; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm18, %zmm124369; AVX512DQ-NEXT: movb $-64, %r8b4370; AVX512DQ-NEXT: kmovw %r8d, %k14371; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}4372; AVX512DQ-NEXT: vmovdqa (%rsi), %xmm104373; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm104374; AVX512DQ-NEXT: vmovdqa64 (%rdi), %xmm164375; AVX512DQ-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm164376; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]4377; AVX512DQ-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm214378; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]4379; AVX512DQ-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4380; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm124381; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm19, %zmm124382; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm204383; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm19, %zmm204384; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}4385; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]4386; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm224387; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]4388; AVX512DQ-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4389; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm104390; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm20, %zmm104391; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm124392; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm20, %zmm124393; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]4394; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm124395; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm20, %zmm124396; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]4397; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4398; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294399; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4400; AVX512DQ-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4401; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm124402; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm23, %zmm124403; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm24404; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm23, %zmm24405; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]4406; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm124407; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm23, %zmm124408; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4409; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4410; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm314411; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]4412; AVX512DQ-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4413; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm24414; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm24, %zmm24415; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm134416; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm24, %zmm134417; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]4418; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm134419; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm24, %zmm134420; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]4421; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm164422; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]4423; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4424; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm25, %zmm54425; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm25, %zmm154426; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]4427; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm54428; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm25, %zmm54429; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]4430; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm174431; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm24432; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm18, %zmm24433; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm184434; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}4435; AVX512DQ-NEXT: vmovdqa 64(%rsi), %xmm24436; AVX512DQ-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm24437; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm54438; AVX512DQ-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm54439; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]4440; AVX512DQ-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm184441; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm134442; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm19, %zmm134443; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm194444; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}4445; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]4446; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm194447; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm24448; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm20, %zmm24449; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm54450; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm20, %zmm54451; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4452; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm3, %zmm204453; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]4454; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}4455; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm204456; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm24457; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm23, %zmm24458; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm54459; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm23, %zmm54460; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4461; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm3, %zmm234462; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]4463; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}4464; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm24465; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm54466; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm24, %zmm54467; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm134468; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm24, %zmm134469; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]4470; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm244471; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]4472; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm54473; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm25, %zmm144474; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm25, %zmm114475; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]4476; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm254477; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]4478; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm114479; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]4480; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4481; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm144482; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm13, %zmm144483; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm154484; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm13, %zmm154485; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}4486; AVX512DQ-NEXT: vmovdqa (%rcx), %ymm144487; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %ymm234488; AVX512DQ-NEXT: vmovdqa64 (%rdx), %ymm244489; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %ymm254490; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]4491; AVX512DQ-NEXT: vmovdqa64 (%rsi), %ymm264492; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %ymm274493; AVX512DQ-NEXT: vmovdqa64 (%rdi), %ymm284494; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %ymm304495; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]4496; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]4497; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm104498; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]4499; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4500; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm12, %zmm84501; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm12, %zmm64502; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}4503; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]4504; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]4505; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4506; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm64507; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm74508; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm13, %zmm74509; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm134510; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}4511; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]4512; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]4513; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4514; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm74515; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm12, %zmm34516; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm12, %zmm04517; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}4518; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]4519; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]4520; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4521; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm04522; AVX512DQ-NEXT: vmovdqa64 %zmm0, 640(%rax)4523; AVX512DQ-NEXT: vmovdqa64 %zmm7, 704(%rax)4524; AVX512DQ-NEXT: vmovdqa64 %zmm6, 128(%rax)4525; AVX512DQ-NEXT: vmovdqa64 %zmm10, 192(%rax)4526; AVX512DQ-NEXT: vmovdqa64 %zmm11, 896(%rax)4527; AVX512DQ-NEXT: vmovdqa64 %zmm5, 960(%rax)4528; AVX512DQ-NEXT: vmovdqa64 %zmm2, 768(%rax)4529; AVX512DQ-NEXT: vmovdqa64 %zmm20, 832(%rax)4530; AVX512DQ-NEXT: vmovdqa64 %zmm19, 512(%rax)4531; AVX512DQ-NEXT: vmovdqa64 %zmm18, 576(%rax)4532; AVX512DQ-NEXT: vmovdqa64 %zmm17, 384(%rax)4533; AVX512DQ-NEXT: vmovdqa64 %zmm16, 448(%rax)4534; AVX512DQ-NEXT: vmovdqa64 %zmm31, 256(%rax)4535; AVX512DQ-NEXT: vmovdqa64 %zmm29, 320(%rax)4536; AVX512DQ-NEXT: vmovdqa64 %zmm22, (%rax)4537; AVX512DQ-NEXT: vmovdqa64 %zmm21, 64(%rax)4538; AVX512DQ-NEXT: vzeroupper4539; AVX512DQ-NEXT: retq4540;4541; AVX512DQ-FCP-LABEL: store_i64_stride8_vf16:4542; AVX512DQ-FCP: # %bb.0:4543; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4544; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r104545; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r114546; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm114547; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm154548; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm274549; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm174550; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm144551; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm54552; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm284553; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm264554; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm64555; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm04556; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm74557; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm14558; AVX512DQ-FCP-NEXT: vmovdqa64 (%r11), %zmm84559; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r11), %zmm34560; AVX512DQ-FCP-NEXT: vmovdqa64 (%r10), %zmm94561; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r10), %zmm44562; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]4563; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4564; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm104565; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm104566; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm124567; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm124568; AVX512DQ-FCP-NEXT: movb $-64, %r8b4569; AVX512DQ-FCP-NEXT: kmovw %r8d, %k14570; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}4571; AVX512DQ-FCP-NEXT: vmovdqa (%rsi), %xmm104572; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm104573; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %xmm164574; AVX512DQ-FCP-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm164575; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]4576; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm214577; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]4578; AVX512DQ-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4579; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm124580; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm19, %zmm124581; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm204582; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm204583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}4584; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]4585; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm224586; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]4587; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4588; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm104589; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm20, %zmm104590; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm124591; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm20, %zmm124592; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]4593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm124594; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm124595; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]4596; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4597; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294598; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4599; AVX512DQ-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4600; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm124601; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm124602; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm24603; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm23, %zmm24604; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]4605; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm124606; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm124607; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4608; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4609; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm314610; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]4611; AVX512DQ-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4612; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm24613; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm24614; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm134615; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm24, %zmm134616; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]4617; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm134618; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm24, %zmm134619; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]4620; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm164621; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]4622; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4623; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm54624; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm25, %zmm154625; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]4626; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm54627; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm25, %zmm54628; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]4629; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm174630; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm24631; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm18, %zmm24632; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm184633; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}4634; AVX512DQ-FCP-NEXT: vmovdqa 64(%rsi), %xmm24635; AVX512DQ-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm24636; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm54637; AVX512DQ-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm54638; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]4639; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm184640; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm134641; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm134642; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm194643; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}4644; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]4645; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm194646; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm24647; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm20, %zmm24648; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm54649; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm20, %zmm54650; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4651; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm204652; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]4653; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}4654; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm204655; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm24656; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm24657; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm54658; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm23, %zmm54659; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4660; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm234661; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]4662; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}4663; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm24664; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm54665; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm24, %zmm54666; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm134667; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm24, %zmm134668; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]4669; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm244670; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]4671; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm54672; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm144673; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm25, %zmm114674; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]4675; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm254676; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]4677; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm114678; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]4679; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4680; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm144681; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm13, %zmm144682; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm154683; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm154684; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}4685; AVX512DQ-FCP-NEXT: vmovdqa (%rcx), %ymm144686; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %ymm234687; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %ymm244688; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %ymm254689; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]4690; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %ymm264691; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %ymm274692; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %ymm284693; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %ymm304694; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]4695; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]4696; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm104697; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]4698; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4699; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm12, %zmm84700; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm64701; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}4702; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]4703; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]4704; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4705; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm64706; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm74707; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm74708; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm134709; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}4710; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]4711; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]4712; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4713; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm74714; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm12, %zmm34715; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm04716; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}4717; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]4718; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]4719; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4720; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm04721; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 640(%rax)4722; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)4723; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)4724; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)4725; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 896(%rax)4726; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 960(%rax)4727; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 768(%rax)4728; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 832(%rax)4729; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)4730; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 576(%rax)4731; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 384(%rax)4732; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 448(%rax)4733; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 256(%rax)4734; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 320(%rax)4735; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, (%rax)4736; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, 64(%rax)4737; AVX512DQ-FCP-NEXT: vzeroupper4738; AVX512DQ-FCP-NEXT: retq4739;4740; AVX512BW-LABEL: store_i64_stride8_vf16:4741; AVX512BW: # %bb.0:4742; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax4743; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r104744; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r114745; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm114746; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm154747; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm274748; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm174749; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm144750; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm54751; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm284752; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm264753; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm64754; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm04755; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm74756; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm14757; AVX512BW-NEXT: vmovdqa64 (%r11), %zmm84758; AVX512BW-NEXT: vmovdqa64 64(%r11), %zmm34759; AVX512BW-NEXT: vmovdqa64 (%r10), %zmm94760; AVX512BW-NEXT: vmovdqa64 64(%r10), %zmm44761; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]4762; AVX512BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4763; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm104764; AVX512BW-NEXT: vpermt2q %zmm9, %zmm18, %zmm104765; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm124766; AVX512BW-NEXT: vpermt2q %zmm7, %zmm18, %zmm124767; AVX512BW-NEXT: movb $-64, %r8b4768; AVX512BW-NEXT: kmovd %r8d, %k14769; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}4770; AVX512BW-NEXT: vmovdqa (%rsi), %xmm104771; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm104772; AVX512BW-NEXT: vmovdqa64 (%rdi), %xmm164773; AVX512BW-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm164774; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]4775; AVX512BW-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm214776; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]4777; AVX512BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4778; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm124779; AVX512BW-NEXT: vpermt2q %zmm9, %zmm19, %zmm124780; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm204781; AVX512BW-NEXT: vpermt2q %zmm7, %zmm19, %zmm204782; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}4783; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]4784; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm224785; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]4786; AVX512BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4787; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm104788; AVX512BW-NEXT: vpermt2q %zmm26, %zmm20, %zmm104789; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm124790; AVX512BW-NEXT: vpermt2q %zmm17, %zmm20, %zmm124791; AVX512BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]4792; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm124793; AVX512BW-NEXT: vpermt2q %zmm9, %zmm20, %zmm124794; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]4795; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4796; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294797; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4798; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4799; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm124800; AVX512BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm124801; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm24802; AVX512BW-NEXT: vpermt2q %zmm17, %zmm23, %zmm24803; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]4804; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm124805; AVX512BW-NEXT: vpermt2q %zmm9, %zmm23, %zmm124806; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4807; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4808; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm314809; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]4810; AVX512BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4811; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm24812; AVX512BW-NEXT: vpermt2q %zmm26, %zmm24, %zmm24813; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm134814; AVX512BW-NEXT: vpermt2q %zmm17, %zmm24, %zmm134815; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]4816; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm134817; AVX512BW-NEXT: vpermt2q %zmm7, %zmm24, %zmm134818; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]4819; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm164820; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]4821; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4822; AVX512BW-NEXT: vpermt2q %zmm26, %zmm25, %zmm54823; AVX512BW-NEXT: vpermt2q %zmm17, %zmm25, %zmm154824; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]4825; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm54826; AVX512BW-NEXT: vpermt2q %zmm7, %zmm25, %zmm54827; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]4828; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm174829; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm24830; AVX512BW-NEXT: vpermt2q %zmm4, %zmm18, %zmm24831; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm184832; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}4833; AVX512BW-NEXT: vmovdqa 64(%rsi), %xmm24834; AVX512BW-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm24835; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm54836; AVX512BW-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm54837; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]4838; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm184839; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm134840; AVX512BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm134841; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm194842; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}4843; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]4844; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm194845; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm24846; AVX512BW-NEXT: vpermt2q %zmm28, %zmm20, %zmm24847; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm54848; AVX512BW-NEXT: vpermt2q %zmm27, %zmm20, %zmm54849; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4850; AVX512BW-NEXT: vpermi2q %zmm4, %zmm3, %zmm204851; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]4852; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}4853; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm204854; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm24855; AVX512BW-NEXT: vpermt2q %zmm28, %zmm23, %zmm24856; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm54857; AVX512BW-NEXT: vpermt2q %zmm27, %zmm23, %zmm54858; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]4859; AVX512BW-NEXT: vpermi2q %zmm4, %zmm3, %zmm234860; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]4861; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}4862; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm24863; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm54864; AVX512BW-NEXT: vpermt2q %zmm28, %zmm24, %zmm54865; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm134866; AVX512BW-NEXT: vpermt2q %zmm27, %zmm24, %zmm134867; AVX512BW-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]4868; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm244869; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]4870; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm54871; AVX512BW-NEXT: vpermt2q %zmm28, %zmm25, %zmm144872; AVX512BW-NEXT: vpermt2q %zmm27, %zmm25, %zmm114873; AVX512BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]4874; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm254875; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]4876; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm114877; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]4878; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4879; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm144880; AVX512BW-NEXT: vpermt2q %zmm9, %zmm13, %zmm144881; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm154882; AVX512BW-NEXT: vpermt2q %zmm7, %zmm13, %zmm154883; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}4884; AVX512BW-NEXT: vmovdqa (%rcx), %ymm144885; AVX512BW-NEXT: vmovdqa64 64(%rcx), %ymm234886; AVX512BW-NEXT: vmovdqa64 (%rdx), %ymm244887; AVX512BW-NEXT: vmovdqa64 64(%rdx), %ymm254888; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]4889; AVX512BW-NEXT: vmovdqa64 (%rsi), %ymm264890; AVX512BW-NEXT: vmovdqa64 64(%rsi), %ymm274891; AVX512BW-NEXT: vmovdqa64 (%rdi), %ymm284892; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm304893; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]4894; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]4895; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm104896; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]4897; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4898; AVX512BW-NEXT: vpermt2q %zmm9, %zmm12, %zmm84899; AVX512BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm64900; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}4901; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]4902; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]4903; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4904; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm64905; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm74906; AVX512BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm74907; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm134908; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}4909; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]4910; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]4911; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]4912; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm74913; AVX512BW-NEXT: vpermt2q %zmm4, %zmm12, %zmm34914; AVX512BW-NEXT: vpermt2q %zmm1, %zmm12, %zmm04915; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}4916; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]4917; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]4918; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4919; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm04920; AVX512BW-NEXT: vmovdqa64 %zmm0, 640(%rax)4921; AVX512BW-NEXT: vmovdqa64 %zmm7, 704(%rax)4922; AVX512BW-NEXT: vmovdqa64 %zmm6, 128(%rax)4923; AVX512BW-NEXT: vmovdqa64 %zmm10, 192(%rax)4924; AVX512BW-NEXT: vmovdqa64 %zmm11, 896(%rax)4925; AVX512BW-NEXT: vmovdqa64 %zmm5, 960(%rax)4926; AVX512BW-NEXT: vmovdqa64 %zmm2, 768(%rax)4927; AVX512BW-NEXT: vmovdqa64 %zmm20, 832(%rax)4928; AVX512BW-NEXT: vmovdqa64 %zmm19, 512(%rax)4929; AVX512BW-NEXT: vmovdqa64 %zmm18, 576(%rax)4930; AVX512BW-NEXT: vmovdqa64 %zmm17, 384(%rax)4931; AVX512BW-NEXT: vmovdqa64 %zmm16, 448(%rax)4932; AVX512BW-NEXT: vmovdqa64 %zmm31, 256(%rax)4933; AVX512BW-NEXT: vmovdqa64 %zmm29, 320(%rax)4934; AVX512BW-NEXT: vmovdqa64 %zmm22, (%rax)4935; AVX512BW-NEXT: vmovdqa64 %zmm21, 64(%rax)4936; AVX512BW-NEXT: vzeroupper4937; AVX512BW-NEXT: retq4938;4939; AVX512BW-FCP-LABEL: store_i64_stride8_vf16:4940; AVX512BW-FCP: # %bb.0:4941; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4942; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r104943; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r114944; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm114945; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm154946; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm274947; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm174948; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm144949; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm54950; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm284951; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm264952; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm64953; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm04954; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm74955; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm14956; AVX512BW-FCP-NEXT: vmovdqa64 (%r11), %zmm84957; AVX512BW-FCP-NEXT: vmovdqa64 64(%r11), %zmm34958; AVX512BW-FCP-NEXT: vmovdqa64 (%r10), %zmm94959; AVX512BW-FCP-NEXT: vmovdqa64 64(%r10), %zmm44960; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]4961; AVX512BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4962; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm104963; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm104964; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm124965; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm124966; AVX512BW-FCP-NEXT: movb $-64, %r8b4967; AVX512BW-FCP-NEXT: kmovd %r8d, %k14968; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}4969; AVX512BW-FCP-NEXT: vmovdqa (%rsi), %xmm104970; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm104971; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %xmm164972; AVX512BW-FCP-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm164973; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]4974; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm214975; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]4976; AVX512BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4977; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm124978; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm19, %zmm124979; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm204980; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm204981; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}4982; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]4983; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm224984; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]4985; AVX512BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4986; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm104987; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm20, %zmm104988; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm124989; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm20, %zmm124990; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]4991; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm124992; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm124993; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]4994; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}4995; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm294996; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]4997; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4998; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm124999; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm125000; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm25001; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm23, %zmm25002; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]5003; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm125004; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm125005; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]5006; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}5007; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm315008; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]5009; AVX512BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5010; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm25011; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm25012; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm135013; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm24, %zmm135014; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]5015; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm135016; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm24, %zmm135017; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]5018; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm165019; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]5020; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5021; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm55022; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm25, %zmm155023; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]5024; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm55025; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm25, %zmm55026; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]5027; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm175028; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm25029; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm18, %zmm25030; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm185031; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}5032; AVX512BW-FCP-NEXT: vmovdqa 64(%rsi), %xmm25033; AVX512BW-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm25034; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm55035; AVX512BW-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm55036; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]5037; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm185038; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm135039; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm135040; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm195041; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}5042; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]5043; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm195044; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25045; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm20, %zmm25046; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm55047; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm20, %zmm55048; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5049; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm205050; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]5051; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}5052; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm205053; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25054; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm25055; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm55056; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm23, %zmm55057; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5058; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm235059; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]5060; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}5061; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm25062; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm55063; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm24, %zmm55064; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm135065; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm24, %zmm135066; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]5067; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm245068; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]5069; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm55070; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm145071; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm25, %zmm115072; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]5073; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm255074; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]5075; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm115076; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]5077; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5078; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm145079; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm13, %zmm145080; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm155081; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm155082; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}5083; AVX512BW-FCP-NEXT: vmovdqa (%rcx), %ymm145084; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %ymm235085; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %ymm245086; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %ymm255087; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]5088; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %ymm265089; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %ymm275090; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm285091; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm305092; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]5093; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]5094; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm105095; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]5096; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5097; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm12, %zmm85098; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm65099; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}5100; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]5101; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]5102; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5103; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm65104; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm75105; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm75106; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm135107; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}5108; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]5109; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]5110; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5111; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm75112; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm12, %zmm35113; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm05114; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}5115; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]5116; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]5117; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]5118; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm05119; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 640(%rax)5120; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)5121; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)5122; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)5123; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 896(%rax)5124; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 960(%rax)5125; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 768(%rax)5126; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 832(%rax)5127; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)5128; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 576(%rax)5129; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 384(%rax)5130; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 448(%rax)5131; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, 256(%rax)5132; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, 320(%rax)5133; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, (%rax)5134; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, 64(%rax)5135; AVX512BW-FCP-NEXT: vzeroupper5136; AVX512BW-FCP-NEXT: retq5137;5138; AVX512DQ-BW-LABEL: store_i64_stride8_vf16:5139; AVX512DQ-BW: # %bb.0:5140; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5141; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r105142; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r115143; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm115144; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm155145; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm275146; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm175147; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm145148; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm55149; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm285150; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm265151; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm65152; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm05153; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm75154; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm15155; AVX512DQ-BW-NEXT: vmovdqa64 (%r11), %zmm85156; AVX512DQ-BW-NEXT: vmovdqa64 64(%r11), %zmm35157; AVX512DQ-BW-NEXT: vmovdqa64 (%r10), %zmm95158; AVX512DQ-BW-NEXT: vmovdqa64 64(%r10), %zmm45159; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]5160; AVX512DQ-BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5161; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm105162; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm18, %zmm105163; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm125164; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm18, %zmm125165; AVX512DQ-BW-NEXT: movb $-64, %r8b5166; AVX512DQ-BW-NEXT: kmovd %r8d, %k15167; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}5168; AVX512DQ-BW-NEXT: vmovdqa (%rsi), %xmm105169; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm105170; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %xmm165171; AVX512DQ-BW-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm165172; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]5173; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm215174; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]5175; AVX512DQ-BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5176; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm125177; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm19, %zmm125178; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm205179; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm19, %zmm205180; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}5181; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]5182; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm225183; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]5184; AVX512DQ-BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5185; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm105186; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm20, %zmm105187; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm125188; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm20, %zmm125189; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]5190; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm125191; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm20, %zmm125192; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]5193; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}5194; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm295195; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]5196; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5197; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm125198; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm125199; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm25200; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm23, %zmm25201; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]5202; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm125203; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm23, %zmm125204; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]5205; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}5206; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm315207; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]5208; AVX512DQ-BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5209; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm25210; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm24, %zmm25211; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm135212; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm24, %zmm135213; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]5214; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm135215; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm24, %zmm135216; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]5217; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm165218; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]5219; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5220; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm25, %zmm55221; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm25, %zmm155222; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]5223; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm55224; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm25, %zmm55225; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]5226; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm175227; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm25228; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm18, %zmm25229; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm185230; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}5231; AVX512DQ-BW-NEXT: vmovdqa 64(%rsi), %xmm25232; AVX512DQ-BW-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm25233; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm55234; AVX512DQ-BW-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm55235; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]5236; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm185237; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm135238; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm135239; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm195240; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}5241; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]5242; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm195243; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm25244; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm20, %zmm25245; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm55246; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm20, %zmm55247; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5248; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm3, %zmm205249; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]5250; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}5251; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm205252; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm25253; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm23, %zmm25254; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm55255; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm23, %zmm55256; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5257; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm3, %zmm235258; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]5259; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}5260; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm25261; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm55262; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm24, %zmm55263; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm135264; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm24, %zmm135265; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]5266; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm245267; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]5268; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm55269; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm25, %zmm145270; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm25, %zmm115271; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]5272; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm255273; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]5274; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm115275; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]5276; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5277; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm145278; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm13, %zmm145279; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm155280; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm13, %zmm155281; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}5282; AVX512DQ-BW-NEXT: vmovdqa (%rcx), %ymm145283; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %ymm235284; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %ymm245285; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %ymm255286; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]5287; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %ymm265288; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %ymm275289; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %ymm285290; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm305291; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]5292; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]5293; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm105294; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]5295; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5296; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm12, %zmm85297; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm65298; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}5299; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]5300; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]5301; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5302; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm65303; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm75304; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm75305; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm135306; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}5307; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]5308; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]5309; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5310; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm75311; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm12, %zmm35312; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm12, %zmm05313; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}5314; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]5315; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]5316; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]5317; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm05318; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 640(%rax)5319; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 704(%rax)5320; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 128(%rax)5321; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, 192(%rax)5322; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 896(%rax)5323; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 960(%rax)5324; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 768(%rax)5325; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, 832(%rax)5326; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 512(%rax)5327; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 576(%rax)5328; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 384(%rax)5329; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 448(%rax)5330; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 256(%rax)5331; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, 320(%rax)5332; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, (%rax)5333; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, 64(%rax)5334; AVX512DQ-BW-NEXT: vzeroupper5335; AVX512DQ-BW-NEXT: retq5336;5337; AVX512DQ-BW-FCP-LABEL: store_i64_stride8_vf16:5338; AVX512DQ-BW-FCP: # %bb.0:5339; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5340; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r105341; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r115342; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm115343; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm155344; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm275345; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm175346; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm145347; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm55348; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm285349; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm265350; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm65351; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm05352; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm75353; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm15354; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r11), %zmm85355; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r11), %zmm35356; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r10), %zmm95357; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r10), %zmm45358; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [1,9,1,9,1,9,1,9]5359; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5360; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm105361; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm105362; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm125363; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm125364; AVX512DQ-BW-FCP-NEXT: movb $-64, %r8b5365; AVX512DQ-BW-FCP-NEXT: kmovd %r8d, %k15366; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}5367; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rsi), %xmm105368; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm10, %ymm105369; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %xmm165370; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, (%rdx), %ymm16, %ymm165371; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm19 = ymm16[1],ymm10[1],ymm16[3],ymm10[3]5372; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm12, %zmm215373; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [0,8,0,8,0,8,0,8]5374; AVX512DQ-BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5375; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm125376; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm19, %zmm125377; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm205378; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm205379; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm20 {%k1}5380; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm16[0],ymm10[0],ymm16[2],ymm10[2]5381; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm20, %zmm225382; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [5,13,5,13,5,13,5,13]5383; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5384; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm105385; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm20, %zmm105386; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm125387; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm20, %zmm125388; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3],ymm10[4,5,6,7]5389; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm125390; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm125391; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm16 = zmm6[1],zmm7[1],zmm6[3],zmm7[3],zmm6[5],zmm7[5],zmm6[7],zmm7[7]5392; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}5393; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm16, %zmm295394; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [4,12,4,12,4,12,4,12]5395; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5396; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm125397; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm125398; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm25399; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm23, %zmm25400; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm12[4,5,6,7]5401; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm125402; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm125403; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]5404; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm16 {%k1}5405; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm16, %zmm315406; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [7,15,7,15,7,15,7,15]5407; AVX512DQ-BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5408; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm25409; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm25410; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm135411; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm24, %zmm135412; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3],ymm2[4,5,6,7]5413; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm135414; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm24, %zmm135415; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm13 {%k1} = zmm8[1],zmm9[1],zmm8[3],zmm9[3],zmm8[5],zmm9[5],zmm8[7],zmm9[7]5416; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm13, %zmm165417; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [6,14,6,14,6,14,6,14]5418; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5419; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm55420; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm25, %zmm155421; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3],ymm5[4,5,6,7]5422; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm55423; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm25, %zmm55424; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k1} = zmm8[0],zmm9[0],zmm8[2],zmm9[2],zmm8[4],zmm9[4],zmm8[6],zmm9[6]5425; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm175426; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm25427; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm18, %zmm25428; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm185429; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm18 {%k1}5430; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rsi), %xmm25431; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm2, %ymm25432; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm55433; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm55434; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]5435; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm18, %zmm185436; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm135437; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm135438; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm195439; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm19 {%k1}5440; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]5441; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm19, %zmm195442; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25443; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm20, %zmm25444; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm55445; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm20, %zmm55446; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5447; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm205448; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 = zmm0[1],zmm1[1],zmm0[3],zmm1[3],zmm0[5],zmm1[5],zmm0[7],zmm1[7]5449; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm5 {%k1}5450; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm205451; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25452; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm25453; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm55454; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm23, %zmm55455; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]5456; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm235457; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm0[0],zmm1[0],zmm0[2],zmm1[2],zmm0[4],zmm1[4],zmm0[6],zmm1[6]5458; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm5 {%k1}5459; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm25460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm55461; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm24, %zmm55462; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm135463; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm24, %zmm135464; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3],ymm5[4,5,6,7]5465; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm245466; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm24 {%k1} = zmm3[1],zmm4[1],zmm3[3],zmm4[3],zmm3[5],zmm4[5],zmm3[7],zmm4[7]5467; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm24, %zmm55468; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm145469; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm25, %zmm115470; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]5471; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm255472; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k1} = zmm3[0],zmm4[0],zmm3[2],zmm4[2],zmm3[4],zmm4[4],zmm3[6],zmm4[6]5473; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm115474; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [3,11,3,11,3,11,3,11]5475; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5476; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm145477; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm13, %zmm145478; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm155479; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm155480; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm15 {%k1}5481; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rcx), %ymm145482; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %ymm235483; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %ymm245484; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %ymm255485; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm24[1],ymm14[1],ymm24[3],ymm14[3]5486; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %ymm265487; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %ymm275488; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm285489; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm305490; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm28[1],ymm26[1],ymm28[3],ymm26[3]5491; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]5492; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm15, %zmm105493; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]5494; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5495; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm12, %zmm85496; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm65497; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}5498; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm24[0],ymm14[0],ymm24[2],ymm14[2]5499; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm26[0],ymm28[2],ymm26[2]5500; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5501; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm6, %zmm65502; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm75503; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm75504; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm135505; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm13 {%k1}5506; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm7 = ymm25[1],ymm23[1],ymm25[3],ymm23[3]5507; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm30[1],ymm27[1],ymm30[3],ymm27[3]5508; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]5509; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm13, %zmm75510; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm12, %zmm35511; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm05512; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}5513; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm25[0],ymm23[0],ymm25[2],ymm23[2]5514; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm30[0],ymm27[0],ymm30[2],ymm27[2]5515; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]5516; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm05517; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 640(%rax)5518; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)5519; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)5520; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)5521; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 896(%rax)5522; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 960(%rax)5523; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 768(%rax)5524; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, 832(%rax)5525; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)5526; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 576(%rax)5527; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 384(%rax)5528; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 448(%rax)5529; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 256(%rax)5530; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 320(%rax)5531; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, (%rax)5532; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, 64(%rax)5533; AVX512DQ-BW-FCP-NEXT: vzeroupper5534; AVX512DQ-BW-FCP-NEXT: retq5535 %in.vec0 = load <16 x i64>, ptr %in.vecptr0, align 645536 %in.vec1 = load <16 x i64>, ptr %in.vecptr1, align 645537 %in.vec2 = load <16 x i64>, ptr %in.vecptr2, align 645538 %in.vec3 = load <16 x i64>, ptr %in.vecptr3, align 645539 %in.vec4 = load <16 x i64>, ptr %in.vecptr4, align 645540 %in.vec5 = load <16 x i64>, ptr %in.vecptr5, align 645541 %in.vec6 = load <16 x i64>, ptr %in.vecptr6, align 645542 %in.vec7 = load <16 x i64>, ptr %in.vecptr7, align 645543 %1 = shufflevector <16 x i64> %in.vec0, <16 x i64> %in.vec1, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>5544 %2 = shufflevector <16 x i64> %in.vec2, <16 x i64> %in.vec3, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>5545 %3 = shufflevector <16 x i64> %in.vec4, <16 x i64> %in.vec5, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>5546 %4 = shufflevector <16 x i64> %in.vec6, <16 x i64> %in.vec7, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>5547 %5 = shufflevector <32 x i64> %1, <32 x i64> %2, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>5548 %6 = shufflevector <32 x i64> %3, <32 x i64> %4, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>5549 %7 = shufflevector <64 x i64> %5, <64 x i64> %6, <128 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>5550 %interleaved.vec = shufflevector <128 x i64> %7, <128 x i64> poison, <128 x i32> <i32 0, i32 16, i32 32, i32 48, i32 64, i32 80, i32 96, i32 112, i32 1, i32 17, i32 33, i32 49, i32 65, i32 81, i32 97, i32 113, i32 2, i32 18, i32 34, i32 50, i32 66, i32 82, i32 98, i32 114, i32 3, i32 19, i32 35, i32 51, i32 67, i32 83, i32 99, i32 115, i32 4, i32 20, i32 36, i32 52, i32 68, i32 84, i32 100, i32 116, i32 5, i32 21, i32 37, i32 53, i32 69, i32 85, i32 101, i32 117, i32 6, i32 22, i32 38, i32 54, i32 70, i32 86, i32 102, i32 118, i32 7, i32 23, i32 39, i32 55, i32 71, i32 87, i32 103, i32 119, i32 8, i32 24, i32 40, i32 56, i32 72, i32 88, i32 104, i32 120, i32 9, i32 25, i32 41, i32 57, i32 73, i32 89, i32 105, i32 121, i32 10, i32 26, i32 42, i32 58, i32 74, i32 90, i32 106, i32 122, i32 11, i32 27, i32 43, i32 59, i32 75, i32 91, i32 107, i32 123, i32 12, i32 28, i32 44, i32 60, i32 76, i32 92, i32 108, i32 124, i32 13, i32 29, i32 45, i32 61, i32 77, i32 93, i32 109, i32 125, i32 14, i32 30, i32 46, i32 62, i32 78, i32 94, i32 110, i32 126, i32 15, i32 31, i32 47, i32 63, i32 79, i32 95, i32 111, i32 127>5551 store <128 x i64> %interleaved.vec, ptr %out.vec, align 645552 ret void5553}5554 5555define void @store_i64_stride8_vf32(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {5556; SSE-LABEL: store_i64_stride8_vf32:5557; SSE: # %bb.0:5558; SSE-NEXT: subq $1688, %rsp # imm = 0x6985559; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5560; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r105561; SSE-NEXT: movaps (%rdi), %xmm75562; SSE-NEXT: movaps 16(%rdi), %xmm85563; SSE-NEXT: movaps (%rsi), %xmm15564; SSE-NEXT: movaps 16(%rsi), %xmm05565; SSE-NEXT: movaps (%rdx), %xmm95566; SSE-NEXT: movaps 16(%rdx), %xmm105567; SSE-NEXT: movaps (%rcx), %xmm35568; SSE-NEXT: movaps 16(%rcx), %xmm25569; SSE-NEXT: movaps (%r8), %xmm115570; SSE-NEXT: movaps 16(%r8), %xmm125571; SSE-NEXT: movaps (%r9), %xmm55572; SSE-NEXT: movaps 16(%r9), %xmm45573; SSE-NEXT: movaps (%r10), %xmm135574; SSE-NEXT: movaps 16(%r10), %xmm145575; SSE-NEXT: movaps (%rax), %xmm65576; SSE-NEXT: movaps %xmm7, %xmm155577; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm1[0]5578; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5579; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm1[1]5580; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5581; SSE-NEXT: movaps %xmm9, %xmm15582; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]5583; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5584; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm3[1]5585; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5586; SSE-NEXT: movaps %xmm11, %xmm15587; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm5[0]5588; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5589; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm5[1]5590; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5591; SSE-NEXT: movaps %xmm13, %xmm15592; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm6[0]5593; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5594; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]5595; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5596; SSE-NEXT: movaps %xmm8, %xmm15597; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5598; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5599; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]5600; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5601; SSE-NEXT: movaps %xmm10, %xmm05602; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm2[0]5603; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5604; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm2[1]5605; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5606; SSE-NEXT: movaps %xmm12, %xmm05607; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm4[0]5608; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5609; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm4[1]5610; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5611; SSE-NEXT: movaps 16(%rax), %xmm05612; SSE-NEXT: movaps %xmm14, %xmm15613; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5614; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5615; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]5616; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5617; SSE-NEXT: movaps 32(%rdi), %xmm25618; SSE-NEXT: movaps 32(%rsi), %xmm05619; SSE-NEXT: movaps %xmm2, %xmm15620; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5621; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5622; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5623; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5624; SSE-NEXT: movaps 32(%rdx), %xmm25625; SSE-NEXT: movaps 32(%rcx), %xmm05626; SSE-NEXT: movaps %xmm2, %xmm15627; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5628; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5629; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5630; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5631; SSE-NEXT: movaps 32(%r8), %xmm25632; SSE-NEXT: movaps 32(%r9), %xmm05633; SSE-NEXT: movaps %xmm2, %xmm15634; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5635; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5636; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5637; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5638; SSE-NEXT: movaps 32(%r10), %xmm25639; SSE-NEXT: movaps 32(%rax), %xmm05640; SSE-NEXT: movaps %xmm2, %xmm15641; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5642; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5643; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5644; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5645; SSE-NEXT: movaps 48(%rdi), %xmm25646; SSE-NEXT: movaps 48(%rsi), %xmm05647; SSE-NEXT: movaps %xmm2, %xmm15648; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5649; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5650; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5651; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5652; SSE-NEXT: movaps 48(%rdx), %xmm25653; SSE-NEXT: movaps 48(%rcx), %xmm05654; SSE-NEXT: movaps %xmm2, %xmm15655; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5656; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5657; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5658; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5659; SSE-NEXT: movaps 48(%r8), %xmm25660; SSE-NEXT: movaps 48(%r9), %xmm05661; SSE-NEXT: movaps %xmm2, %xmm15662; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5663; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5664; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5665; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5666; SSE-NEXT: movaps 48(%r10), %xmm25667; SSE-NEXT: movaps 48(%rax), %xmm05668; SSE-NEXT: movaps %xmm2, %xmm15669; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5670; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5671; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5672; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5673; SSE-NEXT: movaps 64(%rdi), %xmm25674; SSE-NEXT: movaps 64(%rsi), %xmm05675; SSE-NEXT: movaps %xmm2, %xmm15676; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5677; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5678; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5679; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5680; SSE-NEXT: movaps 64(%rdx), %xmm25681; SSE-NEXT: movaps 64(%rcx), %xmm05682; SSE-NEXT: movaps %xmm2, %xmm15683; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5684; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5685; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5686; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5687; SSE-NEXT: movaps 64(%r8), %xmm25688; SSE-NEXT: movaps 64(%r9), %xmm05689; SSE-NEXT: movaps %xmm2, %xmm15690; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5691; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5692; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5693; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5694; SSE-NEXT: movaps 64(%r10), %xmm25695; SSE-NEXT: movaps 64(%rax), %xmm05696; SSE-NEXT: movaps %xmm2, %xmm15697; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5698; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5699; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5700; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5701; SSE-NEXT: movaps 80(%rdi), %xmm25702; SSE-NEXT: movaps 80(%rsi), %xmm05703; SSE-NEXT: movaps %xmm2, %xmm15704; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5705; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5706; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5707; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5708; SSE-NEXT: movaps 80(%rdx), %xmm25709; SSE-NEXT: movaps 80(%rcx), %xmm05710; SSE-NEXT: movaps %xmm2, %xmm15711; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5712; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5713; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5714; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5715; SSE-NEXT: movaps 80(%r8), %xmm25716; SSE-NEXT: movaps 80(%r9), %xmm05717; SSE-NEXT: movaps %xmm2, %xmm15718; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5719; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5720; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5721; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5722; SSE-NEXT: movaps 80(%r10), %xmm25723; SSE-NEXT: movaps 80(%rax), %xmm05724; SSE-NEXT: movaps %xmm2, %xmm15725; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5726; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5727; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5728; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5729; SSE-NEXT: movaps 96(%rdi), %xmm25730; SSE-NEXT: movaps 96(%rsi), %xmm05731; SSE-NEXT: movaps %xmm2, %xmm15732; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5733; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5734; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5735; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5736; SSE-NEXT: movaps 96(%rdx), %xmm25737; SSE-NEXT: movaps 96(%rcx), %xmm05738; SSE-NEXT: movaps %xmm2, %xmm15739; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5740; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5741; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5742; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5743; SSE-NEXT: movaps 96(%r8), %xmm25744; SSE-NEXT: movaps 96(%r9), %xmm05745; SSE-NEXT: movaps %xmm2, %xmm15746; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5747; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5748; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5749; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5750; SSE-NEXT: movaps 96(%r10), %xmm25751; SSE-NEXT: movaps 96(%rax), %xmm05752; SSE-NEXT: movaps %xmm2, %xmm15753; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5754; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5755; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5756; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5757; SSE-NEXT: movaps 112(%rdi), %xmm25758; SSE-NEXT: movaps 112(%rsi), %xmm05759; SSE-NEXT: movaps %xmm2, %xmm15760; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5761; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5762; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5763; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5764; SSE-NEXT: movaps 112(%rdx), %xmm25765; SSE-NEXT: movaps 112(%rcx), %xmm05766; SSE-NEXT: movaps %xmm2, %xmm15767; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5768; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5769; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5770; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5771; SSE-NEXT: movaps 112(%r8), %xmm25772; SSE-NEXT: movaps 112(%r9), %xmm05773; SSE-NEXT: movaps %xmm2, %xmm15774; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5775; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5776; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5777; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5778; SSE-NEXT: movaps 112(%r10), %xmm25779; SSE-NEXT: movaps 112(%rax), %xmm05780; SSE-NEXT: movaps %xmm2, %xmm15781; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5782; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5783; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5784; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5785; SSE-NEXT: movaps 128(%rdi), %xmm25786; SSE-NEXT: movaps 128(%rsi), %xmm05787; SSE-NEXT: movaps %xmm2, %xmm15788; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5789; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5790; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5791; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5792; SSE-NEXT: movaps 128(%rdx), %xmm25793; SSE-NEXT: movaps 128(%rcx), %xmm05794; SSE-NEXT: movaps %xmm2, %xmm15795; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5796; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5797; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5798; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5799; SSE-NEXT: movaps 128(%r8), %xmm25800; SSE-NEXT: movaps 128(%r9), %xmm05801; SSE-NEXT: movaps %xmm2, %xmm15802; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5803; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5804; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5805; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5806; SSE-NEXT: movaps 128(%r10), %xmm25807; SSE-NEXT: movaps 128(%rax), %xmm05808; SSE-NEXT: movaps %xmm2, %xmm15809; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5810; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5811; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5812; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5813; SSE-NEXT: movaps 144(%rdi), %xmm25814; SSE-NEXT: movaps 144(%rsi), %xmm05815; SSE-NEXT: movaps %xmm2, %xmm15816; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5817; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5818; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5819; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5820; SSE-NEXT: movaps 144(%rdx), %xmm25821; SSE-NEXT: movaps 144(%rcx), %xmm05822; SSE-NEXT: movaps %xmm2, %xmm15823; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5824; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5825; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5826; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5827; SSE-NEXT: movaps 144(%r8), %xmm25828; SSE-NEXT: movaps 144(%r9), %xmm05829; SSE-NEXT: movaps %xmm2, %xmm15830; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5831; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5832; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5833; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5834; SSE-NEXT: movaps 144(%r10), %xmm25835; SSE-NEXT: movaps 144(%rax), %xmm05836; SSE-NEXT: movaps %xmm2, %xmm15837; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5838; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5839; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5840; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5841; SSE-NEXT: movaps 160(%rdi), %xmm25842; SSE-NEXT: movaps 160(%rsi), %xmm05843; SSE-NEXT: movaps %xmm2, %xmm15844; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5845; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5846; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5847; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5848; SSE-NEXT: movaps 160(%rdx), %xmm25849; SSE-NEXT: movaps 160(%rcx), %xmm05850; SSE-NEXT: movaps %xmm2, %xmm15851; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5852; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5853; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5854; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5855; SSE-NEXT: movaps 160(%r8), %xmm25856; SSE-NEXT: movaps 160(%r9), %xmm05857; SSE-NEXT: movaps %xmm2, %xmm15858; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5859; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5860; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5861; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5862; SSE-NEXT: movaps 160(%r10), %xmm25863; SSE-NEXT: movaps 160(%rax), %xmm05864; SSE-NEXT: movaps %xmm2, %xmm15865; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5866; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5867; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5868; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5869; SSE-NEXT: movaps 176(%rdi), %xmm25870; SSE-NEXT: movaps 176(%rsi), %xmm05871; SSE-NEXT: movaps %xmm2, %xmm15872; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5873; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5874; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5875; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5876; SSE-NEXT: movaps 176(%rdx), %xmm25877; SSE-NEXT: movaps 176(%rcx), %xmm05878; SSE-NEXT: movaps %xmm2, %xmm15879; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5880; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5881; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5882; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5883; SSE-NEXT: movaps 176(%r8), %xmm25884; SSE-NEXT: movaps 176(%r9), %xmm05885; SSE-NEXT: movaps %xmm2, %xmm15886; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5887; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5888; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5889; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5890; SSE-NEXT: movaps 176(%r10), %xmm25891; SSE-NEXT: movaps 176(%rax), %xmm05892; SSE-NEXT: movaps %xmm2, %xmm15893; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5894; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5895; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5896; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5897; SSE-NEXT: movaps 192(%rdi), %xmm25898; SSE-NEXT: movaps 192(%rsi), %xmm05899; SSE-NEXT: movaps %xmm2, %xmm15900; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5901; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5902; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5903; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5904; SSE-NEXT: movaps 192(%rdx), %xmm25905; SSE-NEXT: movaps 192(%rcx), %xmm05906; SSE-NEXT: movaps %xmm2, %xmm15907; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5908; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5909; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5910; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5911; SSE-NEXT: movaps 192(%r8), %xmm25912; SSE-NEXT: movaps 192(%r9), %xmm05913; SSE-NEXT: movaps %xmm2, %xmm15914; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5915; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5916; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5917; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5918; SSE-NEXT: movaps 192(%r10), %xmm25919; SSE-NEXT: movaps 192(%rax), %xmm05920; SSE-NEXT: movaps %xmm2, %xmm15921; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5922; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5923; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5924; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5925; SSE-NEXT: movaps 208(%rdi), %xmm25926; SSE-NEXT: movaps 208(%rsi), %xmm05927; SSE-NEXT: movaps %xmm2, %xmm15928; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5929; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill5930; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5931; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5932; SSE-NEXT: movaps 208(%rdx), %xmm25933; SSE-NEXT: movaps 208(%rcx), %xmm05934; SSE-NEXT: movaps %xmm2, %xmm15935; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5936; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5937; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5938; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5939; SSE-NEXT: movaps 208(%r8), %xmm25940; SSE-NEXT: movaps 208(%r9), %xmm05941; SSE-NEXT: movaps %xmm2, %xmm15942; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5943; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5944; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5945; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5946; SSE-NEXT: movaps 208(%r10), %xmm25947; SSE-NEXT: movaps 208(%rax), %xmm05948; SSE-NEXT: movaps %xmm2, %xmm15949; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5950; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5951; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5952; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5953; SSE-NEXT: movaps 224(%rdi), %xmm145954; SSE-NEXT: movaps 224(%rsi), %xmm05955; SSE-NEXT: movaps %xmm14, %xmm15956; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5957; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5958; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]5959; SSE-NEXT: movaps 224(%rdx), %xmm105960; SSE-NEXT: movaps 224(%rcx), %xmm05961; SSE-NEXT: movaps %xmm10, %xmm155962; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]5963; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]5964; SSE-NEXT: movaps 224(%r8), %xmm125965; SSE-NEXT: movaps 224(%r9), %xmm05966; SSE-NEXT: movaps %xmm12, %xmm135967; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]5968; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]5969; SSE-NEXT: movaps 224(%r10), %xmm85970; SSE-NEXT: movaps 224(%rax), %xmm05971; SSE-NEXT: movaps %xmm8, %xmm115972; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]5973; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]5974; SSE-NEXT: movaps 240(%rdi), %xmm55975; SSE-NEXT: movaps 240(%rsi), %xmm05976; SSE-NEXT: movaps %xmm5, %xmm95977; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm0[0]5978; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]5979; SSE-NEXT: movaps 240(%rdx), %xmm65980; SSE-NEXT: movaps 240(%rcx), %xmm15981; SSE-NEXT: movaps %xmm6, %xmm75982; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]5983; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]5984; SSE-NEXT: movaps 240(%r8), %xmm15985; SSE-NEXT: movaps 240(%r9), %xmm25986; SSE-NEXT: movaps %xmm1, %xmm45987; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]5988; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]5989; SSE-NEXT: movaps 240(%r10), %xmm25990; SSE-NEXT: movaps 240(%rax), %xmm35991; SSE-NEXT: movaps %xmm2, %xmm05992; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm3[0]5993; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]5994; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5995; SSE-NEXT: movaps %xmm2, 2032(%rax)5996; SSE-NEXT: movaps %xmm1, 2016(%rax)5997; SSE-NEXT: movaps %xmm6, 2000(%rax)5998; SSE-NEXT: movaps %xmm5, 1984(%rax)5999; SSE-NEXT: movaps %xmm0, 1968(%rax)6000; SSE-NEXT: movaps %xmm4, 1952(%rax)6001; SSE-NEXT: movaps %xmm7, 1936(%rax)6002; SSE-NEXT: movaps %xmm9, 1920(%rax)6003; SSE-NEXT: movaps %xmm8, 1904(%rax)6004; SSE-NEXT: movaps %xmm12, 1888(%rax)6005; SSE-NEXT: movaps %xmm10, 1872(%rax)6006; SSE-NEXT: movaps %xmm14, 1856(%rax)6007; SSE-NEXT: movaps %xmm11, 1840(%rax)6008; SSE-NEXT: movaps %xmm13, 1824(%rax)6009; SSE-NEXT: movaps %xmm15, 1808(%rax)6010; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6011; SSE-NEXT: movaps %xmm0, 1792(%rax)6012; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6013; SSE-NEXT: movaps %xmm0, 1776(%rax)6014; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6015; SSE-NEXT: movaps %xmm0, 1760(%rax)6016; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6017; SSE-NEXT: movaps %xmm0, 1744(%rax)6018; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6019; SSE-NEXT: movaps %xmm0, 1728(%rax)6020; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6021; SSE-NEXT: movaps %xmm0, 1712(%rax)6022; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6023; SSE-NEXT: movaps %xmm0, 1696(%rax)6024; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6025; SSE-NEXT: movaps %xmm0, 1680(%rax)6026; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload6027; SSE-NEXT: movaps %xmm0, 1664(%rax)6028; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6029; SSE-NEXT: movaps %xmm0, 1648(%rax)6030; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6031; SSE-NEXT: movaps %xmm0, 1632(%rax)6032; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6033; SSE-NEXT: movaps %xmm0, 1616(%rax)6034; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6035; SSE-NEXT: movaps %xmm0, 1600(%rax)6036; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6037; SSE-NEXT: movaps %xmm0, 1584(%rax)6038; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6039; SSE-NEXT: movaps %xmm0, 1568(%rax)6040; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6041; SSE-NEXT: movaps %xmm0, 1552(%rax)6042; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6043; SSE-NEXT: movaps %xmm0, 1536(%rax)6044; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6045; SSE-NEXT: movaps %xmm0, 1520(%rax)6046; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6047; SSE-NEXT: movaps %xmm0, 1504(%rax)6048; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6049; SSE-NEXT: movaps %xmm0, 1488(%rax)6050; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6051; SSE-NEXT: movaps %xmm0, 1472(%rax)6052; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6053; SSE-NEXT: movaps %xmm0, 1456(%rax)6054; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6055; SSE-NEXT: movaps %xmm0, 1440(%rax)6056; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6057; SSE-NEXT: movaps %xmm0, 1424(%rax)6058; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6059; SSE-NEXT: movaps %xmm0, 1408(%rax)6060; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6061; SSE-NEXT: movaps %xmm0, 1392(%rax)6062; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6063; SSE-NEXT: movaps %xmm0, 1376(%rax)6064; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6065; SSE-NEXT: movaps %xmm0, 1360(%rax)6066; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6067; SSE-NEXT: movaps %xmm0, 1344(%rax)6068; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6069; SSE-NEXT: movaps %xmm0, 1328(%rax)6070; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6071; SSE-NEXT: movaps %xmm0, 1312(%rax)6072; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6073; SSE-NEXT: movaps %xmm0, 1296(%rax)6074; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6075; SSE-NEXT: movaps %xmm0, 1280(%rax)6076; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6077; SSE-NEXT: movaps %xmm0, 1264(%rax)6078; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6079; SSE-NEXT: movaps %xmm0, 1248(%rax)6080; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6081; SSE-NEXT: movaps %xmm0, 1232(%rax)6082; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6083; SSE-NEXT: movaps %xmm0, 1216(%rax)6084; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6085; SSE-NEXT: movaps %xmm0, 1200(%rax)6086; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6087; SSE-NEXT: movaps %xmm0, 1184(%rax)6088; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6089; SSE-NEXT: movaps %xmm0, 1168(%rax)6090; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6091; SSE-NEXT: movaps %xmm0, 1152(%rax)6092; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6093; SSE-NEXT: movaps %xmm0, 1136(%rax)6094; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6095; SSE-NEXT: movaps %xmm0, 1120(%rax)6096; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6097; SSE-NEXT: movaps %xmm0, 1104(%rax)6098; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6099; SSE-NEXT: movaps %xmm0, 1088(%rax)6100; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6101; SSE-NEXT: movaps %xmm0, 1072(%rax)6102; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6103; SSE-NEXT: movaps %xmm0, 1056(%rax)6104; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6105; SSE-NEXT: movaps %xmm0, 1040(%rax)6106; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6107; SSE-NEXT: movaps %xmm0, 1024(%rax)6108; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6109; SSE-NEXT: movaps %xmm0, 1008(%rax)6110; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6111; SSE-NEXT: movaps %xmm0, 992(%rax)6112; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6113; SSE-NEXT: movaps %xmm0, 976(%rax)6114; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6115; SSE-NEXT: movaps %xmm0, 960(%rax)6116; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6117; SSE-NEXT: movaps %xmm0, 944(%rax)6118; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6119; SSE-NEXT: movaps %xmm0, 928(%rax)6120; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6121; SSE-NEXT: movaps %xmm0, 912(%rax)6122; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6123; SSE-NEXT: movaps %xmm0, 896(%rax)6124; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6125; SSE-NEXT: movaps %xmm0, 880(%rax)6126; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6127; SSE-NEXT: movaps %xmm0, 864(%rax)6128; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6129; SSE-NEXT: movaps %xmm0, 848(%rax)6130; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6131; SSE-NEXT: movaps %xmm0, 832(%rax)6132; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6133; SSE-NEXT: movaps %xmm0, 816(%rax)6134; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6135; SSE-NEXT: movaps %xmm0, 800(%rax)6136; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6137; SSE-NEXT: movaps %xmm0, 784(%rax)6138; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6139; SSE-NEXT: movaps %xmm0, 768(%rax)6140; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6141; SSE-NEXT: movaps %xmm0, 752(%rax)6142; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6143; SSE-NEXT: movaps %xmm0, 736(%rax)6144; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6145; SSE-NEXT: movaps %xmm0, 720(%rax)6146; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6147; SSE-NEXT: movaps %xmm0, 704(%rax)6148; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6149; SSE-NEXT: movaps %xmm0, 688(%rax)6150; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6151; SSE-NEXT: movaps %xmm0, 672(%rax)6152; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6153; SSE-NEXT: movaps %xmm0, 656(%rax)6154; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6155; SSE-NEXT: movaps %xmm0, 640(%rax)6156; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6157; SSE-NEXT: movaps %xmm0, 624(%rax)6158; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6159; SSE-NEXT: movaps %xmm0, 608(%rax)6160; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6161; SSE-NEXT: movaps %xmm0, 592(%rax)6162; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6163; SSE-NEXT: movaps %xmm0, 576(%rax)6164; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6165; SSE-NEXT: movaps %xmm0, 560(%rax)6166; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6167; SSE-NEXT: movaps %xmm0, 544(%rax)6168; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6169; SSE-NEXT: movaps %xmm0, 528(%rax)6170; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6171; SSE-NEXT: movaps %xmm0, 512(%rax)6172; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6173; SSE-NEXT: movaps %xmm0, 496(%rax)6174; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6175; SSE-NEXT: movaps %xmm0, 480(%rax)6176; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6177; SSE-NEXT: movaps %xmm0, 464(%rax)6178; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6179; SSE-NEXT: movaps %xmm0, 448(%rax)6180; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6181; SSE-NEXT: movaps %xmm0, 432(%rax)6182; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6183; SSE-NEXT: movaps %xmm0, 416(%rax)6184; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6185; SSE-NEXT: movaps %xmm0, 400(%rax)6186; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6187; SSE-NEXT: movaps %xmm0, 384(%rax)6188; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6189; SSE-NEXT: movaps %xmm0, 368(%rax)6190; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6191; SSE-NEXT: movaps %xmm0, 352(%rax)6192; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6193; SSE-NEXT: movaps %xmm0, 336(%rax)6194; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6195; SSE-NEXT: movaps %xmm0, 320(%rax)6196; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6197; SSE-NEXT: movaps %xmm0, 304(%rax)6198; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6199; SSE-NEXT: movaps %xmm0, 288(%rax)6200; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6201; SSE-NEXT: movaps %xmm0, 272(%rax)6202; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6203; SSE-NEXT: movaps %xmm0, 256(%rax)6204; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6205; SSE-NEXT: movaps %xmm0, 240(%rax)6206; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6207; SSE-NEXT: movaps %xmm0, 224(%rax)6208; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6209; SSE-NEXT: movaps %xmm0, 208(%rax)6210; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6211; SSE-NEXT: movaps %xmm0, 192(%rax)6212; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6213; SSE-NEXT: movaps %xmm0, 176(%rax)6214; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6215; SSE-NEXT: movaps %xmm0, 160(%rax)6216; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6217; SSE-NEXT: movaps %xmm0, 144(%rax)6218; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6219; SSE-NEXT: movaps %xmm0, 128(%rax)6220; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6221; SSE-NEXT: movaps %xmm0, 112(%rax)6222; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6223; SSE-NEXT: movaps %xmm0, 96(%rax)6224; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6225; SSE-NEXT: movaps %xmm0, 80(%rax)6226; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6227; SSE-NEXT: movaps %xmm0, 64(%rax)6228; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6229; SSE-NEXT: movaps %xmm0, 48(%rax)6230; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6231; SSE-NEXT: movaps %xmm0, 32(%rax)6232; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6233; SSE-NEXT: movaps %xmm0, 16(%rax)6234; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6235; SSE-NEXT: movaps %xmm0, (%rax)6236; SSE-NEXT: addq $1688, %rsp # imm = 0x6986237; SSE-NEXT: retq6238;6239; AVX-LABEL: store_i64_stride8_vf32:6240; AVX: # %bb.0:6241; AVX-NEXT: subq $1672, %rsp # imm = 0x6886242; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r106243; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax6244; AVX-NEXT: vmovaps (%rsi), %xmm26245; AVX-NEXT: vmovaps (%rdi), %xmm36246; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6247; AVX-NEXT: vmovaps (%rcx), %xmm56248; AVX-NEXT: vmovaps 32(%rcx), %xmm16249; AVX-NEXT: vmovaps 64(%rcx), %xmm06250; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm4, %ymm66251; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm46252; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm6[1],ymm4[2],ymm6[2]6253; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6254; AVX-NEXT: vmovaps (%r9), %xmm46255; AVX-NEXT: vmovaps (%r8), %xmm66256; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm6[0],xmm4[0]6257; AVX-NEXT: vmovaps (%rax), %xmm86258; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm7, %ymm96259; AVX-NEXT: vinsertf128 $1, (%r10), %ymm7, %ymm76260; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[2]6261; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6262; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]6263; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm2, %ymm36264; AVX-NEXT: vbroadcastsd 8(%rdx), %ymm56265; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]6266; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]6267; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6268; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm4[1]6269; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm2, %ymm36270; AVX-NEXT: vbroadcastsd 8(%r10), %ymm46271; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]6272; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]6273; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6274; AVX-NEXT: vmovaps 32(%rsi), %xmm36275; AVX-NEXT: vmovaps 32(%rdi), %xmm46276; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm4[0],xmm3[0]6277; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm56278; AVX-NEXT: vinsertf128 $1, 32(%rdx), %ymm2, %ymm26279; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm5[1],ymm2[2],ymm5[2]6280; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6281; AVX-NEXT: vmovaps 32(%r9), %xmm56282; AVX-NEXT: vmovaps 32(%r8), %xmm66283; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm6[0],xmm5[0]6284; AVX-NEXT: vmovaps 32(%rax), %xmm86285; AVX-NEXT: vmovaps 64(%rax), %xmm26286; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm7, %ymm96287; AVX-NEXT: vinsertf128 $1, 32(%r10), %ymm7, %ymm76288; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[2]6289; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6290; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]6291; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm3, %ymm16292; AVX-NEXT: vbroadcastsd 40(%rdx), %ymm46293; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]6294; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]6295; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6296; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm6[1],xmm5[1]6297; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm1, %ymm36298; AVX-NEXT: vbroadcastsd 40(%r10), %ymm46299; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]6300; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5],ymm3[6,7]6301; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6302; AVX-NEXT: vmovaps 64(%rsi), %xmm16303; AVX-NEXT: vmovaps 64(%rdi), %xmm36304; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm1[0]6305; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm4, %ymm56306; AVX-NEXT: vinsertf128 $1, 64(%rdx), %ymm4, %ymm46307; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm5[1],ymm4[2],ymm5[2]6308; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6309; AVX-NEXT: vmovaps 64(%r9), %xmm46310; AVX-NEXT: vmovaps 64(%r8), %xmm56311; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]6312; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm76313; AVX-NEXT: vinsertf128 $1, 64(%r10), %ymm6, %ymm66314; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]6315; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6316; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm1[1]6317; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm06318; AVX-NEXT: vbroadcastsd 72(%rdx), %ymm36319; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]6320; AVX-NEXT: vmovaps 96(%rcx), %xmm36321; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]6322; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6323; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]6324; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm16325; AVX-NEXT: vbroadcastsd 72(%r10), %ymm26326; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6327; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6328; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6329; AVX-NEXT: vmovaps 96(%rsi), %xmm06330; AVX-NEXT: vmovaps 96(%rdi), %xmm16331; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6332; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm46333; AVX-NEXT: vinsertf128 $1, 96(%rdx), %ymm2, %ymm26334; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]6335; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6336; AVX-NEXT: vmovaps 96(%r9), %xmm26337; AVX-NEXT: vmovaps 96(%r8), %xmm46338; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]6339; AVX-NEXT: vmovaps 96(%rax), %xmm66340; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm76341; AVX-NEXT: vinsertf128 $1, 96(%r10), %ymm5, %ymm56342; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]6343; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6344; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6345; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16346; AVX-NEXT: vbroadcastsd 104(%rdx), %ymm36347; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6348; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6349; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6350; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]6351; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm16352; AVX-NEXT: vbroadcastsd 104(%r10), %ymm26353; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6354; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6355; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6356; AVX-NEXT: vmovaps 128(%rsi), %xmm06357; AVX-NEXT: vmovaps 128(%rdi), %xmm16358; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6359; AVX-NEXT: vmovaps 128(%rcx), %xmm36360; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm46361; AVX-NEXT: vinsertf128 $1, 128(%rdx), %ymm2, %ymm26362; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]6363; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6364; AVX-NEXT: vmovaps 128(%r9), %xmm26365; AVX-NEXT: vmovaps 128(%r8), %xmm46366; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]6367; AVX-NEXT: vmovaps 128(%rax), %xmm66368; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm76369; AVX-NEXT: vinsertf128 $1, 128(%r10), %ymm5, %ymm56370; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]6371; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6372; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6373; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16374; AVX-NEXT: vbroadcastsd 136(%rdx), %ymm36375; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6376; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6377; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6378; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]6379; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm16380; AVX-NEXT: vbroadcastsd 136(%r10), %ymm26381; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6382; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6383; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6384; AVX-NEXT: vmovaps 160(%rsi), %xmm06385; AVX-NEXT: vmovaps 160(%rdi), %xmm16386; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6387; AVX-NEXT: vmovaps 160(%rcx), %xmm36388; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm46389; AVX-NEXT: vinsertf128 $1, 160(%rdx), %ymm2, %ymm26390; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]6391; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6392; AVX-NEXT: vmovaps 160(%rax), %xmm26393; AVX-NEXT: vmovaps 160(%r9), %xmm46394; AVX-NEXT: vmovaps 160(%r8), %xmm56395; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]6396; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm76397; AVX-NEXT: vinsertf128 $1, 160(%r10), %ymm6, %ymm66398; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]6399; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6400; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6401; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16402; AVX-NEXT: vbroadcastsd 168(%rdx), %ymm36403; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6404; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6405; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6406; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]6407; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm16408; AVX-NEXT: vbroadcastsd 168(%r10), %ymm26409; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6410; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6411; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6412; AVX-NEXT: vmovaps 192(%rsi), %xmm06413; AVX-NEXT: vmovaps 192(%rdi), %xmm16414; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6415; AVX-NEXT: vmovaps 192(%rcx), %xmm36416; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm46417; AVX-NEXT: vinsertf128 $1, 192(%rdx), %ymm2, %ymm26418; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]6419; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6420; AVX-NEXT: vmovaps 192(%rax), %xmm26421; AVX-NEXT: vmovaps 192(%r9), %xmm46422; AVX-NEXT: vmovaps 192(%r8), %xmm56423; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]6424; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm76425; AVX-NEXT: vinsertf128 $1, 192(%r10), %ymm6, %ymm66426; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]6427; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6428; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6429; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16430; AVX-NEXT: vbroadcastsd 200(%rdx), %ymm36431; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6432; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6433; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6434; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]6435; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm16436; AVX-NEXT: vbroadcastsd 200(%r10), %ymm26437; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6438; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6439; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6440; AVX-NEXT: vmovaps 224(%rsi), %xmm06441; AVX-NEXT: vmovaps 224(%rdi), %xmm16442; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6443; AVX-NEXT: vmovaps 224(%rcx), %xmm36444; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm46445; AVX-NEXT: vinsertf128 $1, 224(%rdx), %ymm2, %ymm26446; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]6447; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6448; AVX-NEXT: vmovaps 224(%rax), %xmm26449; AVX-NEXT: vmovaps 224(%r9), %xmm46450; AVX-NEXT: vmovaps 224(%r8), %xmm56451; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]6452; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm76453; AVX-NEXT: vinsertf128 $1, 224(%r10), %ymm6, %ymm66454; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]6455; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6456; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6457; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16458; AVX-NEXT: vbroadcastsd 232(%rdx), %ymm36459; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6460; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6461; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6462; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]6463; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm16464; AVX-NEXT: vbroadcastsd 232(%r10), %ymm26465; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6466; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]6467; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6468; AVX-NEXT: vmovaps 16(%rsi), %xmm06469; AVX-NEXT: vmovaps 16(%rdi), %xmm16470; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6471; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6472; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm36473; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6474; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6475; AVX-NEXT: vmovaps 16(%r9), %xmm26476; AVX-NEXT: vmovaps 16(%r8), %xmm36477; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6478; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6479; AVX-NEXT: vbroadcastsd 16(%rax), %ymm56480; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6481; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6482; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6483; AVX-NEXT: vbroadcastsd 24(%rdx), %ymm16484; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]6485; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6486; AVX-NEXT: vbroadcastsd 24(%r10), %ymm16487; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm0[0,1,2,3],ymm1[4,5,6,7]6488; AVX-NEXT: vmovaps 48(%rsi), %xmm06489; AVX-NEXT: vmovaps 48(%rdi), %xmm16490; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6491; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6492; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm36493; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6494; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6495; AVX-NEXT: vmovaps 48(%r9), %xmm26496; AVX-NEXT: vmovaps 48(%r8), %xmm36497; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6498; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6499; AVX-NEXT: vbroadcastsd 48(%rax), %ymm56500; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6501; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6502; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6503; AVX-NEXT: vbroadcastsd 56(%rdx), %ymm16504; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6505; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6506; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6507; AVX-NEXT: vbroadcastsd 56(%r10), %ymm16508; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3],ymm1[4,5,6,7]6509; AVX-NEXT: vmovaps 80(%rsi), %xmm06510; AVX-NEXT: vmovaps 80(%rdi), %xmm16511; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6512; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6513; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm36514; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6515; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6516; AVX-NEXT: vmovaps 80(%r9), %xmm26517; AVX-NEXT: vmovaps 80(%r8), %xmm36518; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6519; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6520; AVX-NEXT: vbroadcastsd 80(%rax), %ymm56521; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6522; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6523; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6524; AVX-NEXT: vbroadcastsd 88(%rdx), %ymm16525; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6526; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6527; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6528; AVX-NEXT: vbroadcastsd 88(%r10), %ymm16529; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6530; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6531; AVX-NEXT: vmovaps 112(%rsi), %xmm06532; AVX-NEXT: vmovaps 112(%rdi), %xmm16533; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6534; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6535; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm36536; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6537; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6538; AVX-NEXT: vmovaps 112(%r9), %xmm26539; AVX-NEXT: vmovaps 112(%r8), %xmm36540; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6541; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6542; AVX-NEXT: vbroadcastsd 112(%rax), %ymm56543; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6544; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6545; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6546; AVX-NEXT: vbroadcastsd 120(%rdx), %ymm16547; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3],ymm1[4,5,6,7]6548; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6549; AVX-NEXT: vbroadcastsd 120(%r10), %ymm16550; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6551; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6552; AVX-NEXT: vmovaps 144(%rsi), %xmm06553; AVX-NEXT: vmovaps 144(%rdi), %xmm16554; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6555; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6556; AVX-NEXT: vbroadcastsd 144(%rcx), %ymm36557; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6558; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6559; AVX-NEXT: vmovaps 144(%r9), %xmm26560; AVX-NEXT: vmovaps 144(%r8), %xmm36561; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6562; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6563; AVX-NEXT: vbroadcastsd 144(%rax), %ymm56564; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6565; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6566; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6567; AVX-NEXT: vbroadcastsd 152(%rdx), %ymm16568; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6569; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6570; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6571; AVX-NEXT: vbroadcastsd 152(%r10), %ymm16572; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6573; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6574; AVX-NEXT: vmovaps 176(%rsi), %xmm06575; AVX-NEXT: vmovaps 176(%rdi), %xmm16576; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6577; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6578; AVX-NEXT: vbroadcastsd 176(%rcx), %ymm36579; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6580; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6581; AVX-NEXT: vmovaps 176(%r9), %xmm26582; AVX-NEXT: vmovaps 176(%r8), %xmm36583; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6584; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6585; AVX-NEXT: vbroadcastsd 176(%rax), %ymm56586; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6587; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6588; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6589; AVX-NEXT: vbroadcastsd 184(%rdx), %ymm16590; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6591; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6592; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6593; AVX-NEXT: vbroadcastsd 184(%r10), %ymm16594; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6595; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6596; AVX-NEXT: vmovaps 208(%rsi), %xmm06597; AVX-NEXT: vmovaps 208(%rdi), %xmm16598; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6599; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]6600; AVX-NEXT: vbroadcastsd 208(%rcx), %ymm36601; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6602; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6603; AVX-NEXT: vmovaps 208(%r9), %xmm26604; AVX-NEXT: vmovaps 208(%r8), %xmm36605; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]6606; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]6607; AVX-NEXT: vbroadcastsd 208(%rax), %ymm56608; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6609; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6610; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6611; AVX-NEXT: vbroadcastsd 216(%rdx), %ymm16612; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]6613; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]6614; AVX-NEXT: vbroadcastsd 216(%r10), %ymm16615; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm1[4,5,6,7]6616; AVX-NEXT: vmovaps 240(%rsi), %xmm06617; AVX-NEXT: vmovaps 240(%rdi), %xmm36618; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm3[0],xmm0[0]6619; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],mem[4,5,6,7]6620; AVX-NEXT: vbroadcastsd 240(%rcx), %ymm56621; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm1[0,1,2,3,4,5],ymm5[6,7]6622; AVX-NEXT: vmovaps 240(%r9), %xmm56623; AVX-NEXT: vmovaps 240(%r8), %xmm66624; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm6[0],xmm5[0]6625; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]6626; AVX-NEXT: vbroadcastsd 240(%rax), %ymm146627; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm15[0,1,2,3,4,5],ymm14[6,7]6628; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm0[1]6629; AVX-NEXT: vbroadcastsd 248(%rdx), %ymm36630; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm3[4,5,6,7]6631; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm5[1]6632; AVX-NEXT: vbroadcastsd 248(%r10), %ymm36633; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm3[4,5,6,7]6634; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rdx6635; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5],mem[6,7]6636; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6637; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm13[0,1,2,3,4,5],mem[6,7]6638; AVX-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill6639; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6640; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm2[0,1,2,3,4,5],mem[6,7]6641; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm12[0,1,2,3,4,5],mem[6,7]6642; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6643; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm2[0,1,2,3,4,5],mem[6,7]6644; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6645; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm2[0,1,2,3,4,5],mem[6,7]6646; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]6647; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6648; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm2[0,1,2,3,4,5],mem[6,7]6649; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6650; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm2[0,1,2,3,4,5],mem[6,7]6651; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6652; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5],mem[6,7]6653; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6654; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],mem[6,7]6655; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6656; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]6657; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]6658; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],mem[6,7]6659; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]6660; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6661; AVX-NEXT: vmovaps %ymm0, 2016(%rdx)6662; AVX-NEXT: vmovaps %ymm1, 1984(%rdx)6663; AVX-NEXT: vmovaps %ymm4, 1952(%rdx)6664; AVX-NEXT: vmovaps %ymm7, 1920(%rdx)6665; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6666; AVX-NEXT: vmovaps %ymm0, 1888(%rdx)6667; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6668; AVX-NEXT: vmovaps %ymm0, 1856(%rdx)6669; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6670; AVX-NEXT: vmovaps %ymm0, 1824(%rdx)6671; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6672; AVX-NEXT: vmovaps %ymm0, 1792(%rdx)6673; AVX-NEXT: vmovaps %ymm8, 1760(%rdx)6674; AVX-NEXT: vmovaps %ymm10, 1728(%rdx)6675; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6676; AVX-NEXT: vmovaps %ymm0, 1696(%rdx)6677; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6678; AVX-NEXT: vmovaps %ymm0, 1664(%rdx)6679; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6680; AVX-NEXT: vmovaps %ymm0, 1632(%rdx)6681; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6682; AVX-NEXT: vmovaps %ymm0, 1600(%rdx)6683; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6684; AVX-NEXT: vmovaps %ymm0, 1568(%rdx)6685; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6686; AVX-NEXT: vmovaps %ymm0, 1536(%rdx)6687; AVX-NEXT: vmovaps %ymm2, 1504(%rdx)6688; AVX-NEXT: vmovaps %ymm3, 1472(%rdx)6689; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6690; AVX-NEXT: vmovaps %ymm0, 1440(%rdx)6691; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6692; AVX-NEXT: vmovaps %ymm0, 1408(%rdx)6693; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6694; AVX-NEXT: vmovaps %ymm0, 1376(%rdx)6695; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6696; AVX-NEXT: vmovaps %ymm0, 1344(%rdx)6697; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6698; AVX-NEXT: vmovaps %ymm0, 1312(%rdx)6699; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6700; AVX-NEXT: vmovaps %ymm0, 1280(%rdx)6701; AVX-NEXT: vmovaps %ymm5, 1248(%rdx)6702; AVX-NEXT: vmovaps %ymm6, 1216(%rdx)6703; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6704; AVX-NEXT: vmovaps %ymm0, 1184(%rdx)6705; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6706; AVX-NEXT: vmovaps %ymm0, 1152(%rdx)6707; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6708; AVX-NEXT: vmovaps %ymm0, 1120(%rdx)6709; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6710; AVX-NEXT: vmovaps %ymm0, 1088(%rdx)6711; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6712; AVX-NEXT: vmovaps %ymm0, 1056(%rdx)6713; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6714; AVX-NEXT: vmovaps %ymm0, 1024(%rdx)6715; AVX-NEXT: vmovaps %ymm9, 992(%rdx)6716; AVX-NEXT: vmovaps %ymm11, 960(%rdx)6717; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6718; AVX-NEXT: vmovaps %ymm0, 928(%rdx)6719; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6720; AVX-NEXT: vmovaps %ymm0, 896(%rdx)6721; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6722; AVX-NEXT: vmovaps %ymm0, 864(%rdx)6723; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6724; AVX-NEXT: vmovaps %ymm0, 832(%rdx)6725; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6726; AVX-NEXT: vmovaps %ymm0, 800(%rdx)6727; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6728; AVX-NEXT: vmovaps %ymm0, 768(%rdx)6729; AVX-NEXT: vmovaps %ymm12, 736(%rdx)6730; AVX-NEXT: vmovaps %ymm13, 704(%rdx)6731; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6732; AVX-NEXT: vmovaps %ymm0, 672(%rdx)6733; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6734; AVX-NEXT: vmovaps %ymm0, 640(%rdx)6735; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6736; AVX-NEXT: vmovaps %ymm0, 608(%rdx)6737; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6738; AVX-NEXT: vmovaps %ymm0, 576(%rdx)6739; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6740; AVX-NEXT: vmovaps %ymm0, 544(%rdx)6741; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6742; AVX-NEXT: vmovaps %ymm0, 512(%rdx)6743; AVX-NEXT: vmovaps %ymm14, 480(%rdx)6744; AVX-NEXT: vmovaps %ymm15, 448(%rdx)6745; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6746; AVX-NEXT: vmovaps %ymm0, 416(%rdx)6747; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6748; AVX-NEXT: vmovaps %ymm0, 384(%rdx)6749; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6750; AVX-NEXT: vmovaps %ymm0, 352(%rdx)6751; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6752; AVX-NEXT: vmovaps %ymm0, 320(%rdx)6753; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6754; AVX-NEXT: vmovaps %ymm0, 288(%rdx)6755; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6756; AVX-NEXT: vmovaps %ymm0, 256(%rdx)6757; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload6758; AVX-NEXT: vmovaps %ymm0, 224(%rdx)6759; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6760; AVX-NEXT: vmovaps %ymm0, 192(%rdx)6761; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6762; AVX-NEXT: vmovaps %ymm0, 160(%rdx)6763; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6764; AVX-NEXT: vmovaps %ymm0, 128(%rdx)6765; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6766; AVX-NEXT: vmovaps %ymm0, 96(%rdx)6767; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6768; AVX-NEXT: vmovaps %ymm0, 64(%rdx)6769; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6770; AVX-NEXT: vmovaps %ymm0, 32(%rdx)6771; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6772; AVX-NEXT: vmovaps %ymm0, (%rdx)6773; AVX-NEXT: addq $1672, %rsp # imm = 0x6886774; AVX-NEXT: vzeroupper6775; AVX-NEXT: retq6776;6777; AVX2-LABEL: store_i64_stride8_vf32:6778; AVX2: # %bb.0:6779; AVX2-NEXT: subq $1704, %rsp # imm = 0x6A86780; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r106781; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax6782; AVX2-NEXT: vmovaps (%rcx), %xmm06783; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6784; AVX2-NEXT: vmovaps 32(%rcx), %xmm36785; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6786; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06787; AVX2-NEXT: vmovaps (%rsi), %xmm26788; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6789; AVX2-NEXT: vmovaps 32(%rsi), %xmm46790; AVX2-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6791; AVX2-NEXT: vmovaps (%rdi), %xmm16792; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6793; AVX2-NEXT: vmovaps 32(%rdi), %xmm56794; AVX2-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6795; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6796; AVX2-NEXT: vbroadcastsd 8(%rdx), %ymm26797; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6798; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6799; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6800; AVX2-NEXT: vmovaps (%rax), %xmm06801; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6802; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06803; AVX2-NEXT: vmovaps (%r9), %xmm26804; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6805; AVX2-NEXT: vmovaps 32(%r9), %xmm66806; AVX2-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6807; AVX2-NEXT: vmovaps (%r8), %xmm16808; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6809; AVX2-NEXT: vmovaps 32(%r8), %xmm76810; AVX2-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6811; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6812; AVX2-NEXT: vbroadcastsd 8(%r10), %ymm26813; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6814; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6815; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6816; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm06817; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]6818; AVX2-NEXT: vbroadcastsd 40(%rdx), %ymm26819; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6820; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6821; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6822; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]6823; AVX2-NEXT: vbroadcastsd 40(%r10), %ymm16824; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6825; AVX2-NEXT: vmovaps 32(%rax), %xmm16826; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6827; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16828; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6829; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6830; AVX2-NEXT: vmovaps 64(%rsi), %xmm16831; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6832; AVX2-NEXT: vmovaps 64(%rdi), %xmm06833; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6834; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6835; AVX2-NEXT: vbroadcastsd 72(%rdx), %ymm16836; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6837; AVX2-NEXT: vmovaps 64(%rcx), %xmm16838; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6839; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16840; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6841; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6842; AVX2-NEXT: vmovaps 64(%r9), %xmm16843; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6844; AVX2-NEXT: vmovaps 64(%r8), %xmm06845; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6846; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6847; AVX2-NEXT: vbroadcastsd 72(%r10), %ymm16848; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6849; AVX2-NEXT: vmovaps 64(%rax), %xmm16850; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6851; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16852; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6853; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6854; AVX2-NEXT: vmovaps 96(%rsi), %xmm16855; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6856; AVX2-NEXT: vmovaps 96(%rdi), %xmm06857; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6858; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6859; AVX2-NEXT: vbroadcastsd 104(%rdx), %ymm16860; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6861; AVX2-NEXT: vmovaps 96(%rcx), %xmm16862; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6863; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16864; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6865; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6866; AVX2-NEXT: vmovaps 96(%r9), %xmm16867; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6868; AVX2-NEXT: vmovaps 96(%r8), %xmm06869; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6870; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6871; AVX2-NEXT: vbroadcastsd 104(%r10), %ymm16872; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6873; AVX2-NEXT: vmovaps 96(%rax), %xmm16874; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6875; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16876; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6877; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6878; AVX2-NEXT: vmovaps 128(%rsi), %xmm16879; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6880; AVX2-NEXT: vmovaps 128(%rdi), %xmm06881; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6882; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6883; AVX2-NEXT: vbroadcastsd 136(%rdx), %ymm16884; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6885; AVX2-NEXT: vmovaps 128(%rcx), %xmm16886; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6887; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16888; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6889; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6890; AVX2-NEXT: vmovaps 128(%r9), %xmm16891; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6892; AVX2-NEXT: vmovaps 128(%r8), %xmm06893; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6894; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6895; AVX2-NEXT: vbroadcastsd 136(%r10), %ymm16896; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6897; AVX2-NEXT: vmovaps 128(%rax), %xmm16898; AVX2-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill6899; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16900; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6901; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6902; AVX2-NEXT: vmovaps 160(%rsi), %xmm16903; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6904; AVX2-NEXT: vmovaps 160(%rdi), %xmm06905; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6906; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6907; AVX2-NEXT: vbroadcastsd 168(%rdx), %ymm16908; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6909; AVX2-NEXT: vmovaps 160(%rcx), %xmm16910; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6911; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16912; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6913; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6914; AVX2-NEXT: vmovaps 160(%r9), %xmm06915; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6916; AVX2-NEXT: vmovaps 160(%r8), %xmm136917; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm0[1]6918; AVX2-NEXT: vbroadcastsd 168(%r10), %ymm16919; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6920; AVX2-NEXT: vmovaps 160(%rax), %xmm126921; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm16922; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6923; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6924; AVX2-NEXT: vmovaps 192(%rsi), %xmm116925; AVX2-NEXT: vmovaps 192(%rdi), %xmm106926; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]6927; AVX2-NEXT: vbroadcastsd 200(%rdx), %ymm16928; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6929; AVX2-NEXT: vmovaps 192(%rcx), %xmm96930; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm16931; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6932; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6933; AVX2-NEXT: vmovaps 192(%r9), %xmm86934; AVX2-NEXT: vmovaps 192(%r8), %xmm76935; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]6936; AVX2-NEXT: vbroadcastsd 200(%r10), %ymm16937; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6938; AVX2-NEXT: vmovaps 192(%rax), %xmm66939; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm16940; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6941; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6942; AVX2-NEXT: vmovaps 224(%rsi), %xmm56943; AVX2-NEXT: vmovaps 224(%rdi), %xmm46944; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]6945; AVX2-NEXT: vbroadcastsd 232(%rdx), %ymm16946; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6947; AVX2-NEXT: vmovaps 224(%rcx), %xmm36948; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16949; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6950; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6951; AVX2-NEXT: vmovaps 224(%r9), %xmm26952; AVX2-NEXT: vmovaps 224(%r8), %xmm16953; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]6954; AVX2-NEXT: vbroadcastsd 232(%r10), %ymm156955; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm15[4,5,6,7]6956; AVX2-NEXT: vmovaps 224(%rax), %xmm06957; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm146958; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]6959; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6960; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6961; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6962; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6963; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm14, %ymm146964; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload6965; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6966; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6967; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6968; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6969; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6970; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm14, %ymm146971; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload6972; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6973; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6974; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6975; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6976; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6977; AVX2-NEXT: vinsertf128 $1, 32(%rdx), %ymm14, %ymm146978; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload6979; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6980; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6981; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6982; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6983; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6984; AVX2-NEXT: vinsertf128 $1, 32(%r10), %ymm14, %ymm146985; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload6986; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6987; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6988; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6989; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6990; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6991; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm14, %ymm146992; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload6993; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6994; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6995; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload6996; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload6997; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]6998; AVX2-NEXT: vinsertf128 $1, 64(%r10), %ymm14, %ymm146999; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7000; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7001; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7002; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7003; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7004; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]7005; AVX2-NEXT: vinsertf128 $1, 96(%rdx), %ymm14, %ymm147006; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7007; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7008; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7009; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7010; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7011; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]7012; AVX2-NEXT: vinsertf128 $1, 96(%r10), %ymm14, %ymm147013; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7014; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7015; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7016; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7017; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7018; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]7019; AVX2-NEXT: vinsertf128 $1, 128(%rdx), %ymm14, %ymm147020; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7021; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7022; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7023; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7024; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7025; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]7026; AVX2-NEXT: vinsertf128 $1, 128(%r10), %ymm14, %ymm147027; AVX2-NEXT: vbroadcastsd (%rsp), %ymm15 # 16-byte Folded Reload7028; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7029; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7030; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7031; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7032; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]7033; AVX2-NEXT: vinsertf128 $1, 160(%rdx), %ymm14, %ymm147034; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7035; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7036; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7037; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload7038; AVX2-NEXT: # xmm13 = xmm13[0],mem[0]7039; AVX2-NEXT: vinsertf128 $1, 160(%r10), %ymm13, %ymm137040; AVX2-NEXT: vbroadcastsd %xmm12, %ymm127041; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]7042; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7043; AVX2-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]7044; AVX2-NEXT: vinsertf128 $1, 192(%rdx), %ymm10, %ymm107045; AVX2-NEXT: vbroadcastsd %xmm9, %ymm97046; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]7047; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7048; AVX2-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]7049; AVX2-NEXT: vinsertf128 $1, 192(%r10), %ymm7, %ymm77050; AVX2-NEXT: vbroadcastsd %xmm6, %ymm67051; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]7052; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7053; AVX2-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]7054; AVX2-NEXT: vinsertf128 $1, 224(%rdx), %ymm4, %ymm47055; AVX2-NEXT: vbroadcastsd %xmm3, %ymm37056; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]7057; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7058; AVX2-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]7059; AVX2-NEXT: vinsertf128 $1, 224(%r10), %ymm1, %ymm17060; AVX2-NEXT: vbroadcastsd %xmm0, %ymm07061; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7062; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7063; AVX2-NEXT: vmovaps (%rdi), %ymm07064; AVX2-NEXT: vmovaps (%rsi), %ymm17065; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7066; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7067; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm37068; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7069; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7070; AVX2-NEXT: vmovaps (%r8), %ymm27071; AVX2-NEXT: vmovaps (%r9), %ymm37072; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7073; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7074; AVX2-NEXT: vbroadcastsd 16(%rax), %ymm57075; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7076; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7077; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7078; AVX2-NEXT: vbroadcastsd 24(%rdx), %ymm17079; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm0[2,3],ymm1[2,3]7080; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7081; AVX2-NEXT: vbroadcastsd 24(%r10), %ymm17082; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]7083; AVX2-NEXT: vmovaps 32(%rdi), %ymm07084; AVX2-NEXT: vmovaps 32(%rsi), %ymm17085; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7086; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7087; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm37088; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7089; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7090; AVX2-NEXT: vmovaps 32(%r8), %ymm27091; AVX2-NEXT: vmovaps 32(%r9), %ymm37092; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7093; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7094; AVX2-NEXT: vbroadcastsd 48(%rax), %ymm57095; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7096; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7097; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7098; AVX2-NEXT: vbroadcastsd 56(%rdx), %ymm17099; AVX2-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]7100; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7101; AVX2-NEXT: vbroadcastsd 56(%r10), %ymm17102; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7103; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7104; AVX2-NEXT: vmovaps 64(%rdi), %ymm07105; AVX2-NEXT: vmovaps 64(%rsi), %ymm17106; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7107; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7108; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm37109; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7110; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7111; AVX2-NEXT: vmovaps 64(%r8), %ymm27112; AVX2-NEXT: vmovaps 64(%r9), %ymm37113; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7114; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7115; AVX2-NEXT: vbroadcastsd 80(%rax), %ymm57116; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7117; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7118; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7119; AVX2-NEXT: vbroadcastsd 88(%rdx), %ymm17120; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7121; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7122; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7123; AVX2-NEXT: vbroadcastsd 88(%r10), %ymm17124; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7125; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7126; AVX2-NEXT: vmovaps 96(%rdi), %ymm07127; AVX2-NEXT: vmovaps 96(%rsi), %ymm17128; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7129; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7130; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm37131; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7132; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7133; AVX2-NEXT: vmovaps 96(%r8), %ymm27134; AVX2-NEXT: vmovaps 96(%r9), %ymm37135; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7136; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7137; AVX2-NEXT: vbroadcastsd 112(%rax), %ymm57138; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7139; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7140; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7141; AVX2-NEXT: vbroadcastsd 120(%rdx), %ymm17142; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7143; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill7144; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7145; AVX2-NEXT: vbroadcastsd 120(%r10), %ymm17146; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7147; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7148; AVX2-NEXT: vmovaps 128(%rdi), %ymm07149; AVX2-NEXT: vmovaps 128(%rsi), %ymm17150; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7151; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7152; AVX2-NEXT: vbroadcastsd 144(%rcx), %ymm37153; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7154; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7155; AVX2-NEXT: vmovaps 128(%r8), %ymm27156; AVX2-NEXT: vmovaps 128(%r9), %ymm37157; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7158; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7159; AVX2-NEXT: vbroadcastsd 144(%rax), %ymm57160; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7161; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7162; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7163; AVX2-NEXT: vbroadcastsd 152(%rdx), %ymm17164; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7165; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7166; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7167; AVX2-NEXT: vbroadcastsd 152(%r10), %ymm17168; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7169; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7170; AVX2-NEXT: vmovaps 160(%rdi), %ymm07171; AVX2-NEXT: vmovaps 160(%rsi), %ymm17172; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7173; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7174; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm37175; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7176; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7177; AVX2-NEXT: vmovaps 160(%r8), %ymm27178; AVX2-NEXT: vmovaps 160(%r9), %ymm37179; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7180; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7181; AVX2-NEXT: vbroadcastsd 176(%rax), %ymm57182; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7183; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7184; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7185; AVX2-NEXT: vbroadcastsd 184(%rdx), %ymm17186; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7187; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7188; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7189; AVX2-NEXT: vbroadcastsd 184(%r10), %ymm17190; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7191; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7192; AVX2-NEXT: vmovaps 192(%rdi), %ymm07193; AVX2-NEXT: vmovaps 192(%rsi), %ymm17194; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7195; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7196; AVX2-NEXT: vbroadcastsd 208(%rcx), %ymm37197; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7198; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7199; AVX2-NEXT: vmovaps 192(%r8), %ymm27200; AVX2-NEXT: vmovaps 192(%r9), %ymm37201; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7202; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7203; AVX2-NEXT: vbroadcastsd 208(%rax), %ymm57204; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7205; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7206; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7207; AVX2-NEXT: vbroadcastsd 216(%rdx), %ymm17208; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]7209; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7210; AVX2-NEXT: vbroadcastsd 216(%r10), %ymm17211; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm0[2,3],ymm1[2,3]7212; AVX2-NEXT: vmovaps 224(%rdi), %ymm07213; AVX2-NEXT: vmovaps 224(%rsi), %ymm37214; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]7215; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]7216; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm57217; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3,4,5],ymm5[6,7]7218; AVX2-NEXT: vmovaps 224(%r8), %ymm57219; AVX2-NEXT: vmovaps 224(%r9), %ymm67220; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]7221; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],mem[2,3]7222; AVX2-NEXT: vbroadcastsd 240(%rax), %ymm157223; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm7[0,1,2,3,4,5],ymm15[6,7]7224; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]7225; AVX2-NEXT: vbroadcastsd 248(%rdx), %ymm37226; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm3[2,3]7227; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm6[1],ymm5[3],ymm6[3]7228; AVX2-NEXT: vbroadcastsd 248(%r10), %ymm37229; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[2,3],ymm3[2,3]7230; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx7231; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],mem[6,7]7232; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7233; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],mem[6,7]7234; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7235; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm12[0,1,2,3,4,5],mem[6,7]7236; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7237; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3,4,5],mem[6,7]7238; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7239; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],mem[6,7]7240; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7241; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3,4,5],mem[6,7]7242; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload7243; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],mem[6,7]7244; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7245; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],mem[6,7]7246; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7247; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],mem[6,7]7248; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7249; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3,4,5],mem[6,7]7250; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7251; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]7252; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7253; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]7254; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]7255; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]7256; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]7257; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]7258; AVX2-NEXT: vmovaps %ymm2, 2016(%rdx)7259; AVX2-NEXT: vmovaps %ymm4, 1984(%rdx)7260; AVX2-NEXT: vmovaps %ymm15, 1952(%rdx)7261; AVX2-NEXT: vmovaps %ymm10, 1920(%rdx)7262; AVX2-NEXT: vmovaps %ymm11, 1760(%rdx)7263; AVX2-NEXT: vmovaps %ymm13, 1728(%rdx)7264; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7265; AVX2-NEXT: vmovaps %ymm2, 1696(%rdx)7266; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7267; AVX2-NEXT: vmovaps %ymm2, 1664(%rdx)7268; AVX2-NEXT: vmovaps %ymm0, 1504(%rdx)7269; AVX2-NEXT: vmovaps %ymm1, 1472(%rdx)7270; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7271; AVX2-NEXT: vmovaps %ymm0, 1440(%rdx)7272; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7273; AVX2-NEXT: vmovaps %ymm0, 1408(%rdx)7274; AVX2-NEXT: vmovaps %ymm3, 1248(%rdx)7275; AVX2-NEXT: vmovaps %ymm5, 1216(%rdx)7276; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7277; AVX2-NEXT: vmovaps %ymm0, 1184(%rdx)7278; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7279; AVX2-NEXT: vmovaps %ymm0, 1152(%rdx)7280; AVX2-NEXT: vmovaps %ymm6, 992(%rdx)7281; AVX2-NEXT: vmovaps %ymm7, 960(%rdx)7282; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7283; AVX2-NEXT: vmovaps %ymm0, 928(%rdx)7284; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7285; AVX2-NEXT: vmovaps %ymm0, 896(%rdx)7286; AVX2-NEXT: vmovaps %ymm8, 736(%rdx)7287; AVX2-NEXT: vmovaps %ymm9, 704(%rdx)7288; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7289; AVX2-NEXT: vmovaps %ymm0, 672(%rdx)7290; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7291; AVX2-NEXT: vmovaps %ymm0, 640(%rdx)7292; AVX2-NEXT: vmovaps %ymm12, 480(%rdx)7293; AVX2-NEXT: vmovaps %ymm14, 448(%rdx)7294; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7295; AVX2-NEXT: vmovaps %ymm0, 416(%rdx)7296; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7297; AVX2-NEXT: vmovaps %ymm0, 384(%rdx)7298; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7299; AVX2-NEXT: vmovaps %ymm0, 224(%rdx)7300; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7301; AVX2-NEXT: vmovaps %ymm0, 192(%rdx)7302; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7303; AVX2-NEXT: vmovaps %ymm0, 160(%rdx)7304; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7305; AVX2-NEXT: vmovaps %ymm0, 128(%rdx)7306; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7307; AVX2-NEXT: vmovaps %ymm0, 1888(%rdx)7308; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7309; AVX2-NEXT: vmovaps %ymm0, 1856(%rdx)7310; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7311; AVX2-NEXT: vmovaps %ymm0, 1824(%rdx)7312; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7313; AVX2-NEXT: vmovaps %ymm0, 1792(%rdx)7314; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7315; AVX2-NEXT: vmovaps %ymm0, 1632(%rdx)7316; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7317; AVX2-NEXT: vmovaps %ymm0, 1600(%rdx)7318; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7319; AVX2-NEXT: vmovaps %ymm0, 1568(%rdx)7320; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7321; AVX2-NEXT: vmovaps %ymm0, 1536(%rdx)7322; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7323; AVX2-NEXT: vmovaps %ymm0, 1376(%rdx)7324; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7325; AVX2-NEXT: vmovaps %ymm0, 1344(%rdx)7326; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7327; AVX2-NEXT: vmovaps %ymm0, 1312(%rdx)7328; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7329; AVX2-NEXT: vmovaps %ymm0, 1280(%rdx)7330; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7331; AVX2-NEXT: vmovaps %ymm0, 1120(%rdx)7332; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7333; AVX2-NEXT: vmovaps %ymm0, 1088(%rdx)7334; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7335; AVX2-NEXT: vmovaps %ymm0, 1056(%rdx)7336; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7337; AVX2-NEXT: vmovaps %ymm0, 1024(%rdx)7338; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7339; AVX2-NEXT: vmovaps %ymm0, 864(%rdx)7340; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7341; AVX2-NEXT: vmovaps %ymm0, 832(%rdx)7342; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7343; AVX2-NEXT: vmovaps %ymm0, 800(%rdx)7344; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7345; AVX2-NEXT: vmovaps %ymm0, 768(%rdx)7346; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7347; AVX2-NEXT: vmovaps %ymm0, 608(%rdx)7348; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7349; AVX2-NEXT: vmovaps %ymm0, 576(%rdx)7350; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7351; AVX2-NEXT: vmovaps %ymm0, 544(%rdx)7352; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7353; AVX2-NEXT: vmovaps %ymm0, 512(%rdx)7354; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7355; AVX2-NEXT: vmovaps %ymm0, 352(%rdx)7356; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7357; AVX2-NEXT: vmovaps %ymm0, 320(%rdx)7358; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7359; AVX2-NEXT: vmovaps %ymm0, 288(%rdx)7360; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7361; AVX2-NEXT: vmovaps %ymm0, 256(%rdx)7362; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7363; AVX2-NEXT: vmovaps %ymm0, 96(%rdx)7364; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7365; AVX2-NEXT: vmovaps %ymm0, 64(%rdx)7366; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7367; AVX2-NEXT: vmovaps %ymm0, 32(%rdx)7368; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7369; AVX2-NEXT: vmovaps %ymm0, (%rdx)7370; AVX2-NEXT: addq $1704, %rsp # imm = 0x6A87371; AVX2-NEXT: vzeroupper7372; AVX2-NEXT: retq7373;7374; AVX2-FP-LABEL: store_i64_stride8_vf32:7375; AVX2-FP: # %bb.0:7376; AVX2-FP-NEXT: subq $1704, %rsp # imm = 0x6A87377; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r107378; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax7379; AVX2-FP-NEXT: vmovaps (%rcx), %xmm07380; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7381; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm37382; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7383; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07384; AVX2-FP-NEXT: vmovaps (%rsi), %xmm27385; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7386; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm47387; AVX2-FP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7388; AVX2-FP-NEXT: vmovaps (%rdi), %xmm17389; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7390; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm57391; AVX2-FP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7392; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7393; AVX2-FP-NEXT: vbroadcastsd 8(%rdx), %ymm27394; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7395; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7396; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7397; AVX2-FP-NEXT: vmovaps (%rax), %xmm07398; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7399; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07400; AVX2-FP-NEXT: vmovaps (%r9), %xmm27401; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7402; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm67403; AVX2-FP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7404; AVX2-FP-NEXT: vmovaps (%r8), %xmm17405; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7406; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm77407; AVX2-FP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7408; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7409; AVX2-FP-NEXT: vbroadcastsd 8(%r10), %ymm27410; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7411; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7412; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7413; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm07414; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]7415; AVX2-FP-NEXT: vbroadcastsd 40(%rdx), %ymm27416; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7417; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7418; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7419; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]7420; AVX2-FP-NEXT: vbroadcastsd 40(%r10), %ymm17421; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7422; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm17423; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7424; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17425; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7426; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7427; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm17428; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7429; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm07430; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7431; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7432; AVX2-FP-NEXT: vbroadcastsd 72(%rdx), %ymm17433; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7434; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm17435; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7436; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17437; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7438; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7439; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm17440; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7441; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm07442; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7443; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7444; AVX2-FP-NEXT: vbroadcastsd 72(%r10), %ymm17445; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7446; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm17447; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7448; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17449; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7450; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7451; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm17452; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7453; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm07454; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7455; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7456; AVX2-FP-NEXT: vbroadcastsd 104(%rdx), %ymm17457; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7458; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm17459; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7460; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17461; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7462; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7463; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm17464; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7465; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm07466; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7467; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7468; AVX2-FP-NEXT: vbroadcastsd 104(%r10), %ymm17469; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7470; AVX2-FP-NEXT: vmovaps 96(%rax), %xmm17471; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7472; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17473; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7474; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7475; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm17476; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7477; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm07478; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7479; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7480; AVX2-FP-NEXT: vbroadcastsd 136(%rdx), %ymm17481; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7482; AVX2-FP-NEXT: vmovaps 128(%rcx), %xmm17483; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7484; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17485; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7486; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7487; AVX2-FP-NEXT: vmovaps 128(%r9), %xmm17488; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7489; AVX2-FP-NEXT: vmovaps 128(%r8), %xmm07490; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7491; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7492; AVX2-FP-NEXT: vbroadcastsd 136(%r10), %ymm17493; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7494; AVX2-FP-NEXT: vmovaps 128(%rax), %xmm17495; AVX2-FP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill7496; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17497; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7498; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7499; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm17500; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7501; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm07502; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7503; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7504; AVX2-FP-NEXT: vbroadcastsd 168(%rdx), %ymm17505; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7506; AVX2-FP-NEXT: vmovaps 160(%rcx), %xmm17507; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7508; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17509; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7510; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7511; AVX2-FP-NEXT: vmovaps 160(%r9), %xmm07512; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7513; AVX2-FP-NEXT: vmovaps 160(%r8), %xmm137514; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm0[1]7515; AVX2-FP-NEXT: vbroadcastsd 168(%r10), %ymm17516; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7517; AVX2-FP-NEXT: vmovaps 160(%rax), %xmm127518; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm17519; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7520; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7521; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm117522; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm107523; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]7524; AVX2-FP-NEXT: vbroadcastsd 200(%rdx), %ymm17525; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7526; AVX2-FP-NEXT: vmovaps 192(%rcx), %xmm97527; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm17528; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7529; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7530; AVX2-FP-NEXT: vmovaps 192(%r9), %xmm87531; AVX2-FP-NEXT: vmovaps 192(%r8), %xmm77532; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]7533; AVX2-FP-NEXT: vbroadcastsd 200(%r10), %ymm17534; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7535; AVX2-FP-NEXT: vmovaps 192(%rax), %xmm67536; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm17537; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7538; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7539; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm57540; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm47541; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]7542; AVX2-FP-NEXT: vbroadcastsd 232(%rdx), %ymm17543; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7544; AVX2-FP-NEXT: vmovaps 224(%rcx), %xmm37545; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm17546; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7547; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7548; AVX2-FP-NEXT: vmovaps 224(%r9), %xmm27549; AVX2-FP-NEXT: vmovaps 224(%r8), %xmm17550; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]7551; AVX2-FP-NEXT: vbroadcastsd 232(%r10), %ymm157552; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm15[4,5,6,7]7553; AVX2-FP-NEXT: vmovaps 224(%rax), %xmm07554; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm147555; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]7556; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7557; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7558; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7559; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7560; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm14, %ymm147561; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7562; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7563; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7564; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7565; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7566; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7567; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm14, %ymm147568; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7569; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7570; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7571; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7572; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7573; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7574; AVX2-FP-NEXT: vinsertf128 $1, 32(%rdx), %ymm14, %ymm147575; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7576; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7577; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7578; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7579; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7580; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7581; AVX2-FP-NEXT: vinsertf128 $1, 32(%r10), %ymm14, %ymm147582; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7583; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7584; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7585; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7586; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7587; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7588; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm14, %ymm147589; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7590; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7591; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7592; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7593; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7594; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7595; AVX2-FP-NEXT: vinsertf128 $1, 64(%r10), %ymm14, %ymm147596; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7597; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7598; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7599; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7600; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7601; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7602; AVX2-FP-NEXT: vinsertf128 $1, 96(%rdx), %ymm14, %ymm147603; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7604; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7605; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7606; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7607; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7608; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7609; AVX2-FP-NEXT: vinsertf128 $1, 96(%r10), %ymm14, %ymm147610; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7611; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7612; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7613; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7614; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7615; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7616; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdx), %ymm14, %ymm147617; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7618; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7619; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7620; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7621; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7622; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7623; AVX2-FP-NEXT: vinsertf128 $1, 128(%r10), %ymm14, %ymm147624; AVX2-FP-NEXT: vbroadcastsd (%rsp), %ymm15 # 16-byte Folded Reload7625; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7626; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7627; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7628; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload7629; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]7630; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdx), %ymm14, %ymm147631; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload7632; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]7633; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7634; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload7635; AVX2-FP-NEXT: # xmm13 = xmm13[0],mem[0]7636; AVX2-FP-NEXT: vinsertf128 $1, 160(%r10), %ymm13, %ymm137637; AVX2-FP-NEXT: vbroadcastsd %xmm12, %ymm127638; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]7639; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7640; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]7641; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdx), %ymm10, %ymm107642; AVX2-FP-NEXT: vbroadcastsd %xmm9, %ymm97643; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]7644; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7645; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]7646; AVX2-FP-NEXT: vinsertf128 $1, 192(%r10), %ymm7, %ymm77647; AVX2-FP-NEXT: vbroadcastsd %xmm6, %ymm67648; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]7649; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7650; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]7651; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdx), %ymm4, %ymm47652; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm37653; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]7654; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7655; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]7656; AVX2-FP-NEXT: vinsertf128 $1, 224(%r10), %ymm1, %ymm17657; AVX2-FP-NEXT: vbroadcastsd %xmm0, %ymm07658; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7659; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7660; AVX2-FP-NEXT: vmovaps (%rdi), %ymm07661; AVX2-FP-NEXT: vmovaps (%rsi), %ymm17662; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7663; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7664; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm37665; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7666; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7667; AVX2-FP-NEXT: vmovaps (%r8), %ymm27668; AVX2-FP-NEXT: vmovaps (%r9), %ymm37669; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7670; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7671; AVX2-FP-NEXT: vbroadcastsd 16(%rax), %ymm57672; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7673; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7674; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7675; AVX2-FP-NEXT: vbroadcastsd 24(%rdx), %ymm17676; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm0[2,3],ymm1[2,3]7677; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7678; AVX2-FP-NEXT: vbroadcastsd 24(%r10), %ymm17679; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]7680; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm07681; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm17682; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7683; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7684; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm37685; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7686; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7687; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm27688; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm37689; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7690; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7691; AVX2-FP-NEXT: vbroadcastsd 48(%rax), %ymm57692; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7693; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7694; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7695; AVX2-FP-NEXT: vbroadcastsd 56(%rdx), %ymm17696; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]7697; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7698; AVX2-FP-NEXT: vbroadcastsd 56(%r10), %ymm17699; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7700; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7701; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm07702; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm17703; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7704; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7705; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm37706; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7707; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7708; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm27709; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm37710; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7711; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7712; AVX2-FP-NEXT: vbroadcastsd 80(%rax), %ymm57713; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7714; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7715; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7716; AVX2-FP-NEXT: vbroadcastsd 88(%rdx), %ymm17717; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7718; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7719; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7720; AVX2-FP-NEXT: vbroadcastsd 88(%r10), %ymm17721; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7722; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7723; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm07724; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm17725; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7726; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7727; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm37728; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7729; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7730; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm27731; AVX2-FP-NEXT: vmovaps 96(%r9), %ymm37732; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7733; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7734; AVX2-FP-NEXT: vbroadcastsd 112(%rax), %ymm57735; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7736; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7737; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7738; AVX2-FP-NEXT: vbroadcastsd 120(%rdx), %ymm17739; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7740; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill7741; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7742; AVX2-FP-NEXT: vbroadcastsd 120(%r10), %ymm17743; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7744; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7745; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm07746; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm17747; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7748; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7749; AVX2-FP-NEXT: vbroadcastsd 144(%rcx), %ymm37750; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7751; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7752; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm27753; AVX2-FP-NEXT: vmovaps 128(%r9), %ymm37754; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7755; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7756; AVX2-FP-NEXT: vbroadcastsd 144(%rax), %ymm57757; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7758; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7759; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7760; AVX2-FP-NEXT: vbroadcastsd 152(%rdx), %ymm17761; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7762; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7763; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7764; AVX2-FP-NEXT: vbroadcastsd 152(%r10), %ymm17765; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7766; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7767; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm07768; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm17769; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7770; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7771; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm37772; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7773; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7774; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm27775; AVX2-FP-NEXT: vmovaps 160(%r9), %ymm37776; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7777; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7778; AVX2-FP-NEXT: vbroadcastsd 176(%rax), %ymm57779; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7780; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7781; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7782; AVX2-FP-NEXT: vbroadcastsd 184(%rdx), %ymm17783; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7784; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7785; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7786; AVX2-FP-NEXT: vbroadcastsd 184(%r10), %ymm17787; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]7788; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7789; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm07790; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm17791; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7792; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]7793; AVX2-FP-NEXT: vbroadcastsd 208(%rcx), %ymm37794; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7795; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7796; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm27797; AVX2-FP-NEXT: vmovaps 192(%r9), %ymm37798; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7799; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]7800; AVX2-FP-NEXT: vbroadcastsd 208(%rax), %ymm57801; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7802; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7803; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7804; AVX2-FP-NEXT: vbroadcastsd 216(%rdx), %ymm17805; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]7806; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7807; AVX2-FP-NEXT: vbroadcastsd 216(%r10), %ymm17808; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm0[2,3],ymm1[2,3]7809; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm07810; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm37811; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]7812; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]7813; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm57814; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3,4,5],ymm5[6,7]7815; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm57816; AVX2-FP-NEXT: vmovaps 224(%r9), %ymm67817; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]7818; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],mem[2,3]7819; AVX2-FP-NEXT: vbroadcastsd 240(%rax), %ymm157820; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm7[0,1,2,3,4,5],ymm15[6,7]7821; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]7822; AVX2-FP-NEXT: vbroadcastsd 248(%rdx), %ymm37823; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm3[2,3]7824; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm6[1],ymm5[3],ymm6[3]7825; AVX2-FP-NEXT: vbroadcastsd 248(%r10), %ymm37826; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[2,3],ymm3[2,3]7827; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rdx7828; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],mem[6,7]7829; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7830; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],mem[6,7]7831; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7832; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm12[0,1,2,3,4,5],mem[6,7]7833; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7834; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3,4,5],mem[6,7]7835; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7836; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],mem[6,7]7837; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7838; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3,4,5],mem[6,7]7839; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload7840; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],mem[6,7]7841; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7842; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],mem[6,7]7843; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7844; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],mem[6,7]7845; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7846; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3,4,5],mem[6,7]7847; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7848; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]7849; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7850; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]7851; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]7852; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]7853; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]7854; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]7855; AVX2-FP-NEXT: vmovaps %ymm2, 2016(%rdx)7856; AVX2-FP-NEXT: vmovaps %ymm4, 1984(%rdx)7857; AVX2-FP-NEXT: vmovaps %ymm15, 1952(%rdx)7858; AVX2-FP-NEXT: vmovaps %ymm10, 1920(%rdx)7859; AVX2-FP-NEXT: vmovaps %ymm11, 1760(%rdx)7860; AVX2-FP-NEXT: vmovaps %ymm13, 1728(%rdx)7861; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7862; AVX2-FP-NEXT: vmovaps %ymm2, 1696(%rdx)7863; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7864; AVX2-FP-NEXT: vmovaps %ymm2, 1664(%rdx)7865; AVX2-FP-NEXT: vmovaps %ymm0, 1504(%rdx)7866; AVX2-FP-NEXT: vmovaps %ymm1, 1472(%rdx)7867; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7868; AVX2-FP-NEXT: vmovaps %ymm0, 1440(%rdx)7869; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7870; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%rdx)7871; AVX2-FP-NEXT: vmovaps %ymm3, 1248(%rdx)7872; AVX2-FP-NEXT: vmovaps %ymm5, 1216(%rdx)7873; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7874; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%rdx)7875; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7876; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%rdx)7877; AVX2-FP-NEXT: vmovaps %ymm6, 992(%rdx)7878; AVX2-FP-NEXT: vmovaps %ymm7, 960(%rdx)7879; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7880; AVX2-FP-NEXT: vmovaps %ymm0, 928(%rdx)7881; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7882; AVX2-FP-NEXT: vmovaps %ymm0, 896(%rdx)7883; AVX2-FP-NEXT: vmovaps %ymm8, 736(%rdx)7884; AVX2-FP-NEXT: vmovaps %ymm9, 704(%rdx)7885; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7886; AVX2-FP-NEXT: vmovaps %ymm0, 672(%rdx)7887; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7888; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rdx)7889; AVX2-FP-NEXT: vmovaps %ymm12, 480(%rdx)7890; AVX2-FP-NEXT: vmovaps %ymm14, 448(%rdx)7891; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7892; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rdx)7893; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7894; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rdx)7895; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7896; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rdx)7897; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7898; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rdx)7899; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7900; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rdx)7901; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7902; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rdx)7903; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7904; AVX2-FP-NEXT: vmovaps %ymm0, 1888(%rdx)7905; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7906; AVX2-FP-NEXT: vmovaps %ymm0, 1856(%rdx)7907; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7908; AVX2-FP-NEXT: vmovaps %ymm0, 1824(%rdx)7909; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7910; AVX2-FP-NEXT: vmovaps %ymm0, 1792(%rdx)7911; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7912; AVX2-FP-NEXT: vmovaps %ymm0, 1632(%rdx)7913; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7914; AVX2-FP-NEXT: vmovaps %ymm0, 1600(%rdx)7915; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7916; AVX2-FP-NEXT: vmovaps %ymm0, 1568(%rdx)7917; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7918; AVX2-FP-NEXT: vmovaps %ymm0, 1536(%rdx)7919; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7920; AVX2-FP-NEXT: vmovaps %ymm0, 1376(%rdx)7921; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7922; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%rdx)7923; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7924; AVX2-FP-NEXT: vmovaps %ymm0, 1312(%rdx)7925; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7926; AVX2-FP-NEXT: vmovaps %ymm0, 1280(%rdx)7927; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7928; AVX2-FP-NEXT: vmovaps %ymm0, 1120(%rdx)7929; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7930; AVX2-FP-NEXT: vmovaps %ymm0, 1088(%rdx)7931; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7932; AVX2-FP-NEXT: vmovaps %ymm0, 1056(%rdx)7933; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7934; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%rdx)7935; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7936; AVX2-FP-NEXT: vmovaps %ymm0, 864(%rdx)7937; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7938; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rdx)7939; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7940; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rdx)7941; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7942; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rdx)7943; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7944; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rdx)7945; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7946; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rdx)7947; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7948; AVX2-FP-NEXT: vmovaps %ymm0, 544(%rdx)7949; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7950; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rdx)7951; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7952; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rdx)7953; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7954; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rdx)7955; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7956; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rdx)7957; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7958; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rdx)7959; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7960; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rdx)7961; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7962; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rdx)7963; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7964; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rdx)7965; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7966; AVX2-FP-NEXT: vmovaps %ymm0, (%rdx)7967; AVX2-FP-NEXT: addq $1704, %rsp # imm = 0x6A87968; AVX2-FP-NEXT: vzeroupper7969; AVX2-FP-NEXT: retq7970;7971; AVX2-FCP-LABEL: store_i64_stride8_vf32:7972; AVX2-FCP: # %bb.0:7973; AVX2-FCP-NEXT: subq $1704, %rsp # imm = 0x6A87974; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r107975; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7976; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm07977; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7978; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm37979; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7980; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07981; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm27982; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7983; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm47984; AVX2-FCP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7985; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm17986; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7987; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm57988; AVX2-FCP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7989; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7990; AVX2-FCP-NEXT: vbroadcastsd 8(%rdx), %ymm27991; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7992; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7993; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7994; AVX2-FCP-NEXT: vmovaps (%rax), %xmm07995; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7996; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07997; AVX2-FCP-NEXT: vmovaps (%r9), %xmm27998; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7999; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm68000; AVX2-FCP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8001; AVX2-FCP-NEXT: vmovaps (%r8), %xmm18002; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8003; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm78004; AVX2-FCP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8005; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]8006; AVX2-FCP-NEXT: vbroadcastsd 8(%r10), %ymm28007; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]8008; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8009; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8010; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm08011; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm4[1]8012; AVX2-FCP-NEXT: vbroadcastsd 40(%rdx), %ymm28013; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]8014; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8015; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8016; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]8017; AVX2-FCP-NEXT: vbroadcastsd 40(%r10), %ymm18018; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8019; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm18020; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8021; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18022; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8023; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8024; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm18025; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8026; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm08027; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8028; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8029; AVX2-FCP-NEXT: vbroadcastsd 72(%rdx), %ymm18030; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8031; AVX2-FCP-NEXT: vmovaps 64(%rcx), %xmm18032; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8033; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18034; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8035; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8036; AVX2-FCP-NEXT: vmovaps 64(%r9), %xmm18037; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8038; AVX2-FCP-NEXT: vmovaps 64(%r8), %xmm08039; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8040; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8041; AVX2-FCP-NEXT: vbroadcastsd 72(%r10), %ymm18042; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8043; AVX2-FCP-NEXT: vmovaps 64(%rax), %xmm18044; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8045; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18046; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8047; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8048; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm18049; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8050; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm08051; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8052; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8053; AVX2-FCP-NEXT: vbroadcastsd 104(%rdx), %ymm18054; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8055; AVX2-FCP-NEXT: vmovaps 96(%rcx), %xmm18056; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8057; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18058; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8059; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8060; AVX2-FCP-NEXT: vmovaps 96(%r9), %xmm18061; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8062; AVX2-FCP-NEXT: vmovaps 96(%r8), %xmm08063; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8064; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8065; AVX2-FCP-NEXT: vbroadcastsd 104(%r10), %ymm18066; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8067; AVX2-FCP-NEXT: vmovaps 96(%rax), %xmm18068; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8069; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18070; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8071; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8072; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm18073; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8074; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm08075; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8076; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8077; AVX2-FCP-NEXT: vbroadcastsd 136(%rdx), %ymm18078; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8079; AVX2-FCP-NEXT: vmovaps 128(%rcx), %xmm18080; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8081; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18082; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8083; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8084; AVX2-FCP-NEXT: vmovaps 128(%r9), %xmm18085; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8086; AVX2-FCP-NEXT: vmovaps 128(%r8), %xmm08087; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8088; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8089; AVX2-FCP-NEXT: vbroadcastsd 136(%r10), %ymm18090; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8091; AVX2-FCP-NEXT: vmovaps 128(%rax), %xmm18092; AVX2-FCP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill8093; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18094; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8095; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8096; AVX2-FCP-NEXT: vmovaps 160(%rsi), %xmm18097; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8098; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm08099; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8100; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]8101; AVX2-FCP-NEXT: vbroadcastsd 168(%rdx), %ymm18102; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8103; AVX2-FCP-NEXT: vmovaps 160(%rcx), %xmm18104; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8105; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm18106; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8107; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8108; AVX2-FCP-NEXT: vmovaps 160(%r9), %xmm08109; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8110; AVX2-FCP-NEXT: vmovaps 160(%r8), %xmm138111; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm0[1]8112; AVX2-FCP-NEXT: vbroadcastsd 168(%r10), %ymm18113; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8114; AVX2-FCP-NEXT: vmovaps 160(%rax), %xmm128115; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm18116; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8117; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8118; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm118119; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm108120; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]8121; AVX2-FCP-NEXT: vbroadcastsd 200(%rdx), %ymm18122; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8123; AVX2-FCP-NEXT: vmovaps 192(%rcx), %xmm98124; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm18125; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8126; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8127; AVX2-FCP-NEXT: vmovaps 192(%r9), %xmm88128; AVX2-FCP-NEXT: vmovaps 192(%r8), %xmm78129; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]8130; AVX2-FCP-NEXT: vbroadcastsd 200(%r10), %ymm18131; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8132; AVX2-FCP-NEXT: vmovaps 192(%rax), %xmm68133; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm18134; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8135; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8136; AVX2-FCP-NEXT: vmovaps 224(%rsi), %xmm58137; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm48138; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]8139; AVX2-FCP-NEXT: vbroadcastsd 232(%rdx), %ymm18140; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8141; AVX2-FCP-NEXT: vmovaps 224(%rcx), %xmm38142; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm18143; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]8144; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8145; AVX2-FCP-NEXT: vmovaps 224(%r9), %xmm28146; AVX2-FCP-NEXT: vmovaps 224(%r8), %xmm18147; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]8148; AVX2-FCP-NEXT: vbroadcastsd 232(%r10), %ymm158149; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm15[4,5,6,7]8150; AVX2-FCP-NEXT: vmovaps 224(%rax), %xmm08151; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm148152; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]8153; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8154; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8155; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8156; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8157; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm14, %ymm148158; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8159; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8160; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8161; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8162; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8163; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8164; AVX2-FCP-NEXT: vinsertf128 $1, (%r10), %ymm14, %ymm148165; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8166; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8167; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8168; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8169; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8170; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8171; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rdx), %ymm14, %ymm148172; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8173; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8174; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8175; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8176; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8177; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8178; AVX2-FCP-NEXT: vinsertf128 $1, 32(%r10), %ymm14, %ymm148179; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8180; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8181; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8182; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8183; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8184; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8185; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rdx), %ymm14, %ymm148186; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8187; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8188; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8189; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8190; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8191; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8192; AVX2-FCP-NEXT: vinsertf128 $1, 64(%r10), %ymm14, %ymm148193; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8194; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8195; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8196; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8197; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8198; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8199; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rdx), %ymm14, %ymm148200; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8201; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8202; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8203; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8204; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8205; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8206; AVX2-FCP-NEXT: vinsertf128 $1, 96(%r10), %ymm14, %ymm148207; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8208; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8209; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8210; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8211; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8212; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8213; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdx), %ymm14, %ymm148214; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8215; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8216; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8217; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8218; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8219; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8220; AVX2-FCP-NEXT: vinsertf128 $1, 128(%r10), %ymm14, %ymm148221; AVX2-FCP-NEXT: vbroadcastsd (%rsp), %ymm15 # 16-byte Folded Reload8222; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8223; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8224; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8225; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload8226; AVX2-FCP-NEXT: # xmm14 = xmm14[0],mem[0]8227; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rdx), %ymm14, %ymm148228; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload8229; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]8230; AVX2-FCP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8231; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload8232; AVX2-FCP-NEXT: # xmm13 = xmm13[0],mem[0]8233; AVX2-FCP-NEXT: vinsertf128 $1, 160(%r10), %ymm13, %ymm138234; AVX2-FCP-NEXT: vbroadcastsd %xmm12, %ymm128235; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]8236; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8237; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]8238; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdx), %ymm10, %ymm108239; AVX2-FCP-NEXT: vbroadcastsd %xmm9, %ymm98240; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]8241; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8242; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]8243; AVX2-FCP-NEXT: vinsertf128 $1, 192(%r10), %ymm7, %ymm78244; AVX2-FCP-NEXT: vbroadcastsd %xmm6, %ymm68245; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]8246; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8247; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]8248; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rdx), %ymm4, %ymm48249; AVX2-FCP-NEXT: vbroadcastsd %xmm3, %ymm38250; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]8251; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8252; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]8253; AVX2-FCP-NEXT: vinsertf128 $1, 224(%r10), %ymm1, %ymm18254; AVX2-FCP-NEXT: vbroadcastsd %xmm0, %ymm08255; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8256; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8257; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm08258; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm18259; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8260; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8261; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm38262; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8263; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8264; AVX2-FCP-NEXT: vmovaps (%r8), %ymm28265; AVX2-FCP-NEXT: vmovaps (%r9), %ymm38266; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8267; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8268; AVX2-FCP-NEXT: vbroadcastsd 16(%rax), %ymm58269; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8270; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8271; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8272; AVX2-FCP-NEXT: vbroadcastsd 24(%rdx), %ymm18273; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm0[2,3],ymm1[2,3]8274; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8275; AVX2-FCP-NEXT: vbroadcastsd 24(%r10), %ymm18276; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]8277; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm08278; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm18279; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8280; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8281; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm38282; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8283; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8284; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm28285; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm38286; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8287; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8288; AVX2-FCP-NEXT: vbroadcastsd 48(%rax), %ymm58289; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8290; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8291; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8292; AVX2-FCP-NEXT: vbroadcastsd 56(%rdx), %ymm18293; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]8294; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8295; AVX2-FCP-NEXT: vbroadcastsd 56(%r10), %ymm18296; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8297; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8298; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm08299; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm18300; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8301; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8302; AVX2-FCP-NEXT: vbroadcastsd 80(%rcx), %ymm38303; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8304; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8305; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm28306; AVX2-FCP-NEXT: vmovaps 64(%r9), %ymm38307; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8308; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8309; AVX2-FCP-NEXT: vbroadcastsd 80(%rax), %ymm58310; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8311; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8312; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8313; AVX2-FCP-NEXT: vbroadcastsd 88(%rdx), %ymm18314; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8315; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8316; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8317; AVX2-FCP-NEXT: vbroadcastsd 88(%r10), %ymm18318; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8319; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8320; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm08321; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm18322; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8323; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8324; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm38325; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8326; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8327; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm28328; AVX2-FCP-NEXT: vmovaps 96(%r9), %ymm38329; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8330; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8331; AVX2-FCP-NEXT: vbroadcastsd 112(%rax), %ymm58332; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8333; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8334; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8335; AVX2-FCP-NEXT: vbroadcastsd 120(%rdx), %ymm18336; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8337; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill8338; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8339; AVX2-FCP-NEXT: vbroadcastsd 120(%r10), %ymm18340; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8341; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8342; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm08343; AVX2-FCP-NEXT: vmovaps 128(%rsi), %ymm18344; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8345; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8346; AVX2-FCP-NEXT: vbroadcastsd 144(%rcx), %ymm38347; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8348; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8349; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm28350; AVX2-FCP-NEXT: vmovaps 128(%r9), %ymm38351; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8352; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8353; AVX2-FCP-NEXT: vbroadcastsd 144(%rax), %ymm58354; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8355; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8356; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8357; AVX2-FCP-NEXT: vbroadcastsd 152(%rdx), %ymm18358; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8359; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8360; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8361; AVX2-FCP-NEXT: vbroadcastsd 152(%r10), %ymm18362; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8363; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8364; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm08365; AVX2-FCP-NEXT: vmovaps 160(%rsi), %ymm18366; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8367; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8368; AVX2-FCP-NEXT: vbroadcastsd 176(%rcx), %ymm38369; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8370; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8371; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm28372; AVX2-FCP-NEXT: vmovaps 160(%r9), %ymm38373; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8374; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8375; AVX2-FCP-NEXT: vbroadcastsd 176(%rax), %ymm58376; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8377; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8378; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8379; AVX2-FCP-NEXT: vbroadcastsd 184(%rdx), %ymm18380; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8381; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8382; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8383; AVX2-FCP-NEXT: vbroadcastsd 184(%r10), %ymm18384; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]8385; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8386; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm08387; AVX2-FCP-NEXT: vmovaps 192(%rsi), %ymm18388; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8389; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]8390; AVX2-FCP-NEXT: vbroadcastsd 208(%rcx), %ymm38391; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]8392; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8393; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm28394; AVX2-FCP-NEXT: vmovaps 192(%r9), %ymm38395; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]8396; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]8397; AVX2-FCP-NEXT: vbroadcastsd 208(%rax), %ymm58398; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]8399; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8400; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]8401; AVX2-FCP-NEXT: vbroadcastsd 216(%rdx), %ymm18402; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]8403; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]8404; AVX2-FCP-NEXT: vbroadcastsd 216(%r10), %ymm18405; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm0[2,3],ymm1[2,3]8406; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm08407; AVX2-FCP-NEXT: vmovaps 224(%rsi), %ymm38408; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]8409; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]8410; AVX2-FCP-NEXT: vbroadcastsd 240(%rcx), %ymm58411; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3,4,5],ymm5[6,7]8412; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm58413; AVX2-FCP-NEXT: vmovaps 224(%r9), %ymm68414; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]8415; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],mem[2,3]8416; AVX2-FCP-NEXT: vbroadcastsd 240(%rax), %ymm158417; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm7[0,1,2,3,4,5],ymm15[6,7]8418; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]8419; AVX2-FCP-NEXT: vbroadcastsd 248(%rdx), %ymm38420; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm0[2,3],ymm3[2,3]8421; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm6[1],ymm5[3],ymm6[3]8422; AVX2-FCP-NEXT: vbroadcastsd 248(%r10), %ymm38423; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[2,3],ymm3[2,3]8424; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rdx8425; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],mem[6,7]8426; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8427; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],mem[6,7]8428; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8429; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm12[0,1,2,3,4,5],mem[6,7]8430; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8431; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3,4,5],mem[6,7]8432; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8433; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],mem[6,7]8434; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8435; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3,4,5],mem[6,7]8436; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload8437; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],mem[6,7]8438; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8439; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],mem[6,7]8440; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8441; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],mem[6,7]8442; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8443; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3,4,5],mem[6,7]8444; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8445; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]8446; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8447; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]8448; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]8449; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]8450; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]8451; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]8452; AVX2-FCP-NEXT: vmovaps %ymm2, 2016(%rdx)8453; AVX2-FCP-NEXT: vmovaps %ymm4, 1984(%rdx)8454; AVX2-FCP-NEXT: vmovaps %ymm15, 1952(%rdx)8455; AVX2-FCP-NEXT: vmovaps %ymm10, 1920(%rdx)8456; AVX2-FCP-NEXT: vmovaps %ymm11, 1760(%rdx)8457; AVX2-FCP-NEXT: vmovaps %ymm13, 1728(%rdx)8458; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload8459; AVX2-FCP-NEXT: vmovaps %ymm2, 1696(%rdx)8460; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload8461; AVX2-FCP-NEXT: vmovaps %ymm2, 1664(%rdx)8462; AVX2-FCP-NEXT: vmovaps %ymm0, 1504(%rdx)8463; AVX2-FCP-NEXT: vmovaps %ymm1, 1472(%rdx)8464; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8465; AVX2-FCP-NEXT: vmovaps %ymm0, 1440(%rdx)8466; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8467; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%rdx)8468; AVX2-FCP-NEXT: vmovaps %ymm3, 1248(%rdx)8469; AVX2-FCP-NEXT: vmovaps %ymm5, 1216(%rdx)8470; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8471; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%rdx)8472; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8473; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%rdx)8474; AVX2-FCP-NEXT: vmovaps %ymm6, 992(%rdx)8475; AVX2-FCP-NEXT: vmovaps %ymm7, 960(%rdx)8476; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8477; AVX2-FCP-NEXT: vmovaps %ymm0, 928(%rdx)8478; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8479; AVX2-FCP-NEXT: vmovaps %ymm0, 896(%rdx)8480; AVX2-FCP-NEXT: vmovaps %ymm8, 736(%rdx)8481; AVX2-FCP-NEXT: vmovaps %ymm9, 704(%rdx)8482; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8483; AVX2-FCP-NEXT: vmovaps %ymm0, 672(%rdx)8484; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8485; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rdx)8486; AVX2-FCP-NEXT: vmovaps %ymm12, 480(%rdx)8487; AVX2-FCP-NEXT: vmovaps %ymm14, 448(%rdx)8488; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8489; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rdx)8490; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8491; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rdx)8492; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8493; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rdx)8494; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8495; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rdx)8496; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8497; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rdx)8498; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8499; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rdx)8500; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8501; AVX2-FCP-NEXT: vmovaps %ymm0, 1888(%rdx)8502; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8503; AVX2-FCP-NEXT: vmovaps %ymm0, 1856(%rdx)8504; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8505; AVX2-FCP-NEXT: vmovaps %ymm0, 1824(%rdx)8506; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8507; AVX2-FCP-NEXT: vmovaps %ymm0, 1792(%rdx)8508; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8509; AVX2-FCP-NEXT: vmovaps %ymm0, 1632(%rdx)8510; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8511; AVX2-FCP-NEXT: vmovaps %ymm0, 1600(%rdx)8512; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8513; AVX2-FCP-NEXT: vmovaps %ymm0, 1568(%rdx)8514; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8515; AVX2-FCP-NEXT: vmovaps %ymm0, 1536(%rdx)8516; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8517; AVX2-FCP-NEXT: vmovaps %ymm0, 1376(%rdx)8518; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8519; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%rdx)8520; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8521; AVX2-FCP-NEXT: vmovaps %ymm0, 1312(%rdx)8522; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8523; AVX2-FCP-NEXT: vmovaps %ymm0, 1280(%rdx)8524; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8525; AVX2-FCP-NEXT: vmovaps %ymm0, 1120(%rdx)8526; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8527; AVX2-FCP-NEXT: vmovaps %ymm0, 1088(%rdx)8528; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8529; AVX2-FCP-NEXT: vmovaps %ymm0, 1056(%rdx)8530; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8531; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%rdx)8532; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8533; AVX2-FCP-NEXT: vmovaps %ymm0, 864(%rdx)8534; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8535; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rdx)8536; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8537; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rdx)8538; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8539; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rdx)8540; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8541; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rdx)8542; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8543; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rdx)8544; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8545; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%rdx)8546; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8547; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rdx)8548; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8549; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rdx)8550; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8551; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rdx)8552; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8553; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rdx)8554; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8555; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rdx)8556; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8557; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rdx)8558; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8559; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rdx)8560; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8561; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rdx)8562; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8563; AVX2-FCP-NEXT: vmovaps %ymm0, (%rdx)8564; AVX2-FCP-NEXT: addq $1704, %rsp # imm = 0x6A88565; AVX2-FCP-NEXT: vzeroupper8566; AVX2-FCP-NEXT: retq8567;8568; AVX512-LABEL: store_i64_stride8_vf32:8569; AVX512: # %bb.0:8570; AVX512-NEXT: subq $2312, %rsp # imm = 0x9088571; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax8572; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r108573; AVX512-NEXT: vmovaps 128(%rdi), %zmm08574; AVX512-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8575; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm68576; AVX512-NEXT: vmovdqa64 (%rdi), %zmm28577; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm08578; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm58579; AVX512-NEXT: vmovdqa64 (%rsi), %zmm38580; AVX512-NEXT: vmovaps 192(%rdx), %zmm18581; AVX512-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8582; AVX512-NEXT: vmovaps 128(%rdx), %zmm18583; AVX512-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8584; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm78585; AVX512-NEXT: vmovdqa64 (%rdx), %zmm48586; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm238587; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm18588; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm98589; AVX512-NEXT: vmovdqa64 (%rcx), %zmm88590; AVX512-NEXT: vmovdqa64 (%r8), %zmm188591; AVX512-NEXT: vmovdqa64 64(%r8), %zmm168592; AVX512-NEXT: vmovdqa64 (%r9), %zmm128593; AVX512-NEXT: vmovdqa64 64(%r9), %zmm198594; AVX512-NEXT: vmovdqa64 (%r10), %zmm258595; AVX512-NEXT: vmovdqa64 64(%r10), %zmm178596; AVX512-NEXT: vmovdqa64 (%rax), %zmm158597; AVX512-NEXT: vmovdqa64 64(%rax), %zmm208598; AVX512-NEXT: movb $-64, %r11b8599; AVX512-NEXT: kmovw %r11d, %k18600; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]8601; AVX512-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8602; AVX512-NEXT: vmovdqa64 %zmm4, %zmm108603; AVX512-NEXT: vpermt2q %zmm8, %zmm27, %zmm108604; AVX512-NEXT: vmovdqa64 %zmm2, %zmm118605; AVX512-NEXT: vpermt2q %zmm3, %zmm27, %zmm118606; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]8607; AVX512-NEXT: vmovdqa64 %zmm25, %zmm118608; AVX512-NEXT: vpermt2q %zmm15, %zmm27, %zmm118609; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]8610; AVX512-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}8611; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm108612; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8613; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]8614; AVX512-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8615; AVX512-NEXT: vmovdqa64 %zmm4, %zmm108616; AVX512-NEXT: vpermt2q %zmm8, %zmm24, %zmm108617; AVX512-NEXT: vmovdqa64 %zmm2, %zmm118618; AVX512-NEXT: vpermt2q %zmm3, %zmm24, %zmm118619; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]8620; AVX512-NEXT: vmovdqa64 %zmm25, %zmm118621; AVX512-NEXT: vpermt2q %zmm15, %zmm24, %zmm118622; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]8623; AVX512-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}8624; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm108625; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8626; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]8627; AVX512-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8628; AVX512-NEXT: vmovdqa64 %zmm4, %zmm108629; AVX512-NEXT: vpermt2q %zmm8, %zmm22, %zmm108630; AVX512-NEXT: vmovdqa64 %zmm2, %zmm118631; AVX512-NEXT: vpermt2q %zmm3, %zmm22, %zmm118632; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]8633; AVX512-NEXT: vmovdqa64 %zmm18, %zmm118634; AVX512-NEXT: vpermt2q %zmm12, %zmm22, %zmm118635; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]8636; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm108637; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8638; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]8639; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8640; AVX512-NEXT: vpermt2q %zmm8, %zmm21, %zmm48641; AVX512-NEXT: vpermt2q %zmm3, %zmm21, %zmm28642; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]8643; AVX512-NEXT: vmovdqa64 %zmm18, %zmm38644; AVX512-NEXT: vpermt2q %zmm12, %zmm21, %zmm38645; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]8646; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm28647; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8648; AVX512-NEXT: vmovdqa64 %zmm7, %zmm28649; AVX512-NEXT: vpermt2q %zmm9, %zmm27, %zmm28650; AVX512-NEXT: vmovdqa64 %zmm6, %zmm38651; AVX512-NEXT: vpermt2q %zmm5, %zmm27, %zmm38652; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]8653; AVX512-NEXT: vmovdqa64 %zmm17, %zmm38654; AVX512-NEXT: vpermt2q %zmm20, %zmm27, %zmm38655; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]8656; AVX512-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}8657; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm28658; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8659; AVX512-NEXT: vmovdqa64 %zmm7, %zmm28660; AVX512-NEXT: vpermt2q %zmm9, %zmm24, %zmm28661; AVX512-NEXT: vmovdqa64 %zmm6, %zmm38662; AVX512-NEXT: vpermt2q %zmm5, %zmm24, %zmm38663; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]8664; AVX512-NEXT: vmovdqa64 %zmm17, %zmm38665; AVX512-NEXT: vpermt2q %zmm20, %zmm24, %zmm38666; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]8667; AVX512-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}8668; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm28669; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8670; AVX512-NEXT: vmovdqa64 %zmm7, %zmm28671; AVX512-NEXT: vpermt2q %zmm9, %zmm22, %zmm28672; AVX512-NEXT: vmovdqa64 %zmm6, %zmm38673; AVX512-NEXT: vpermt2q %zmm5, %zmm22, %zmm38674; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]8675; AVX512-NEXT: vmovdqa64 %zmm16, %zmm38676; AVX512-NEXT: vpermt2q %zmm19, %zmm22, %zmm38677; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]8678; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm28679; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8680; AVX512-NEXT: vpermt2q %zmm9, %zmm21, %zmm78681; AVX512-NEXT: vpermt2q %zmm5, %zmm21, %zmm68682; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]8683; AVX512-NEXT: vmovdqa64 %zmm16, %zmm38684; AVX512-NEXT: vpermt2q %zmm19, %zmm21, %zmm38685; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]8686; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm28687; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8688; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8689; AVX512-NEXT: vmovdqa64 %zmm3, %zmm28690; AVX512-NEXT: vpermt2q %zmm1, %zmm27, %zmm28691; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8692; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8693; AVX512-NEXT: vmovdqa64 %zmm2, %zmm48694; AVX512-NEXT: vpermt2q %zmm0, %zmm27, %zmm48695; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8696; AVX512-NEXT: vmovdqa64 %zmm3, %zmm48697; AVX512-NEXT: vpermt2q %zmm1, %zmm24, %zmm48698; AVX512-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill8699; AVX512-NEXT: vmovdqa64 %zmm2, %zmm48700; AVX512-NEXT: vpermt2q %zmm0, %zmm24, %zmm48701; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8702; AVX512-NEXT: vmovdqa64 %zmm3, %zmm48703; AVX512-NEXT: vpermt2q %zmm1, %zmm22, %zmm48704; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8705; AVX512-NEXT: vmovdqa64 %zmm2, %zmm48706; AVX512-NEXT: vpermt2q %zmm0, %zmm22, %zmm48707; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8708; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm38709; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8710; AVX512-NEXT: vpermt2q %zmm0, %zmm21, %zmm28711; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8712; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8713; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18714; AVX512-NEXT: vpermt2q %zmm23, %zmm27, %zmm18715; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8716; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18717; AVX512-NEXT: vpermt2q %zmm23, %zmm24, %zmm18718; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8719; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18720; AVX512-NEXT: vpermt2q %zmm23, %zmm22, %zmm18721; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8722; AVX512-NEXT: vpermt2q %zmm23, %zmm21, %zmm08723; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8724; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm18725; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm08726; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28727; AVX512-NEXT: vpermt2q %zmm0, %zmm27, %zmm28728; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8729; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28730; AVX512-NEXT: vpermt2q %zmm0, %zmm24, %zmm28731; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8732; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28733; AVX512-NEXT: vpermt2q %zmm0, %zmm22, %zmm28734; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8735; AVX512-NEXT: vpermt2q %zmm0, %zmm21, %zmm18736; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8737; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]8738; AVX512-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8739; AVX512-NEXT: vmovdqa64 %zmm25, %zmm08740; AVX512-NEXT: vpermt2q %zmm15, %zmm30, %zmm08741; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8742; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]8743; AVX512-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8744; AVX512-NEXT: vmovdqa64 %zmm25, %zmm08745; AVX512-NEXT: vpermt2q %zmm15, %zmm31, %zmm08746; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8747; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]8748; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8749; AVX512-NEXT: vmovdqa64 %zmm25, %zmm08750; AVX512-NEXT: vpermt2q %zmm15, %zmm23, %zmm08751; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8752; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]8753; AVX512-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8754; AVX512-NEXT: vpermt2q %zmm15, %zmm26, %zmm258755; AVX512-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8756; AVX512-NEXT: vmovdqa64 %zmm18, %zmm08757; AVX512-NEXT: vmovdqa64 %zmm18, %zmm298758; AVX512-NEXT: vpermt2q %zmm12, %zmm30, %zmm298759; AVX512-NEXT: vpermt2q %zmm12, %zmm31, %zmm188760; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18761; AVX512-NEXT: vpermt2q %zmm12, %zmm23, %zmm18762; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8763; AVX512-NEXT: vpermt2q %zmm12, %zmm26, %zmm08764; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8765; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08766; AVX512-NEXT: vpermt2q %zmm20, %zmm30, %zmm08767; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8768; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08769; AVX512-NEXT: vpermt2q %zmm20, %zmm31, %zmm08770; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8771; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08772; AVX512-NEXT: vpermt2q %zmm20, %zmm23, %zmm08773; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8774; AVX512-NEXT: vpermt2q %zmm20, %zmm26, %zmm178775; AVX512-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8776; AVX512-NEXT: vmovdqa64 %zmm16, %zmm148777; AVX512-NEXT: vpermt2q %zmm19, %zmm30, %zmm148778; AVX512-NEXT: vmovdqa64 %zmm16, %zmm118779; AVX512-NEXT: vpermt2q %zmm19, %zmm31, %zmm118780; AVX512-NEXT: vmovdqa64 %zmm16, %zmm258781; AVX512-NEXT: vpermt2q %zmm19, %zmm23, %zmm258782; AVX512-NEXT: vpermt2q %zmm19, %zmm26, %zmm168783; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8784; AVX512-NEXT: vmovdqa64 128(%r10), %zmm198785; AVX512-NEXT: vmovdqa64 128(%rax), %zmm08786; AVX512-NEXT: vmovdqa64 %zmm19, %zmm288787; AVX512-NEXT: vpermt2q %zmm0, %zmm30, %zmm288788; AVX512-NEXT: vmovdqa64 %zmm19, %zmm18789; AVX512-NEXT: vpermt2q %zmm0, %zmm31, %zmm18790; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8791; AVX512-NEXT: vmovdqa64 %zmm19, %zmm138792; AVX512-NEXT: vpermt2q %zmm0, %zmm27, %zmm138793; AVX512-NEXT: vmovdqa64 %zmm19, %zmm168794; AVX512-NEXT: vpermt2q %zmm0, %zmm24, %zmm168795; AVX512-NEXT: vmovdqa64 128(%r8), %zmm208796; AVX512-NEXT: vmovdqa64 128(%r9), %zmm18797; AVX512-NEXT: vmovdqa64 %zmm20, %zmm38798; AVX512-NEXT: vpermt2q %zmm1, %zmm22, %zmm38799; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]8800; AVX512-NEXT: vmovdqa64 %zmm20, %zmm108801; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm108802; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]8803; AVX512-NEXT: vmovdqa64 %zmm19, %zmm28804; AVX512-NEXT: vpermt2q %zmm0, %zmm23, %zmm28805; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8806; AVX512-NEXT: vpermt2q %zmm0, %zmm26, %zmm198807; AVX512-NEXT: vmovdqa64 %zmm20, %zmm48808; AVX512-NEXT: vpermt2q %zmm1, %zmm30, %zmm48809; AVX512-NEXT: vmovdqa64 %zmm20, %zmm68810; AVX512-NEXT: vpermt2q %zmm1, %zmm31, %zmm68811; AVX512-NEXT: vmovdqa64 %zmm20, %zmm178812; AVX512-NEXT: vpermt2q %zmm1, %zmm23, %zmm178813; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]8814; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]8815; AVX512-NEXT: vpermt2q %zmm1, %zmm26, %zmm208816; AVX512-NEXT: vmovdqa64 192(%r10), %zmm88817; AVX512-NEXT: vmovdqa64 192(%rax), %zmm18818; AVX512-NEXT: vmovdqa64 %zmm8, %zmm128819; AVX512-NEXT: vpermt2q %zmm1, %zmm30, %zmm128820; AVX512-NEXT: vmovdqa64 %zmm8, %zmm158821; AVX512-NEXT: vpermt2q %zmm1, %zmm31, %zmm158822; AVX512-NEXT: vpermi2q %zmm1, %zmm8, %zmm278823; AVX512-NEXT: vpermi2q %zmm1, %zmm8, %zmm248824; AVX512-NEXT: vmovdqa64 192(%r8), %zmm28825; AVX512-NEXT: vmovdqa64 192(%r9), %zmm08826; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm228827; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]8828; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm218829; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]8830; AVX512-NEXT: vmovdqa64 %zmm8, %zmm98831; AVX512-NEXT: vpermt2q %zmm1, %zmm23, %zmm98832; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8833; AVX512-NEXT: vpermt2q %zmm1, %zmm26, %zmm88834; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm308835; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm318836; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm238837; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]8838; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]8839; AVX512-NEXT: vpermt2q %zmm0, %zmm26, %zmm28840; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8841; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8842; AVX512-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]8843; AVX512-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}8844; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm08845; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8846; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8847; AVX512-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload8848; AVX512-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]8849; AVX512-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}8850; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm08851; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8852; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8853; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8854; AVX512-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]8855; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm08856; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8857; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8858; AVX512-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}8859; AVX512-NEXT: vmovdqa (%rsi), %xmm08860; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm38861; AVX512-NEXT: vmovdqa (%rdi), %xmm08862; AVX512-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm58863; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]8864; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm08865; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8866; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8867; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}8868; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]8869; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm08870; AVX512-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill8871; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8872; AVX512-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}8873; AVX512-NEXT: vmovdqa 64(%rsi), %xmm38874; AVX512-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm38875; AVX512-NEXT: vmovdqa 64(%rdi), %xmm58876; AVX512-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm58877; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]8878; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm298879; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8880; AVX512-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}8881; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]8882; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm268883; AVX512-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}8884; AVX512-NEXT: vmovdqa 128(%rsi), %xmm38885; AVX512-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm38886; AVX512-NEXT: vmovdqa 128(%rdi), %xmm58887; AVX512-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm58888; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]8889; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm288890; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8891; AVX512-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}8892; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]8893; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm188894; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8895; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload8896; AVX512-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]8897; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm168898; AVX512-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}8899; AVX512-NEXT: vmovdqa 192(%rsi), %xmm48900; AVX512-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm58901; AVX512-NEXT: vmovdqa 192(%rdi), %xmm48902; AVX512-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm68903; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]8904; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm308905; AVX512-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}8906; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]8907; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm318908; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8909; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload8910; AVX512-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]8911; AVX512-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}8912; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm68913; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8914; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload8915; AVX512-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]8916; AVX512-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}8917; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm78918; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8919; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload8920; AVX512-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]8921; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm98922; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8923; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload8924; AVX512-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]8925; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm128926; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8927; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8928; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}8929; AVX512-NEXT: vmovdqa (%rcx), %ymm18930; AVX512-NEXT: vmovdqa (%rdx), %ymm158931; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]8932; AVX512-NEXT: vmovdqa64 (%rsi), %ymm218933; AVX512-NEXT: vmovdqa64 (%rdi), %ymm228934; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]8935; AVX512-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]8936; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm08937; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8938; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8939; AVX512-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}8940; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]8941; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]8942; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]8943; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm18944; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8945; AVX512-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}8946; AVX512-NEXT: vmovdqa 64(%rcx), %ymm148947; AVX512-NEXT: vmovdqa 64(%rdx), %ymm158948; AVX512-NEXT: vmovdqa64 64(%rsi), %ymm218949; AVX512-NEXT: vmovdqa64 64(%rdi), %ymm228950; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]8951; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]8952; AVX512-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]8953; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm118954; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8955; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8956; AVX512-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}8957; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]8958; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]8959; AVX512-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]8960; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm138961; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8962; AVX512-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}8963; AVX512-NEXT: vmovdqa 128(%rcx), %ymm148964; AVX512-NEXT: vmovdqa 128(%rdx), %ymm158965; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]8966; AVX512-NEXT: vmovdqa64 128(%rsi), %ymm218967; AVX512-NEXT: vmovdqa64 128(%rdi), %ymm228968; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]8969; AVX512-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]8970; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm38971; AVX512-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}8972; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]8973; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]8974; AVX512-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]8975; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm48976; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8977; AVX512-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}8978; AVX512-NEXT: vmovdqa 192(%rcx), %ymm148979; AVX512-NEXT: vmovdqa 192(%rdx), %ymm158980; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]8981; AVX512-NEXT: vmovdqa64 192(%rsi), %ymm178982; AVX512-NEXT: vmovdqa64 192(%rdi), %ymm198983; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]8984; AVX512-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]8985; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm58986; AVX512-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}8987; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]8988; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]8989; AVX512-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]8990; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm28991; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax8992; AVX512-NEXT: vmovdqa64 %zmm2, 1728(%rax)8993; AVX512-NEXT: vmovdqa64 %zmm5, 1664(%rax)8994; AVX512-NEXT: vmovdqa64 %zmm4, 1216(%rax)8995; AVX512-NEXT: vmovdqa64 %zmm3, 1152(%rax)8996; AVX512-NEXT: vmovdqa64 %zmm13, 704(%rax)8997; AVX512-NEXT: vmovdqa64 %zmm11, 640(%rax)8998; AVX512-NEXT: vmovdqa64 %zmm1, 192(%rax)8999; AVX512-NEXT: vmovdqa64 %zmm0, 128(%rax)9000; AVX512-NEXT: vmovdqa64 %zmm12, 1984(%rax)9001; AVX512-NEXT: vmovdqa64 %zmm9, 1920(%rax)9002; AVX512-NEXT: vmovdqa64 %zmm7, 1856(%rax)9003; AVX512-NEXT: vmovdqa64 %zmm6, 1792(%rax)9004; AVX512-NEXT: vmovdqa64 %zmm31, 1600(%rax)9005; AVX512-NEXT: vmovdqa64 %zmm30, 1536(%rax)9006; AVX512-NEXT: vmovdqa64 %zmm16, 1472(%rax)9007; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9008; AVX512-NEXT: vmovaps %zmm0, 1408(%rax)9009; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9010; AVX512-NEXT: vmovaps %zmm0, 1344(%rax)9011; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9012; AVX512-NEXT: vmovaps %zmm0, 1280(%rax)9013; AVX512-NEXT: vmovdqa64 %zmm18, 1088(%rax)9014; AVX512-NEXT: vmovdqa64 %zmm28, 1024(%rax)9015; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9016; AVX512-NEXT: vmovaps %zmm0, 960(%rax)9017; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9018; AVX512-NEXT: vmovaps %zmm0, 896(%rax)9019; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9020; AVX512-NEXT: vmovaps %zmm0, 832(%rax)9021; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9022; AVX512-NEXT: vmovaps %zmm0, 768(%rax)9023; AVX512-NEXT: vmovdqa64 %zmm26, 576(%rax)9024; AVX512-NEXT: vmovdqa64 %zmm29, 512(%rax)9025; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9026; AVX512-NEXT: vmovaps %zmm0, 448(%rax)9027; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9028; AVX512-NEXT: vmovaps %zmm0, 384(%rax)9029; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9030; AVX512-NEXT: vmovaps %zmm0, 320(%rax)9031; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9032; AVX512-NEXT: vmovaps %zmm0, 256(%rax)9033; AVX512-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload9034; AVX512-NEXT: vmovaps %zmm0, 64(%rax)9035; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9036; AVX512-NEXT: vmovaps %zmm0, (%rax)9037; AVX512-NEXT: addq $2312, %rsp # imm = 0x9089038; AVX512-NEXT: vzeroupper9039; AVX512-NEXT: retq9040;9041; AVX512-FCP-LABEL: store_i64_stride8_vf32:9042; AVX512-FCP: # %bb.0:9043; AVX512-FCP-NEXT: subq $2312, %rsp # imm = 0x9089044; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9045; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r109046; AVX512-FCP-NEXT: vmovaps 128(%rdi), %zmm09047; AVX512-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9048; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm69049; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm29050; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm09051; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm59052; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm39053; AVX512-FCP-NEXT: vmovaps 192(%rdx), %zmm19054; AVX512-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9055; AVX512-FCP-NEXT: vmovaps 128(%rdx), %zmm19056; AVX512-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9057; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm79058; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm49059; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm239060; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm19061; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm99062; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm89063; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm189064; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm169065; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm129066; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm199067; AVX512-FCP-NEXT: vmovdqa64 (%r10), %zmm259068; AVX512-FCP-NEXT: vmovdqa64 64(%r10), %zmm179069; AVX512-FCP-NEXT: vmovdqa64 (%rax), %zmm159070; AVX512-FCP-NEXT: vmovdqa64 64(%rax), %zmm209071; AVX512-FCP-NEXT: movb $-64, %r11b9072; AVX512-FCP-NEXT: kmovw %r11d, %k19073; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]9074; AVX512-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9075; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm109076; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm27, %zmm109077; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm119078; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm119079; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9080; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm119081; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm27, %zmm119082; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]9083; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}9084; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm109085; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9086; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]9087; AVX512-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9088; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm109089; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm24, %zmm109090; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm119091; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm24, %zmm119092; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9093; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm119094; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm119095; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]9096; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}9097; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm109098; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9099; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]9100; AVX512-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9101; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm109102; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm22, %zmm109103; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm119104; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm22, %zmm119105; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9106; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm119107; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm22, %zmm119108; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]9109; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm109110; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9111; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]9112; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9113; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm49114; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm29115; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]9116; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm39117; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm21, %zmm39118; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]9119; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29120; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9121; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm29122; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm29123; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm39124; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm27, %zmm39125; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9126; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm39127; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm39128; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]9129; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9130; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm29131; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9132; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm29133; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm24, %zmm29134; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm39135; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm24, %zmm39136; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9137; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm39138; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm24, %zmm39139; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]9140; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9141; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm29142; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9143; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm29144; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm29145; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm39146; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm22, %zmm39147; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9148; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm39149; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm22, %zmm39150; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]9151; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29152; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9153; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm79154; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm69155; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]9156; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm39157; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm39158; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]9159; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29160; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9161; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9162; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm29163; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm27, %zmm29164; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9165; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9166; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm49167; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm49168; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9169; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm49170; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm24, %zmm49171; AVX512-FCP-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill9172; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm49173; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm49174; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9175; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm49176; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm49177; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9178; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm49179; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm49180; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9181; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm39182; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9183; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm29184; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9185; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9186; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19187; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm19188; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9189; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19190; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm24, %zmm19191; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9192; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19193; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm22, %zmm19194; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9195; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm09196; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9197; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm19198; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm09199; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm29200; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm29201; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9202; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm29203; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm29204; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9205; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm29206; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm29207; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9208; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm19209; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9210; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]9211; AVX512-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9212; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm09213; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm09214; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9215; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]9216; AVX512-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9217; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm09218; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm09219; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9220; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]9221; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9222; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm09223; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm23, %zmm09224; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9225; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]9226; AVX512-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9227; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm26, %zmm259228; AVX512-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9229; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm09230; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm299231; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm299232; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm31, %zmm189233; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19234; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm19235; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9236; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm09237; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9238; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09239; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm30, %zmm09240; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9241; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09242; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm09243; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9244; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09245; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm09246; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9247; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm26, %zmm179248; AVX512-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9249; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm149250; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm30, %zmm149251; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm119252; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm31, %zmm119253; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm259254; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm259255; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm26, %zmm169256; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9257; AVX512-FCP-NEXT: vmovdqa64 128(%r10), %zmm199258; AVX512-FCP-NEXT: vmovdqa64 128(%rax), %zmm09259; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm289260; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm30, %zmm289261; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm19262; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm31, %zmm19263; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9264; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm139265; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm139266; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm169267; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm169268; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm209269; AVX512-FCP-NEXT: vmovdqa64 128(%r9), %zmm19270; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm39271; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm39272; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]9273; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm109274; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm109275; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]9276; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm29277; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm23, %zmm29278; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9279; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm199280; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm49281; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm49282; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm69283; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm69284; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm179285; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm179286; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]9287; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]9288; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm209289; AVX512-FCP-NEXT: vmovdqa64 192(%r10), %zmm89290; AVX512-FCP-NEXT: vmovdqa64 192(%rax), %zmm19291; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm129292; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm129293; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm159294; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm159295; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm279296; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm249297; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm29298; AVX512-FCP-NEXT: vmovdqa64 192(%r9), %zmm09299; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm229300; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]9301; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm219302; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]9303; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm99304; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm99305; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9306; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm89307; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm309308; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm319309; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm239310; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]9311; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]9312; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm29313; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9314; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9315; AVX512-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9316; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}9317; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm09318; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9319; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9320; AVX512-FCP-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload9321; AVX512-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9322; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}9323; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm09324; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9325; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9326; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9327; AVX512-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9328; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm09329; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9330; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9331; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}9332; AVX512-FCP-NEXT: vmovdqa (%rsi), %xmm09333; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm39334; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm09335; AVX512-FCP-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm59336; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9337; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm09338; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9339; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9340; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}9341; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9342; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm09343; AVX512-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill9344; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9345; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}9346; AVX512-FCP-NEXT: vmovdqa 64(%rsi), %xmm39347; AVX512-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm39348; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm59349; AVX512-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm59350; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9351; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm299352; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9353; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}9354; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9355; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm269356; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}9357; AVX512-FCP-NEXT: vmovdqa 128(%rsi), %xmm39358; AVX512-FCP-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm39359; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %xmm59360; AVX512-FCP-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm59361; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9362; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm289363; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9364; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}9365; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9366; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm189367; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9368; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload9369; AVX512-FCP-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]9370; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm169371; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}9372; AVX512-FCP-NEXT: vmovdqa 192(%rsi), %xmm49373; AVX512-FCP-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm59374; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %xmm49375; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm69376; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]9377; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm309378; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}9379; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]9380; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm319381; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9382; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload9383; AVX512-FCP-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]9384; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}9385; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm69386; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9387; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9388; AVX512-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9389; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}9390; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm79391; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9392; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9393; AVX512-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9394; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm99395; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9396; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9397; AVX512-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9398; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm129399; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9400; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9401; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}9402; AVX512-FCP-NEXT: vmovdqa (%rcx), %ymm19403; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm159404; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]9405; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %ymm219406; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %ymm229407; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9408; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]9409; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm09410; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9411; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9412; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9413; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]9414; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9415; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]9416; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm19417; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9418; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}9419; AVX512-FCP-NEXT: vmovdqa 64(%rcx), %ymm149420; AVX512-FCP-NEXT: vmovdqa 64(%rdx), %ymm159421; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %ymm219422; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %ymm229423; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9424; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9425; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]9426; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm119427; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9428; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9429; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9430; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9431; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9432; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]9433; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm139434; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9435; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}9436; AVX512-FCP-NEXT: vmovdqa 128(%rcx), %ymm149437; AVX512-FCP-NEXT: vmovdqa 128(%rdx), %ymm159438; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9439; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %ymm219440; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %ymm229441; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9442; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]9443; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm39444; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}9445; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9446; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9447; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]9448; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm49449; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9450; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}9451; AVX512-FCP-NEXT: vmovdqa 192(%rcx), %ymm149452; AVX512-FCP-NEXT: vmovdqa 192(%rdx), %ymm159453; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9454; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %ymm179455; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %ymm199456; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]9457; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]9458; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm59459; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}9460; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9461; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]9462; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]9463; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm29464; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9465; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 1728(%rax)9466; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 1664(%rax)9467; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 1216(%rax)9468; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 1152(%rax)9469; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 704(%rax)9470; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 640(%rax)9471; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)9472; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)9473; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 1984(%rax)9474; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 1920(%rax)9475; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 1856(%rax)9476; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 1792(%rax)9477; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 1600(%rax)9478; AVX512-FCP-NEXT: vmovdqa64 %zmm30, 1536(%rax)9479; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 1472(%rax)9480; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9481; AVX512-FCP-NEXT: vmovaps %zmm0, 1408(%rax)9482; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9483; AVX512-FCP-NEXT: vmovaps %zmm0, 1344(%rax)9484; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9485; AVX512-FCP-NEXT: vmovaps %zmm0, 1280(%rax)9486; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 1088(%rax)9487; AVX512-FCP-NEXT: vmovdqa64 %zmm28, 1024(%rax)9488; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9489; AVX512-FCP-NEXT: vmovaps %zmm0, 960(%rax)9490; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9491; AVX512-FCP-NEXT: vmovaps %zmm0, 896(%rax)9492; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9493; AVX512-FCP-NEXT: vmovaps %zmm0, 832(%rax)9494; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9495; AVX512-FCP-NEXT: vmovaps %zmm0, 768(%rax)9496; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 576(%rax)9497; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 512(%rax)9498; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9499; AVX512-FCP-NEXT: vmovaps %zmm0, 448(%rax)9500; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9501; AVX512-FCP-NEXT: vmovaps %zmm0, 384(%rax)9502; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9503; AVX512-FCP-NEXT: vmovaps %zmm0, 320(%rax)9504; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9505; AVX512-FCP-NEXT: vmovaps %zmm0, 256(%rax)9506; AVX512-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload9507; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%rax)9508; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9509; AVX512-FCP-NEXT: vmovaps %zmm0, (%rax)9510; AVX512-FCP-NEXT: addq $2312, %rsp # imm = 0x9089511; AVX512-FCP-NEXT: vzeroupper9512; AVX512-FCP-NEXT: retq9513;9514; AVX512DQ-LABEL: store_i64_stride8_vf32:9515; AVX512DQ: # %bb.0:9516; AVX512DQ-NEXT: subq $2312, %rsp # imm = 0x9089517; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax9518; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r109519; AVX512DQ-NEXT: vmovaps 128(%rdi), %zmm09520; AVX512DQ-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9521; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm69522; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm29523; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm09524; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm59525; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm39526; AVX512DQ-NEXT: vmovaps 192(%rdx), %zmm19527; AVX512DQ-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9528; AVX512DQ-NEXT: vmovaps 128(%rdx), %zmm19529; AVX512DQ-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9530; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm79531; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm49532; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm239533; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm19534; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm99535; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm89536; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm189537; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm169538; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm129539; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm199540; AVX512DQ-NEXT: vmovdqa64 (%r10), %zmm259541; AVX512DQ-NEXT: vmovdqa64 64(%r10), %zmm179542; AVX512DQ-NEXT: vmovdqa64 (%rax), %zmm159543; AVX512DQ-NEXT: vmovdqa64 64(%rax), %zmm209544; AVX512DQ-NEXT: movb $-64, %r11b9545; AVX512DQ-NEXT: kmovw %r11d, %k19546; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]9547; AVX512DQ-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9548; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm109549; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm27, %zmm109550; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm119551; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm27, %zmm119552; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9553; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm119554; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm27, %zmm119555; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]9556; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}9557; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm109558; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9559; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]9560; AVX512DQ-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9561; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm109562; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm24, %zmm109563; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm119564; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm24, %zmm119565; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9566; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm119567; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm24, %zmm119568; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]9569; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}9570; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm109571; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9572; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]9573; AVX512DQ-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9574; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm109575; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm22, %zmm109576; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm119577; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm22, %zmm119578; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]9579; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm119580; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm22, %zmm119581; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]9582; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm109583; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9584; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]9585; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9586; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm21, %zmm49587; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm21, %zmm29588; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]9589; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm39590; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm21, %zmm39591; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]9592; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29593; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9594; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm29595; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm27, %zmm29596; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm39597; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm27, %zmm39598; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9599; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm39600; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm27, %zmm39601; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]9602; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9603; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm29604; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9605; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm29606; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm24, %zmm29607; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm39608; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm24, %zmm39609; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9610; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm39611; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm24, %zmm39612; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]9613; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9614; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm29615; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9616; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm29617; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm22, %zmm29618; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm39619; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm22, %zmm39620; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]9621; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm39622; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm22, %zmm39623; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]9624; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29625; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9626; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm21, %zmm79627; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm21, %zmm69628; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]9629; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm39630; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm21, %zmm39631; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]9632; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm29633; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9634; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9635; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm29636; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm27, %zmm29637; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9638; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9639; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm49640; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm27, %zmm49641; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9642; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm49643; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm24, %zmm49644; AVX512DQ-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill9645; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm49646; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm24, %zmm49647; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9648; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm49649; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm22, %zmm49650; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9651; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm49652; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm22, %zmm49653; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9654; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm39655; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9656; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm21, %zmm29657; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9658; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9659; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19660; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm27, %zmm19661; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9662; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19663; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm24, %zmm19664; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9665; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19666; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm22, %zmm19667; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9668; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm21, %zmm09669; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9670; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm19671; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm09672; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm29673; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm27, %zmm29674; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9675; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm29676; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm24, %zmm29677; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9678; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm29679; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm22, %zmm29680; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9681; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm21, %zmm19682; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9683; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]9684; AVX512DQ-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9685; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm09686; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm30, %zmm09687; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9688; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]9689; AVX512DQ-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9690; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm09691; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm31, %zmm09692; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9693; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]9694; AVX512DQ-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9695; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm09696; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm23, %zmm09697; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9698; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]9699; AVX512DQ-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9700; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm26, %zmm259701; AVX512DQ-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9702; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm09703; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm299704; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm30, %zmm299705; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm31, %zmm189706; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19707; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm23, %zmm19708; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9709; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm26, %zmm09710; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9711; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm09712; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm30, %zmm09713; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9714; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm09715; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm31, %zmm09716; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9717; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm09718; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm23, %zmm09719; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9720; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm26, %zmm179721; AVX512DQ-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9722; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm149723; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm30, %zmm149724; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm119725; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm31, %zmm119726; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm259727; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm23, %zmm259728; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm26, %zmm169729; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9730; AVX512DQ-NEXT: vmovdqa64 128(%r10), %zmm199731; AVX512DQ-NEXT: vmovdqa64 128(%rax), %zmm09732; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm289733; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm30, %zmm289734; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm19735; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm31, %zmm19736; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9737; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm139738; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm27, %zmm139739; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm169740; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm24, %zmm169741; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm209742; AVX512DQ-NEXT: vmovdqa64 128(%r9), %zmm19743; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm39744; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm22, %zmm39745; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]9746; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm109747; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm109748; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]9749; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm29750; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm23, %zmm29751; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9752; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm26, %zmm199753; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm49754; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm30, %zmm49755; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm69756; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm31, %zmm69757; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm179758; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm23, %zmm179759; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]9760; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]9761; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm26, %zmm209762; AVX512DQ-NEXT: vmovdqa64 192(%r10), %zmm89763; AVX512DQ-NEXT: vmovdqa64 192(%rax), %zmm19764; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm129765; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm30, %zmm129766; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm159767; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm31, %zmm159768; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm8, %zmm279769; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm8, %zmm249770; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm29771; AVX512DQ-NEXT: vmovdqa64 192(%r9), %zmm09772; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm229773; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]9774; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm219775; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]9776; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm99777; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm23, %zmm99778; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9779; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm26, %zmm89780; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm309781; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm319782; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm239783; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]9784; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]9785; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm26, %zmm29786; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9787; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9788; AVX512DQ-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9789; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}9790; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm09791; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9792; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9793; AVX512DQ-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload9794; AVX512DQ-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9795; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}9796; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm09797; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9798; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9799; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9800; AVX512DQ-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]9801; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm09802; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9803; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9804; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}9805; AVX512DQ-NEXT: vmovdqa (%rsi), %xmm09806; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm39807; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm09808; AVX512DQ-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm59809; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9810; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm09811; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9812; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9813; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}9814; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9815; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm09816; AVX512DQ-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill9817; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9818; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}9819; AVX512DQ-NEXT: vmovdqa 64(%rsi), %xmm39820; AVX512DQ-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm39821; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm59822; AVX512DQ-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm59823; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9824; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm299825; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9826; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}9827; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9828; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm269829; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}9830; AVX512DQ-NEXT: vmovdqa 128(%rsi), %xmm39831; AVX512DQ-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm39832; AVX512DQ-NEXT: vmovdqa 128(%rdi), %xmm59833; AVX512DQ-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm59834; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]9835; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm289836; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9837; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}9838; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]9839; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm189840; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9841; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload9842; AVX512DQ-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]9843; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm169844; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}9845; AVX512DQ-NEXT: vmovdqa 192(%rsi), %xmm49846; AVX512DQ-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm59847; AVX512DQ-NEXT: vmovdqa 192(%rdi), %xmm49848; AVX512DQ-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm69849; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]9850; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm309851; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}9852; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]9853; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm319854; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9855; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload9856; AVX512DQ-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]9857; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}9858; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm69859; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9860; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9861; AVX512DQ-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9862; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}9863; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm79864; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9865; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9866; AVX512DQ-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9867; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm99868; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9869; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9870; AVX512DQ-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]9871; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm129872; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9873; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9874; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}9875; AVX512DQ-NEXT: vmovdqa (%rcx), %ymm19876; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm159877; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]9878; AVX512DQ-NEXT: vmovdqa64 (%rsi), %ymm219879; AVX512DQ-NEXT: vmovdqa64 (%rdi), %ymm229880; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9881; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]9882; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm09883; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9884; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9885; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9886; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]9887; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9888; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]9889; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm19890; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9891; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}9892; AVX512DQ-NEXT: vmovdqa 64(%rcx), %ymm149893; AVX512DQ-NEXT: vmovdqa 64(%rdx), %ymm159894; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %ymm219895; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %ymm229896; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9897; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9898; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]9899; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm119900; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9901; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9902; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9903; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9904; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9905; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]9906; AVX512DQ-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm139907; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9908; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}9909; AVX512DQ-NEXT: vmovdqa 128(%rcx), %ymm149910; AVX512DQ-NEXT: vmovdqa 128(%rdx), %ymm159911; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9912; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %ymm219913; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %ymm229914; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]9915; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]9916; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm39917; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}9918; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9919; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]9920; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]9921; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm49922; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9923; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}9924; AVX512DQ-NEXT: vmovdqa 192(%rcx), %ymm149925; AVX512DQ-NEXT: vmovdqa 192(%rdx), %ymm159926; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]9927; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %ymm179928; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %ymm199929; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]9930; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]9931; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm59932; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}9933; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]9934; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]9935; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]9936; AVX512DQ-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm29937; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax9938; AVX512DQ-NEXT: vmovdqa64 %zmm2, 1728(%rax)9939; AVX512DQ-NEXT: vmovdqa64 %zmm5, 1664(%rax)9940; AVX512DQ-NEXT: vmovdqa64 %zmm4, 1216(%rax)9941; AVX512DQ-NEXT: vmovdqa64 %zmm3, 1152(%rax)9942; AVX512DQ-NEXT: vmovdqa64 %zmm13, 704(%rax)9943; AVX512DQ-NEXT: vmovdqa64 %zmm11, 640(%rax)9944; AVX512DQ-NEXT: vmovdqa64 %zmm1, 192(%rax)9945; AVX512DQ-NEXT: vmovdqa64 %zmm0, 128(%rax)9946; AVX512DQ-NEXT: vmovdqa64 %zmm12, 1984(%rax)9947; AVX512DQ-NEXT: vmovdqa64 %zmm9, 1920(%rax)9948; AVX512DQ-NEXT: vmovdqa64 %zmm7, 1856(%rax)9949; AVX512DQ-NEXT: vmovdqa64 %zmm6, 1792(%rax)9950; AVX512DQ-NEXT: vmovdqa64 %zmm31, 1600(%rax)9951; AVX512DQ-NEXT: vmovdqa64 %zmm30, 1536(%rax)9952; AVX512DQ-NEXT: vmovdqa64 %zmm16, 1472(%rax)9953; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9954; AVX512DQ-NEXT: vmovaps %zmm0, 1408(%rax)9955; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9956; AVX512DQ-NEXT: vmovaps %zmm0, 1344(%rax)9957; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9958; AVX512DQ-NEXT: vmovaps %zmm0, 1280(%rax)9959; AVX512DQ-NEXT: vmovdqa64 %zmm18, 1088(%rax)9960; AVX512DQ-NEXT: vmovdqa64 %zmm28, 1024(%rax)9961; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9962; AVX512DQ-NEXT: vmovaps %zmm0, 960(%rax)9963; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9964; AVX512DQ-NEXT: vmovaps %zmm0, 896(%rax)9965; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9966; AVX512DQ-NEXT: vmovaps %zmm0, 832(%rax)9967; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9968; AVX512DQ-NEXT: vmovaps %zmm0, 768(%rax)9969; AVX512DQ-NEXT: vmovdqa64 %zmm26, 576(%rax)9970; AVX512DQ-NEXT: vmovdqa64 %zmm29, 512(%rax)9971; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9972; AVX512DQ-NEXT: vmovaps %zmm0, 448(%rax)9973; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9974; AVX512DQ-NEXT: vmovaps %zmm0, 384(%rax)9975; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9976; AVX512DQ-NEXT: vmovaps %zmm0, 320(%rax)9977; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9978; AVX512DQ-NEXT: vmovaps %zmm0, 256(%rax)9979; AVX512DQ-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload9980; AVX512DQ-NEXT: vmovaps %zmm0, 64(%rax)9981; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9982; AVX512DQ-NEXT: vmovaps %zmm0, (%rax)9983; AVX512DQ-NEXT: addq $2312, %rsp # imm = 0x9089984; AVX512DQ-NEXT: vzeroupper9985; AVX512DQ-NEXT: retq9986;9987; AVX512DQ-FCP-LABEL: store_i64_stride8_vf32:9988; AVX512DQ-FCP: # %bb.0:9989; AVX512DQ-FCP-NEXT: subq $2312, %rsp # imm = 0x9089990; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9991; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r109992; AVX512DQ-FCP-NEXT: vmovaps 128(%rdi), %zmm09993; AVX512DQ-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9994; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm69995; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm29996; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm09997; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm59998; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm39999; AVX512DQ-FCP-NEXT: vmovaps 192(%rdx), %zmm110000; AVX512DQ-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10001; AVX512DQ-FCP-NEXT: vmovaps 128(%rdx), %zmm110002; AVX512DQ-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10003; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm710004; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm410005; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm2310006; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm110007; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm910008; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm810009; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm1810010; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm1610011; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm1210012; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm1910013; AVX512DQ-FCP-NEXT: vmovdqa64 (%r10), %zmm2510014; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r10), %zmm1710015; AVX512DQ-FCP-NEXT: vmovdqa64 (%rax), %zmm1510016; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rax), %zmm2010017; AVX512DQ-FCP-NEXT: movb $-64, %r11b10018; AVX512DQ-FCP-NEXT: kmovw %r11d, %k110019; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]10020; AVX512DQ-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10021; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010022; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm27, %zmm1010023; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110024; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm1110025; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10026; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm1110027; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm27, %zmm1110028; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]10029; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}10030; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm1010031; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10032; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]10033; AVX512DQ-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10034; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010035; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm24, %zmm1010036; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110037; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm24, %zmm1110038; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10039; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm1110040; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm1110041; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]10042; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}10043; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm1010044; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10045; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]10046; AVX512DQ-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10047; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010048; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm22, %zmm1010049; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110050; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm22, %zmm1110051; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10052; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm1110053; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm22, %zmm1110054; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]10055; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm1010056; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10057; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]10058; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10059; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm410060; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm210061; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]10062; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm310063; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm21, %zmm310064; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]10065; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210066; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10067; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm210068; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm210069; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm310070; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm27, %zmm310071; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10072; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm310073; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm310074; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]10075; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10076; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm210077; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10078; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm210079; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm24, %zmm210080; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm310081; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm24, %zmm310082; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10083; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm310084; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm24, %zmm310085; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]10086; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10087; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm210088; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10089; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm210090; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm210091; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm310092; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm22, %zmm310093; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10094; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm310095; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm22, %zmm310096; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]10097; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210098; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10099; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm710100; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm610101; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]10102; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm310103; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm310104; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]10105; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210106; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10107; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10108; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm210109; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm27, %zmm210110; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10111; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10112; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm410113; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm410114; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10115; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm410116; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm24, %zmm410117; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill10118; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm410119; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm410120; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10121; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm410122; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm410123; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10124; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm410125; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm410126; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10127; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm310128; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10129; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm210130; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10131; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10132; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm110133; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm110134; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10135; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm110136; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm24, %zmm110137; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10138; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm110139; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm22, %zmm110140; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10141; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm010142; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10143; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm110144; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm010145; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm210146; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm210147; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10148; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm210149; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm210150; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10151; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm210152; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm210153; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10154; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm110155; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10156; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]10157; AVX512DQ-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10158; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm010159; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm010160; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10161; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]10162; AVX512DQ-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10163; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm010164; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm010165; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10166; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]10167; AVX512DQ-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10168; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm010169; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm23, %zmm010170; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10171; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]10172; AVX512DQ-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10173; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm26, %zmm2510174; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10175; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm010176; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm2910177; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm2910178; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm31, %zmm1810179; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm110180; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm110181; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10182; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm010183; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10184; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010185; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm30, %zmm010186; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10187; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010188; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm010189; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10190; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010191; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm010192; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10193; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm26, %zmm1710194; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10195; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm1410196; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm30, %zmm1410197; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm1110198; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm31, %zmm1110199; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm2510200; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm2510201; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm26, %zmm1610202; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10203; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r10), %zmm1910204; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rax), %zmm010205; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm2810206; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm30, %zmm2810207; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm110208; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm31, %zmm110209; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10210; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm1310211; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm1310212; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm1610213; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm1610214; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm2010215; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r9), %zmm110216; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm310217; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm310218; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]10219; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm1010220; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm1010221; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]10222; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm210223; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm23, %zmm210224; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10225; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm1910226; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm410227; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm410228; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm610229; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm610230; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm1710231; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm1710232; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]10233; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]10234; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm2010235; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r10), %zmm810236; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rax), %zmm110237; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm1210238; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm1210239; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm1510240; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm1510241; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2710242; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2410243; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm210244; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r9), %zmm010245; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2210246; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]10247; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2110248; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]10249; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm910250; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm910251; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10252; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm810253; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3010254; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3110255; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2310256; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]10257; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]10258; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm210259; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10260; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10261; AVX512DQ-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10262; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}10263; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm010264; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10265; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10266; AVX512DQ-FCP-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload10267; AVX512DQ-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10268; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}10269; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010270; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10271; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10272; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10273; AVX512DQ-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10274; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm010275; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10276; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10277; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}10278; AVX512DQ-FCP-NEXT: vmovdqa (%rsi), %xmm010279; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm310280; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm010281; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm510282; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10283; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm010284; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10285; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10286; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}10287; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10288; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm010289; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill10290; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10291; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}10292; AVX512DQ-FCP-NEXT: vmovdqa 64(%rsi), %xmm310293; AVX512DQ-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm310294; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm510295; AVX512DQ-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm510296; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10297; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm2910298; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10299; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}10300; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10301; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm2610302; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}10303; AVX512DQ-FCP-NEXT: vmovdqa 128(%rsi), %xmm310304; AVX512DQ-FCP-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm310305; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %xmm510306; AVX512DQ-FCP-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm510307; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10308; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm2810309; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10310; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}10311; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10312; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm1810313; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10314; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload10315; AVX512DQ-FCP-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]10316; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm1610317; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}10318; AVX512DQ-FCP-NEXT: vmovdqa 192(%rsi), %xmm410319; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm510320; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %xmm410321; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm610322; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]10323; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm3010324; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}10325; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]10326; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm3110327; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10328; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload10329; AVX512DQ-FCP-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]10330; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}10331; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm610332; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10333; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10334; AVX512DQ-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10335; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}10336; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm710337; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10338; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10339; AVX512DQ-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10340; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm910341; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10342; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10343; AVX512DQ-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10344; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm1210345; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10346; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10347; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}10348; AVX512DQ-FCP-NEXT: vmovdqa (%rcx), %ymm110349; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm1510350; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]10351; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %ymm2110352; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %ymm2210353; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10354; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]10355; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm010356; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10357; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10358; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10359; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]10360; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10361; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]10362; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm110363; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10364; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}10365; AVX512DQ-FCP-NEXT: vmovdqa 64(%rcx), %ymm1410366; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdx), %ymm1510367; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %ymm2110368; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2210369; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10370; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10371; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]10372; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm1110373; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10374; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10375; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10376; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10377; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10378; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]10379; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm1310380; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10381; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}10382; AVX512DQ-FCP-NEXT: vmovdqa 128(%rcx), %ymm1410383; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdx), %ymm1510384; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10385; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %ymm2110386; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %ymm2210387; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10388; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]10389; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm310390; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}10391; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10392; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10393; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]10394; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm410395; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10396; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}10397; AVX512DQ-FCP-NEXT: vmovdqa 192(%rcx), %ymm1410398; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdx), %ymm1510399; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10400; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %ymm1710401; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %ymm1910402; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]10403; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]10404; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm510405; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}10406; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10407; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]10408; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]10409; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm210410; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10411; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 1728(%rax)10412; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 1664(%rax)10413; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 1216(%rax)10414; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 1152(%rax)10415; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 704(%rax)10416; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 640(%rax)10417; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)10418; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)10419; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 1984(%rax)10420; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 1920(%rax)10421; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 1856(%rax)10422; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 1792(%rax)10423; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 1600(%rax)10424; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, 1536(%rax)10425; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 1472(%rax)10426; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10427; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1408(%rax)10428; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10429; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1344(%rax)10430; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10431; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1280(%rax)10432; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 1088(%rax)10433; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 1024(%rax)10434; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10435; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 960(%rax)10436; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10437; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 896(%rax)10438; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10439; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 832(%rax)10440; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10441; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 768(%rax)10442; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 576(%rax)10443; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 512(%rax)10444; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10445; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 448(%rax)10446; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10447; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 384(%rax)10448; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10449; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 320(%rax)10450; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10451; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 256(%rax)10452; AVX512DQ-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload10453; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%rax)10454; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10455; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%rax)10456; AVX512DQ-FCP-NEXT: addq $2312, %rsp # imm = 0x90810457; AVX512DQ-FCP-NEXT: vzeroupper10458; AVX512DQ-FCP-NEXT: retq10459;10460; AVX512BW-LABEL: store_i64_stride8_vf32:10461; AVX512BW: # %bb.0:10462; AVX512BW-NEXT: subq $2312, %rsp # imm = 0x90810463; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10464; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r1010465; AVX512BW-NEXT: vmovaps 128(%rdi), %zmm010466; AVX512BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10467; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm610468; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm210469; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm010470; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm510471; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm310472; AVX512BW-NEXT: vmovaps 192(%rdx), %zmm110473; AVX512BW-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10474; AVX512BW-NEXT: vmovaps 128(%rdx), %zmm110475; AVX512BW-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10476; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm710477; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm410478; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm2310479; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm110480; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm910481; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm810482; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm1810483; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm1610484; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm1210485; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm1910486; AVX512BW-NEXT: vmovdqa64 (%r10), %zmm2510487; AVX512BW-NEXT: vmovdqa64 64(%r10), %zmm1710488; AVX512BW-NEXT: vmovdqa64 (%rax), %zmm1510489; AVX512BW-NEXT: vmovdqa64 64(%rax), %zmm2010490; AVX512BW-NEXT: movb $-64, %r11b10491; AVX512BW-NEXT: kmovd %r11d, %k110492; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]10493; AVX512BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10494; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm1010495; AVX512BW-NEXT: vpermt2q %zmm8, %zmm27, %zmm1010496; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm1110497; AVX512BW-NEXT: vpermt2q %zmm3, %zmm27, %zmm1110498; AVX512BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10499; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm1110500; AVX512BW-NEXT: vpermt2q %zmm15, %zmm27, %zmm1110501; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]10502; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}10503; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm1010504; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10505; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]10506; AVX512BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10507; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm1010508; AVX512BW-NEXT: vpermt2q %zmm8, %zmm24, %zmm1010509; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm1110510; AVX512BW-NEXT: vpermt2q %zmm3, %zmm24, %zmm1110511; AVX512BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10512; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm1110513; AVX512BW-NEXT: vpermt2q %zmm15, %zmm24, %zmm1110514; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]10515; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}10516; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm1010517; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10518; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]10519; AVX512BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10520; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm1010521; AVX512BW-NEXT: vpermt2q %zmm8, %zmm22, %zmm1010522; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm1110523; AVX512BW-NEXT: vpermt2q %zmm3, %zmm22, %zmm1110524; AVX512BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10525; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm1110526; AVX512BW-NEXT: vpermt2q %zmm12, %zmm22, %zmm1110527; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]10528; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm1010529; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10530; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]10531; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10532; AVX512BW-NEXT: vpermt2q %zmm8, %zmm21, %zmm410533; AVX512BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm210534; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]10535; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm310536; AVX512BW-NEXT: vpermt2q %zmm12, %zmm21, %zmm310537; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]10538; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210539; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10540; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm210541; AVX512BW-NEXT: vpermt2q %zmm9, %zmm27, %zmm210542; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm310543; AVX512BW-NEXT: vpermt2q %zmm5, %zmm27, %zmm310544; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10545; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm310546; AVX512BW-NEXT: vpermt2q %zmm20, %zmm27, %zmm310547; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]10548; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10549; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm210550; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10551; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm210552; AVX512BW-NEXT: vpermt2q %zmm9, %zmm24, %zmm210553; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm310554; AVX512BW-NEXT: vpermt2q %zmm5, %zmm24, %zmm310555; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10556; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm310557; AVX512BW-NEXT: vpermt2q %zmm20, %zmm24, %zmm310558; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]10559; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10560; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm210561; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10562; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm210563; AVX512BW-NEXT: vpermt2q %zmm9, %zmm22, %zmm210564; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm310565; AVX512BW-NEXT: vpermt2q %zmm5, %zmm22, %zmm310566; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]10567; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm310568; AVX512BW-NEXT: vpermt2q %zmm19, %zmm22, %zmm310569; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]10570; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210571; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10572; AVX512BW-NEXT: vpermt2q %zmm9, %zmm21, %zmm710573; AVX512BW-NEXT: vpermt2q %zmm5, %zmm21, %zmm610574; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]10575; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm310576; AVX512BW-NEXT: vpermt2q %zmm19, %zmm21, %zmm310577; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]10578; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm210579; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10580; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10581; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm210582; AVX512BW-NEXT: vpermt2q %zmm1, %zmm27, %zmm210583; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10584; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10585; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm410586; AVX512BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm410587; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10588; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm410589; AVX512BW-NEXT: vpermt2q %zmm1, %zmm24, %zmm410590; AVX512BW-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill10591; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm410592; AVX512BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm410593; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10594; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm410595; AVX512BW-NEXT: vpermt2q %zmm1, %zmm22, %zmm410596; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10597; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm410598; AVX512BW-NEXT: vpermt2q %zmm0, %zmm22, %zmm410599; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10600; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm310601; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10602; AVX512BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm210603; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10604; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10605; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm110606; AVX512BW-NEXT: vpermt2q %zmm23, %zmm27, %zmm110607; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10608; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm110609; AVX512BW-NEXT: vpermt2q %zmm23, %zmm24, %zmm110610; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10611; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm110612; AVX512BW-NEXT: vpermt2q %zmm23, %zmm22, %zmm110613; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10614; AVX512BW-NEXT: vpermt2q %zmm23, %zmm21, %zmm010615; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10616; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm110617; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm010618; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm210619; AVX512BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm210620; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10621; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm210622; AVX512BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm210623; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10624; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm210625; AVX512BW-NEXT: vpermt2q %zmm0, %zmm22, %zmm210626; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10627; AVX512BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm110628; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10629; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]10630; AVX512BW-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10631; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm010632; AVX512BW-NEXT: vpermt2q %zmm15, %zmm30, %zmm010633; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10634; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]10635; AVX512BW-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10636; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm010637; AVX512BW-NEXT: vpermt2q %zmm15, %zmm31, %zmm010638; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10639; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]10640; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10641; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm010642; AVX512BW-NEXT: vpermt2q %zmm15, %zmm23, %zmm010643; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10644; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]10645; AVX512BW-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10646; AVX512BW-NEXT: vpermt2q %zmm15, %zmm26, %zmm2510647; AVX512BW-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10648; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm010649; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm2910650; AVX512BW-NEXT: vpermt2q %zmm12, %zmm30, %zmm2910651; AVX512BW-NEXT: vpermt2q %zmm12, %zmm31, %zmm1810652; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm110653; AVX512BW-NEXT: vpermt2q %zmm12, %zmm23, %zmm110654; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10655; AVX512BW-NEXT: vpermt2q %zmm12, %zmm26, %zmm010656; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10657; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm010658; AVX512BW-NEXT: vpermt2q %zmm20, %zmm30, %zmm010659; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10660; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm010661; AVX512BW-NEXT: vpermt2q %zmm20, %zmm31, %zmm010662; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10663; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm010664; AVX512BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm010665; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10666; AVX512BW-NEXT: vpermt2q %zmm20, %zmm26, %zmm1710667; AVX512BW-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10668; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm1410669; AVX512BW-NEXT: vpermt2q %zmm19, %zmm30, %zmm1410670; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm1110671; AVX512BW-NEXT: vpermt2q %zmm19, %zmm31, %zmm1110672; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm2510673; AVX512BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm2510674; AVX512BW-NEXT: vpermt2q %zmm19, %zmm26, %zmm1610675; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10676; AVX512BW-NEXT: vmovdqa64 128(%r10), %zmm1910677; AVX512BW-NEXT: vmovdqa64 128(%rax), %zmm010678; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm2810679; AVX512BW-NEXT: vpermt2q %zmm0, %zmm30, %zmm2810680; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm110681; AVX512BW-NEXT: vpermt2q %zmm0, %zmm31, %zmm110682; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10683; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm1310684; AVX512BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm1310685; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm1610686; AVX512BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm1610687; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm2010688; AVX512BW-NEXT: vmovdqa64 128(%r9), %zmm110689; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm310690; AVX512BW-NEXT: vpermt2q %zmm1, %zmm22, %zmm310691; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]10692; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm1010693; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm1010694; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]10695; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm210696; AVX512BW-NEXT: vpermt2q %zmm0, %zmm23, %zmm210697; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10698; AVX512BW-NEXT: vpermt2q %zmm0, %zmm26, %zmm1910699; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm410700; AVX512BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm410701; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm610702; AVX512BW-NEXT: vpermt2q %zmm1, %zmm31, %zmm610703; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm1710704; AVX512BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm1710705; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]10706; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]10707; AVX512BW-NEXT: vpermt2q %zmm1, %zmm26, %zmm2010708; AVX512BW-NEXT: vmovdqa64 192(%r10), %zmm810709; AVX512BW-NEXT: vmovdqa64 192(%rax), %zmm110710; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm1210711; AVX512BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm1210712; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm1510713; AVX512BW-NEXT: vpermt2q %zmm1, %zmm31, %zmm1510714; AVX512BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm2710715; AVX512BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm2410716; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm210717; AVX512BW-NEXT: vmovdqa64 192(%r9), %zmm010718; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2210719; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]10720; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2110721; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]10722; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm910723; AVX512BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm910724; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10725; AVX512BW-NEXT: vpermt2q %zmm1, %zmm26, %zmm810726; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm3010727; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm3110728; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2310729; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]10730; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]10731; AVX512BW-NEXT: vpermt2q %zmm0, %zmm26, %zmm210732; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10733; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10734; AVX512BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10735; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}10736; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm010737; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10738; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10739; AVX512BW-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload10740; AVX512BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10741; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}10742; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010743; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10744; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10745; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10746; AVX512BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10747; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm010748; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10749; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10750; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}10751; AVX512BW-NEXT: vmovdqa (%rsi), %xmm010752; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm310753; AVX512BW-NEXT: vmovdqa (%rdi), %xmm010754; AVX512BW-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm510755; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10756; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm010757; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10758; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10759; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}10760; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10761; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm010762; AVX512BW-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill10763; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10764; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}10765; AVX512BW-NEXT: vmovdqa 64(%rsi), %xmm310766; AVX512BW-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm310767; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm510768; AVX512BW-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm510769; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10770; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm2910771; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10772; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}10773; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10774; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm2610775; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}10776; AVX512BW-NEXT: vmovdqa 128(%rsi), %xmm310777; AVX512BW-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm310778; AVX512BW-NEXT: vmovdqa 128(%rdi), %xmm510779; AVX512BW-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm510780; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]10781; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm2810782; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10783; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}10784; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]10785; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm1810786; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10787; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload10788; AVX512BW-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]10789; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm1610790; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}10791; AVX512BW-NEXT: vmovdqa 192(%rsi), %xmm410792; AVX512BW-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm510793; AVX512BW-NEXT: vmovdqa 192(%rdi), %xmm410794; AVX512BW-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm610795; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]10796; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm3010797; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}10798; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]10799; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm3110800; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10801; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload10802; AVX512BW-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]10803; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}10804; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm610805; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10806; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10807; AVX512BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10808; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}10809; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm710810; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10811; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10812; AVX512BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10813; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm910814; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10815; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10816; AVX512BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]10817; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm1210818; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10819; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10820; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}10821; AVX512BW-NEXT: vmovdqa (%rcx), %ymm110822; AVX512BW-NEXT: vmovdqa (%rdx), %ymm1510823; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]10824; AVX512BW-NEXT: vmovdqa64 (%rsi), %ymm2110825; AVX512BW-NEXT: vmovdqa64 (%rdi), %ymm2210826; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10827; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]10828; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm010829; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10830; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10831; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10832; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]10833; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10834; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]10835; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm110836; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10837; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}10838; AVX512BW-NEXT: vmovdqa 64(%rcx), %ymm1410839; AVX512BW-NEXT: vmovdqa 64(%rdx), %ymm1510840; AVX512BW-NEXT: vmovdqa64 64(%rsi), %ymm2110841; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm2210842; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10843; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10844; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]10845; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm1110846; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10847; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10848; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}10849; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10850; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10851; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]10852; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm1310853; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10854; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}10855; AVX512BW-NEXT: vmovdqa 128(%rcx), %ymm1410856; AVX512BW-NEXT: vmovdqa 128(%rdx), %ymm1510857; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10858; AVX512BW-NEXT: vmovdqa64 128(%rsi), %ymm2110859; AVX512BW-NEXT: vmovdqa64 128(%rdi), %ymm2210860; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]10861; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]10862; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm310863; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}10864; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10865; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]10866; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]10867; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm410868; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10869; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}10870; AVX512BW-NEXT: vmovdqa 192(%rcx), %ymm1410871; AVX512BW-NEXT: vmovdqa 192(%rdx), %ymm1510872; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]10873; AVX512BW-NEXT: vmovdqa64 192(%rsi), %ymm1710874; AVX512BW-NEXT: vmovdqa64 192(%rdi), %ymm1910875; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]10876; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]10877; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm510878; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}10879; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]10880; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]10881; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]10882; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm210883; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10884; AVX512BW-NEXT: vmovdqa64 %zmm2, 1728(%rax)10885; AVX512BW-NEXT: vmovdqa64 %zmm5, 1664(%rax)10886; AVX512BW-NEXT: vmovdqa64 %zmm4, 1216(%rax)10887; AVX512BW-NEXT: vmovdqa64 %zmm3, 1152(%rax)10888; AVX512BW-NEXT: vmovdqa64 %zmm13, 704(%rax)10889; AVX512BW-NEXT: vmovdqa64 %zmm11, 640(%rax)10890; AVX512BW-NEXT: vmovdqa64 %zmm1, 192(%rax)10891; AVX512BW-NEXT: vmovdqa64 %zmm0, 128(%rax)10892; AVX512BW-NEXT: vmovdqa64 %zmm12, 1984(%rax)10893; AVX512BW-NEXT: vmovdqa64 %zmm9, 1920(%rax)10894; AVX512BW-NEXT: vmovdqa64 %zmm7, 1856(%rax)10895; AVX512BW-NEXT: vmovdqa64 %zmm6, 1792(%rax)10896; AVX512BW-NEXT: vmovdqa64 %zmm31, 1600(%rax)10897; AVX512BW-NEXT: vmovdqa64 %zmm30, 1536(%rax)10898; AVX512BW-NEXT: vmovdqa64 %zmm16, 1472(%rax)10899; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10900; AVX512BW-NEXT: vmovaps %zmm0, 1408(%rax)10901; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10902; AVX512BW-NEXT: vmovaps %zmm0, 1344(%rax)10903; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10904; AVX512BW-NEXT: vmovaps %zmm0, 1280(%rax)10905; AVX512BW-NEXT: vmovdqa64 %zmm18, 1088(%rax)10906; AVX512BW-NEXT: vmovdqa64 %zmm28, 1024(%rax)10907; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10908; AVX512BW-NEXT: vmovaps %zmm0, 960(%rax)10909; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10910; AVX512BW-NEXT: vmovaps %zmm0, 896(%rax)10911; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10912; AVX512BW-NEXT: vmovaps %zmm0, 832(%rax)10913; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10914; AVX512BW-NEXT: vmovaps %zmm0, 768(%rax)10915; AVX512BW-NEXT: vmovdqa64 %zmm26, 576(%rax)10916; AVX512BW-NEXT: vmovdqa64 %zmm29, 512(%rax)10917; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10918; AVX512BW-NEXT: vmovaps %zmm0, 448(%rax)10919; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10920; AVX512BW-NEXT: vmovaps %zmm0, 384(%rax)10921; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10922; AVX512BW-NEXT: vmovaps %zmm0, 320(%rax)10923; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10924; AVX512BW-NEXT: vmovaps %zmm0, 256(%rax)10925; AVX512BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload10926; AVX512BW-NEXT: vmovaps %zmm0, 64(%rax)10927; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10928; AVX512BW-NEXT: vmovaps %zmm0, (%rax)10929; AVX512BW-NEXT: addq $2312, %rsp # imm = 0x90810930; AVX512BW-NEXT: vzeroupper10931; AVX512BW-NEXT: retq10932;10933; AVX512BW-FCP-LABEL: store_i64_stride8_vf32:10934; AVX512BW-FCP: # %bb.0:10935; AVX512BW-FCP-NEXT: subq $2312, %rsp # imm = 0x90810936; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10937; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r1010938; AVX512BW-FCP-NEXT: vmovaps 128(%rdi), %zmm010939; AVX512BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10940; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm610941; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm210942; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm010943; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm510944; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm310945; AVX512BW-FCP-NEXT: vmovaps 192(%rdx), %zmm110946; AVX512BW-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10947; AVX512BW-FCP-NEXT: vmovaps 128(%rdx), %zmm110948; AVX512BW-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10949; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm710950; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm410951; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm2310952; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm110953; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm910954; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm810955; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm1810956; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm1610957; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm1210958; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm1910959; AVX512BW-FCP-NEXT: vmovdqa64 (%r10), %zmm2510960; AVX512BW-FCP-NEXT: vmovdqa64 64(%r10), %zmm1710961; AVX512BW-FCP-NEXT: vmovdqa64 (%rax), %zmm1510962; AVX512BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm2010963; AVX512BW-FCP-NEXT: movb $-64, %r11b10964; AVX512BW-FCP-NEXT: kmovd %r11d, %k110965; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]10966; AVX512BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10967; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010968; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm27, %zmm1010969; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110970; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm1110971; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10972; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm1110973; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm27, %zmm1110974; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]10975; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}10976; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm1010977; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10978; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]10979; AVX512BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10980; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010981; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm24, %zmm1010982; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110983; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm24, %zmm1110984; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10985; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm1110986; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm1110987; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]10988; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}10989; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm1010990; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10991; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]10992; AVX512BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10993; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1010994; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm22, %zmm1010995; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1110996; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm22, %zmm1110997; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]10998; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm1110999; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm22, %zmm1111000; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]11001; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm1011002; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11003; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]11004; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11005; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm411006; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm211007; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]11008; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm311009; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm21, %zmm311010; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]11011; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211012; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11013; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211014; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm211015; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311016; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm27, %zmm311017; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11018; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311019; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm311020; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]11021; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11022; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211023; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11024; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211025; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm24, %zmm211026; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311027; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm24, %zmm311028; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11029; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311030; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm24, %zmm311031; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]11032; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11033; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211034; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11035; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211036; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm211037; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311038; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm22, %zmm311039; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11040; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm311041; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm22, %zmm311042; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]11043; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211044; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11045; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm711046; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm611047; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]11048; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm311049; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm311050; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]11051; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211052; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11053; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11054; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm211055; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm27, %zmm211056; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11057; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11058; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm411059; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm411060; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11061; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm411062; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm24, %zmm411063; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill11064; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm411065; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm411066; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11067; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm411068; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm411069; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11070; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm411071; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm411072; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11073; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm311074; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11075; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm211076; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11077; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11078; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm111079; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm111080; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11081; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm111082; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm24, %zmm111083; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11084; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm111085; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm22, %zmm111086; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11087; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm011088; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11089; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm111090; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm011091; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm211092; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm211093; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11094; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm211095; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm211096; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11097; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm211098; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm211099; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11100; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm111101; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11102; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]11103; AVX512BW-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11104; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm011105; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm011106; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11107; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]11108; AVX512BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11109; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm011110; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm011111; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11112; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]11113; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11114; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm011115; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm23, %zmm011116; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11117; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]11118; AVX512BW-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11119; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm26, %zmm2511120; AVX512BW-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11121; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm011122; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2911123; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm2911124; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm31, %zmm1811125; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm111126; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm111127; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11128; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm011129; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11130; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011131; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm30, %zmm011132; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11133; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011134; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm011135; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11136; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011137; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm011138; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11139; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm26, %zmm1711140; AVX512BW-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11141; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm1411142; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm30, %zmm1411143; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm1111144; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm31, %zmm1111145; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm2511146; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm2511147; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm26, %zmm1611148; AVX512BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11149; AVX512BW-FCP-NEXT: vmovdqa64 128(%r10), %zmm1911150; AVX512BW-FCP-NEXT: vmovdqa64 128(%rax), %zmm011151; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm2811152; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm30, %zmm2811153; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm111154; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm31, %zmm111155; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11156; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm1311157; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm1311158; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm1611159; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm1611160; AVX512BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm2011161; AVX512BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm111162; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm311163; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm311164; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]11165; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm1011166; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm1011167; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]11168; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm211169; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm23, %zmm211170; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11171; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm1911172; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm411173; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm411174; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm611175; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm611176; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm1711177; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm1711178; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]11179; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]11180; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm2011181; AVX512BW-FCP-NEXT: vmovdqa64 192(%r10), %zmm811182; AVX512BW-FCP-NEXT: vmovdqa64 192(%rax), %zmm111183; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1211184; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm1211185; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1511186; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm1511187; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2711188; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2411189; AVX512BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm211190; AVX512BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm011191; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2211192; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]11193; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2111194; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]11195; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm911196; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm911197; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11198; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm811199; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3011200; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3111201; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2311202; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]11203; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]11204; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm211205; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11206; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11207; AVX512BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11208; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}11209; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm011210; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11211; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11212; AVX512BW-FCP-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload11213; AVX512BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11214; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}11215; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011216; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11217; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11218; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11219; AVX512BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11220; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm011221; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11222; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11223; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}11224; AVX512BW-FCP-NEXT: vmovdqa (%rsi), %xmm011225; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm311226; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm011227; AVX512BW-FCP-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm511228; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11229; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm011230; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11231; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11232; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}11233; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11234; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm011235; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill11236; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11237; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}11238; AVX512BW-FCP-NEXT: vmovdqa 64(%rsi), %xmm311239; AVX512BW-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm311240; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm511241; AVX512BW-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm511242; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11243; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm2911244; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11245; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}11246; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11247; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm2611248; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}11249; AVX512BW-FCP-NEXT: vmovdqa 128(%rsi), %xmm311250; AVX512BW-FCP-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm311251; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %xmm511252; AVX512BW-FCP-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm511253; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11254; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm2811255; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11256; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}11257; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11258; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm1811259; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11260; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload11261; AVX512BW-FCP-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]11262; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm1611263; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}11264; AVX512BW-FCP-NEXT: vmovdqa 192(%rsi), %xmm411265; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm511266; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %xmm411267; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm611268; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]11269; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm3011270; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}11271; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]11272; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm3111273; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11274; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload11275; AVX512BW-FCP-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]11276; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}11277; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm611278; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11279; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11280; AVX512BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11281; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}11282; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm711283; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11284; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11285; AVX512BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11286; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm911287; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11288; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11289; AVX512BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11290; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm1211291; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11292; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11293; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11294; AVX512BW-FCP-NEXT: vmovdqa (%rcx), %ymm111295; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm1511296; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]11297; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %ymm2111298; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm2211299; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11300; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]11301; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm011302; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11303; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11304; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11305; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]11306; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11307; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]11308; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm111309; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11310; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}11311; AVX512BW-FCP-NEXT: vmovdqa 64(%rcx), %ymm1411312; AVX512BW-FCP-NEXT: vmovdqa 64(%rdx), %ymm1511313; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %ymm2111314; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2211315; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11316; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11317; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]11318; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm1111319; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11320; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11321; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11322; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11323; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11324; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]11325; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm1311326; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11327; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}11328; AVX512BW-FCP-NEXT: vmovdqa 128(%rcx), %ymm1411329; AVX512BW-FCP-NEXT: vmovdqa 128(%rdx), %ymm1511330; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11331; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %ymm2111332; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %ymm2211333; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11334; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]11335; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm311336; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}11337; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11338; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11339; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]11340; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm411341; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11342; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}11343; AVX512BW-FCP-NEXT: vmovdqa 192(%rcx), %ymm1411344; AVX512BW-FCP-NEXT: vmovdqa 192(%rdx), %ymm1511345; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11346; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %ymm1711347; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm1911348; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]11349; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]11350; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm511351; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}11352; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11353; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]11354; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]11355; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm211356; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11357; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 1728(%rax)11358; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 1664(%rax)11359; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 1216(%rax)11360; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 1152(%rax)11361; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 704(%rax)11362; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 640(%rax)11363; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)11364; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)11365; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, 1984(%rax)11366; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 1920(%rax)11367; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 1856(%rax)11368; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 1792(%rax)11369; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, 1600(%rax)11370; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, 1536(%rax)11371; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 1472(%rax)11372; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11373; AVX512BW-FCP-NEXT: vmovaps %zmm0, 1408(%rax)11374; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11375; AVX512BW-FCP-NEXT: vmovaps %zmm0, 1344(%rax)11376; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11377; AVX512BW-FCP-NEXT: vmovaps %zmm0, 1280(%rax)11378; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 1088(%rax)11379; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, 1024(%rax)11380; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11381; AVX512BW-FCP-NEXT: vmovaps %zmm0, 960(%rax)11382; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11383; AVX512BW-FCP-NEXT: vmovaps %zmm0, 896(%rax)11384; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11385; AVX512BW-FCP-NEXT: vmovaps %zmm0, 832(%rax)11386; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11387; AVX512BW-FCP-NEXT: vmovaps %zmm0, 768(%rax)11388; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, 576(%rax)11389; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, 512(%rax)11390; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11391; AVX512BW-FCP-NEXT: vmovaps %zmm0, 448(%rax)11392; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11393; AVX512BW-FCP-NEXT: vmovaps %zmm0, 384(%rax)11394; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11395; AVX512BW-FCP-NEXT: vmovaps %zmm0, 320(%rax)11396; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11397; AVX512BW-FCP-NEXT: vmovaps %zmm0, 256(%rax)11398; AVX512BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11399; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%rax)11400; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11401; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%rax)11402; AVX512BW-FCP-NEXT: addq $2312, %rsp # imm = 0x90811403; AVX512BW-FCP-NEXT: vzeroupper11404; AVX512BW-FCP-NEXT: retq11405;11406; AVX512DQ-BW-LABEL: store_i64_stride8_vf32:11407; AVX512DQ-BW: # %bb.0:11408; AVX512DQ-BW-NEXT: subq $2312, %rsp # imm = 0x90811409; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11410; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r1011411; AVX512DQ-BW-NEXT: vmovaps 128(%rdi), %zmm011412; AVX512DQ-BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11413; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm611414; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm211415; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %zmm011416; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm511417; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm311418; AVX512DQ-BW-NEXT: vmovaps 192(%rdx), %zmm111419; AVX512DQ-BW-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11420; AVX512DQ-BW-NEXT: vmovaps 128(%rdx), %zmm111421; AVX512DQ-BW-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11422; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm711423; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm411424; AVX512DQ-BW-NEXT: vmovdqa64 192(%rcx), %zmm2311425; AVX512DQ-BW-NEXT: vmovdqa64 128(%rcx), %zmm111426; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm911427; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm811428; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm1811429; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm1611430; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm1211431; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm1911432; AVX512DQ-BW-NEXT: vmovdqa64 (%r10), %zmm2511433; AVX512DQ-BW-NEXT: vmovdqa64 64(%r10), %zmm1711434; AVX512DQ-BW-NEXT: vmovdqa64 (%rax), %zmm1511435; AVX512DQ-BW-NEXT: vmovdqa64 64(%rax), %zmm2011436; AVX512DQ-BW-NEXT: movb $-64, %r11b11437; AVX512DQ-BW-NEXT: kmovd %r11d, %k111438; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]11439; AVX512DQ-BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11440; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1011441; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm27, %zmm1011442; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm1111443; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm27, %zmm1111444; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11445; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm1111446; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm27, %zmm1111447; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]11448; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}11449; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm1011450; AVX512DQ-BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11451; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]11452; AVX512DQ-BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11453; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1011454; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm24, %zmm1011455; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm1111456; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm24, %zmm1111457; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11458; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm1111459; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm24, %zmm1111460; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]11461; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}11462; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm1011463; AVX512DQ-BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11464; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]11465; AVX512DQ-BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11466; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1011467; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm22, %zmm1011468; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm1111469; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm22, %zmm1111470; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11471; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm1111472; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm22, %zmm1111473; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]11474; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm1011475; AVX512DQ-BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11476; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]11477; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11478; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm21, %zmm411479; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm211480; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]11481; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm311482; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm21, %zmm311483; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]11484; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211485; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11486; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm211487; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm27, %zmm211488; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm311489; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm27, %zmm311490; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11491; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm311492; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm27, %zmm311493; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]11494; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11495; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211496; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11497; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm211498; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm24, %zmm211499; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm311500; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm24, %zmm311501; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11502; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm311503; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm24, %zmm311504; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]11505; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11506; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211507; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11508; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm211509; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm22, %zmm211510; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm311511; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm22, %zmm311512; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11513; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm311514; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm22, %zmm311515; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]11516; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211517; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11518; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm21, %zmm711519; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm21, %zmm611520; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]11521; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm311522; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm21, %zmm311523; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]11524; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211525; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11526; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11527; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm211528; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm27, %zmm211529; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11530; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11531; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm411532; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm411533; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11534; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm411535; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm24, %zmm411536; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill11537; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm411538; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm411539; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11540; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm411541; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm22, %zmm411542; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11543; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm411544; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm22, %zmm411545; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11546; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm311547; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11548; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm211549; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11550; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11551; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm111552; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm27, %zmm111553; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11554; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm111555; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm24, %zmm111556; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11557; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm111558; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm22, %zmm111559; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11560; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm21, %zmm011561; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11562; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm111563; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %zmm011564; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm211565; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm211566; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11567; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm211568; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm211569; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11570; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm211571; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm22, %zmm211572; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11573; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm111574; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11575; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]11576; AVX512DQ-BW-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11577; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm011578; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm30, %zmm011579; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11580; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]11581; AVX512DQ-BW-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11582; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm011583; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm31, %zmm011584; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11585; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]11586; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11587; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm011588; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm23, %zmm011589; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11590; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]11591; AVX512DQ-BW-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11592; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm26, %zmm2511593; AVX512DQ-BW-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11594; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm011595; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm2911596; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm30, %zmm2911597; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm31, %zmm1811598; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm111599; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm23, %zmm111600; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11601; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm26, %zmm011602; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11603; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm011604; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm30, %zmm011605; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11606; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm011607; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm31, %zmm011608; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11609; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm011610; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm011611; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11612; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm26, %zmm1711613; AVX512DQ-BW-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11614; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm1411615; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm30, %zmm1411616; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm1111617; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm31, %zmm1111618; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm2511619; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm2511620; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm26, %zmm1611621; AVX512DQ-BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11622; AVX512DQ-BW-NEXT: vmovdqa64 128(%r10), %zmm1911623; AVX512DQ-BW-NEXT: vmovdqa64 128(%rax), %zmm011624; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm2811625; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm30, %zmm2811626; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm111627; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm31, %zmm111628; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11629; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm1311630; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm27, %zmm1311631; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm1611632; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm24, %zmm1611633; AVX512DQ-BW-NEXT: vmovdqa64 128(%r8), %zmm2011634; AVX512DQ-BW-NEXT: vmovdqa64 128(%r9), %zmm111635; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm311636; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm22, %zmm311637; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]11638; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm1011639; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm1011640; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]11641; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm211642; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm23, %zmm211643; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11644; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm26, %zmm1911645; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm411646; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm411647; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm611648; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm31, %zmm611649; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm1711650; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm1711651; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]11652; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]11653; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm26, %zmm2011654; AVX512DQ-BW-NEXT: vmovdqa64 192(%r10), %zmm811655; AVX512DQ-BW-NEXT: vmovdqa64 192(%rax), %zmm111656; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm1211657; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm1211658; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm1511659; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm31, %zmm1511660; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm2711661; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm2411662; AVX512DQ-BW-NEXT: vmovdqa64 192(%r8), %zmm211663; AVX512DQ-BW-NEXT: vmovdqa64 192(%r9), %zmm011664; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2211665; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]11666; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2111667; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]11668; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm911669; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm911670; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11671; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm26, %zmm811672; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm3011673; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm3111674; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm2311675; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]11676; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]11677; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm26, %zmm211678; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11679; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11680; AVX512DQ-BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11681; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}11682; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm011683; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11684; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11685; AVX512DQ-BW-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload11686; AVX512DQ-BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11687; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}11688; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011689; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11690; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11691; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11692; AVX512DQ-BW-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]11693; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm011694; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11695; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11696; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}11697; AVX512DQ-BW-NEXT: vmovdqa (%rsi), %xmm011698; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm311699; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm011700; AVX512DQ-BW-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm511701; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11702; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm011703; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11704; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11705; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}11706; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11707; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm011708; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill11709; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11710; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}11711; AVX512DQ-BW-NEXT: vmovdqa 64(%rsi), %xmm311712; AVX512DQ-BW-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm311713; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm511714; AVX512DQ-BW-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm511715; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11716; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm2911717; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11718; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}11719; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11720; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm2611721; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}11722; AVX512DQ-BW-NEXT: vmovdqa 128(%rsi), %xmm311723; AVX512DQ-BW-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm311724; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %xmm511725; AVX512DQ-BW-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm511726; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]11727; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm2811728; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11729; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}11730; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]11731; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm1811732; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11733; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload11734; AVX512DQ-BW-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]11735; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm1611736; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}11737; AVX512DQ-BW-NEXT: vmovdqa 192(%rsi), %xmm411738; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm511739; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %xmm411740; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm611741; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]11742; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm3011743; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}11744; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]11745; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm3111746; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11747; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload11748; AVX512DQ-BW-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]11749; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}11750; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm611751; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11752; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11753; AVX512DQ-BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11754; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}11755; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm711756; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11757; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11758; AVX512DQ-BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11759; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm911760; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11761; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11762; AVX512DQ-BW-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]11763; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm1211764; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11765; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11766; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11767; AVX512DQ-BW-NEXT: vmovdqa (%rcx), %ymm111768; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm1511769; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]11770; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %ymm2111771; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %ymm2211772; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11773; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]11774; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm011775; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11776; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11777; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11778; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]11779; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11780; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]11781; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm111782; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11783; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}11784; AVX512DQ-BW-NEXT: vmovdqa 64(%rcx), %ymm1411785; AVX512DQ-BW-NEXT: vmovdqa 64(%rdx), %ymm1511786; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %ymm2111787; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm2211788; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11789; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11790; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]11791; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm1111792; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11793; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11794; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11795; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11796; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11797; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]11798; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm1311799; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11800; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}11801; AVX512DQ-BW-NEXT: vmovdqa 128(%rcx), %ymm1411802; AVX512DQ-BW-NEXT: vmovdqa 128(%rdx), %ymm1511803; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11804; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %ymm2111805; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %ymm2211806; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]11807; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]11808; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm311809; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}11810; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11811; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]11812; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]11813; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm411814; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11815; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}11816; AVX512DQ-BW-NEXT: vmovdqa 192(%rcx), %ymm1411817; AVX512DQ-BW-NEXT: vmovdqa 192(%rdx), %ymm1511818; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]11819; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %ymm1711820; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %ymm1911821; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]11822; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]11823; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm511824; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}11825; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]11826; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]11827; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]11828; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm211829; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11830; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 1728(%rax)11831; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 1664(%rax)11832; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 1216(%rax)11833; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 1152(%rax)11834; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 704(%rax)11835; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 640(%rax)11836; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 192(%rax)11837; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 128(%rax)11838; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, 1984(%rax)11839; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 1920(%rax)11840; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 1856(%rax)11841; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 1792(%rax)11842; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 1600(%rax)11843; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, 1536(%rax)11844; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 1472(%rax)11845; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11846; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1408(%rax)11847; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11848; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1344(%rax)11849; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11850; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1280(%rax)11851; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 1088(%rax)11852; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 1024(%rax)11853; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11854; AVX512DQ-BW-NEXT: vmovaps %zmm0, 960(%rax)11855; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11856; AVX512DQ-BW-NEXT: vmovaps %zmm0, 896(%rax)11857; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11858; AVX512DQ-BW-NEXT: vmovaps %zmm0, 832(%rax)11859; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11860; AVX512DQ-BW-NEXT: vmovaps %zmm0, 768(%rax)11861; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, 576(%rax)11862; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, 512(%rax)11863; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11864; AVX512DQ-BW-NEXT: vmovaps %zmm0, 448(%rax)11865; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11866; AVX512DQ-BW-NEXT: vmovaps %zmm0, 384(%rax)11867; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11868; AVX512DQ-BW-NEXT: vmovaps %zmm0, 320(%rax)11869; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11870; AVX512DQ-BW-NEXT: vmovaps %zmm0, 256(%rax)11871; AVX512DQ-BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11872; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%rax)11873; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11874; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%rax)11875; AVX512DQ-BW-NEXT: addq $2312, %rsp # imm = 0x90811876; AVX512DQ-BW-NEXT: vzeroupper11877; AVX512DQ-BW-NEXT: retq11878;11879; AVX512DQ-BW-FCP-LABEL: store_i64_stride8_vf32:11880; AVX512DQ-BW-FCP: # %bb.0:11881; AVX512DQ-BW-FCP-NEXT: subq $2312, %rsp # imm = 0x90811882; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11883; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r1011884; AVX512DQ-BW-FCP-NEXT: vmovaps 128(%rdi), %zmm011885; AVX512DQ-BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11886; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm611887; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm211888; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm011889; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm511890; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm311891; AVX512DQ-BW-FCP-NEXT: vmovaps 192(%rdx), %zmm111892; AVX512DQ-BW-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11893; AVX512DQ-BW-FCP-NEXT: vmovaps 128(%rdx), %zmm111894; AVX512DQ-BW-FCP-NEXT: vmovups %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11895; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm711896; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm411897; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm2311898; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm111899; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm911900; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm811901; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm1811902; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm1611903; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm1211904; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm1911905; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r10), %zmm2511906; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r10), %zmm1711907; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rax), %zmm1511908; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm2011909; AVX512DQ-BW-FCP-NEXT: movb $-64, %r11b11910; AVX512DQ-BW-FCP-NEXT: kmovd %r11d, %k111911; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [4,12,4,12,4,12,4,12]11912; AVX512DQ-BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11913; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1011914; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm27, %zmm1011915; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1111916; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm1111917; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11918; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm1111919; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm27, %zmm1111920; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]11921; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}11922; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm13, %zmm1011923; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11924; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [5,13,5,13,5,13,5,13]11925; AVX512DQ-BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11926; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1011927; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm24, %zmm1011928; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1111929; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm24, %zmm1111930; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11931; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm1111932; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm1111933; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm18[1],zmm12[1],zmm18[3],zmm12[3],zmm18[5],zmm12[5],zmm18[7],zmm12[7]11934; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm14 {%k1}11935; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm14, %zmm1011936; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11937; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]11938; AVX512DQ-BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11939; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1011940; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm22, %zmm1011941; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1111942; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm22, %zmm1111943; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]11944; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm1111945; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm22, %zmm1111946; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm11 {%k1} = zmm25[0],zmm15[0],zmm25[2],zmm15[2],zmm25[4],zmm15[4],zmm25[6],zmm15[6]11947; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm11, %zmm1011948; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11949; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]11950; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11951; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm411952; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm211953; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]11954; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm311955; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm21, %zmm311956; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm25[1],zmm15[1],zmm25[3],zmm15[3],zmm25[5],zmm15[5],zmm25[7],zmm15[7]11957; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211958; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11959; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211960; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm211961; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311962; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm27, %zmm311963; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11964; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311965; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm311966; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 = zmm16[0],zmm19[0],zmm16[2],zmm19[2],zmm16[4],zmm19[4],zmm16[6],zmm19[6]11967; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11968; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211969; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11970; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211971; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm24, %zmm211972; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311973; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm24, %zmm311974; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11975; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311976; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm24, %zmm311977; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm4 = zmm16[1],zmm19[1],zmm16[3],zmm19[3],zmm16[5],zmm19[5],zmm16[7],zmm19[7]11978; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11979; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm4, %zmm211980; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11981; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm211982; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm211983; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm311984; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm22, %zmm311985; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]11986; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm311987; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm22, %zmm311988; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm17[0],zmm20[0],zmm17[2],zmm20[2],zmm17[4],zmm20[4],zmm17[6],zmm20[6]11989; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211990; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11991; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm711992; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm611993; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm7[4,5,6,7]11994; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm311995; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm311996; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm3 {%k1} = zmm17[1],zmm20[1],zmm17[3],zmm20[3],zmm17[5],zmm20[5],zmm17[7],zmm20[7]11997; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm3, %zmm211998; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11999; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12000; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm212001; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm27, %zmm212002; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12003; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12004; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm412005; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm412006; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12007; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm412008; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm24, %zmm412009; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, (%rsp) # 64-byte Spill12010; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm412011; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm412012; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12013; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm412014; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm412015; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12016; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm412017; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm412018; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12019; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm312020; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12021; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm212022; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12023; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12024; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm112025; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm112026; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12027; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm112028; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm24, %zmm112029; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12030; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm112031; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm22, %zmm112032; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12033; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm012034; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12035; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm112036; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm012037; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm212038; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm212039; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12040; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm212041; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm212042; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12043; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm212044; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm22, %zmm212045; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12046; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm112047; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12048; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm30 = [0,8,0,8,0,8,0,8]12049; AVX512DQ-BW-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12050; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm012051; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm012052; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12053; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [1,9,1,9,1,9,1,9]12054; AVX512DQ-BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12055; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm012056; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm012057; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12058; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [2,10,2,10,2,10,2,10]12059; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12060; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm012061; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm23, %zmm012062; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12063; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [3,11,3,11,3,11,3,11]12064; AVX512DQ-BW-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12065; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm26, %zmm2512066; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12067; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm012068; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2912069; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm2912070; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm31, %zmm1812071; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm112072; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm112073; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12074; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm012075; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12076; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012077; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm30, %zmm012078; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12079; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012080; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm012081; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12082; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012083; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm012084; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12085; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm26, %zmm1712086; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12087; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm1412088; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm30, %zmm1412089; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm1112090; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm31, %zmm1112091; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm2512092; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm2512093; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm26, %zmm1612094; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12095; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r10), %zmm1912096; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rax), %zmm012097; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm2812098; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm30, %zmm2812099; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm112100; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm31, %zmm112101; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12102; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm1312103; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm27, %zmm1312104; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm1612105; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm24, %zmm1612106; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm2012107; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm112108; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm312109; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm22, %zmm312110; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 {%k1} = zmm19[0],zmm0[0],zmm19[2],zmm0[2],zmm19[4],zmm0[4],zmm19[6],zmm0[6]12111; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm1012112; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm1012113; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm10 {%k1} = zmm19[1],zmm0[1],zmm19[3],zmm0[3],zmm19[5],zmm0[5],zmm19[7],zmm0[7]12114; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm212115; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm23, %zmm212116; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12117; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm1912118; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm412119; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm412120; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm612121; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm612122; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm1712123; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm1712124; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm5 = zmm20[0],zmm1[0],zmm20[2],zmm1[2],zmm20[4],zmm1[4],zmm20[6],zmm1[6]12125; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm20[1],zmm1[1],zmm20[3],zmm1[3],zmm20[5],zmm1[5],zmm20[7],zmm1[7]12126; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm2012127; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r10), %zmm812128; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rax), %zmm112129; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1212130; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm1212131; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1512132; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm31, %zmm1512133; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2712134; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm2412135; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm212136; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm012137; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2212138; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k1} = zmm8[0],zmm1[0],zmm8[2],zmm1[2],zmm8[4],zmm1[4],zmm8[6],zmm1[6]12139; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2112140; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm21 {%k1} = zmm8[1],zmm1[1],zmm8[3],zmm1[3],zmm8[5],zmm1[5],zmm8[7],zmm1[7]12141; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm912142; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm912143; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12144; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm26, %zmm812145; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3012146; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm3112147; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm2312148; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 = zmm2[0],zmm0[0],zmm2[2],zmm0[2],zmm2[4],zmm0[4],zmm2[6],zmm0[6]12149; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm2[1],zmm0[1],zmm2[3],zmm0[3],zmm2[5],zmm0[5],zmm2[7],zmm0[7]12150; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm26, %zmm212151; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12152; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12153; AVX512DQ-BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]12154; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}12155; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm5, %zmm012156; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12157; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12158; AVX512DQ-BW-FCP-NEXT: vpblendd $240, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload12159; AVX512DQ-BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]12160; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm7 {%k1}12161; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm012162; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12163; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12164; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12165; AVX512DQ-BW-FCP-NEXT: # ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]12166; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm012167; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12168; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12169; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}12170; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rsi), %xmm012171; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm0, %ymm312172; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm012173; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rdx), %ymm0, %ymm512174; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]12175; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm29, %zmm012176; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12177; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12178; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k1}12179; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]12180; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm012181; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill12182; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12183; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k1}12184; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rsi), %xmm312185; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 64(%rcx), %ymm3, %ymm312186; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm512187; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 64(%rdx), %ymm5, %ymm512188; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]12189; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm14, %zmm2912190; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12191; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k1}12192; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]12193; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm11, %zmm2612194; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm4 {%k1}12195; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rsi), %xmm312196; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 128(%rcx), %ymm3, %ymm312197; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %xmm512198; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 128(%rdx), %ymm5, %ymm512199; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]12200; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm2812201; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12202; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}12203; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]12204; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm1812205; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12206; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload12207; AVX512DQ-BW-FCP-NEXT: # ymm4 = ymm0[0,1,2,3],mem[4,5,6,7]12208; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm10, %zmm1612209; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm30 {%k1}12210; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rsi), %xmm412211; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rcx), %ymm4, %ymm512212; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %xmm412213; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdx), %ymm4, %ymm612214; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]12215; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm30, %zmm3012216; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm31 {%k1}12217; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]12218; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm31, %zmm3112219; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12220; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload12221; AVX512DQ-BW-FCP-NEXT: # ymm6 = ymm0[0,1,2,3],mem[4,5,6,7]12222; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm1 {%k1}12223; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm1, %zmm612224; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12225; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload12226; AVX512DQ-BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]12227; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k1}12228; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm9, %zmm712229; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12230; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload12231; AVX512DQ-BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]12232; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm22, %zmm912233; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12234; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload12235; AVX512DQ-BW-FCP-NEXT: # ymm1 = ymm0[0,1,2,3],mem[4,5,6,7]12236; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm1212237; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12238; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12239; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12240; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rcx), %ymm112241; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm1512242; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]12243; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %ymm2112244; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm2212245; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]12246; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]12247; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm3, %zmm012248; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12249; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12250; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}12251; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm15[1],ymm1[1],ymm15[3],ymm1[3]12252; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]12253; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]12254; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm4, %zmm112255; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12256; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}12257; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rcx), %ymm1412258; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdx), %ymm1512259; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %ymm2112260; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2212261; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]12262; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]12263; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm13[2,3]12264; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm1112265; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12266; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12267; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}12268; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]12269; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]12270; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]12271; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm4, %zmm1312272; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12273; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}12274; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rcx), %ymm1412275; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdx), %ymm1512276; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]12277; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %ymm2112278; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %ymm2212279; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm22[0],ymm21[0],ymm22[2],ymm21[2]12280; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm3[2,3],ymm4[2,3]12281; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm17, %zmm312282; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm20 {%k1}12283; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]12284; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm22[1],ymm21[1],ymm22[3],ymm21[3]12285; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm14[2,3],ymm4[2,3]12286; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm412287; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload12288; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm23 {%k1}12289; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rcx), %ymm1412290; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdx), %ymm1512291; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]12292; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %ymm1712293; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm1912294; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm19[0],ymm17[0],ymm19[2],ymm17[2]12295; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm10[2,3],ymm5[2,3]12296; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm23, %zmm512297; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm2 {%k1}12298; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm8 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]12299; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm19[1],ymm17[1],ymm19[3],ymm17[3]12300; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]12301; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm2, %zmm212302; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax12303; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 1728(%rax)12304; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 1664(%rax)12305; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 1216(%rax)12306; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 1152(%rax)12307; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 704(%rax)12308; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 640(%rax)12309; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)12310; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)12311; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, 1984(%rax)12312; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 1920(%rax)12313; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 1856(%rax)12314; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 1792(%rax)12315; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 1600(%rax)12316; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, 1536(%rax)12317; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 1472(%rax)12318; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12319; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1408(%rax)12320; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12321; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1344(%rax)12322; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12323; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1280(%rax)12324; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 1088(%rax)12325; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 1024(%rax)12326; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12327; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 960(%rax)12328; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12329; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 896(%rax)12330; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12331; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 832(%rax)12332; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12333; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 768(%rax)12334; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, 576(%rax)12335; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 512(%rax)12336; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12337; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 448(%rax)12338; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12339; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 384(%rax)12340; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12341; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 320(%rax)12342; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12343; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 256(%rax)12344; AVX512DQ-BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload12345; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%rax)12346; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12347; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%rax)12348; AVX512DQ-BW-FCP-NEXT: addq $2312, %rsp # imm = 0x90812349; AVX512DQ-BW-FCP-NEXT: vzeroupper12350; AVX512DQ-BW-FCP-NEXT: retq12351 %in.vec0 = load <32 x i64>, ptr %in.vecptr0, align 6412352 %in.vec1 = load <32 x i64>, ptr %in.vecptr1, align 6412353 %in.vec2 = load <32 x i64>, ptr %in.vecptr2, align 6412354 %in.vec3 = load <32 x i64>, ptr %in.vecptr3, align 6412355 %in.vec4 = load <32 x i64>, ptr %in.vecptr4, align 6412356 %in.vec5 = load <32 x i64>, ptr %in.vecptr5, align 6412357 %in.vec6 = load <32 x i64>, ptr %in.vecptr6, align 6412358 %in.vec7 = load <32 x i64>, ptr %in.vecptr7, align 6412359 %1 = shufflevector <32 x i64> %in.vec0, <32 x i64> %in.vec1, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>12360 %2 = shufflevector <32 x i64> %in.vec2, <32 x i64> %in.vec3, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>12361 %3 = shufflevector <32 x i64> %in.vec4, <32 x i64> %in.vec5, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>12362 %4 = shufflevector <32 x i64> %in.vec6, <32 x i64> %in.vec7, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>12363 %5 = shufflevector <64 x i64> %1, <64 x i64> %2, <128 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>12364 %6 = shufflevector <64 x i64> %3, <64 x i64> %4, <128 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>12365 %7 = shufflevector <128 x i64> %5, <128 x i64> %6, <256 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127, i32 128, i32 129, i32 130, i32 131, i32 132, i32 133, i32 134, i32 135, i32 136, i32 137, i32 138, i32 139, i32 140, i32 141, i32 142, i32 143, i32 144, i32 145, i32 146, i32 147, i32 148, i32 149, i32 150, i32 151, i32 152, i32 153, i32 154, i32 155, i32 156, i32 157, i32 158, i32 159, i32 160, i32 161, i32 162, i32 163, i32 164, i32 165, i32 166, i32 167, i32 168, i32 169, i32 170, i32 171, i32 172, i32 173, i32 174, i32 175, i32 176, i32 177, i32 178, i32 179, i32 180, i32 181, i32 182, i32 183, i32 184, i32 185, i32 186, i32 187, i32 188, i32 189, i32 190, i32 191, i32 192, i32 193, i32 194, i32 195, i32 196, i32 197, i32 198, i32 199, i32 200, i32 201, i32 202, i32 203, i32 204, i32 205, i32 206, i32 207, i32 208, i32 209, i32 210, i32 211, i32 212, i32 213, i32 214, i32 215, i32 216, i32 217, i32 218, i32 219, i32 220, i32 221, i32 222, i32 223, i32 224, i32 225, i32 226, i32 227, i32 228, i32 229, i32 230, i32 231, i32 232, i32 233, i32 234, i32 235, i32 236, i32 237, i32 238, i32 239, i32 240, i32 241, i32 242, i32 243, i32 244, i32 245, i32 246, i32 247, i32 248, i32 249, i32 250, i32 251, i32 252, i32 253, i32 254, i32 255>12366 %interleaved.vec = shufflevector <256 x i64> %7, <256 x i64> poison, <256 x i32> <i32 0, i32 32, i32 64, i32 96, i32 128, i32 160, i32 192, i32 224, i32 1, i32 33, i32 65, i32 97, i32 129, i32 161, i32 193, i32 225, i32 2, i32 34, i32 66, i32 98, i32 130, i32 162, i32 194, i32 226, i32 3, i32 35, i32 67, i32 99, i32 131, i32 163, i32 195, i32 227, i32 4, i32 36, i32 68, i32 100, i32 132, i32 164, i32 196, i32 228, i32 5, i32 37, i32 69, i32 101, i32 133, i32 165, i32 197, i32 229, i32 6, i32 38, i32 70, i32 102, i32 134, i32 166, i32 198, i32 230, i32 7, i32 39, i32 71, i32 103, i32 135, i32 167, i32 199, i32 231, i32 8, i32 40, i32 72, i32 104, i32 136, i32 168, i32 200, i32 232, i32 9, i32 41, i32 73, i32 105, i32 137, i32 169, i32 201, i32 233, i32 10, i32 42, i32 74, i32 106, i32 138, i32 170, i32 202, i32 234, i32 11, i32 43, i32 75, i32 107, i32 139, i32 171, i32 203, i32 235, i32 12, i32 44, i32 76, i32 108, i32 140, i32 172, i32 204, i32 236, i32 13, i32 45, i32 77, i32 109, i32 141, i32 173, i32 205, i32 237, i32 14, i32 46, i32 78, i32 110, i32 142, i32 174, i32 206, i32 238, i32 15, i32 47, i32 79, i32 111, i32 143, i32 175, i32 207, i32 239, i32 16, i32 48, i32 80, i32 112, i32 144, i32 176, i32 208, i32 240, i32 17, i32 49, i32 81, i32 113, i32 145, i32 177, i32 209, i32 241, i32 18, i32 50, i32 82, i32 114, i32 146, i32 178, i32 210, i32 242, i32 19, i32 51, i32 83, i32 115, i32 147, i32 179, i32 211, i32 243, i32 20, i32 52, i32 84, i32 116, i32 148, i32 180, i32 212, i32 244, i32 21, i32 53, i32 85, i32 117, i32 149, i32 181, i32 213, i32 245, i32 22, i32 54, i32 86, i32 118, i32 150, i32 182, i32 214, i32 246, i32 23, i32 55, i32 87, i32 119, i32 151, i32 183, i32 215, i32 247, i32 24, i32 56, i32 88, i32 120, i32 152, i32 184, i32 216, i32 248, i32 25, i32 57, i32 89, i32 121, i32 153, i32 185, i32 217, i32 249, i32 26, i32 58, i32 90, i32 122, i32 154, i32 186, i32 218, i32 250, i32 27, i32 59, i32 91, i32 123, i32 155, i32 187, i32 219, i32 251, i32 28, i32 60, i32 92, i32 124, i32 156, i32 188, i32 220, i32 252, i32 29, i32 61, i32 93, i32 125, i32 157, i32 189, i32 221, i32 253, i32 30, i32 62, i32 94, i32 126, i32 158, i32 190, i32 222, i32 254, i32 31, i32 63, i32 95, i32 127, i32 159, i32 191, i32 223, i32 255>12367 store <256 x i64> %interleaved.vec, ptr %out.vec, align 6412368 ret void12369}12370 12371define void @store_i64_stride8_vf64(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %in.vecptr7, ptr %out.vec) nounwind {12372; SSE-LABEL: store_i64_stride8_vf64:12373; SSE: # %bb.0:12374; SSE-NEXT: subq $3736, %rsp # imm = 0xE9812375; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax12376; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1012377; SSE-NEXT: movaps (%rdi), %xmm712378; SSE-NEXT: movaps 16(%rdi), %xmm812379; SSE-NEXT: movaps (%rsi), %xmm112380; SSE-NEXT: movaps 16(%rsi), %xmm012381; SSE-NEXT: movaps (%rdx), %xmm912382; SSE-NEXT: movaps 16(%rdx), %xmm1012383; SSE-NEXT: movaps (%rcx), %xmm312384; SSE-NEXT: movaps 16(%rcx), %xmm212385; SSE-NEXT: movaps 16(%r8), %xmm1212386; SSE-NEXT: movaps (%r8), %xmm1112387; SSE-NEXT: movaps 16(%r9), %xmm412388; SSE-NEXT: movaps (%r9), %xmm512389; SSE-NEXT: movaps 16(%r10), %xmm1412390; SSE-NEXT: movaps (%r10), %xmm1312391; SSE-NEXT: movaps (%rax), %xmm612392; SSE-NEXT: movaps %xmm7, %xmm1512393; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm1[0]12394; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12395; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm1[1]12396; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12397; SSE-NEXT: movaps %xmm9, %xmm112398; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]12399; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12400; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm3[1]12401; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12402; SSE-NEXT: movaps %xmm11, %xmm112403; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm5[0]12404; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12405; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm5[1]12406; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12407; SSE-NEXT: movaps %xmm13, %xmm112408; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm6[0]12409; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12410; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]12411; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12412; SSE-NEXT: movaps %xmm8, %xmm112413; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12414; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12415; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]12416; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12417; SSE-NEXT: movaps %xmm10, %xmm012418; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm2[0]12419; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12420; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm2[1]12421; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12422; SSE-NEXT: movaps %xmm12, %xmm012423; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm4[0]12424; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12425; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm4[1]12426; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12427; SSE-NEXT: movaps 16(%rax), %xmm012428; SSE-NEXT: movaps %xmm14, %xmm112429; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12430; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12431; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]12432; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12433; SSE-NEXT: movaps 32(%rdi), %xmm212434; SSE-NEXT: movaps 32(%rsi), %xmm012435; SSE-NEXT: movaps %xmm2, %xmm112436; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12437; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12438; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12439; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12440; SSE-NEXT: movaps 32(%rdx), %xmm212441; SSE-NEXT: movaps 32(%rcx), %xmm012442; SSE-NEXT: movaps %xmm2, %xmm112443; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12444; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12445; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12446; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12447; SSE-NEXT: movaps 32(%r8), %xmm212448; SSE-NEXT: movaps 32(%r9), %xmm012449; SSE-NEXT: movaps %xmm2, %xmm112450; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12451; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12452; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12453; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12454; SSE-NEXT: movaps 32(%r10), %xmm212455; SSE-NEXT: movaps 32(%rax), %xmm012456; SSE-NEXT: movaps %xmm2, %xmm112457; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12458; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12459; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12460; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12461; SSE-NEXT: movaps 48(%rdi), %xmm212462; SSE-NEXT: movaps 48(%rsi), %xmm012463; SSE-NEXT: movaps %xmm2, %xmm112464; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12465; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12466; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12467; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12468; SSE-NEXT: movaps 48(%rdx), %xmm212469; SSE-NEXT: movaps 48(%rcx), %xmm012470; SSE-NEXT: movaps %xmm2, %xmm112471; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12472; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12473; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12474; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12475; SSE-NEXT: movaps 48(%r8), %xmm212476; SSE-NEXT: movaps 48(%r9), %xmm012477; SSE-NEXT: movaps %xmm2, %xmm112478; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12479; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12480; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12481; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12482; SSE-NEXT: movaps 48(%r10), %xmm212483; SSE-NEXT: movaps 48(%rax), %xmm012484; SSE-NEXT: movaps %xmm2, %xmm112485; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12486; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12487; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12488; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12489; SSE-NEXT: movaps 64(%rdi), %xmm212490; SSE-NEXT: movaps 64(%rsi), %xmm012491; SSE-NEXT: movaps %xmm2, %xmm112492; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12493; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12494; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12495; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12496; SSE-NEXT: movaps 64(%rdx), %xmm212497; SSE-NEXT: movaps 64(%rcx), %xmm012498; SSE-NEXT: movaps %xmm2, %xmm112499; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12500; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12501; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12502; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12503; SSE-NEXT: movaps 64(%r8), %xmm212504; SSE-NEXT: movaps 64(%r9), %xmm012505; SSE-NEXT: movaps %xmm2, %xmm112506; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12507; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12508; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12509; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12510; SSE-NEXT: movaps 64(%r10), %xmm212511; SSE-NEXT: movaps 64(%rax), %xmm012512; SSE-NEXT: movaps %xmm2, %xmm112513; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12514; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12515; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12516; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12517; SSE-NEXT: movaps 80(%rdi), %xmm212518; SSE-NEXT: movaps 80(%rsi), %xmm012519; SSE-NEXT: movaps %xmm2, %xmm112520; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12521; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12522; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12523; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12524; SSE-NEXT: movaps 80(%rdx), %xmm212525; SSE-NEXT: movaps 80(%rcx), %xmm012526; SSE-NEXT: movaps %xmm2, %xmm112527; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12528; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12529; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12530; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12531; SSE-NEXT: movaps 80(%r8), %xmm212532; SSE-NEXT: movaps 80(%r9), %xmm012533; SSE-NEXT: movaps %xmm2, %xmm112534; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12535; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12536; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12537; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12538; SSE-NEXT: movaps 80(%r10), %xmm212539; SSE-NEXT: movaps 80(%rax), %xmm012540; SSE-NEXT: movaps %xmm2, %xmm112541; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12542; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12543; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12544; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12545; SSE-NEXT: movaps 96(%rdi), %xmm212546; SSE-NEXT: movaps 96(%rsi), %xmm012547; SSE-NEXT: movaps %xmm2, %xmm112548; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12549; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12550; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12551; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12552; SSE-NEXT: movaps 96(%rdx), %xmm212553; SSE-NEXT: movaps 96(%rcx), %xmm012554; SSE-NEXT: movaps %xmm2, %xmm112555; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12556; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12557; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12558; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12559; SSE-NEXT: movaps 96(%r8), %xmm212560; SSE-NEXT: movaps 96(%r9), %xmm012561; SSE-NEXT: movaps %xmm2, %xmm112562; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12563; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12564; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12565; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12566; SSE-NEXT: movaps 96(%r10), %xmm212567; SSE-NEXT: movaps 96(%rax), %xmm012568; SSE-NEXT: movaps %xmm2, %xmm112569; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12570; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12571; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12572; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12573; SSE-NEXT: movaps 112(%rdi), %xmm212574; SSE-NEXT: movaps 112(%rsi), %xmm012575; SSE-NEXT: movaps %xmm2, %xmm112576; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12577; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12578; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12579; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12580; SSE-NEXT: movaps 112(%rdx), %xmm212581; SSE-NEXT: movaps 112(%rcx), %xmm012582; SSE-NEXT: movaps %xmm2, %xmm112583; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12584; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12585; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12586; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12587; SSE-NEXT: movaps 112(%r8), %xmm212588; SSE-NEXT: movaps 112(%r9), %xmm012589; SSE-NEXT: movaps %xmm2, %xmm112590; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12591; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12592; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12593; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12594; SSE-NEXT: movaps 112(%r10), %xmm212595; SSE-NEXT: movaps 112(%rax), %xmm012596; SSE-NEXT: movaps %xmm2, %xmm112597; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12598; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12599; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12600; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12601; SSE-NEXT: movaps 128(%rdi), %xmm212602; SSE-NEXT: movaps 128(%rsi), %xmm012603; SSE-NEXT: movaps %xmm2, %xmm112604; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12605; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12606; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12607; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12608; SSE-NEXT: movaps 128(%rdx), %xmm212609; SSE-NEXT: movaps 128(%rcx), %xmm012610; SSE-NEXT: movaps %xmm2, %xmm112611; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12612; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12613; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12614; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12615; SSE-NEXT: movaps 128(%r8), %xmm212616; SSE-NEXT: movaps 128(%r9), %xmm012617; SSE-NEXT: movaps %xmm2, %xmm112618; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12619; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12620; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12621; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12622; SSE-NEXT: movaps 128(%r10), %xmm212623; SSE-NEXT: movaps 128(%rax), %xmm012624; SSE-NEXT: movaps %xmm2, %xmm112625; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12626; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12627; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12628; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12629; SSE-NEXT: movaps 144(%rdi), %xmm212630; SSE-NEXT: movaps 144(%rsi), %xmm012631; SSE-NEXT: movaps %xmm2, %xmm112632; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12633; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12634; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12635; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12636; SSE-NEXT: movaps 144(%rdx), %xmm212637; SSE-NEXT: movaps 144(%rcx), %xmm012638; SSE-NEXT: movaps %xmm2, %xmm112639; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12640; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12641; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12642; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12643; SSE-NEXT: movaps 144(%r8), %xmm212644; SSE-NEXT: movaps 144(%r9), %xmm012645; SSE-NEXT: movaps %xmm2, %xmm112646; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12647; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12648; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12649; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12650; SSE-NEXT: movaps 144(%r10), %xmm212651; SSE-NEXT: movaps 144(%rax), %xmm012652; SSE-NEXT: movaps %xmm2, %xmm112653; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12654; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12655; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12656; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12657; SSE-NEXT: movaps 160(%rdi), %xmm212658; SSE-NEXT: movaps 160(%rsi), %xmm012659; SSE-NEXT: movaps %xmm2, %xmm112660; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12661; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12662; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12663; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12664; SSE-NEXT: movaps 160(%rdx), %xmm212665; SSE-NEXT: movaps 160(%rcx), %xmm012666; SSE-NEXT: movaps %xmm2, %xmm112667; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12668; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12669; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12670; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12671; SSE-NEXT: movaps 160(%r8), %xmm212672; SSE-NEXT: movaps 160(%r9), %xmm012673; SSE-NEXT: movaps %xmm2, %xmm112674; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12675; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12676; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12677; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12678; SSE-NEXT: movaps 160(%r10), %xmm212679; SSE-NEXT: movaps 160(%rax), %xmm012680; SSE-NEXT: movaps %xmm2, %xmm112681; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12682; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12683; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12684; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12685; SSE-NEXT: movaps 176(%rdi), %xmm212686; SSE-NEXT: movaps 176(%rsi), %xmm012687; SSE-NEXT: movaps %xmm2, %xmm112688; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12689; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12690; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12691; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12692; SSE-NEXT: movaps 176(%rdx), %xmm212693; SSE-NEXT: movaps 176(%rcx), %xmm012694; SSE-NEXT: movaps %xmm2, %xmm112695; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12696; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12697; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12698; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12699; SSE-NEXT: movaps 176(%r8), %xmm212700; SSE-NEXT: movaps 176(%r9), %xmm012701; SSE-NEXT: movaps %xmm2, %xmm112702; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12703; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12704; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12705; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12706; SSE-NEXT: movaps 176(%r10), %xmm212707; SSE-NEXT: movaps 176(%rax), %xmm012708; SSE-NEXT: movaps %xmm2, %xmm112709; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12710; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12711; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12712; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12713; SSE-NEXT: movaps 192(%rdi), %xmm212714; SSE-NEXT: movaps 192(%rsi), %xmm012715; SSE-NEXT: movaps %xmm2, %xmm112716; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12717; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12718; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12719; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12720; SSE-NEXT: movaps 192(%rdx), %xmm212721; SSE-NEXT: movaps 192(%rcx), %xmm012722; SSE-NEXT: movaps %xmm2, %xmm112723; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12724; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12725; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12726; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12727; SSE-NEXT: movaps 192(%r8), %xmm212728; SSE-NEXT: movaps 192(%r9), %xmm012729; SSE-NEXT: movaps %xmm2, %xmm112730; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12731; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12732; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12733; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12734; SSE-NEXT: movaps 192(%r10), %xmm212735; SSE-NEXT: movaps 192(%rax), %xmm012736; SSE-NEXT: movaps %xmm2, %xmm112737; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12738; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12739; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12740; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12741; SSE-NEXT: movaps 208(%rdi), %xmm212742; SSE-NEXT: movaps 208(%rsi), %xmm012743; SSE-NEXT: movaps %xmm2, %xmm112744; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12745; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12746; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12747; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12748; SSE-NEXT: movaps 208(%rdx), %xmm212749; SSE-NEXT: movaps 208(%rcx), %xmm012750; SSE-NEXT: movaps %xmm2, %xmm112751; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12752; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12753; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12754; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12755; SSE-NEXT: movaps 208(%r8), %xmm212756; SSE-NEXT: movaps 208(%r9), %xmm012757; SSE-NEXT: movaps %xmm2, %xmm112758; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12759; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12760; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12761; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12762; SSE-NEXT: movaps 208(%r10), %xmm212763; SSE-NEXT: movaps 208(%rax), %xmm012764; SSE-NEXT: movaps %xmm2, %xmm112765; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12766; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12767; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12768; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12769; SSE-NEXT: movaps 224(%rdi), %xmm212770; SSE-NEXT: movaps 224(%rsi), %xmm012771; SSE-NEXT: movaps %xmm2, %xmm112772; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12773; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12774; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12775; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12776; SSE-NEXT: movaps 224(%rdx), %xmm212777; SSE-NEXT: movaps 224(%rcx), %xmm012778; SSE-NEXT: movaps %xmm2, %xmm112779; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12780; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12781; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12782; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12783; SSE-NEXT: movaps 224(%r8), %xmm212784; SSE-NEXT: movaps 224(%r9), %xmm012785; SSE-NEXT: movaps %xmm2, %xmm112786; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12787; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12788; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12789; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12790; SSE-NEXT: movaps 224(%r10), %xmm212791; SSE-NEXT: movaps 224(%rax), %xmm012792; SSE-NEXT: movaps %xmm2, %xmm112793; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12794; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12795; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12796; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12797; SSE-NEXT: movaps 240(%rdi), %xmm212798; SSE-NEXT: movaps 240(%rsi), %xmm012799; SSE-NEXT: movaps %xmm2, %xmm112800; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12801; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12802; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12803; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12804; SSE-NEXT: movaps 240(%rdx), %xmm212805; SSE-NEXT: movaps 240(%rcx), %xmm012806; SSE-NEXT: movaps %xmm2, %xmm112807; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12808; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12809; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12810; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12811; SSE-NEXT: movaps 240(%r8), %xmm212812; SSE-NEXT: movaps 240(%r9), %xmm012813; SSE-NEXT: movaps %xmm2, %xmm112814; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12815; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12816; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12817; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12818; SSE-NEXT: movaps 240(%r10), %xmm212819; SSE-NEXT: movaps 240(%rax), %xmm012820; SSE-NEXT: movaps %xmm2, %xmm112821; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12822; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12823; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12824; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12825; SSE-NEXT: movaps 256(%rdi), %xmm212826; SSE-NEXT: movaps 256(%rsi), %xmm012827; SSE-NEXT: movaps %xmm2, %xmm112828; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12829; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12830; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12831; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12832; SSE-NEXT: movaps 256(%rdx), %xmm212833; SSE-NEXT: movaps 256(%rcx), %xmm012834; SSE-NEXT: movaps %xmm2, %xmm112835; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12836; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12837; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12838; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12839; SSE-NEXT: movaps 256(%r8), %xmm212840; SSE-NEXT: movaps 256(%r9), %xmm012841; SSE-NEXT: movaps %xmm2, %xmm112842; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12843; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12844; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12845; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12846; SSE-NEXT: movaps 256(%r10), %xmm212847; SSE-NEXT: movaps 256(%rax), %xmm012848; SSE-NEXT: movaps %xmm2, %xmm112849; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12850; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12851; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12852; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12853; SSE-NEXT: movaps 272(%rdi), %xmm212854; SSE-NEXT: movaps 272(%rsi), %xmm012855; SSE-NEXT: movaps %xmm2, %xmm112856; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12857; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12858; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12859; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12860; SSE-NEXT: movaps 272(%rdx), %xmm212861; SSE-NEXT: movaps 272(%rcx), %xmm012862; SSE-NEXT: movaps %xmm2, %xmm112863; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12864; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12865; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12866; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12867; SSE-NEXT: movaps 272(%r8), %xmm212868; SSE-NEXT: movaps 272(%r9), %xmm012869; SSE-NEXT: movaps %xmm2, %xmm112870; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12871; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12872; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12873; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12874; SSE-NEXT: movaps 272(%r10), %xmm212875; SSE-NEXT: movaps 272(%rax), %xmm012876; SSE-NEXT: movaps %xmm2, %xmm112877; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12878; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12879; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12880; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12881; SSE-NEXT: movaps 288(%rdi), %xmm212882; SSE-NEXT: movaps 288(%rsi), %xmm012883; SSE-NEXT: movaps %xmm2, %xmm112884; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12885; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12886; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12887; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12888; SSE-NEXT: movaps 288(%rdx), %xmm212889; SSE-NEXT: movaps 288(%rcx), %xmm012890; SSE-NEXT: movaps %xmm2, %xmm112891; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12892; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12893; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12894; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12895; SSE-NEXT: movaps 288(%r8), %xmm212896; SSE-NEXT: movaps 288(%r9), %xmm012897; SSE-NEXT: movaps %xmm2, %xmm112898; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12899; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12900; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12901; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12902; SSE-NEXT: movaps 288(%r10), %xmm212903; SSE-NEXT: movaps 288(%rax), %xmm012904; SSE-NEXT: movaps %xmm2, %xmm112905; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12906; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12907; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12908; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12909; SSE-NEXT: movaps 304(%rdi), %xmm212910; SSE-NEXT: movaps 304(%rsi), %xmm012911; SSE-NEXT: movaps %xmm2, %xmm112912; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12913; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12914; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12915; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12916; SSE-NEXT: movaps 304(%rdx), %xmm212917; SSE-NEXT: movaps 304(%rcx), %xmm012918; SSE-NEXT: movaps %xmm2, %xmm112919; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12920; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12921; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12922; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12923; SSE-NEXT: movaps 304(%r8), %xmm212924; SSE-NEXT: movaps 304(%r9), %xmm012925; SSE-NEXT: movaps %xmm2, %xmm112926; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12927; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12928; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12929; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12930; SSE-NEXT: movaps 304(%r10), %xmm212931; SSE-NEXT: movaps 304(%rax), %xmm012932; SSE-NEXT: movaps %xmm2, %xmm112933; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12934; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12935; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12936; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12937; SSE-NEXT: movaps 320(%rdi), %xmm212938; SSE-NEXT: movaps 320(%rsi), %xmm012939; SSE-NEXT: movaps %xmm2, %xmm112940; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12941; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12942; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12943; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12944; SSE-NEXT: movaps 320(%rdx), %xmm212945; SSE-NEXT: movaps 320(%rcx), %xmm012946; SSE-NEXT: movaps %xmm2, %xmm112947; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12948; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12949; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12950; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12951; SSE-NEXT: movaps 320(%r8), %xmm212952; SSE-NEXT: movaps 320(%r9), %xmm012953; SSE-NEXT: movaps %xmm2, %xmm112954; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12955; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12956; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12957; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12958; SSE-NEXT: movaps 320(%r10), %xmm212959; SSE-NEXT: movaps 320(%rax), %xmm012960; SSE-NEXT: movaps %xmm2, %xmm112961; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12962; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12963; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12964; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12965; SSE-NEXT: movaps 336(%rdi), %xmm212966; SSE-NEXT: movaps 336(%rsi), %xmm012967; SSE-NEXT: movaps %xmm2, %xmm112968; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12969; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12970; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12971; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12972; SSE-NEXT: movaps 336(%rdx), %xmm212973; SSE-NEXT: movaps 336(%rcx), %xmm012974; SSE-NEXT: movaps %xmm2, %xmm112975; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12976; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12977; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12978; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12979; SSE-NEXT: movaps 336(%r8), %xmm212980; SSE-NEXT: movaps 336(%r9), %xmm012981; SSE-NEXT: movaps %xmm2, %xmm112982; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12983; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12984; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12985; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12986; SSE-NEXT: movaps 336(%r10), %xmm212987; SSE-NEXT: movaps 336(%rax), %xmm012988; SSE-NEXT: movaps %xmm2, %xmm112989; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12990; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12991; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12992; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12993; SSE-NEXT: movaps 352(%rdi), %xmm212994; SSE-NEXT: movaps 352(%rsi), %xmm012995; SSE-NEXT: movaps %xmm2, %xmm112996; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]12997; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12998; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12999; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13000; SSE-NEXT: movaps 352(%rdx), %xmm213001; SSE-NEXT: movaps 352(%rcx), %xmm013002; SSE-NEXT: movaps %xmm2, %xmm113003; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13004; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13005; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13006; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13007; SSE-NEXT: movaps 352(%r8), %xmm213008; SSE-NEXT: movaps 352(%r9), %xmm013009; SSE-NEXT: movaps %xmm2, %xmm113010; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13011; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13012; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13013; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13014; SSE-NEXT: movaps 352(%r10), %xmm213015; SSE-NEXT: movaps 352(%rax), %xmm013016; SSE-NEXT: movaps %xmm2, %xmm113017; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13018; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13019; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13020; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13021; SSE-NEXT: movaps 368(%rdi), %xmm213022; SSE-NEXT: movaps 368(%rsi), %xmm013023; SSE-NEXT: movaps %xmm2, %xmm113024; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13025; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13026; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13027; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13028; SSE-NEXT: movaps 368(%rdx), %xmm213029; SSE-NEXT: movaps 368(%rcx), %xmm013030; SSE-NEXT: movaps %xmm2, %xmm113031; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13032; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13033; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13034; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13035; SSE-NEXT: movaps 368(%r8), %xmm213036; SSE-NEXT: movaps 368(%r9), %xmm013037; SSE-NEXT: movaps %xmm2, %xmm113038; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13039; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13040; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13041; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13042; SSE-NEXT: movaps 368(%r10), %xmm213043; SSE-NEXT: movaps 368(%rax), %xmm013044; SSE-NEXT: movaps %xmm2, %xmm113045; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13046; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13047; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13048; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13049; SSE-NEXT: movaps 384(%rdi), %xmm213050; SSE-NEXT: movaps 384(%rsi), %xmm013051; SSE-NEXT: movaps %xmm2, %xmm113052; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13053; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13054; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13055; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13056; SSE-NEXT: movaps 384(%rdx), %xmm213057; SSE-NEXT: movaps 384(%rcx), %xmm013058; SSE-NEXT: movaps %xmm2, %xmm113059; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13060; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13061; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13062; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13063; SSE-NEXT: movaps 384(%r8), %xmm213064; SSE-NEXT: movaps 384(%r9), %xmm013065; SSE-NEXT: movaps %xmm2, %xmm113066; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13067; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13068; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13069; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13070; SSE-NEXT: movaps 384(%r10), %xmm213071; SSE-NEXT: movaps 384(%rax), %xmm013072; SSE-NEXT: movaps %xmm2, %xmm113073; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13074; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13075; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13076; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13077; SSE-NEXT: movaps 400(%rdi), %xmm213078; SSE-NEXT: movaps 400(%rsi), %xmm013079; SSE-NEXT: movaps %xmm2, %xmm113080; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13081; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13082; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13083; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13084; SSE-NEXT: movaps 400(%rdx), %xmm213085; SSE-NEXT: movaps 400(%rcx), %xmm013086; SSE-NEXT: movaps %xmm2, %xmm113087; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13088; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13089; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13090; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13091; SSE-NEXT: movaps 400(%r8), %xmm213092; SSE-NEXT: movaps 400(%r9), %xmm013093; SSE-NEXT: movaps %xmm2, %xmm113094; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13095; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13096; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13097; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13098; SSE-NEXT: movaps 400(%r10), %xmm213099; SSE-NEXT: movaps 400(%rax), %xmm013100; SSE-NEXT: movaps %xmm2, %xmm113101; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13102; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13103; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13104; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13105; SSE-NEXT: movaps 416(%rdi), %xmm213106; SSE-NEXT: movaps 416(%rsi), %xmm013107; SSE-NEXT: movaps %xmm2, %xmm113108; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13109; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13110; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13111; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13112; SSE-NEXT: movaps 416(%rdx), %xmm213113; SSE-NEXT: movaps 416(%rcx), %xmm013114; SSE-NEXT: movaps %xmm2, %xmm113115; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13116; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13117; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13118; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13119; SSE-NEXT: movaps 416(%r8), %xmm213120; SSE-NEXT: movaps 416(%r9), %xmm013121; SSE-NEXT: movaps %xmm2, %xmm113122; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13123; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13124; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13125; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13126; SSE-NEXT: movaps 416(%r10), %xmm213127; SSE-NEXT: movaps 416(%rax), %xmm013128; SSE-NEXT: movaps %xmm2, %xmm113129; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13130; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13131; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13132; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13133; SSE-NEXT: movaps 432(%rdi), %xmm213134; SSE-NEXT: movaps 432(%rsi), %xmm013135; SSE-NEXT: movaps %xmm2, %xmm113136; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13137; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13138; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13139; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13140; SSE-NEXT: movaps 432(%rdx), %xmm213141; SSE-NEXT: movaps 432(%rcx), %xmm013142; SSE-NEXT: movaps %xmm2, %xmm113143; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13144; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13145; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13146; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13147; SSE-NEXT: movaps 432(%r8), %xmm213148; SSE-NEXT: movaps 432(%r9), %xmm013149; SSE-NEXT: movaps %xmm2, %xmm113150; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13151; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13152; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13153; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13154; SSE-NEXT: movaps 432(%r10), %xmm213155; SSE-NEXT: movaps 432(%rax), %xmm013156; SSE-NEXT: movaps %xmm2, %xmm113157; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13158; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13159; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13160; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13161; SSE-NEXT: movaps 448(%rdi), %xmm213162; SSE-NEXT: movaps 448(%rsi), %xmm013163; SSE-NEXT: movaps %xmm2, %xmm113164; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13165; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13166; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13167; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13168; SSE-NEXT: movaps 448(%rdx), %xmm213169; SSE-NEXT: movaps 448(%rcx), %xmm013170; SSE-NEXT: movaps %xmm2, %xmm113171; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13172; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13173; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13174; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13175; SSE-NEXT: movaps 448(%r8), %xmm213176; SSE-NEXT: movaps 448(%r9), %xmm013177; SSE-NEXT: movaps %xmm2, %xmm113178; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13179; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13180; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13181; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13182; SSE-NEXT: movaps 448(%r10), %xmm213183; SSE-NEXT: movaps 448(%rax), %xmm013184; SSE-NEXT: movaps %xmm2, %xmm113185; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13186; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13187; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13188; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13189; SSE-NEXT: movaps 464(%rdi), %xmm213190; SSE-NEXT: movaps 464(%rsi), %xmm013191; SSE-NEXT: movaps %xmm2, %xmm113192; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13193; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill13194; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13195; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13196; SSE-NEXT: movaps 464(%rdx), %xmm213197; SSE-NEXT: movaps 464(%rcx), %xmm013198; SSE-NEXT: movaps %xmm2, %xmm113199; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13200; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13201; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13202; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13203; SSE-NEXT: movaps 464(%r8), %xmm213204; SSE-NEXT: movaps 464(%r9), %xmm013205; SSE-NEXT: movaps %xmm2, %xmm113206; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13207; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13208; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13209; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13210; SSE-NEXT: movaps 464(%r10), %xmm213211; SSE-NEXT: movaps 464(%rax), %xmm013212; SSE-NEXT: movaps %xmm2, %xmm113213; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13214; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13215; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13216; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13217; SSE-NEXT: movaps 480(%rdi), %xmm1313218; SSE-NEXT: movaps 480(%rsi), %xmm013219; SSE-NEXT: movaps %xmm13, %xmm113220; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13221; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13222; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]13223; SSE-NEXT: movaps 480(%rdx), %xmm1013224; SSE-NEXT: movaps 480(%rcx), %xmm013225; SSE-NEXT: movaps %xmm10, %xmm1513226; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]13227; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]13228; SSE-NEXT: movaps 480(%r8), %xmm913229; SSE-NEXT: movaps 480(%r9), %xmm013230; SSE-NEXT: movaps %xmm9, %xmm1413231; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]13232; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]13233; SSE-NEXT: movaps 480(%r10), %xmm1113234; SSE-NEXT: movaps 480(%rax), %xmm113235; SSE-NEXT: movaps %xmm11, %xmm1213236; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm1[0]13237; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm1[1]13238; SSE-NEXT: movaps 496(%rdi), %xmm713239; SSE-NEXT: movaps 496(%rsi), %xmm013240; SSE-NEXT: movaps %xmm7, %xmm813241; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]13242; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]13243; SSE-NEXT: movaps 496(%rdx), %xmm513244; SSE-NEXT: movaps 496(%rcx), %xmm113245; SSE-NEXT: movaps %xmm5, %xmm613246; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm1[0]13247; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm1[1]13248; SSE-NEXT: movaps 496(%r8), %xmm113249; SSE-NEXT: movaps 496(%r9), %xmm213250; SSE-NEXT: movaps %xmm1, %xmm413251; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]13252; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]13253; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rcx13254; SSE-NEXT: movaps 496(%r10), %xmm213255; SSE-NEXT: movaps 496(%rax), %xmm313256; SSE-NEXT: movaps %xmm2, %xmm013257; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm3[0]13258; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]13259; SSE-NEXT: movaps %xmm2, 4080(%rcx)13260; SSE-NEXT: movaps %xmm1, 4064(%rcx)13261; SSE-NEXT: movaps %xmm5, 4048(%rcx)13262; SSE-NEXT: movaps %xmm7, 4032(%rcx)13263; SSE-NEXT: movaps %xmm0, 4016(%rcx)13264; SSE-NEXT: movaps %xmm4, 4000(%rcx)13265; SSE-NEXT: movaps %xmm6, 3984(%rcx)13266; SSE-NEXT: movaps %xmm8, 3968(%rcx)13267; SSE-NEXT: movaps %xmm11, 3952(%rcx)13268; SSE-NEXT: movaps %xmm9, 3936(%rcx)13269; SSE-NEXT: movaps %xmm10, 3920(%rcx)13270; SSE-NEXT: movaps %xmm13, 3904(%rcx)13271; SSE-NEXT: movaps %xmm12, 3888(%rcx)13272; SSE-NEXT: movaps %xmm14, 3872(%rcx)13273; SSE-NEXT: movaps %xmm15, 3856(%rcx)13274; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13275; SSE-NEXT: movaps %xmm0, 3840(%rcx)13276; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13277; SSE-NEXT: movaps %xmm0, 3824(%rcx)13278; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13279; SSE-NEXT: movaps %xmm0, 3808(%rcx)13280; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13281; SSE-NEXT: movaps %xmm0, 3792(%rcx)13282; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13283; SSE-NEXT: movaps %xmm0, 3776(%rcx)13284; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13285; SSE-NEXT: movaps %xmm0, 3760(%rcx)13286; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13287; SSE-NEXT: movaps %xmm0, 3744(%rcx)13288; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13289; SSE-NEXT: movaps %xmm0, 3728(%rcx)13290; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload13291; SSE-NEXT: movaps %xmm0, 3712(%rcx)13292; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13293; SSE-NEXT: movaps %xmm0, 3696(%rcx)13294; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13295; SSE-NEXT: movaps %xmm0, 3680(%rcx)13296; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13297; SSE-NEXT: movaps %xmm0, 3664(%rcx)13298; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13299; SSE-NEXT: movaps %xmm0, 3648(%rcx)13300; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13301; SSE-NEXT: movaps %xmm0, 3632(%rcx)13302; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13303; SSE-NEXT: movaps %xmm0, 3616(%rcx)13304; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13305; SSE-NEXT: movaps %xmm0, 3600(%rcx)13306; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13307; SSE-NEXT: movaps %xmm0, 3584(%rcx)13308; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13309; SSE-NEXT: movaps %xmm0, 3568(%rcx)13310; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13311; SSE-NEXT: movaps %xmm0, 3552(%rcx)13312; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13313; SSE-NEXT: movaps %xmm0, 3536(%rcx)13314; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13315; SSE-NEXT: movaps %xmm0, 3520(%rcx)13316; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13317; SSE-NEXT: movaps %xmm0, 3504(%rcx)13318; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13319; SSE-NEXT: movaps %xmm0, 3488(%rcx)13320; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13321; SSE-NEXT: movaps %xmm0, 3472(%rcx)13322; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13323; SSE-NEXT: movaps %xmm0, 3456(%rcx)13324; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13325; SSE-NEXT: movaps %xmm0, 3440(%rcx)13326; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13327; SSE-NEXT: movaps %xmm0, 3424(%rcx)13328; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13329; SSE-NEXT: movaps %xmm0, 3408(%rcx)13330; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13331; SSE-NEXT: movaps %xmm0, 3392(%rcx)13332; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13333; SSE-NEXT: movaps %xmm0, 3376(%rcx)13334; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13335; SSE-NEXT: movaps %xmm0, 3360(%rcx)13336; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13337; SSE-NEXT: movaps %xmm0, 3344(%rcx)13338; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13339; SSE-NEXT: movaps %xmm0, 3328(%rcx)13340; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13341; SSE-NEXT: movaps %xmm0, 3312(%rcx)13342; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13343; SSE-NEXT: movaps %xmm0, 3296(%rcx)13344; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13345; SSE-NEXT: movaps %xmm0, 3280(%rcx)13346; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13347; SSE-NEXT: movaps %xmm0, 3264(%rcx)13348; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13349; SSE-NEXT: movaps %xmm0, 3248(%rcx)13350; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13351; SSE-NEXT: movaps %xmm0, 3232(%rcx)13352; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13353; SSE-NEXT: movaps %xmm0, 3216(%rcx)13354; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13355; SSE-NEXT: movaps %xmm0, 3200(%rcx)13356; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13357; SSE-NEXT: movaps %xmm0, 3184(%rcx)13358; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13359; SSE-NEXT: movaps %xmm0, 3168(%rcx)13360; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13361; SSE-NEXT: movaps %xmm0, 3152(%rcx)13362; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13363; SSE-NEXT: movaps %xmm0, 3136(%rcx)13364; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13365; SSE-NEXT: movaps %xmm0, 3120(%rcx)13366; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13367; SSE-NEXT: movaps %xmm0, 3104(%rcx)13368; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13369; SSE-NEXT: movaps %xmm0, 3088(%rcx)13370; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13371; SSE-NEXT: movaps %xmm0, 3072(%rcx)13372; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13373; SSE-NEXT: movaps %xmm0, 3056(%rcx)13374; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13375; SSE-NEXT: movaps %xmm0, 3040(%rcx)13376; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13377; SSE-NEXT: movaps %xmm0, 3024(%rcx)13378; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13379; SSE-NEXT: movaps %xmm0, 3008(%rcx)13380; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13381; SSE-NEXT: movaps %xmm0, 2992(%rcx)13382; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13383; SSE-NEXT: movaps %xmm0, 2976(%rcx)13384; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13385; SSE-NEXT: movaps %xmm0, 2960(%rcx)13386; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13387; SSE-NEXT: movaps %xmm0, 2944(%rcx)13388; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13389; SSE-NEXT: movaps %xmm0, 2928(%rcx)13390; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13391; SSE-NEXT: movaps %xmm0, 2912(%rcx)13392; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13393; SSE-NEXT: movaps %xmm0, 2896(%rcx)13394; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13395; SSE-NEXT: movaps %xmm0, 2880(%rcx)13396; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13397; SSE-NEXT: movaps %xmm0, 2864(%rcx)13398; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13399; SSE-NEXT: movaps %xmm0, 2848(%rcx)13400; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13401; SSE-NEXT: movaps %xmm0, 2832(%rcx)13402; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13403; SSE-NEXT: movaps %xmm0, 2816(%rcx)13404; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13405; SSE-NEXT: movaps %xmm0, 2800(%rcx)13406; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13407; SSE-NEXT: movaps %xmm0, 2784(%rcx)13408; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13409; SSE-NEXT: movaps %xmm0, 2768(%rcx)13410; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13411; SSE-NEXT: movaps %xmm0, 2752(%rcx)13412; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13413; SSE-NEXT: movaps %xmm0, 2736(%rcx)13414; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13415; SSE-NEXT: movaps %xmm0, 2720(%rcx)13416; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13417; SSE-NEXT: movaps %xmm0, 2704(%rcx)13418; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13419; SSE-NEXT: movaps %xmm0, 2688(%rcx)13420; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13421; SSE-NEXT: movaps %xmm0, 2672(%rcx)13422; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13423; SSE-NEXT: movaps %xmm0, 2656(%rcx)13424; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13425; SSE-NEXT: movaps %xmm0, 2640(%rcx)13426; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13427; SSE-NEXT: movaps %xmm0, 2624(%rcx)13428; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13429; SSE-NEXT: movaps %xmm0, 2608(%rcx)13430; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13431; SSE-NEXT: movaps %xmm0, 2592(%rcx)13432; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13433; SSE-NEXT: movaps %xmm0, 2576(%rcx)13434; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13435; SSE-NEXT: movaps %xmm0, 2560(%rcx)13436; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13437; SSE-NEXT: movaps %xmm0, 2544(%rcx)13438; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13439; SSE-NEXT: movaps %xmm0, 2528(%rcx)13440; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13441; SSE-NEXT: movaps %xmm0, 2512(%rcx)13442; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13443; SSE-NEXT: movaps %xmm0, 2496(%rcx)13444; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13445; SSE-NEXT: movaps %xmm0, 2480(%rcx)13446; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13447; SSE-NEXT: movaps %xmm0, 2464(%rcx)13448; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13449; SSE-NEXT: movaps %xmm0, 2448(%rcx)13450; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13451; SSE-NEXT: movaps %xmm0, 2432(%rcx)13452; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13453; SSE-NEXT: movaps %xmm0, 2416(%rcx)13454; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13455; SSE-NEXT: movaps %xmm0, 2400(%rcx)13456; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13457; SSE-NEXT: movaps %xmm0, 2384(%rcx)13458; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13459; SSE-NEXT: movaps %xmm0, 2368(%rcx)13460; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13461; SSE-NEXT: movaps %xmm0, 2352(%rcx)13462; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13463; SSE-NEXT: movaps %xmm0, 2336(%rcx)13464; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13465; SSE-NEXT: movaps %xmm0, 2320(%rcx)13466; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13467; SSE-NEXT: movaps %xmm0, 2304(%rcx)13468; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13469; SSE-NEXT: movaps %xmm0, 2288(%rcx)13470; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13471; SSE-NEXT: movaps %xmm0, 2272(%rcx)13472; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13473; SSE-NEXT: movaps %xmm0, 2256(%rcx)13474; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13475; SSE-NEXT: movaps %xmm0, 2240(%rcx)13476; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13477; SSE-NEXT: movaps %xmm0, 2224(%rcx)13478; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13479; SSE-NEXT: movaps %xmm0, 2208(%rcx)13480; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13481; SSE-NEXT: movaps %xmm0, 2192(%rcx)13482; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13483; SSE-NEXT: movaps %xmm0, 2176(%rcx)13484; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13485; SSE-NEXT: movaps %xmm0, 2160(%rcx)13486; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13487; SSE-NEXT: movaps %xmm0, 2144(%rcx)13488; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13489; SSE-NEXT: movaps %xmm0, 2128(%rcx)13490; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13491; SSE-NEXT: movaps %xmm0, 2112(%rcx)13492; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13493; SSE-NEXT: movaps %xmm0, 2096(%rcx)13494; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13495; SSE-NEXT: movaps %xmm0, 2080(%rcx)13496; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13497; SSE-NEXT: movaps %xmm0, 2064(%rcx)13498; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13499; SSE-NEXT: movaps %xmm0, 2048(%rcx)13500; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13501; SSE-NEXT: movaps %xmm0, 2032(%rcx)13502; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13503; SSE-NEXT: movaps %xmm0, 2016(%rcx)13504; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13505; SSE-NEXT: movaps %xmm0, 2000(%rcx)13506; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13507; SSE-NEXT: movaps %xmm0, 1984(%rcx)13508; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13509; SSE-NEXT: movaps %xmm0, 1968(%rcx)13510; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13511; SSE-NEXT: movaps %xmm0, 1952(%rcx)13512; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13513; SSE-NEXT: movaps %xmm0, 1936(%rcx)13514; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13515; SSE-NEXT: movaps %xmm0, 1920(%rcx)13516; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13517; SSE-NEXT: movaps %xmm0, 1904(%rcx)13518; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13519; SSE-NEXT: movaps %xmm0, 1888(%rcx)13520; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13521; SSE-NEXT: movaps %xmm0, 1872(%rcx)13522; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13523; SSE-NEXT: movaps %xmm0, 1856(%rcx)13524; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13525; SSE-NEXT: movaps %xmm0, 1840(%rcx)13526; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13527; SSE-NEXT: movaps %xmm0, 1824(%rcx)13528; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13529; SSE-NEXT: movaps %xmm0, 1808(%rcx)13530; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13531; SSE-NEXT: movaps %xmm0, 1792(%rcx)13532; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13533; SSE-NEXT: movaps %xmm0, 1776(%rcx)13534; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13535; SSE-NEXT: movaps %xmm0, 1760(%rcx)13536; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13537; SSE-NEXT: movaps %xmm0, 1744(%rcx)13538; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13539; SSE-NEXT: movaps %xmm0, 1728(%rcx)13540; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13541; SSE-NEXT: movaps %xmm0, 1712(%rcx)13542; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13543; SSE-NEXT: movaps %xmm0, 1696(%rcx)13544; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13545; SSE-NEXT: movaps %xmm0, 1680(%rcx)13546; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13547; SSE-NEXT: movaps %xmm0, 1664(%rcx)13548; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13549; SSE-NEXT: movaps %xmm0, 1648(%rcx)13550; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13551; SSE-NEXT: movaps %xmm0, 1632(%rcx)13552; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13553; SSE-NEXT: movaps %xmm0, 1616(%rcx)13554; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13555; SSE-NEXT: movaps %xmm0, 1600(%rcx)13556; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13557; SSE-NEXT: movaps %xmm0, 1584(%rcx)13558; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13559; SSE-NEXT: movaps %xmm0, 1568(%rcx)13560; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13561; SSE-NEXT: movaps %xmm0, 1552(%rcx)13562; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13563; SSE-NEXT: movaps %xmm0, 1536(%rcx)13564; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13565; SSE-NEXT: movaps %xmm0, 1520(%rcx)13566; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13567; SSE-NEXT: movaps %xmm0, 1504(%rcx)13568; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13569; SSE-NEXT: movaps %xmm0, 1488(%rcx)13570; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13571; SSE-NEXT: movaps %xmm0, 1472(%rcx)13572; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13573; SSE-NEXT: movaps %xmm0, 1456(%rcx)13574; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13575; SSE-NEXT: movaps %xmm0, 1440(%rcx)13576; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13577; SSE-NEXT: movaps %xmm0, 1424(%rcx)13578; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13579; SSE-NEXT: movaps %xmm0, 1408(%rcx)13580; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13581; SSE-NEXT: movaps %xmm0, 1392(%rcx)13582; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13583; SSE-NEXT: movaps %xmm0, 1376(%rcx)13584; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13585; SSE-NEXT: movaps %xmm0, 1360(%rcx)13586; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13587; SSE-NEXT: movaps %xmm0, 1344(%rcx)13588; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13589; SSE-NEXT: movaps %xmm0, 1328(%rcx)13590; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13591; SSE-NEXT: movaps %xmm0, 1312(%rcx)13592; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13593; SSE-NEXT: movaps %xmm0, 1296(%rcx)13594; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13595; SSE-NEXT: movaps %xmm0, 1280(%rcx)13596; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13597; SSE-NEXT: movaps %xmm0, 1264(%rcx)13598; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13599; SSE-NEXT: movaps %xmm0, 1248(%rcx)13600; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13601; SSE-NEXT: movaps %xmm0, 1232(%rcx)13602; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13603; SSE-NEXT: movaps %xmm0, 1216(%rcx)13604; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13605; SSE-NEXT: movaps %xmm0, 1200(%rcx)13606; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13607; SSE-NEXT: movaps %xmm0, 1184(%rcx)13608; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13609; SSE-NEXT: movaps %xmm0, 1168(%rcx)13610; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13611; SSE-NEXT: movaps %xmm0, 1152(%rcx)13612; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13613; SSE-NEXT: movaps %xmm0, 1136(%rcx)13614; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13615; SSE-NEXT: movaps %xmm0, 1120(%rcx)13616; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13617; SSE-NEXT: movaps %xmm0, 1104(%rcx)13618; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13619; SSE-NEXT: movaps %xmm0, 1088(%rcx)13620; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13621; SSE-NEXT: movaps %xmm0, 1072(%rcx)13622; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13623; SSE-NEXT: movaps %xmm0, 1056(%rcx)13624; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13625; SSE-NEXT: movaps %xmm0, 1040(%rcx)13626; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13627; SSE-NEXT: movaps %xmm0, 1024(%rcx)13628; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13629; SSE-NEXT: movaps %xmm0, 1008(%rcx)13630; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13631; SSE-NEXT: movaps %xmm0, 992(%rcx)13632; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13633; SSE-NEXT: movaps %xmm0, 976(%rcx)13634; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13635; SSE-NEXT: movaps %xmm0, 960(%rcx)13636; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13637; SSE-NEXT: movaps %xmm0, 944(%rcx)13638; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13639; SSE-NEXT: movaps %xmm0, 928(%rcx)13640; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13641; SSE-NEXT: movaps %xmm0, 912(%rcx)13642; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13643; SSE-NEXT: movaps %xmm0, 896(%rcx)13644; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13645; SSE-NEXT: movaps %xmm0, 880(%rcx)13646; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13647; SSE-NEXT: movaps %xmm0, 864(%rcx)13648; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13649; SSE-NEXT: movaps %xmm0, 848(%rcx)13650; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13651; SSE-NEXT: movaps %xmm0, 832(%rcx)13652; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13653; SSE-NEXT: movaps %xmm0, 816(%rcx)13654; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13655; SSE-NEXT: movaps %xmm0, 800(%rcx)13656; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13657; SSE-NEXT: movaps %xmm0, 784(%rcx)13658; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13659; SSE-NEXT: movaps %xmm0, 768(%rcx)13660; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13661; SSE-NEXT: movaps %xmm0, 752(%rcx)13662; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13663; SSE-NEXT: movaps %xmm0, 736(%rcx)13664; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13665; SSE-NEXT: movaps %xmm0, 720(%rcx)13666; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13667; SSE-NEXT: movaps %xmm0, 704(%rcx)13668; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13669; SSE-NEXT: movaps %xmm0, 688(%rcx)13670; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13671; SSE-NEXT: movaps %xmm0, 672(%rcx)13672; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13673; SSE-NEXT: movaps %xmm0, 656(%rcx)13674; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13675; SSE-NEXT: movaps %xmm0, 640(%rcx)13676; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13677; SSE-NEXT: movaps %xmm0, 624(%rcx)13678; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13679; SSE-NEXT: movaps %xmm0, 608(%rcx)13680; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13681; SSE-NEXT: movaps %xmm0, 592(%rcx)13682; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13683; SSE-NEXT: movaps %xmm0, 576(%rcx)13684; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13685; SSE-NEXT: movaps %xmm0, 560(%rcx)13686; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13687; SSE-NEXT: movaps %xmm0, 544(%rcx)13688; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13689; SSE-NEXT: movaps %xmm0, 528(%rcx)13690; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13691; SSE-NEXT: movaps %xmm0, 512(%rcx)13692; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13693; SSE-NEXT: movaps %xmm0, 496(%rcx)13694; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13695; SSE-NEXT: movaps %xmm0, 480(%rcx)13696; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13697; SSE-NEXT: movaps %xmm0, 464(%rcx)13698; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13699; SSE-NEXT: movaps %xmm0, 448(%rcx)13700; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13701; SSE-NEXT: movaps %xmm0, 432(%rcx)13702; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13703; SSE-NEXT: movaps %xmm0, 416(%rcx)13704; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13705; SSE-NEXT: movaps %xmm0, 400(%rcx)13706; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13707; SSE-NEXT: movaps %xmm0, 384(%rcx)13708; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13709; SSE-NEXT: movaps %xmm0, 368(%rcx)13710; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13711; SSE-NEXT: movaps %xmm0, 352(%rcx)13712; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13713; SSE-NEXT: movaps %xmm0, 336(%rcx)13714; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13715; SSE-NEXT: movaps %xmm0, 320(%rcx)13716; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13717; SSE-NEXT: movaps %xmm0, 304(%rcx)13718; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13719; SSE-NEXT: movaps %xmm0, 288(%rcx)13720; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13721; SSE-NEXT: movaps %xmm0, 272(%rcx)13722; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13723; SSE-NEXT: movaps %xmm0, 256(%rcx)13724; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13725; SSE-NEXT: movaps %xmm0, 240(%rcx)13726; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13727; SSE-NEXT: movaps %xmm0, 224(%rcx)13728; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13729; SSE-NEXT: movaps %xmm0, 208(%rcx)13730; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13731; SSE-NEXT: movaps %xmm0, 192(%rcx)13732; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13733; SSE-NEXT: movaps %xmm0, 176(%rcx)13734; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13735; SSE-NEXT: movaps %xmm0, 160(%rcx)13736; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13737; SSE-NEXT: movaps %xmm0, 144(%rcx)13738; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13739; SSE-NEXT: movaps %xmm0, 128(%rcx)13740; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13741; SSE-NEXT: movaps %xmm0, 112(%rcx)13742; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13743; SSE-NEXT: movaps %xmm0, 96(%rcx)13744; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13745; SSE-NEXT: movaps %xmm0, 80(%rcx)13746; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13747; SSE-NEXT: movaps %xmm0, 64(%rcx)13748; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13749; SSE-NEXT: movaps %xmm0, 48(%rcx)13750; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13751; SSE-NEXT: movaps %xmm0, 32(%rcx)13752; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13753; SSE-NEXT: movaps %xmm0, 16(%rcx)13754; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13755; SSE-NEXT: movaps %xmm0, (%rcx)13756; SSE-NEXT: addq $3736, %rsp # imm = 0xE9813757; SSE-NEXT: retq13758;13759; AVX-LABEL: store_i64_stride8_vf64:13760; AVX: # %bb.0:13761; AVX-NEXT: subq $3784, %rsp # imm = 0xEC813762; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1013763; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax13764; AVX-NEXT: vmovaps (%rsi), %xmm013765; AVX-NEXT: vmovaps (%rdi), %xmm113766; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13767; AVX-NEXT: vmovaps (%rcx), %xmm313768; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm413769; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm2, %ymm213770; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]13771; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13772; AVX-NEXT: vmovaps (%r9), %xmm213773; AVX-NEXT: vmovaps (%r8), %xmm413774; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]13775; AVX-NEXT: vmovaps (%rax), %xmm613776; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm713777; AVX-NEXT: vinsertf128 $1, (%r10), %ymm5, %ymm513778; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]13779; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13780; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]13781; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113782; AVX-NEXT: vbroadcastsd 8(%rdx), %ymm313783; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13784; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13785; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13786; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]13787; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm113788; AVX-NEXT: vbroadcastsd 8(%r10), %ymm213789; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13790; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13791; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13792; AVX-NEXT: vmovaps 32(%rsi), %xmm413793; AVX-NEXT: vmovaps 32(%rdi), %xmm513794; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm4[0]13795; AVX-NEXT: vmovaps 32(%rcx), %xmm613796; AVX-NEXT: vmovaps 64(%rcx), %xmm013797; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm1, %ymm213798; AVX-NEXT: vinsertf128 $1, 32(%rdx), %ymm1, %ymm113799; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm2[1],ymm1[2],ymm2[2]13800; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13801; AVX-NEXT: vmovaps 32(%r9), %xmm713802; AVX-NEXT: vmovaps 64(%r9), %xmm113803; AVX-NEXT: vmovaps 32(%r8), %xmm813804; AVX-NEXT: vmovaps 64(%r8), %xmm213805; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm8[0],xmm7[0]13806; AVX-NEXT: vmovaps 32(%rax), %xmm913807; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm3, %ymm1013808; AVX-NEXT: vinsertf128 $1, 32(%r10), %ymm3, %ymm313809; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm10[1],ymm3[2],ymm10[2]13810; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13811; AVX-NEXT: vmovaps 64(%rax), %xmm313812; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]13813; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm4, %ymm513814; AVX-NEXT: vbroadcastsd 40(%rdx), %ymm613815; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]13816; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3],ymm4[4,5],ymm5[6,7]13817; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13818; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm8[1],xmm7[1]13819; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm4, %ymm513820; AVX-NEXT: vbroadcastsd 40(%r10), %ymm613821; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]13822; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3],ymm4[4,5],ymm5[6,7]13823; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13824; AVX-NEXT: vmovaps 64(%rsi), %xmm413825; AVX-NEXT: vmovaps 64(%rdi), %xmm513826; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]13827; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm6, %ymm713828; AVX-NEXT: vinsertf128 $1, 64(%rdx), %ymm6, %ymm613829; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]13830; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13831; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]13832; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm6, %ymm713833; AVX-NEXT: vinsertf128 $1, 64(%r10), %ymm6, %ymm613834; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]13835; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13836; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]13837; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm4, %ymm013838; AVX-NEXT: vbroadcastsd 72(%rdx), %ymm513839; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]13840; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1],ymm0[2,3],ymm4[4,5],ymm0[6,7]13841; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13842; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm2[1],xmm1[1]13843; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113844; AVX-NEXT: vbroadcastsd 72(%r10), %ymm213845; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13846; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13847; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13848; AVX-NEXT: vmovaps 96(%rsi), %xmm013849; AVX-NEXT: vmovaps 96(%rdi), %xmm113850; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13851; AVX-NEXT: vmovaps 96(%rcx), %xmm313852; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm413853; AVX-NEXT: vinsertf128 $1, 96(%rdx), %ymm2, %ymm213854; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]13855; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13856; AVX-NEXT: vmovaps 96(%r9), %xmm213857; AVX-NEXT: vmovaps 96(%r8), %xmm413858; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]13859; AVX-NEXT: vmovaps 96(%rax), %xmm613860; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm713861; AVX-NEXT: vinsertf128 $1, 96(%r10), %ymm5, %ymm513862; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]13863; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13864; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]13865; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113866; AVX-NEXT: vbroadcastsd 104(%rdx), %ymm313867; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13868; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13869; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13870; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]13871; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm113872; AVX-NEXT: vbroadcastsd 104(%r10), %ymm213873; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13874; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13875; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13876; AVX-NEXT: vmovaps 128(%rsi), %xmm013877; AVX-NEXT: vmovaps 128(%rdi), %xmm113878; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13879; AVX-NEXT: vmovaps 128(%rcx), %xmm313880; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm413881; AVX-NEXT: vinsertf128 $1, 128(%rdx), %ymm2, %ymm213882; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]13883; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13884; AVX-NEXT: vmovaps 128(%r9), %xmm213885; AVX-NEXT: vmovaps 128(%r8), %xmm413886; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]13887; AVX-NEXT: vmovaps 128(%rax), %xmm613888; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm713889; AVX-NEXT: vinsertf128 $1, 128(%r10), %ymm5, %ymm513890; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]13891; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13892; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]13893; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113894; AVX-NEXT: vbroadcastsd 136(%rdx), %ymm313895; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13896; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13897; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13898; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]13899; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm113900; AVX-NEXT: vbroadcastsd 136(%r10), %ymm213901; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13902; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13903; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13904; AVX-NEXT: vmovaps 160(%rcx), %xmm013905; AVX-NEXT: vmovaps 160(%rsi), %xmm113906; AVX-NEXT: vmovaps 160(%rdi), %xmm213907; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]13908; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm413909; AVX-NEXT: vinsertf128 $1, 160(%rdx), %ymm3, %ymm313910; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]13911; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13912; AVX-NEXT: vmovaps 160(%r9), %xmm313913; AVX-NEXT: vmovaps 160(%r8), %xmm413914; AVX-NEXT: vmovaps 160(%rax), %xmm513915; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]13916; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm713917; AVX-NEXT: vinsertf128 $1, 160(%r10), %ymm6, %ymm613918; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]13919; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13920; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]13921; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm013922; AVX-NEXT: vbroadcastsd 168(%rdx), %ymm213923; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13924; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]13925; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13926; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]13927; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm113928; AVX-NEXT: vbroadcastsd 168(%r10), %ymm213929; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13930; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13931; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13932; AVX-NEXT: vmovaps 192(%rsi), %xmm013933; AVX-NEXT: vmovaps 192(%rdi), %xmm113934; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13935; AVX-NEXT: vmovaps 192(%rcx), %xmm313936; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm413937; AVX-NEXT: vinsertf128 $1, 192(%rdx), %ymm2, %ymm213938; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]13939; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13940; AVX-NEXT: vmovaps 192(%r9), %xmm213941; AVX-NEXT: vmovaps 192(%r8), %xmm413942; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]13943; AVX-NEXT: vmovaps 192(%rax), %xmm613944; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm713945; AVX-NEXT: vinsertf128 $1, 192(%r10), %ymm5, %ymm513946; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]13947; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13948; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]13949; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113950; AVX-NEXT: vbroadcastsd 200(%rdx), %ymm313951; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13952; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13953; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13954; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]13955; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm113956; AVX-NEXT: vbroadcastsd 200(%r10), %ymm213957; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13958; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13959; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13960; AVX-NEXT: vmovaps 224(%rcx), %xmm013961; AVX-NEXT: vmovaps 224(%rsi), %xmm113962; AVX-NEXT: vmovaps 224(%rdi), %xmm213963; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]13964; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm413965; AVX-NEXT: vinsertf128 $1, 224(%rdx), %ymm3, %ymm313966; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]13967; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13968; AVX-NEXT: vmovaps 224(%r9), %xmm313969; AVX-NEXT: vmovaps 224(%r8), %xmm413970; AVX-NEXT: vmovaps 224(%rax), %xmm513971; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]13972; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm713973; AVX-NEXT: vinsertf128 $1, 224(%r10), %ymm6, %ymm613974; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]13975; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13976; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]13977; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm013978; AVX-NEXT: vbroadcastsd 232(%rdx), %ymm213979; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13980; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]13981; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13982; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]13983; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm113984; AVX-NEXT: vbroadcastsd 232(%r10), %ymm213985; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13986; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13987; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13988; AVX-NEXT: vmovaps 256(%rsi), %xmm013989; AVX-NEXT: vmovaps 256(%rdi), %xmm113990; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13991; AVX-NEXT: vmovaps 256(%rcx), %xmm313992; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm413993; AVX-NEXT: vinsertf128 $1, 256(%rdx), %ymm2, %ymm213994; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]13995; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13996; AVX-NEXT: vmovaps 256(%r9), %xmm213997; AVX-NEXT: vmovaps 256(%r8), %xmm413998; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]13999; AVX-NEXT: vmovaps 256(%rax), %xmm614000; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm714001; AVX-NEXT: vinsertf128 $1, 256(%r10), %ymm5, %ymm514002; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]14003; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14004; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14005; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm114006; AVX-NEXT: vbroadcastsd 264(%rdx), %ymm314007; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14008; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14009; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14010; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]14011; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm114012; AVX-NEXT: vbroadcastsd 264(%r10), %ymm214013; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14014; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14015; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14016; AVX-NEXT: vmovaps 288(%rsi), %xmm014017; AVX-NEXT: vmovaps 288(%rdi), %xmm114018; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14019; AVX-NEXT: vmovaps 288(%rcx), %xmm314020; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm414021; AVX-NEXT: vinsertf128 $1, 288(%rdx), %ymm2, %ymm214022; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]14023; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14024; AVX-NEXT: vmovaps 288(%r9), %xmm214025; AVX-NEXT: vmovaps 288(%r8), %xmm414026; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]14027; AVX-NEXT: vmovaps 288(%rax), %xmm614028; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm714029; AVX-NEXT: vinsertf128 $1, 288(%r10), %ymm5, %ymm514030; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]14031; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14032; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14033; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm114034; AVX-NEXT: vbroadcastsd 296(%rdx), %ymm314035; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14036; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14037; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14038; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]14039; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm114040; AVX-NEXT: vbroadcastsd 296(%r10), %ymm214041; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14042; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14043; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14044; AVX-NEXT: vmovaps 320(%rsi), %xmm014045; AVX-NEXT: vmovaps 320(%rdi), %xmm114046; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14047; AVX-NEXT: vmovaps 320(%rcx), %xmm314048; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm414049; AVX-NEXT: vinsertf128 $1, 320(%rdx), %ymm2, %ymm214050; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2],ymm4[2]14051; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14052; AVX-NEXT: vmovaps 320(%r9), %xmm214053; AVX-NEXT: vmovaps 320(%r8), %xmm414054; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm2[0]14055; AVX-NEXT: vmovaps 320(%rax), %xmm614056; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm714057; AVX-NEXT: vinsertf128 $1, 320(%r10), %ymm5, %ymm514058; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm7[1],ymm5[2],ymm7[2]14059; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14060; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14061; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm114062; AVX-NEXT: vbroadcastsd 328(%rdx), %ymm314063; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14064; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14065; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14066; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm2[1]14067; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm114068; AVX-NEXT: vbroadcastsd 328(%r10), %ymm214069; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14070; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14071; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14072; AVX-NEXT: vmovaps 352(%rcx), %xmm014073; AVX-NEXT: vmovaps 352(%rsi), %xmm114074; AVX-NEXT: vmovaps 352(%rdi), %xmm214075; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]14076; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm414077; AVX-NEXT: vinsertf128 $1, 352(%rdx), %ymm3, %ymm314078; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]14079; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14080; AVX-NEXT: vmovaps 352(%r9), %xmm314081; AVX-NEXT: vmovaps 352(%r8), %xmm414082; AVX-NEXT: vmovaps 352(%rax), %xmm514083; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]14084; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm714085; AVX-NEXT: vinsertf128 $1, 352(%r10), %ymm6, %ymm614086; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]14087; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14088; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]14089; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm014090; AVX-NEXT: vbroadcastsd 360(%rdx), %ymm214091; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14092; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]14093; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14094; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14095; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm114096; AVX-NEXT: vbroadcastsd 360(%r10), %ymm214097; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14098; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14099; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14100; AVX-NEXT: vmovaps 384(%rcx), %xmm014101; AVX-NEXT: vmovaps 384(%rsi), %xmm114102; AVX-NEXT: vmovaps 384(%rdi), %xmm214103; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]14104; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm414105; AVX-NEXT: vinsertf128 $1, 384(%rdx), %ymm3, %ymm314106; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]14107; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14108; AVX-NEXT: vmovaps 384(%r9), %xmm314109; AVX-NEXT: vmovaps 384(%r8), %xmm414110; AVX-NEXT: vmovaps 384(%rax), %xmm514111; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]14112; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm714113; AVX-NEXT: vinsertf128 $1, 384(%r10), %ymm6, %ymm614114; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]14115; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14116; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]14117; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm014118; AVX-NEXT: vbroadcastsd 392(%rdx), %ymm214119; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14120; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]14121; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14122; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14123; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm114124; AVX-NEXT: vbroadcastsd 392(%r10), %ymm214125; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14126; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14127; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14128; AVX-NEXT: vmovaps 416(%rcx), %xmm014129; AVX-NEXT: vmovaps 416(%rsi), %xmm114130; AVX-NEXT: vmovaps 416(%rdi), %xmm214131; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]14132; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm414133; AVX-NEXT: vinsertf128 $1, 416(%rdx), %ymm3, %ymm314134; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]14135; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14136; AVX-NEXT: vmovaps 416(%r9), %xmm314137; AVX-NEXT: vmovaps 416(%r8), %xmm414138; AVX-NEXT: vmovaps 416(%rax), %xmm514139; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]14140; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm714141; AVX-NEXT: vinsertf128 $1, 416(%r10), %ymm6, %ymm614142; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]14143; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14144; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]14145; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm014146; AVX-NEXT: vbroadcastsd 424(%rdx), %ymm214147; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14148; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]14149; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14150; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14151; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm114152; AVX-NEXT: vbroadcastsd 424(%r10), %ymm214153; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14154; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14155; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14156; AVX-NEXT: vmovaps 448(%rcx), %xmm014157; AVX-NEXT: vmovaps 448(%rsi), %xmm114158; AVX-NEXT: vmovaps 448(%rdi), %xmm214159; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]14160; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm414161; AVX-NEXT: vinsertf128 $1, 448(%rdx), %ymm3, %ymm314162; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]14163; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14164; AVX-NEXT: vmovaps 448(%r9), %xmm314165; AVX-NEXT: vmovaps 448(%r8), %xmm414166; AVX-NEXT: vmovaps 448(%rax), %xmm514167; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]14168; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm714169; AVX-NEXT: vinsertf128 $1, 448(%r10), %ymm6, %ymm614170; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]14171; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14172; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]14173; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm014174; AVX-NEXT: vbroadcastsd 456(%rdx), %ymm214175; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14176; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]14177; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14178; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14179; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm114180; AVX-NEXT: vbroadcastsd 456(%r10), %ymm214181; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14182; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14183; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14184; AVX-NEXT: vmovaps 480(%rcx), %xmm014185; AVX-NEXT: vmovaps 480(%rsi), %xmm114186; AVX-NEXT: vmovaps 480(%rdi), %xmm214187; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]14188; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm414189; AVX-NEXT: vinsertf128 $1, 480(%rdx), %ymm3, %ymm314190; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]14191; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14192; AVX-NEXT: vmovaps 480(%r9), %xmm314193; AVX-NEXT: vmovaps 480(%r8), %xmm414194; AVX-NEXT: vmovaps 480(%rax), %xmm514195; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]14196; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm714197; AVX-NEXT: vinsertf128 $1, 480(%r10), %ymm6, %ymm614198; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[2]14199; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14200; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]14201; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm014202; AVX-NEXT: vbroadcastsd 488(%rdx), %ymm214203; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14204; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]14205; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14206; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14207; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm114208; AVX-NEXT: vbroadcastsd 488(%r10), %ymm214209; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14210; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]14211; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14212; AVX-NEXT: vmovaps 16(%rsi), %xmm014213; AVX-NEXT: vmovaps 16(%rdi), %xmm114214; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14215; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14216; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm314217; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14218; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14219; AVX-NEXT: vmovaps 16(%r9), %xmm214220; AVX-NEXT: vmovaps 16(%r8), %xmm314221; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14222; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14223; AVX-NEXT: vbroadcastsd 16(%rax), %ymm514224; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14225; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14226; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14227; AVX-NEXT: vbroadcastsd 24(%rdx), %ymm114228; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]14229; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14230; AVX-NEXT: vbroadcastsd 24(%r10), %ymm114231; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]14232; AVX-NEXT: vmovaps 48(%rsi), %xmm014233; AVX-NEXT: vmovaps 48(%rdi), %xmm114234; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14235; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14236; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm314237; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14238; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14239; AVX-NEXT: vmovaps 48(%r9), %xmm214240; AVX-NEXT: vmovaps 48(%r8), %xmm314241; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14242; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14243; AVX-NEXT: vbroadcastsd 48(%rax), %ymm514244; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14245; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14246; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14247; AVX-NEXT: vbroadcastsd 56(%rdx), %ymm114248; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]14249; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14250; AVX-NEXT: vbroadcastsd 56(%r10), %ymm114251; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]14252; AVX-NEXT: vmovaps 80(%rsi), %xmm014253; AVX-NEXT: vmovaps 80(%rdi), %xmm114254; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14255; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14256; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm314257; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14258; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14259; AVX-NEXT: vmovaps 80(%r9), %xmm214260; AVX-NEXT: vmovaps 80(%r8), %xmm314261; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14262; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14263; AVX-NEXT: vbroadcastsd 80(%rax), %ymm514264; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14265; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14266; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14267; AVX-NEXT: vbroadcastsd 88(%rdx), %ymm114268; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]14269; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14270; AVX-NEXT: vbroadcastsd 88(%r10), %ymm114271; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm1[4,5,6,7]14272; AVX-NEXT: vmovaps 112(%rsi), %xmm014273; AVX-NEXT: vmovaps 112(%rdi), %xmm114274; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14275; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14276; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm314277; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14278; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14279; AVX-NEXT: vmovaps 112(%r9), %xmm214280; AVX-NEXT: vmovaps 112(%r8), %xmm314281; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14282; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14283; AVX-NEXT: vbroadcastsd 112(%rax), %ymm514284; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14285; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14286; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14287; AVX-NEXT: vbroadcastsd 120(%rdx), %ymm114288; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14289; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14290; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14291; AVX-NEXT: vbroadcastsd 120(%r10), %ymm114292; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14293; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14294; AVX-NEXT: vmovaps 144(%rsi), %xmm014295; AVX-NEXT: vmovaps 144(%rdi), %xmm114296; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14297; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14298; AVX-NEXT: vbroadcastsd 144(%rcx), %ymm314299; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14300; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14301; AVX-NEXT: vmovaps 144(%r9), %xmm214302; AVX-NEXT: vmovaps 144(%r8), %xmm314303; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14304; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14305; AVX-NEXT: vbroadcastsd 144(%rax), %ymm514306; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14307; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14308; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14309; AVX-NEXT: vbroadcastsd 152(%rdx), %ymm114310; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14311; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14312; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14313; AVX-NEXT: vbroadcastsd 152(%r10), %ymm114314; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14315; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14316; AVX-NEXT: vmovaps 176(%rsi), %xmm014317; AVX-NEXT: vmovaps 176(%rdi), %xmm114318; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14319; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14320; AVX-NEXT: vbroadcastsd 176(%rcx), %ymm314321; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14322; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14323; AVX-NEXT: vmovaps 176(%r9), %xmm214324; AVX-NEXT: vmovaps 176(%r8), %xmm314325; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14326; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14327; AVX-NEXT: vbroadcastsd 176(%rax), %ymm514328; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14329; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14330; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14331; AVX-NEXT: vbroadcastsd 184(%rdx), %ymm114332; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14333; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14334; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14335; AVX-NEXT: vbroadcastsd 184(%r10), %ymm114336; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14337; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14338; AVX-NEXT: vmovaps 208(%rsi), %xmm014339; AVX-NEXT: vmovaps 208(%rdi), %xmm114340; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14341; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14342; AVX-NEXT: vbroadcastsd 208(%rcx), %ymm314343; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14344; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14345; AVX-NEXT: vmovaps 208(%r9), %xmm214346; AVX-NEXT: vmovaps 208(%r8), %xmm314347; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14348; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14349; AVX-NEXT: vbroadcastsd 208(%rax), %ymm514350; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14351; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14352; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14353; AVX-NEXT: vbroadcastsd 216(%rdx), %ymm114354; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14355; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14356; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14357; AVX-NEXT: vbroadcastsd 216(%r10), %ymm114358; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14359; AVX-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill14360; AVX-NEXT: vmovaps 240(%rsi), %xmm014361; AVX-NEXT: vmovaps 240(%rdi), %xmm114362; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14363; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14364; AVX-NEXT: vbroadcastsd 240(%rcx), %ymm314365; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14366; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14367; AVX-NEXT: vmovaps 240(%r9), %xmm214368; AVX-NEXT: vmovaps 240(%r8), %xmm314369; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14370; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14371; AVX-NEXT: vbroadcastsd 240(%rax), %ymm514372; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14373; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14374; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14375; AVX-NEXT: vbroadcastsd 248(%rdx), %ymm114376; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14377; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14378; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14379; AVX-NEXT: vbroadcastsd 248(%r10), %ymm114380; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14381; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14382; AVX-NEXT: vmovaps 272(%rsi), %xmm014383; AVX-NEXT: vmovaps 272(%rdi), %xmm114384; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14385; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14386; AVX-NEXT: vbroadcastsd 272(%rcx), %ymm314387; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14388; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14389; AVX-NEXT: vmovaps 272(%r9), %xmm214390; AVX-NEXT: vmovaps 272(%r8), %xmm314391; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14392; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14393; AVX-NEXT: vbroadcastsd 272(%rax), %ymm514394; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14395; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14396; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14397; AVX-NEXT: vbroadcastsd 280(%rdx), %ymm114398; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14399; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14400; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14401; AVX-NEXT: vbroadcastsd 280(%r10), %ymm114402; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14403; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14404; AVX-NEXT: vmovaps 304(%rsi), %xmm014405; AVX-NEXT: vmovaps 304(%rdi), %xmm114406; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14407; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14408; AVX-NEXT: vbroadcastsd 304(%rcx), %ymm314409; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14410; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14411; AVX-NEXT: vmovaps 304(%r9), %xmm214412; AVX-NEXT: vmovaps 304(%r8), %xmm314413; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14414; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14415; AVX-NEXT: vbroadcastsd 304(%rax), %ymm514416; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14417; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14418; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14419; AVX-NEXT: vbroadcastsd 312(%rdx), %ymm114420; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14421; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14422; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14423; AVX-NEXT: vbroadcastsd 312(%r10), %ymm114424; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14425; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14426; AVX-NEXT: vmovaps 336(%rsi), %xmm014427; AVX-NEXT: vmovaps 336(%rdi), %xmm114428; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14429; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14430; AVX-NEXT: vbroadcastsd 336(%rcx), %ymm314431; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14432; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14433; AVX-NEXT: vmovaps 336(%r9), %xmm214434; AVX-NEXT: vmovaps 336(%r8), %xmm314435; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14436; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14437; AVX-NEXT: vbroadcastsd 336(%rax), %ymm514438; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14439; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14440; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14441; AVX-NEXT: vbroadcastsd 344(%rdx), %ymm114442; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14443; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14444; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14445; AVX-NEXT: vbroadcastsd 344(%r10), %ymm114446; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14447; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14448; AVX-NEXT: vmovaps 368(%rsi), %xmm014449; AVX-NEXT: vmovaps 368(%rdi), %xmm114450; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14451; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14452; AVX-NEXT: vbroadcastsd 368(%rcx), %ymm314453; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14454; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14455; AVX-NEXT: vmovaps 368(%r9), %xmm214456; AVX-NEXT: vmovaps 368(%r8), %xmm314457; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14458; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14459; AVX-NEXT: vbroadcastsd 368(%rax), %ymm514460; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14461; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14462; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14463; AVX-NEXT: vbroadcastsd 376(%rdx), %ymm114464; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14465; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14466; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14467; AVX-NEXT: vbroadcastsd 376(%r10), %ymm114468; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14469; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14470; AVX-NEXT: vmovaps 400(%rsi), %xmm014471; AVX-NEXT: vmovaps 400(%rdi), %xmm114472; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14473; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14474; AVX-NEXT: vbroadcastsd 400(%rcx), %ymm314475; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14476; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14477; AVX-NEXT: vmovaps 400(%r9), %xmm214478; AVX-NEXT: vmovaps 400(%r8), %xmm314479; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14480; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14481; AVX-NEXT: vbroadcastsd 400(%rax), %ymm514482; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14483; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14484; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14485; AVX-NEXT: vbroadcastsd 408(%rdx), %ymm114486; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14487; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14488; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14489; AVX-NEXT: vbroadcastsd 408(%r10), %ymm114490; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14491; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14492; AVX-NEXT: vmovaps 432(%rsi), %xmm014493; AVX-NEXT: vmovaps 432(%rdi), %xmm114494; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14495; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14496; AVX-NEXT: vbroadcastsd 432(%rcx), %ymm314497; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14498; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14499; AVX-NEXT: vmovaps 432(%r9), %xmm214500; AVX-NEXT: vmovaps 432(%r8), %xmm314501; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14502; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14503; AVX-NEXT: vbroadcastsd 432(%rax), %ymm514504; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14505; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14506; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14507; AVX-NEXT: vbroadcastsd 440(%rdx), %ymm114508; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14509; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14510; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14511; AVX-NEXT: vbroadcastsd 440(%r10), %ymm114512; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14513; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14514; AVX-NEXT: vmovaps 464(%rsi), %xmm014515; AVX-NEXT: vmovaps 464(%rdi), %xmm114516; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14517; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14518; AVX-NEXT: vbroadcastsd 464(%rcx), %ymm314519; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14520; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14521; AVX-NEXT: vmovaps 464(%r9), %xmm214522; AVX-NEXT: vmovaps 464(%r8), %xmm314523; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14524; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]14525; AVX-NEXT: vbroadcastsd 464(%rax), %ymm514526; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]14527; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14528; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14529; AVX-NEXT: vbroadcastsd 472(%rdx), %ymm114530; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm0[0,1,2,3],ymm1[4,5,6,7]14531; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]14532; AVX-NEXT: vbroadcastsd 472(%r10), %ymm114533; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3],ymm1[4,5,6,7]14534; AVX-NEXT: vmovaps 496(%rsi), %xmm014535; AVX-NEXT: vmovaps 496(%rdi), %xmm114536; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14537; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14538; AVX-NEXT: vbroadcastsd 496(%rcx), %ymm314539; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm2[0,1,2,3,4,5],ymm3[6,7]14540; AVX-NEXT: vmovaps 496(%r9), %xmm314541; AVX-NEXT: vmovaps 496(%r8), %xmm414542; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm4[0],xmm3[0]14543; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]14544; AVX-NEXT: vbroadcastsd 496(%rax), %ymm514545; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5],ymm5[6,7]14546; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14547; AVX-NEXT: vbroadcastsd 504(%rdx), %ymm114548; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3],ymm1[4,5,6,7]14549; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm3[1]14550; AVX-NEXT: vbroadcastsd 504(%r10), %ymm114551; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]14552; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rdx14553; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],mem[6,7]14554; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14555; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],mem[6,7]14556; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14557; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],mem[6,7]14558; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14559; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],mem[6,7]14560; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14561; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],mem[6,7]14562; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14563; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5],mem[6,7]14564; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14565; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14566; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14567; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14568; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14569; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14570; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14571; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14572; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14573; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14574; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14575; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14576; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14577; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14578; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14579; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14580; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14581; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14582; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14583; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14584; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14585; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14586; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload14587; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14588; AVX-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill14589; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14590; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14591; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14592; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14593; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14594; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14595; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14596; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14597; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14598; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14599; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14600; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14601; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14602; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3,4,5],mem[6,7]14603; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14604; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3,4,5],mem[6,7]14605; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14606; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3,4,5],mem[6,7]14607; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14608; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],mem[6,7]14609; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14610; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],mem[6,7]14611; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14612; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],mem[6,7]14613; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14614; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3,4,5],mem[6,7]14615; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14616; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],mem[6,7]14617; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14618; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]14619; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14620; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14621; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]14622; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],mem[6,7]14623; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]14624; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]14625; AVX-NEXT: vmovaps %ymm3, 4064(%rdx)14626; AVX-NEXT: vmovaps %ymm5, 4032(%rdx)14627; AVX-NEXT: vmovaps %ymm8, 4000(%rdx)14628; AVX-NEXT: vmovaps %ymm11, 3968(%rdx)14629; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14630; AVX-NEXT: vmovaps %ymm3, 3936(%rdx)14631; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14632; AVX-NEXT: vmovaps %ymm3, 3904(%rdx)14633; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14634; AVX-NEXT: vmovaps %ymm3, 3872(%rdx)14635; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14636; AVX-NEXT: vmovaps %ymm3, 3840(%rdx)14637; AVX-NEXT: vmovaps %ymm12, 3808(%rdx)14638; AVX-NEXT: vmovaps %ymm13, 3776(%rdx)14639; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14640; AVX-NEXT: vmovaps %ymm3, 3744(%rdx)14641; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14642; AVX-NEXT: vmovaps %ymm3, 3712(%rdx)14643; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14644; AVX-NEXT: vmovaps %ymm3, 3680(%rdx)14645; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14646; AVX-NEXT: vmovaps %ymm3, 3648(%rdx)14647; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14648; AVX-NEXT: vmovaps %ymm3, 3616(%rdx)14649; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload14650; AVX-NEXT: vmovaps %ymm3, 3584(%rdx)14651; AVX-NEXT: vmovaps %ymm0, 3552(%rdx)14652; AVX-NEXT: vmovaps %ymm1, 3520(%rdx)14653; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14654; AVX-NEXT: vmovaps %ymm0, 3488(%rdx)14655; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14656; AVX-NEXT: vmovaps %ymm0, 3456(%rdx)14657; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14658; AVX-NEXT: vmovaps %ymm0, 3424(%rdx)14659; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14660; AVX-NEXT: vmovaps %ymm0, 3392(%rdx)14661; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14662; AVX-NEXT: vmovaps %ymm0, 3360(%rdx)14663; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14664; AVX-NEXT: vmovaps %ymm0, 3328(%rdx)14665; AVX-NEXT: vmovaps %ymm2, 3296(%rdx)14666; AVX-NEXT: vmovaps %ymm4, 3264(%rdx)14667; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14668; AVX-NEXT: vmovaps %ymm0, 3232(%rdx)14669; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14670; AVX-NEXT: vmovaps %ymm0, 3200(%rdx)14671; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14672; AVX-NEXT: vmovaps %ymm0, 3168(%rdx)14673; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14674; AVX-NEXT: vmovaps %ymm0, 3136(%rdx)14675; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14676; AVX-NEXT: vmovaps %ymm0, 3104(%rdx)14677; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14678; AVX-NEXT: vmovaps %ymm0, 3072(%rdx)14679; AVX-NEXT: vmovaps %ymm6, 3040(%rdx)14680; AVX-NEXT: vmovaps %ymm7, 3008(%rdx)14681; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14682; AVX-NEXT: vmovaps %ymm0, 2976(%rdx)14683; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14684; AVX-NEXT: vmovaps %ymm0, 2944(%rdx)14685; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14686; AVX-NEXT: vmovaps %ymm0, 2912(%rdx)14687; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14688; AVX-NEXT: vmovaps %ymm0, 2880(%rdx)14689; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14690; AVX-NEXT: vmovaps %ymm0, 2848(%rdx)14691; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14692; AVX-NEXT: vmovaps %ymm0, 2816(%rdx)14693; AVX-NEXT: vmovaps %ymm9, 2784(%rdx)14694; AVX-NEXT: vmovaps %ymm10, 2752(%rdx)14695; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14696; AVX-NEXT: vmovaps %ymm0, 2720(%rdx)14697; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14698; AVX-NEXT: vmovaps %ymm0, 2688(%rdx)14699; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14700; AVX-NEXT: vmovaps %ymm0, 2656(%rdx)14701; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14702; AVX-NEXT: vmovaps %ymm0, 2624(%rdx)14703; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14704; AVX-NEXT: vmovaps %ymm0, 2592(%rdx)14705; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14706; AVX-NEXT: vmovaps %ymm0, 2560(%rdx)14707; AVX-NEXT: vmovaps %ymm14, 2528(%rdx)14708; AVX-NEXT: vmovaps %ymm15, 2496(%rdx)14709; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14710; AVX-NEXT: vmovaps %ymm0, 2464(%rdx)14711; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14712; AVX-NEXT: vmovaps %ymm0, 2432(%rdx)14713; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14714; AVX-NEXT: vmovaps %ymm0, 2400(%rdx)14715; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14716; AVX-NEXT: vmovaps %ymm0, 2368(%rdx)14717; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14718; AVX-NEXT: vmovaps %ymm0, 2336(%rdx)14719; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14720; AVX-NEXT: vmovaps %ymm0, 2304(%rdx)14721; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14722; AVX-NEXT: vmovaps %ymm0, 2272(%rdx)14723; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14724; AVX-NEXT: vmovaps %ymm0, 2240(%rdx)14725; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14726; AVX-NEXT: vmovaps %ymm0, 2208(%rdx)14727; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14728; AVX-NEXT: vmovaps %ymm0, 2176(%rdx)14729; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14730; AVX-NEXT: vmovaps %ymm0, 2144(%rdx)14731; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14732; AVX-NEXT: vmovaps %ymm0, 2112(%rdx)14733; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14734; AVX-NEXT: vmovaps %ymm0, 2080(%rdx)14735; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14736; AVX-NEXT: vmovaps %ymm0, 2048(%rdx)14737; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14738; AVX-NEXT: vmovaps %ymm0, 2016(%rdx)14739; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14740; AVX-NEXT: vmovaps %ymm0, 1984(%rdx)14741; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14742; AVX-NEXT: vmovaps %ymm0, 1952(%rdx)14743; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14744; AVX-NEXT: vmovaps %ymm0, 1920(%rdx)14745; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14746; AVX-NEXT: vmovaps %ymm0, 1888(%rdx)14747; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14748; AVX-NEXT: vmovaps %ymm0, 1856(%rdx)14749; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14750; AVX-NEXT: vmovaps %ymm0, 1824(%rdx)14751; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14752; AVX-NEXT: vmovaps %ymm0, 1792(%rdx)14753; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload14754; AVX-NEXT: vmovaps %ymm0, 1760(%rdx)14755; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14756; AVX-NEXT: vmovaps %ymm0, 1728(%rdx)14757; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14758; AVX-NEXT: vmovaps %ymm0, 1696(%rdx)14759; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14760; AVX-NEXT: vmovaps %ymm0, 1664(%rdx)14761; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14762; AVX-NEXT: vmovaps %ymm0, 1632(%rdx)14763; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14764; AVX-NEXT: vmovaps %ymm0, 1600(%rdx)14765; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14766; AVX-NEXT: vmovaps %ymm0, 1568(%rdx)14767; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14768; AVX-NEXT: vmovaps %ymm0, 1536(%rdx)14769; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14770; AVX-NEXT: vmovaps %ymm0, 1504(%rdx)14771; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14772; AVX-NEXT: vmovaps %ymm0, 1472(%rdx)14773; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14774; AVX-NEXT: vmovaps %ymm0, 1440(%rdx)14775; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14776; AVX-NEXT: vmovaps %ymm0, 1408(%rdx)14777; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14778; AVX-NEXT: vmovaps %ymm0, 1376(%rdx)14779; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14780; AVX-NEXT: vmovaps %ymm0, 1344(%rdx)14781; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14782; AVX-NEXT: vmovaps %ymm0, 1312(%rdx)14783; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14784; AVX-NEXT: vmovaps %ymm0, 1280(%rdx)14785; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14786; AVX-NEXT: vmovaps %ymm0, 1248(%rdx)14787; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14788; AVX-NEXT: vmovaps %ymm0, 1216(%rdx)14789; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14790; AVX-NEXT: vmovaps %ymm0, 1184(%rdx)14791; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14792; AVX-NEXT: vmovaps %ymm0, 1152(%rdx)14793; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14794; AVX-NEXT: vmovaps %ymm0, 1120(%rdx)14795; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14796; AVX-NEXT: vmovaps %ymm0, 1088(%rdx)14797; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14798; AVX-NEXT: vmovaps %ymm0, 1056(%rdx)14799; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14800; AVX-NEXT: vmovaps %ymm0, 1024(%rdx)14801; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14802; AVX-NEXT: vmovaps %ymm0, 992(%rdx)14803; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14804; AVX-NEXT: vmovaps %ymm0, 960(%rdx)14805; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14806; AVX-NEXT: vmovaps %ymm0, 928(%rdx)14807; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14808; AVX-NEXT: vmovaps %ymm0, 896(%rdx)14809; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14810; AVX-NEXT: vmovaps %ymm0, 864(%rdx)14811; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14812; AVX-NEXT: vmovaps %ymm0, 832(%rdx)14813; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14814; AVX-NEXT: vmovaps %ymm0, 800(%rdx)14815; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14816; AVX-NEXT: vmovaps %ymm0, 768(%rdx)14817; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14818; AVX-NEXT: vmovaps %ymm0, 736(%rdx)14819; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14820; AVX-NEXT: vmovaps %ymm0, 704(%rdx)14821; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14822; AVX-NEXT: vmovaps %ymm0, 672(%rdx)14823; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14824; AVX-NEXT: vmovaps %ymm0, 640(%rdx)14825; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14826; AVX-NEXT: vmovaps %ymm0, 608(%rdx)14827; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14828; AVX-NEXT: vmovaps %ymm0, 576(%rdx)14829; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14830; AVX-NEXT: vmovaps %ymm0, 544(%rdx)14831; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14832; AVX-NEXT: vmovaps %ymm0, 512(%rdx)14833; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14834; AVX-NEXT: vmovaps %ymm0, 480(%rdx)14835; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14836; AVX-NEXT: vmovaps %ymm0, 448(%rdx)14837; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14838; AVX-NEXT: vmovaps %ymm0, 416(%rdx)14839; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14840; AVX-NEXT: vmovaps %ymm0, 384(%rdx)14841; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14842; AVX-NEXT: vmovaps %ymm0, 352(%rdx)14843; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14844; AVX-NEXT: vmovaps %ymm0, 320(%rdx)14845; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14846; AVX-NEXT: vmovaps %ymm0, 288(%rdx)14847; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14848; AVX-NEXT: vmovaps %ymm0, 256(%rdx)14849; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14850; AVX-NEXT: vmovaps %ymm0, 224(%rdx)14851; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14852; AVX-NEXT: vmovaps %ymm0, 192(%rdx)14853; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14854; AVX-NEXT: vmovaps %ymm0, 160(%rdx)14855; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14856; AVX-NEXT: vmovaps %ymm0, 128(%rdx)14857; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14858; AVX-NEXT: vmovaps %ymm0, 96(%rdx)14859; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14860; AVX-NEXT: vmovaps %ymm0, 64(%rdx)14861; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14862; AVX-NEXT: vmovaps %ymm0, 32(%rdx)14863; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14864; AVX-NEXT: vmovaps %ymm0, (%rdx)14865; AVX-NEXT: addq $3784, %rsp # imm = 0xEC814866; AVX-NEXT: vzeroupper14867; AVX-NEXT: retq14868;14869; AVX2-LABEL: store_i64_stride8_vf64:14870; AVX2: # %bb.0:14871; AVX2-NEXT: subq $3880, %rsp # imm = 0xF2814872; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1014873; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax14874; AVX2-NEXT: vmovaps (%rcx), %xmm014875; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14876; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014877; AVX2-NEXT: vmovaps (%rsi), %xmm214878; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14879; AVX2-NEXT: vmovaps 32(%rsi), %xmm314880; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14881; AVX2-NEXT: vmovaps (%rdi), %xmm114882; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14883; AVX2-NEXT: vmovaps 32(%rdi), %xmm414884; AVX2-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14885; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14886; AVX2-NEXT: vbroadcastsd 8(%rdx), %ymm214887; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14888; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14889; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14890; AVX2-NEXT: vmovaps (%rax), %xmm014891; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14892; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014893; AVX2-NEXT: vmovaps (%r9), %xmm214894; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14895; AVX2-NEXT: vmovaps (%r8), %xmm114896; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14897; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14898; AVX2-NEXT: vbroadcastsd 8(%r10), %ymm214899; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14900; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14901; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14902; AVX2-NEXT: vmovaps 32(%rcx), %xmm014903; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14904; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014905; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm3[1]14906; AVX2-NEXT: vbroadcastsd 40(%rdx), %ymm214907; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14908; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14909; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14910; AVX2-NEXT: vmovaps 32(%r9), %xmm114911; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14912; AVX2-NEXT: vmovaps 32(%r8), %xmm014913; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14914; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14915; AVX2-NEXT: vbroadcastsd 40(%r10), %ymm114916; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14917; AVX2-NEXT: vmovaps 32(%rax), %xmm114918; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14919; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114920; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14921; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14922; AVX2-NEXT: vmovaps 64(%rsi), %xmm114923; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14924; AVX2-NEXT: vmovaps 64(%rdi), %xmm014925; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14926; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14927; AVX2-NEXT: vbroadcastsd 72(%rdx), %ymm114928; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14929; AVX2-NEXT: vmovaps 64(%rcx), %xmm114930; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14931; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114932; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14933; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14934; AVX2-NEXT: vmovaps 64(%r9), %xmm114935; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14936; AVX2-NEXT: vmovaps 64(%r8), %xmm014937; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14938; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14939; AVX2-NEXT: vbroadcastsd 72(%r10), %ymm114940; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14941; AVX2-NEXT: vmovaps 64(%rax), %xmm114942; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14943; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114944; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14945; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14946; AVX2-NEXT: vmovaps 96(%rsi), %xmm114947; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14948; AVX2-NEXT: vmovaps 96(%rdi), %xmm014949; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14950; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14951; AVX2-NEXT: vbroadcastsd 104(%rdx), %ymm114952; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14953; AVX2-NEXT: vmovaps 96(%rcx), %xmm114954; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14955; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114956; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14957; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14958; AVX2-NEXT: vmovaps 96(%r9), %xmm114959; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14960; AVX2-NEXT: vmovaps 96(%r8), %xmm014961; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14962; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14963; AVX2-NEXT: vbroadcastsd 104(%r10), %ymm114964; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14965; AVX2-NEXT: vmovaps 96(%rax), %xmm114966; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14967; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114968; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14969; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14970; AVX2-NEXT: vmovaps 128(%rsi), %xmm114971; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14972; AVX2-NEXT: vmovaps 128(%rdi), %xmm014973; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14974; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14975; AVX2-NEXT: vbroadcastsd 136(%rdx), %ymm114976; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14977; AVX2-NEXT: vmovaps 128(%rcx), %xmm114978; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14979; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114980; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14981; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14982; AVX2-NEXT: vmovaps 128(%r9), %xmm114983; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14984; AVX2-NEXT: vmovaps 128(%r8), %xmm014985; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14986; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14987; AVX2-NEXT: vbroadcastsd 136(%r10), %ymm114988; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14989; AVX2-NEXT: vmovaps 128(%rax), %xmm114990; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14991; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114992; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14993; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14994; AVX2-NEXT: vmovaps 160(%rsi), %xmm114995; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14996; AVX2-NEXT: vmovaps 160(%rdi), %xmm014997; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14998; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]14999; AVX2-NEXT: vbroadcastsd 168(%rdx), %ymm115000; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15001; AVX2-NEXT: vmovaps 160(%rcx), %xmm115002; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15003; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115004; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15005; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15006; AVX2-NEXT: vmovaps 160(%r9), %xmm115007; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15008; AVX2-NEXT: vmovaps 160(%r8), %xmm015009; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15010; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15011; AVX2-NEXT: vbroadcastsd 168(%r10), %ymm115012; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15013; AVX2-NEXT: vmovaps 160(%rax), %xmm115014; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15015; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115016; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15017; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15018; AVX2-NEXT: vmovaps 192(%rsi), %xmm115019; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15020; AVX2-NEXT: vmovaps 192(%rdi), %xmm015021; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15022; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15023; AVX2-NEXT: vbroadcastsd 200(%rdx), %ymm115024; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15025; AVX2-NEXT: vmovaps 192(%rcx), %xmm115026; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15027; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115028; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15029; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15030; AVX2-NEXT: vmovaps 192(%r9), %xmm115031; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15032; AVX2-NEXT: vmovaps 192(%r8), %xmm015033; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15034; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15035; AVX2-NEXT: vbroadcastsd 200(%r10), %ymm115036; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15037; AVX2-NEXT: vmovaps 192(%rax), %xmm115038; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15039; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115040; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15041; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15042; AVX2-NEXT: vmovaps 224(%rsi), %xmm115043; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15044; AVX2-NEXT: vmovaps 224(%rdi), %xmm015045; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15046; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15047; AVX2-NEXT: vbroadcastsd 232(%rdx), %ymm115048; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15049; AVX2-NEXT: vmovaps 224(%rcx), %xmm115050; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15051; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115052; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15053; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15054; AVX2-NEXT: vmovaps 224(%r9), %xmm115055; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15056; AVX2-NEXT: vmovaps 224(%r8), %xmm015057; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15058; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15059; AVX2-NEXT: vbroadcastsd 232(%r10), %ymm115060; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15061; AVX2-NEXT: vmovaps 224(%rax), %xmm115062; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15063; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115064; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15065; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15066; AVX2-NEXT: vmovaps 256(%rsi), %xmm115067; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15068; AVX2-NEXT: vmovaps 256(%rdi), %xmm015069; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15070; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15071; AVX2-NEXT: vbroadcastsd 264(%rdx), %ymm115072; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15073; AVX2-NEXT: vmovaps 256(%rcx), %xmm115074; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15075; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115076; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15077; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15078; AVX2-NEXT: vmovaps 256(%r9), %xmm115079; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15080; AVX2-NEXT: vmovaps 256(%r8), %xmm015081; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15082; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15083; AVX2-NEXT: vbroadcastsd 264(%r10), %ymm115084; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15085; AVX2-NEXT: vmovaps 256(%rax), %xmm115086; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15087; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115088; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15089; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15090; AVX2-NEXT: vmovaps 288(%rsi), %xmm115091; AVX2-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill15092; AVX2-NEXT: vmovaps 288(%rdi), %xmm015093; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15094; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15095; AVX2-NEXT: vbroadcastsd 296(%rdx), %ymm115096; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15097; AVX2-NEXT: vmovaps 288(%rcx), %xmm115098; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15099; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115100; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15101; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15102; AVX2-NEXT: vmovaps 288(%r9), %xmm115103; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15104; AVX2-NEXT: vmovaps 288(%r8), %xmm015105; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15106; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15107; AVX2-NEXT: vbroadcastsd 296(%r10), %ymm115108; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15109; AVX2-NEXT: vmovaps 288(%rax), %xmm115110; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15111; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115112; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15113; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15114; AVX2-NEXT: vmovaps 320(%rsi), %xmm115115; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15116; AVX2-NEXT: vmovaps 320(%rdi), %xmm015117; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15118; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15119; AVX2-NEXT: vbroadcastsd 328(%rdx), %ymm115120; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15121; AVX2-NEXT: vmovaps 320(%rcx), %xmm115122; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15123; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115124; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15125; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15126; AVX2-NEXT: vmovaps 320(%r9), %xmm115127; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15128; AVX2-NEXT: vmovaps 320(%r8), %xmm015129; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15130; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15131; AVX2-NEXT: vbroadcastsd 328(%r10), %ymm115132; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15133; AVX2-NEXT: vmovaps 320(%rax), %xmm115134; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15135; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115136; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15137; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15138; AVX2-NEXT: vmovaps 352(%rsi), %xmm115139; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15140; AVX2-NEXT: vmovaps 352(%rdi), %xmm015141; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15142; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15143; AVX2-NEXT: vbroadcastsd 360(%rdx), %ymm115144; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15145; AVX2-NEXT: vmovaps 352(%rcx), %xmm115146; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15147; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115148; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15149; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15150; AVX2-NEXT: vmovaps 352(%r9), %xmm115151; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15152; AVX2-NEXT: vmovaps 352(%r8), %xmm015153; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15154; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15155; AVX2-NEXT: vbroadcastsd 360(%r10), %ymm115156; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15157; AVX2-NEXT: vmovaps 352(%rax), %xmm115158; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15159; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115160; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15161; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15162; AVX2-NEXT: vmovaps 384(%rsi), %xmm115163; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15164; AVX2-NEXT: vmovaps 384(%rdi), %xmm015165; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15166; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15167; AVX2-NEXT: vbroadcastsd 392(%rdx), %ymm115168; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15169; AVX2-NEXT: vmovaps 384(%rcx), %xmm115170; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15171; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115172; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15173; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15174; AVX2-NEXT: vmovaps 384(%r9), %xmm115175; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15176; AVX2-NEXT: vmovaps 384(%r8), %xmm015177; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15178; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15179; AVX2-NEXT: vbroadcastsd 392(%r10), %ymm115180; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15181; AVX2-NEXT: vmovaps 384(%rax), %xmm115182; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15183; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115184; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15185; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15186; AVX2-NEXT: vmovaps 416(%rsi), %xmm115187; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15188; AVX2-NEXT: vmovaps 416(%rdi), %xmm015189; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15190; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]15191; AVX2-NEXT: vbroadcastsd 424(%rdx), %ymm115192; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15193; AVX2-NEXT: vmovaps 416(%rcx), %xmm115194; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15195; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115196; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15197; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15198; AVX2-NEXT: vmovaps 416(%r9), %xmm015199; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15200; AVX2-NEXT: vmovaps 416(%r8), %xmm1315201; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm0[1]15202; AVX2-NEXT: vbroadcastsd 424(%r10), %ymm115203; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15204; AVX2-NEXT: vmovaps 416(%rax), %xmm1215205; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm115206; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15207; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15208; AVX2-NEXT: vmovaps 448(%rsi), %xmm1115209; AVX2-NEXT: vmovaps 448(%rdi), %xmm1015210; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]15211; AVX2-NEXT: vbroadcastsd 456(%rdx), %ymm115212; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15213; AVX2-NEXT: vmovaps 448(%rcx), %xmm915214; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm115215; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15216; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15217; AVX2-NEXT: vmovaps 448(%r9), %xmm815218; AVX2-NEXT: vmovaps 448(%r8), %xmm715219; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]15220; AVX2-NEXT: vbroadcastsd 456(%r10), %ymm115221; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15222; AVX2-NEXT: vmovaps 448(%rax), %xmm615223; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm115224; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15225; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15226; AVX2-NEXT: vmovaps 480(%rsi), %xmm515227; AVX2-NEXT: vmovaps 480(%rdi), %xmm415228; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]15229; AVX2-NEXT: vbroadcastsd 488(%rdx), %ymm115230; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15231; AVX2-NEXT: vmovaps 480(%rcx), %xmm315232; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm115233; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15234; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15235; AVX2-NEXT: vmovaps 480(%r9), %xmm215236; AVX2-NEXT: vmovaps 480(%r8), %xmm115237; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]15238; AVX2-NEXT: vbroadcastsd 488(%r10), %ymm1515239; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm15[4,5,6,7]15240; AVX2-NEXT: vmovaps 480(%rax), %xmm015241; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm1415242; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]15243; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15244; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15245; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15246; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15247; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm14, %ymm1415248; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15249; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15250; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15251; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15252; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15253; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15254; AVX2-NEXT: vinsertf128 $1, (%r10), %ymm14, %ymm1415255; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15256; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15257; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15258; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15259; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15260; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15261; AVX2-NEXT: vinsertf128 $1, 32(%rdx), %ymm14, %ymm1415262; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15263; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15264; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15265; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15266; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15267; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15268; AVX2-NEXT: vinsertf128 $1, 32(%r10), %ymm14, %ymm1415269; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15270; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15271; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15272; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15273; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15274; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15275; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm14, %ymm1415276; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15277; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15278; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15279; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15280; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15281; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15282; AVX2-NEXT: vinsertf128 $1, 64(%r10), %ymm14, %ymm1415283; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15284; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15285; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15286; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15287; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15288; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15289; AVX2-NEXT: vinsertf128 $1, 96(%rdx), %ymm14, %ymm1415290; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15291; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15292; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15293; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15294; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15295; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15296; AVX2-NEXT: vinsertf128 $1, 96(%r10), %ymm14, %ymm1415297; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15298; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15299; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15300; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15301; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15302; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15303; AVX2-NEXT: vinsertf128 $1, 128(%rdx), %ymm14, %ymm1415304; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15305; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15306; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15307; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15308; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15309; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15310; AVX2-NEXT: vinsertf128 $1, 128(%r10), %ymm14, %ymm1415311; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15312; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15313; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15314; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15315; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15316; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15317; AVX2-NEXT: vinsertf128 $1, 160(%rdx), %ymm14, %ymm1415318; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15319; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15320; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15321; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15322; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15323; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15324; AVX2-NEXT: vinsertf128 $1, 160(%r10), %ymm14, %ymm1415325; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15326; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15327; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15328; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15329; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15330; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15331; AVX2-NEXT: vinsertf128 $1, 192(%rdx), %ymm14, %ymm1415332; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15333; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15334; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15335; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15336; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15337; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15338; AVX2-NEXT: vinsertf128 $1, 192(%r10), %ymm14, %ymm1415339; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15340; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15341; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15342; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15343; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15344; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15345; AVX2-NEXT: vinsertf128 $1, 224(%rdx), %ymm14, %ymm1415346; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15347; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15348; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15349; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15350; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15351; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15352; AVX2-NEXT: vinsertf128 $1, 224(%r10), %ymm14, %ymm1415353; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15354; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15355; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15356; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15357; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15358; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15359; AVX2-NEXT: vinsertf128 $1, 256(%rdx), %ymm14, %ymm1415360; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15361; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15362; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15363; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15364; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15365; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15366; AVX2-NEXT: vinsertf128 $1, 256(%r10), %ymm14, %ymm1415367; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15368; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15369; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15370; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15371; AVX2-NEXT: vunpcklpd (%rsp), %xmm14, %xmm14 # 16-byte Folded Reload15372; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15373; AVX2-NEXT: vinsertf128 $1, 288(%rdx), %ymm14, %ymm1415374; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15375; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15376; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15377; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15378; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15379; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15380; AVX2-NEXT: vinsertf128 $1, 288(%r10), %ymm14, %ymm1415381; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15382; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15383; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15384; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15385; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15386; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15387; AVX2-NEXT: vinsertf128 $1, 320(%rdx), %ymm14, %ymm1415388; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15389; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15390; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15391; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15392; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15393; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15394; AVX2-NEXT: vinsertf128 $1, 320(%r10), %ymm14, %ymm1415395; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15396; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15397; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15398; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15399; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15400; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15401; AVX2-NEXT: vinsertf128 $1, 352(%rdx), %ymm14, %ymm1415402; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15403; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15404; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15405; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15406; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15407; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15408; AVX2-NEXT: vinsertf128 $1, 352(%r10), %ymm14, %ymm1415409; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15410; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15411; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15412; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15413; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15414; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15415; AVX2-NEXT: vinsertf128 $1, 384(%rdx), %ymm14, %ymm1415416; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15417; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15418; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15419; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15420; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15421; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15422; AVX2-NEXT: vinsertf128 $1, 384(%r10), %ymm14, %ymm1415423; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15424; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15425; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15426; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15427; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload15428; AVX2-NEXT: # xmm14 = xmm14[0],mem[0]15429; AVX2-NEXT: vinsertf128 $1, 416(%rdx), %ymm14, %ymm1415430; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload15431; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15432; AVX2-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15433; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload15434; AVX2-NEXT: # xmm13 = xmm13[0],mem[0]15435; AVX2-NEXT: vinsertf128 $1, 416(%r10), %ymm13, %ymm1315436; AVX2-NEXT: vbroadcastsd %xmm12, %ymm1215437; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]15438; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15439; AVX2-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]15440; AVX2-NEXT: vinsertf128 $1, 448(%rdx), %ymm10, %ymm1015441; AVX2-NEXT: vbroadcastsd %xmm9, %ymm915442; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]15443; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15444; AVX2-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]15445; AVX2-NEXT: vinsertf128 $1, 448(%r10), %ymm7, %ymm715446; AVX2-NEXT: vbroadcastsd %xmm6, %ymm615447; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]15448; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15449; AVX2-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]15450; AVX2-NEXT: vinsertf128 $1, 480(%rdx), %ymm4, %ymm415451; AVX2-NEXT: vbroadcastsd %xmm3, %ymm315452; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]15453; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15454; AVX2-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15455; AVX2-NEXT: vinsertf128 $1, 480(%r10), %ymm1, %ymm115456; AVX2-NEXT: vbroadcastsd %xmm0, %ymm015457; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15458; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15459; AVX2-NEXT: vmovaps (%rdi), %ymm015460; AVX2-NEXT: vmovaps (%rsi), %ymm115461; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15462; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15463; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm315464; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15465; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15466; AVX2-NEXT: vmovaps (%r8), %ymm215467; AVX2-NEXT: vmovaps (%r9), %ymm315468; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15469; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15470; AVX2-NEXT: vbroadcastsd 16(%rax), %ymm515471; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15472; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15473; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15474; AVX2-NEXT: vbroadcastsd 24(%rdx), %ymm115475; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm1[2,3]15476; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15477; AVX2-NEXT: vbroadcastsd 24(%r10), %ymm115478; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm0[2,3],ymm1[2,3]15479; AVX2-NEXT: vmovaps 32(%rdi), %ymm015480; AVX2-NEXT: vmovaps 32(%rsi), %ymm115481; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15482; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15483; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm315484; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15485; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15486; AVX2-NEXT: vmovaps 32(%r8), %ymm215487; AVX2-NEXT: vmovaps 32(%r9), %ymm315488; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15489; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15490; AVX2-NEXT: vbroadcastsd 48(%rax), %ymm515491; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15492; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15493; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15494; AVX2-NEXT: vbroadcastsd 56(%rdx), %ymm115495; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm0[2,3],ymm1[2,3]15496; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15497; AVX2-NEXT: vbroadcastsd 56(%r10), %ymm115498; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[2,3],ymm1[2,3]15499; AVX2-NEXT: vmovaps 64(%rdi), %ymm015500; AVX2-NEXT: vmovaps 64(%rsi), %ymm115501; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15502; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15503; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm315504; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15505; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15506; AVX2-NEXT: vmovaps 64(%r8), %ymm215507; AVX2-NEXT: vmovaps 64(%r9), %ymm315508; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15509; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15510; AVX2-NEXT: vbroadcastsd 80(%rax), %ymm515511; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15512; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15513; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15514; AVX2-NEXT: vbroadcastsd 88(%rdx), %ymm115515; AVX2-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]15516; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15517; AVX2-NEXT: vbroadcastsd 88(%r10), %ymm115518; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]15519; AVX2-NEXT: vmovaps 96(%rdi), %ymm015520; AVX2-NEXT: vmovaps 96(%rsi), %ymm115521; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15522; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15523; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm315524; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15525; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15526; AVX2-NEXT: vmovaps 96(%r8), %ymm215527; AVX2-NEXT: vmovaps 96(%r9), %ymm315528; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15529; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15530; AVX2-NEXT: vbroadcastsd 112(%rax), %ymm515531; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15532; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15533; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15534; AVX2-NEXT: vbroadcastsd 120(%rdx), %ymm115535; AVX2-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm1[2,3]15536; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15537; AVX2-NEXT: vbroadcastsd 120(%r10), %ymm115538; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15539; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15540; AVX2-NEXT: vmovaps 128(%rdi), %ymm015541; AVX2-NEXT: vmovaps 128(%rsi), %ymm115542; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15543; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15544; AVX2-NEXT: vbroadcastsd 144(%rcx), %ymm315545; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15546; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15547; AVX2-NEXT: vmovaps 128(%r8), %ymm215548; AVX2-NEXT: vmovaps 128(%r9), %ymm315549; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15550; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15551; AVX2-NEXT: vbroadcastsd 144(%rax), %ymm515552; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15553; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15554; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15555; AVX2-NEXT: vbroadcastsd 152(%rdx), %ymm115556; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15557; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15558; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15559; AVX2-NEXT: vbroadcastsd 152(%r10), %ymm115560; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15561; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15562; AVX2-NEXT: vmovaps 160(%rdi), %ymm015563; AVX2-NEXT: vmovaps 160(%rsi), %ymm115564; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15565; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15566; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm315567; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15568; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15569; AVX2-NEXT: vmovaps 160(%r8), %ymm215570; AVX2-NEXT: vmovaps 160(%r9), %ymm315571; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15572; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15573; AVX2-NEXT: vbroadcastsd 176(%rax), %ymm515574; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15575; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15576; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15577; AVX2-NEXT: vbroadcastsd 184(%rdx), %ymm115578; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15579; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15580; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15581; AVX2-NEXT: vbroadcastsd 184(%r10), %ymm115582; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15583; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15584; AVX2-NEXT: vmovaps 192(%rdi), %ymm015585; AVX2-NEXT: vmovaps 192(%rsi), %ymm115586; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15587; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15588; AVX2-NEXT: vbroadcastsd 208(%rcx), %ymm315589; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15590; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15591; AVX2-NEXT: vmovaps 192(%r8), %ymm215592; AVX2-NEXT: vmovaps 192(%r9), %ymm315593; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15594; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15595; AVX2-NEXT: vbroadcastsd 208(%rax), %ymm515596; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15597; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15598; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15599; AVX2-NEXT: vbroadcastsd 216(%rdx), %ymm115600; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15601; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill15602; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15603; AVX2-NEXT: vbroadcastsd 216(%r10), %ymm115604; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15605; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15606; AVX2-NEXT: vmovaps 224(%rdi), %ymm015607; AVX2-NEXT: vmovaps 224(%rsi), %ymm115608; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15609; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15610; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm315611; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15612; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15613; AVX2-NEXT: vmovaps 224(%r8), %ymm215614; AVX2-NEXT: vmovaps 224(%r9), %ymm315615; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15616; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15617; AVX2-NEXT: vbroadcastsd 240(%rax), %ymm515618; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15619; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15620; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15621; AVX2-NEXT: vbroadcastsd 248(%rdx), %ymm115622; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15623; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15624; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15625; AVX2-NEXT: vbroadcastsd 248(%r10), %ymm115626; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15627; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15628; AVX2-NEXT: vmovaps 256(%rdi), %ymm015629; AVX2-NEXT: vmovaps 256(%rsi), %ymm115630; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15631; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15632; AVX2-NEXT: vbroadcastsd 272(%rcx), %ymm315633; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15634; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15635; AVX2-NEXT: vmovaps 256(%r8), %ymm215636; AVX2-NEXT: vmovaps 256(%r9), %ymm315637; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15638; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15639; AVX2-NEXT: vbroadcastsd 272(%rax), %ymm515640; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15641; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15642; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15643; AVX2-NEXT: vbroadcastsd 280(%rdx), %ymm115644; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15645; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15646; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15647; AVX2-NEXT: vbroadcastsd 280(%r10), %ymm115648; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15649; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15650; AVX2-NEXT: vmovaps 288(%rdi), %ymm015651; AVX2-NEXT: vmovaps 288(%rsi), %ymm115652; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15653; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15654; AVX2-NEXT: vbroadcastsd 304(%rcx), %ymm315655; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15656; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15657; AVX2-NEXT: vmovaps 288(%r8), %ymm215658; AVX2-NEXT: vmovaps 288(%r9), %ymm315659; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15660; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15661; AVX2-NEXT: vbroadcastsd 304(%rax), %ymm515662; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15663; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15664; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15665; AVX2-NEXT: vbroadcastsd 312(%rdx), %ymm115666; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15667; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15668; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15669; AVX2-NEXT: vbroadcastsd 312(%r10), %ymm115670; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15671; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15672; AVX2-NEXT: vmovaps 320(%rdi), %ymm015673; AVX2-NEXT: vmovaps 320(%rsi), %ymm115674; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15675; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15676; AVX2-NEXT: vbroadcastsd 336(%rcx), %ymm315677; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15678; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15679; AVX2-NEXT: vmovaps 320(%r8), %ymm215680; AVX2-NEXT: vmovaps 320(%r9), %ymm315681; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15682; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15683; AVX2-NEXT: vbroadcastsd 336(%rax), %ymm515684; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15685; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15686; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15687; AVX2-NEXT: vbroadcastsd 344(%rdx), %ymm115688; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15689; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15690; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15691; AVX2-NEXT: vbroadcastsd 344(%r10), %ymm115692; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15693; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15694; AVX2-NEXT: vmovaps 352(%rdi), %ymm015695; AVX2-NEXT: vmovaps 352(%rsi), %ymm115696; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15697; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15698; AVX2-NEXT: vbroadcastsd 368(%rcx), %ymm315699; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15700; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15701; AVX2-NEXT: vmovaps 352(%r8), %ymm215702; AVX2-NEXT: vmovaps 352(%r9), %ymm315703; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15704; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15705; AVX2-NEXT: vbroadcastsd 368(%rax), %ymm515706; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15707; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15708; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15709; AVX2-NEXT: vbroadcastsd 376(%rdx), %ymm115710; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15711; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15712; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15713; AVX2-NEXT: vbroadcastsd 376(%r10), %ymm115714; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15715; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15716; AVX2-NEXT: vmovaps 384(%rdi), %ymm015717; AVX2-NEXT: vmovaps 384(%rsi), %ymm115718; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15719; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15720; AVX2-NEXT: vbroadcastsd 400(%rcx), %ymm315721; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15722; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15723; AVX2-NEXT: vmovaps 384(%r8), %ymm215724; AVX2-NEXT: vmovaps 384(%r9), %ymm315725; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15726; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15727; AVX2-NEXT: vbroadcastsd 400(%rax), %ymm515728; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15729; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15730; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15731; AVX2-NEXT: vbroadcastsd 408(%rdx), %ymm115732; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15733; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15734; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15735; AVX2-NEXT: vbroadcastsd 408(%r10), %ymm115736; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15737; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15738; AVX2-NEXT: vmovaps 416(%rdi), %ymm015739; AVX2-NEXT: vmovaps 416(%rsi), %ymm115740; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15741; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15742; AVX2-NEXT: vbroadcastsd 432(%rcx), %ymm315743; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15744; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15745; AVX2-NEXT: vmovaps 416(%r8), %ymm215746; AVX2-NEXT: vmovaps 416(%r9), %ymm315747; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15748; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15749; AVX2-NEXT: vbroadcastsd 432(%rax), %ymm515750; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15751; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15752; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15753; AVX2-NEXT: vbroadcastsd 440(%rdx), %ymm115754; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15755; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15756; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15757; AVX2-NEXT: vbroadcastsd 440(%r10), %ymm115758; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15759; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15760; AVX2-NEXT: vmovaps 448(%rdi), %ymm015761; AVX2-NEXT: vmovaps 448(%rsi), %ymm115762; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15763; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15764; AVX2-NEXT: vbroadcastsd 464(%rcx), %ymm315765; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15766; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15767; AVX2-NEXT: vmovaps 448(%r8), %ymm215768; AVX2-NEXT: vmovaps 448(%r9), %ymm315769; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15770; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]15771; AVX2-NEXT: vbroadcastsd 464(%rax), %ymm515772; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]15773; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15774; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15775; AVX2-NEXT: vbroadcastsd 472(%rdx), %ymm115776; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15777; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15778; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15779; AVX2-NEXT: vbroadcastsd 472(%r10), %ymm115780; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15781; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15782; AVX2-NEXT: vmovaps 480(%rdi), %ymm015783; AVX2-NEXT: vmovaps 480(%rsi), %ymm115784; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15785; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15786; AVX2-NEXT: vbroadcastsd 496(%rcx), %ymm315787; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]15788; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15789; AVX2-NEXT: vmovaps 480(%r8), %ymm315790; AVX2-NEXT: vmovaps 480(%r9), %ymm415791; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]15792; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]15793; AVX2-NEXT: vbroadcastsd 496(%rax), %ymm515794; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm2[0,1,2,3,4,5],ymm5[6,7]15795; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15796; AVX2-NEXT: vbroadcastsd 504(%rdx), %ymm115797; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm0[2,3],ymm1[2,3]15798; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]15799; AVX2-NEXT: vbroadcastsd 504(%r10), %ymm115800; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]15801; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx15802; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],mem[6,7]15803; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15804; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],mem[6,7]15805; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15806; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],mem[6,7]15807; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15808; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],mem[6,7]15809; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15810; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5],mem[6,7]15811; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15812; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],mem[6,7]15813; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15814; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],mem[6,7]15815; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15816; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15817; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15818; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15819; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15820; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15821; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15822; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15823; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15824; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15825; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15826; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15827; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15828; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15829; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15830; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15831; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload15832; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15833; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill15834; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15835; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15836; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15837; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15838; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15839; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15840; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15841; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15842; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15843; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15844; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15845; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15846; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15847; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3,4,5],mem[6,7]15848; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15849; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm0[0,1,2,3,4,5],mem[6,7]15850; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15851; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3,4,5],mem[6,7]15852; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15853; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3,4,5],mem[6,7]15854; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15855; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3,4,5],mem[6,7]15856; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15857; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],mem[6,7]15858; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15859; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3,4,5],mem[6,7]15860; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15861; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5],mem[6,7]15862; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15863; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3,4,5],mem[6,7]15864; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15865; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3,4,5],mem[6,7]15866; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15867; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],mem[6,7]15868; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15869; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]15870; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15871; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15872; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]15873; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]15874; AVX2-NEXT: vmovaps %ymm9, 4064(%rdx)15875; AVX2-NEXT: vmovaps %ymm11, 4032(%rdx)15876; AVX2-NEXT: vmovaps %ymm15, 4000(%rdx)15877; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload15878; AVX2-NEXT: vmovaps %ymm9, 3968(%rdx)15879; AVX2-NEXT: vmovaps %ymm0, 3808(%rdx)15880; AVX2-NEXT: vmovaps %ymm1, 3776(%rdx)15881; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15882; AVX2-NEXT: vmovaps %ymm0, 3744(%rdx)15883; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15884; AVX2-NEXT: vmovaps %ymm0, 3712(%rdx)15885; AVX2-NEXT: vmovaps %ymm2, 3552(%rdx)15886; AVX2-NEXT: vmovaps %ymm3, 3520(%rdx)15887; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15888; AVX2-NEXT: vmovaps %ymm0, 3488(%rdx)15889; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15890; AVX2-NEXT: vmovaps %ymm0, 3456(%rdx)15891; AVX2-NEXT: vmovaps %ymm4, 3296(%rdx)15892; AVX2-NEXT: vmovaps %ymm5, 3264(%rdx)15893; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15894; AVX2-NEXT: vmovaps %ymm0, 3232(%rdx)15895; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15896; AVX2-NEXT: vmovaps %ymm0, 3200(%rdx)15897; AVX2-NEXT: vmovaps %ymm6, 3040(%rdx)15898; AVX2-NEXT: vmovaps %ymm7, 3008(%rdx)15899; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15900; AVX2-NEXT: vmovaps %ymm0, 2976(%rdx)15901; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15902; AVX2-NEXT: vmovaps %ymm0, 2944(%rdx)15903; AVX2-NEXT: vmovaps %ymm8, 2784(%rdx)15904; AVX2-NEXT: vmovaps %ymm10, 2752(%rdx)15905; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15906; AVX2-NEXT: vmovaps %ymm0, 2720(%rdx)15907; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15908; AVX2-NEXT: vmovaps %ymm0, 2688(%rdx)15909; AVX2-NEXT: vmovaps %ymm12, 2528(%rdx)15910; AVX2-NEXT: vmovaps %ymm13, 2496(%rdx)15911; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15912; AVX2-NEXT: vmovaps %ymm0, 2464(%rdx)15913; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15914; AVX2-NEXT: vmovaps %ymm0, 2432(%rdx)15915; AVX2-NEXT: vmovaps %ymm14, 2272(%rdx)15916; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15917; AVX2-NEXT: vmovaps %ymm0, 2240(%rdx)15918; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15919; AVX2-NEXT: vmovaps %ymm0, 2208(%rdx)15920; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15921; AVX2-NEXT: vmovaps %ymm0, 2176(%rdx)15922; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15923; AVX2-NEXT: vmovaps %ymm0, 2016(%rdx)15924; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15925; AVX2-NEXT: vmovaps %ymm0, 1984(%rdx)15926; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15927; AVX2-NEXT: vmovaps %ymm0, 1952(%rdx)15928; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15929; AVX2-NEXT: vmovaps %ymm0, 1920(%rdx)15930; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15931; AVX2-NEXT: vmovaps %ymm0, 1760(%rdx)15932; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload15933; AVX2-NEXT: vmovaps %ymm0, 1728(%rdx)15934; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15935; AVX2-NEXT: vmovaps %ymm0, 1696(%rdx)15936; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15937; AVX2-NEXT: vmovaps %ymm0, 1664(%rdx)15938; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15939; AVX2-NEXT: vmovaps %ymm0, 1504(%rdx)15940; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15941; AVX2-NEXT: vmovaps %ymm0, 1472(%rdx)15942; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15943; AVX2-NEXT: vmovaps %ymm0, 1440(%rdx)15944; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15945; AVX2-NEXT: vmovaps %ymm0, 1408(%rdx)15946; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15947; AVX2-NEXT: vmovaps %ymm0, 1248(%rdx)15948; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15949; AVX2-NEXT: vmovaps %ymm0, 1216(%rdx)15950; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15951; AVX2-NEXT: vmovaps %ymm0, 1184(%rdx)15952; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15953; AVX2-NEXT: vmovaps %ymm0, 1152(%rdx)15954; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15955; AVX2-NEXT: vmovaps %ymm0, 992(%rdx)15956; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15957; AVX2-NEXT: vmovaps %ymm0, 960(%rdx)15958; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15959; AVX2-NEXT: vmovaps %ymm0, 928(%rdx)15960; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15961; AVX2-NEXT: vmovaps %ymm0, 896(%rdx)15962; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15963; AVX2-NEXT: vmovaps %ymm0, 736(%rdx)15964; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15965; AVX2-NEXT: vmovaps %ymm0, 704(%rdx)15966; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15967; AVX2-NEXT: vmovaps %ymm0, 672(%rdx)15968; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15969; AVX2-NEXT: vmovaps %ymm0, 640(%rdx)15970; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15971; AVX2-NEXT: vmovaps %ymm0, 480(%rdx)15972; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15973; AVX2-NEXT: vmovaps %ymm0, 448(%rdx)15974; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15975; AVX2-NEXT: vmovaps %ymm0, 416(%rdx)15976; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15977; AVX2-NEXT: vmovaps %ymm0, 384(%rdx)15978; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15979; AVX2-NEXT: vmovaps %ymm0, 224(%rdx)15980; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15981; AVX2-NEXT: vmovaps %ymm0, 192(%rdx)15982; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15983; AVX2-NEXT: vmovaps %ymm0, 160(%rdx)15984; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15985; AVX2-NEXT: vmovaps %ymm0, 128(%rdx)15986; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15987; AVX2-NEXT: vmovaps %ymm0, 3936(%rdx)15988; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15989; AVX2-NEXT: vmovaps %ymm0, 3904(%rdx)15990; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15991; AVX2-NEXT: vmovaps %ymm0, 3872(%rdx)15992; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15993; AVX2-NEXT: vmovaps %ymm0, 3840(%rdx)15994; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15995; AVX2-NEXT: vmovaps %ymm0, 3680(%rdx)15996; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15997; AVX2-NEXT: vmovaps %ymm0, 3648(%rdx)15998; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15999; AVX2-NEXT: vmovaps %ymm0, 3616(%rdx)16000; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16001; AVX2-NEXT: vmovaps %ymm0, 3584(%rdx)16002; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16003; AVX2-NEXT: vmovaps %ymm0, 3424(%rdx)16004; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16005; AVX2-NEXT: vmovaps %ymm0, 3392(%rdx)16006; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16007; AVX2-NEXT: vmovaps %ymm0, 3360(%rdx)16008; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16009; AVX2-NEXT: vmovaps %ymm0, 3328(%rdx)16010; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16011; AVX2-NEXT: vmovaps %ymm0, 3168(%rdx)16012; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16013; AVX2-NEXT: vmovaps %ymm0, 3136(%rdx)16014; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16015; AVX2-NEXT: vmovaps %ymm0, 3104(%rdx)16016; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16017; AVX2-NEXT: vmovaps %ymm0, 3072(%rdx)16018; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16019; AVX2-NEXT: vmovaps %ymm0, 2912(%rdx)16020; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16021; AVX2-NEXT: vmovaps %ymm0, 2880(%rdx)16022; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16023; AVX2-NEXT: vmovaps %ymm0, 2848(%rdx)16024; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16025; AVX2-NEXT: vmovaps %ymm0, 2816(%rdx)16026; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16027; AVX2-NEXT: vmovaps %ymm0, 2656(%rdx)16028; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16029; AVX2-NEXT: vmovaps %ymm0, 2624(%rdx)16030; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16031; AVX2-NEXT: vmovaps %ymm0, 2592(%rdx)16032; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16033; AVX2-NEXT: vmovaps %ymm0, 2560(%rdx)16034; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16035; AVX2-NEXT: vmovaps %ymm0, 2400(%rdx)16036; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16037; AVX2-NEXT: vmovaps %ymm0, 2368(%rdx)16038; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16039; AVX2-NEXT: vmovaps %ymm0, 2336(%rdx)16040; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16041; AVX2-NEXT: vmovaps %ymm0, 2304(%rdx)16042; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16043; AVX2-NEXT: vmovaps %ymm0, 2144(%rdx)16044; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16045; AVX2-NEXT: vmovaps %ymm0, 2112(%rdx)16046; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16047; AVX2-NEXT: vmovaps %ymm0, 2080(%rdx)16048; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16049; AVX2-NEXT: vmovaps %ymm0, 2048(%rdx)16050; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16051; AVX2-NEXT: vmovaps %ymm0, 1888(%rdx)16052; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16053; AVX2-NEXT: vmovaps %ymm0, 1856(%rdx)16054; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16055; AVX2-NEXT: vmovaps %ymm0, 1824(%rdx)16056; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16057; AVX2-NEXT: vmovaps %ymm0, 1792(%rdx)16058; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16059; AVX2-NEXT: vmovaps %ymm0, 1632(%rdx)16060; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16061; AVX2-NEXT: vmovaps %ymm0, 1600(%rdx)16062; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16063; AVX2-NEXT: vmovaps %ymm0, 1568(%rdx)16064; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16065; AVX2-NEXT: vmovaps %ymm0, 1536(%rdx)16066; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16067; AVX2-NEXT: vmovaps %ymm0, 1376(%rdx)16068; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16069; AVX2-NEXT: vmovaps %ymm0, 1344(%rdx)16070; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16071; AVX2-NEXT: vmovaps %ymm0, 1312(%rdx)16072; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16073; AVX2-NEXT: vmovaps %ymm0, 1280(%rdx)16074; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16075; AVX2-NEXT: vmovaps %ymm0, 1120(%rdx)16076; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16077; AVX2-NEXT: vmovaps %ymm0, 1088(%rdx)16078; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16079; AVX2-NEXT: vmovaps %ymm0, 1056(%rdx)16080; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16081; AVX2-NEXT: vmovaps %ymm0, 1024(%rdx)16082; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16083; AVX2-NEXT: vmovaps %ymm0, 864(%rdx)16084; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16085; AVX2-NEXT: vmovaps %ymm0, 832(%rdx)16086; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16087; AVX2-NEXT: vmovaps %ymm0, 800(%rdx)16088; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16089; AVX2-NEXT: vmovaps %ymm0, 768(%rdx)16090; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16091; AVX2-NEXT: vmovaps %ymm0, 608(%rdx)16092; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16093; AVX2-NEXT: vmovaps %ymm0, 576(%rdx)16094; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16095; AVX2-NEXT: vmovaps %ymm0, 544(%rdx)16096; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16097; AVX2-NEXT: vmovaps %ymm0, 512(%rdx)16098; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16099; AVX2-NEXT: vmovaps %ymm0, 352(%rdx)16100; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16101; AVX2-NEXT: vmovaps %ymm0, 320(%rdx)16102; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16103; AVX2-NEXT: vmovaps %ymm0, 288(%rdx)16104; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16105; AVX2-NEXT: vmovaps %ymm0, 256(%rdx)16106; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16107; AVX2-NEXT: vmovaps %ymm0, 96(%rdx)16108; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16109; AVX2-NEXT: vmovaps %ymm0, 64(%rdx)16110; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16111; AVX2-NEXT: vmovaps %ymm0, 32(%rdx)16112; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16113; AVX2-NEXT: vmovaps %ymm0, (%rdx)16114; AVX2-NEXT: addq $3880, %rsp # imm = 0xF2816115; AVX2-NEXT: vzeroupper16116; AVX2-NEXT: retq16117;16118; AVX2-FP-LABEL: store_i64_stride8_vf64:16119; AVX2-FP: # %bb.0:16120; AVX2-FP-NEXT: subq $3880, %rsp # imm = 0xF2816121; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r1016122; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax16123; AVX2-FP-NEXT: vmovaps (%rcx), %xmm016124; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16125; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016126; AVX2-FP-NEXT: vmovaps (%rsi), %xmm216127; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16128; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm316129; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16130; AVX2-FP-NEXT: vmovaps (%rdi), %xmm116131; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16132; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm416133; AVX2-FP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16134; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16135; AVX2-FP-NEXT: vbroadcastsd 8(%rdx), %ymm216136; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]16137; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16138; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16139; AVX2-FP-NEXT: vmovaps (%rax), %xmm016140; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16141; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016142; AVX2-FP-NEXT: vmovaps (%r9), %xmm216143; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16144; AVX2-FP-NEXT: vmovaps (%r8), %xmm116145; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16146; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16147; AVX2-FP-NEXT: vbroadcastsd 8(%r10), %ymm216148; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]16149; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16150; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16151; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm016152; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16153; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016154; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm3[1]16155; AVX2-FP-NEXT: vbroadcastsd 40(%rdx), %ymm216156; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]16157; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16158; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16159; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm116160; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16161; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm016162; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16163; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16164; AVX2-FP-NEXT: vbroadcastsd 40(%r10), %ymm116165; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16166; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm116167; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16168; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116169; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16170; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16171; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm116172; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16173; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm016174; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16175; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16176; AVX2-FP-NEXT: vbroadcastsd 72(%rdx), %ymm116177; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16178; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm116179; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16180; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116181; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16182; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16183; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm116184; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16185; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm016186; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16187; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16188; AVX2-FP-NEXT: vbroadcastsd 72(%r10), %ymm116189; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16190; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm116191; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16192; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116193; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16194; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16195; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm116196; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16197; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm016198; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16199; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16200; AVX2-FP-NEXT: vbroadcastsd 104(%rdx), %ymm116201; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16202; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm116203; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16204; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116205; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16206; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16207; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm116208; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16209; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm016210; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16211; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16212; AVX2-FP-NEXT: vbroadcastsd 104(%r10), %ymm116213; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16214; AVX2-FP-NEXT: vmovaps 96(%rax), %xmm116215; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16216; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116217; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16218; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16219; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm116220; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16221; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm016222; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16223; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16224; AVX2-FP-NEXT: vbroadcastsd 136(%rdx), %ymm116225; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16226; AVX2-FP-NEXT: vmovaps 128(%rcx), %xmm116227; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16228; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116229; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16230; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16231; AVX2-FP-NEXT: vmovaps 128(%r9), %xmm116232; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16233; AVX2-FP-NEXT: vmovaps 128(%r8), %xmm016234; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16235; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16236; AVX2-FP-NEXT: vbroadcastsd 136(%r10), %ymm116237; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16238; AVX2-FP-NEXT: vmovaps 128(%rax), %xmm116239; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16240; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116241; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16242; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16243; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm116244; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16245; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm016246; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16247; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16248; AVX2-FP-NEXT: vbroadcastsd 168(%rdx), %ymm116249; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16250; AVX2-FP-NEXT: vmovaps 160(%rcx), %xmm116251; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16252; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116253; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16254; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16255; AVX2-FP-NEXT: vmovaps 160(%r9), %xmm116256; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16257; AVX2-FP-NEXT: vmovaps 160(%r8), %xmm016258; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16259; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16260; AVX2-FP-NEXT: vbroadcastsd 168(%r10), %ymm116261; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16262; AVX2-FP-NEXT: vmovaps 160(%rax), %xmm116263; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16264; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116265; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16266; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16267; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm116268; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16269; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm016270; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16271; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16272; AVX2-FP-NEXT: vbroadcastsd 200(%rdx), %ymm116273; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16274; AVX2-FP-NEXT: vmovaps 192(%rcx), %xmm116275; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16276; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116277; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16278; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16279; AVX2-FP-NEXT: vmovaps 192(%r9), %xmm116280; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16281; AVX2-FP-NEXT: vmovaps 192(%r8), %xmm016282; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16283; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16284; AVX2-FP-NEXT: vbroadcastsd 200(%r10), %ymm116285; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16286; AVX2-FP-NEXT: vmovaps 192(%rax), %xmm116287; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16288; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116289; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16290; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16291; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm116292; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16293; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm016294; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16295; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16296; AVX2-FP-NEXT: vbroadcastsd 232(%rdx), %ymm116297; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16298; AVX2-FP-NEXT: vmovaps 224(%rcx), %xmm116299; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16300; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116301; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16302; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16303; AVX2-FP-NEXT: vmovaps 224(%r9), %xmm116304; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16305; AVX2-FP-NEXT: vmovaps 224(%r8), %xmm016306; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16307; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16308; AVX2-FP-NEXT: vbroadcastsd 232(%r10), %ymm116309; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16310; AVX2-FP-NEXT: vmovaps 224(%rax), %xmm116311; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16312; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116313; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16314; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16315; AVX2-FP-NEXT: vmovaps 256(%rsi), %xmm116316; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16317; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm016318; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16319; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16320; AVX2-FP-NEXT: vbroadcastsd 264(%rdx), %ymm116321; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16322; AVX2-FP-NEXT: vmovaps 256(%rcx), %xmm116323; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16324; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116325; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16326; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16327; AVX2-FP-NEXT: vmovaps 256(%r9), %xmm116328; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16329; AVX2-FP-NEXT: vmovaps 256(%r8), %xmm016330; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16331; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16332; AVX2-FP-NEXT: vbroadcastsd 264(%r10), %ymm116333; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16334; AVX2-FP-NEXT: vmovaps 256(%rax), %xmm116335; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16336; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116337; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16338; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16339; AVX2-FP-NEXT: vmovaps 288(%rsi), %xmm116340; AVX2-FP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill16341; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm016342; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16343; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16344; AVX2-FP-NEXT: vbroadcastsd 296(%rdx), %ymm116345; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16346; AVX2-FP-NEXT: vmovaps 288(%rcx), %xmm116347; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16348; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116349; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16350; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16351; AVX2-FP-NEXT: vmovaps 288(%r9), %xmm116352; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16353; AVX2-FP-NEXT: vmovaps 288(%r8), %xmm016354; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16355; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16356; AVX2-FP-NEXT: vbroadcastsd 296(%r10), %ymm116357; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16358; AVX2-FP-NEXT: vmovaps 288(%rax), %xmm116359; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16360; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116361; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16362; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16363; AVX2-FP-NEXT: vmovaps 320(%rsi), %xmm116364; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16365; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm016366; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16367; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16368; AVX2-FP-NEXT: vbroadcastsd 328(%rdx), %ymm116369; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16370; AVX2-FP-NEXT: vmovaps 320(%rcx), %xmm116371; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16372; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116373; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16374; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16375; AVX2-FP-NEXT: vmovaps 320(%r9), %xmm116376; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16377; AVX2-FP-NEXT: vmovaps 320(%r8), %xmm016378; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16379; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16380; AVX2-FP-NEXT: vbroadcastsd 328(%r10), %ymm116381; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16382; AVX2-FP-NEXT: vmovaps 320(%rax), %xmm116383; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16384; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116385; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16386; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16387; AVX2-FP-NEXT: vmovaps 352(%rsi), %xmm116388; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16389; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm016390; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16391; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16392; AVX2-FP-NEXT: vbroadcastsd 360(%rdx), %ymm116393; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16394; AVX2-FP-NEXT: vmovaps 352(%rcx), %xmm116395; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16396; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116397; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16398; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16399; AVX2-FP-NEXT: vmovaps 352(%r9), %xmm116400; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16401; AVX2-FP-NEXT: vmovaps 352(%r8), %xmm016402; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16403; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16404; AVX2-FP-NEXT: vbroadcastsd 360(%r10), %ymm116405; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16406; AVX2-FP-NEXT: vmovaps 352(%rax), %xmm116407; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16408; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116409; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16410; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16411; AVX2-FP-NEXT: vmovaps 384(%rsi), %xmm116412; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16413; AVX2-FP-NEXT: vmovaps 384(%rdi), %xmm016414; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16415; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16416; AVX2-FP-NEXT: vbroadcastsd 392(%rdx), %ymm116417; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16418; AVX2-FP-NEXT: vmovaps 384(%rcx), %xmm116419; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16420; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116421; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16422; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16423; AVX2-FP-NEXT: vmovaps 384(%r9), %xmm116424; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16425; AVX2-FP-NEXT: vmovaps 384(%r8), %xmm016426; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16427; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16428; AVX2-FP-NEXT: vbroadcastsd 392(%r10), %ymm116429; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16430; AVX2-FP-NEXT: vmovaps 384(%rax), %xmm116431; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16432; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116433; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16434; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16435; AVX2-FP-NEXT: vmovaps 416(%rsi), %xmm116436; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16437; AVX2-FP-NEXT: vmovaps 416(%rdi), %xmm016438; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16439; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]16440; AVX2-FP-NEXT: vbroadcastsd 424(%rdx), %ymm116441; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16442; AVX2-FP-NEXT: vmovaps 416(%rcx), %xmm116443; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16444; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm116445; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16446; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16447; AVX2-FP-NEXT: vmovaps 416(%r9), %xmm016448; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16449; AVX2-FP-NEXT: vmovaps 416(%r8), %xmm1316450; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm0[1]16451; AVX2-FP-NEXT: vbroadcastsd 424(%r10), %ymm116452; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16453; AVX2-FP-NEXT: vmovaps 416(%rax), %xmm1216454; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm116455; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16456; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16457; AVX2-FP-NEXT: vmovaps 448(%rsi), %xmm1116458; AVX2-FP-NEXT: vmovaps 448(%rdi), %xmm1016459; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm10[1],xmm11[1]16460; AVX2-FP-NEXT: vbroadcastsd 456(%rdx), %ymm116461; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16462; AVX2-FP-NEXT: vmovaps 448(%rcx), %xmm916463; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm116464; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16465; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16466; AVX2-FP-NEXT: vmovaps 448(%r9), %xmm816467; AVX2-FP-NEXT: vmovaps 448(%r8), %xmm716468; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm8[1]16469; AVX2-FP-NEXT: vbroadcastsd 456(%r10), %ymm116470; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16471; AVX2-FP-NEXT: vmovaps 448(%rax), %xmm616472; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm116473; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16474; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16475; AVX2-FP-NEXT: vmovaps 480(%rsi), %xmm516476; AVX2-FP-NEXT: vmovaps 480(%rdi), %xmm416477; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm4[1],xmm5[1]16478; AVX2-FP-NEXT: vbroadcastsd 488(%rdx), %ymm116479; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]16480; AVX2-FP-NEXT: vmovaps 480(%rcx), %xmm316481; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm116482; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16483; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16484; AVX2-FP-NEXT: vmovaps 480(%r9), %xmm216485; AVX2-FP-NEXT: vmovaps 480(%r8), %xmm116486; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm2[1]16487; AVX2-FP-NEXT: vbroadcastsd 488(%r10), %ymm1516488; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm15[4,5,6,7]16489; AVX2-FP-NEXT: vmovaps 480(%rax), %xmm016490; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm1416491; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]16492; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16493; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16494; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16495; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16496; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm14, %ymm1416497; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16498; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16499; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16500; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16501; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16502; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16503; AVX2-FP-NEXT: vinsertf128 $1, (%r10), %ymm14, %ymm1416504; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16505; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16506; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16507; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16508; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16509; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16510; AVX2-FP-NEXT: vinsertf128 $1, 32(%rdx), %ymm14, %ymm1416511; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16512; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16513; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16514; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16515; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16516; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16517; AVX2-FP-NEXT: vinsertf128 $1, 32(%r10), %ymm14, %ymm1416518; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16519; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16520; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16521; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16522; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16523; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16524; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm14, %ymm1416525; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16526; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16527; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16528; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16529; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16530; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16531; AVX2-FP-NEXT: vinsertf128 $1, 64(%r10), %ymm14, %ymm1416532; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16533; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16534; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16535; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16536; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16537; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16538; AVX2-FP-NEXT: vinsertf128 $1, 96(%rdx), %ymm14, %ymm1416539; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16540; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16541; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16542; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16543; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16544; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16545; AVX2-FP-NEXT: vinsertf128 $1, 96(%r10), %ymm14, %ymm1416546; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16547; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16548; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16549; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16550; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16551; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16552; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdx), %ymm14, %ymm1416553; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16554; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16555; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16556; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16557; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16558; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16559; AVX2-FP-NEXT: vinsertf128 $1, 128(%r10), %ymm14, %ymm1416560; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16561; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16562; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16563; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16564; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16565; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16566; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdx), %ymm14, %ymm1416567; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16568; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16569; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16570; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16571; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16572; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16573; AVX2-FP-NEXT: vinsertf128 $1, 160(%r10), %ymm14, %ymm1416574; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16575; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16576; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16577; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16578; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16579; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16580; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdx), %ymm14, %ymm1416581; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16582; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16583; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16584; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16585; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16586; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16587; AVX2-FP-NEXT: vinsertf128 $1, 192(%r10), %ymm14, %ymm1416588; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16589; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16590; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16591; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16592; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16593; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16594; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdx), %ymm14, %ymm1416595; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16596; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16597; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16598; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16599; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16600; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16601; AVX2-FP-NEXT: vinsertf128 $1, 224(%r10), %ymm14, %ymm1416602; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16603; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16604; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16605; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16606; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16607; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16608; AVX2-FP-NEXT: vinsertf128 $1, 256(%rdx), %ymm14, %ymm1416609; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16610; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16611; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16612; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16613; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16614; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16615; AVX2-FP-NEXT: vinsertf128 $1, 256(%r10), %ymm14, %ymm1416616; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16617; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16618; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16619; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16620; AVX2-FP-NEXT: vunpcklpd (%rsp), %xmm14, %xmm14 # 16-byte Folded Reload16621; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16622; AVX2-FP-NEXT: vinsertf128 $1, 288(%rdx), %ymm14, %ymm1416623; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16624; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16625; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16626; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16627; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16628; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16629; AVX2-FP-NEXT: vinsertf128 $1, 288(%r10), %ymm14, %ymm1416630; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16631; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16632; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16633; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16634; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16635; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16636; AVX2-FP-NEXT: vinsertf128 $1, 320(%rdx), %ymm14, %ymm1416637; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16638; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16639; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16640; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16641; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16642; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16643; AVX2-FP-NEXT: vinsertf128 $1, 320(%r10), %ymm14, %ymm1416644; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16645; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16646; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16647; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16648; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16649; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16650; AVX2-FP-NEXT: vinsertf128 $1, 352(%rdx), %ymm14, %ymm1416651; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16652; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16653; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16654; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16655; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16656; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16657; AVX2-FP-NEXT: vinsertf128 $1, 352(%r10), %ymm14, %ymm1416658; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16659; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16660; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16661; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16662; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16663; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16664; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdx), %ymm14, %ymm1416665; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16666; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16667; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16668; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16669; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16670; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16671; AVX2-FP-NEXT: vinsertf128 $1, 384(%r10), %ymm14, %ymm1416672; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16673; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16674; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16675; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload16676; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload16677; AVX2-FP-NEXT: # xmm14 = xmm14[0],mem[0]16678; AVX2-FP-NEXT: vinsertf128 $1, 416(%rdx), %ymm14, %ymm1416679; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload16680; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16681; AVX2-FP-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16682; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload16683; AVX2-FP-NEXT: # xmm13 = xmm13[0],mem[0]16684; AVX2-FP-NEXT: vinsertf128 $1, 416(%r10), %ymm13, %ymm1316685; AVX2-FP-NEXT: vbroadcastsd %xmm12, %ymm1216686; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]16687; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16688; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]16689; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdx), %ymm10, %ymm1016690; AVX2-FP-NEXT: vbroadcastsd %xmm9, %ymm916691; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5],ymm9[6,7]16692; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16693; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]16694; AVX2-FP-NEXT: vinsertf128 $1, 448(%r10), %ymm7, %ymm716695; AVX2-FP-NEXT: vbroadcastsd %xmm6, %ymm616696; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm6[6,7]16697; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16698; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]16699; AVX2-FP-NEXT: vinsertf128 $1, 480(%rdx), %ymm4, %ymm416700; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm316701; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]16702; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16703; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]16704; AVX2-FP-NEXT: vinsertf128 $1, 480(%r10), %ymm1, %ymm116705; AVX2-FP-NEXT: vbroadcastsd %xmm0, %ymm016706; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16707; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16708; AVX2-FP-NEXT: vmovaps (%rdi), %ymm016709; AVX2-FP-NEXT: vmovaps (%rsi), %ymm116710; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16711; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16712; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm316713; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16714; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16715; AVX2-FP-NEXT: vmovaps (%r8), %ymm216716; AVX2-FP-NEXT: vmovaps (%r9), %ymm316717; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16718; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16719; AVX2-FP-NEXT: vbroadcastsd 16(%rax), %ymm516720; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16721; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16722; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16723; AVX2-FP-NEXT: vbroadcastsd 24(%rdx), %ymm116724; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm1[2,3]16725; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16726; AVX2-FP-NEXT: vbroadcastsd 24(%r10), %ymm116727; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm0[2,3],ymm1[2,3]16728; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm016729; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm116730; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16731; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16732; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm316733; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16734; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16735; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm216736; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm316737; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16738; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16739; AVX2-FP-NEXT: vbroadcastsd 48(%rax), %ymm516740; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16741; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16742; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16743; AVX2-FP-NEXT: vbroadcastsd 56(%rdx), %ymm116744; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm0[2,3],ymm1[2,3]16745; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16746; AVX2-FP-NEXT: vbroadcastsd 56(%r10), %ymm116747; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[2,3],ymm1[2,3]16748; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm016749; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm116750; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16751; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16752; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm316753; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16754; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16755; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm216756; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm316757; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16758; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16759; AVX2-FP-NEXT: vbroadcastsd 80(%rax), %ymm516760; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16761; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16762; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16763; AVX2-FP-NEXT: vbroadcastsd 88(%rdx), %ymm116764; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]16765; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16766; AVX2-FP-NEXT: vbroadcastsd 88(%r10), %ymm116767; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]16768; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm016769; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm116770; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16771; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16772; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm316773; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16774; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16775; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm216776; AVX2-FP-NEXT: vmovaps 96(%r9), %ymm316777; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16778; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16779; AVX2-FP-NEXT: vbroadcastsd 112(%rax), %ymm516780; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16781; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16782; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16783; AVX2-FP-NEXT: vbroadcastsd 120(%rdx), %ymm116784; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm1[2,3]16785; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16786; AVX2-FP-NEXT: vbroadcastsd 120(%r10), %ymm116787; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16788; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16789; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm016790; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm116791; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16792; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16793; AVX2-FP-NEXT: vbroadcastsd 144(%rcx), %ymm316794; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16795; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16796; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm216797; AVX2-FP-NEXT: vmovaps 128(%r9), %ymm316798; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16799; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16800; AVX2-FP-NEXT: vbroadcastsd 144(%rax), %ymm516801; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16802; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16803; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16804; AVX2-FP-NEXT: vbroadcastsd 152(%rdx), %ymm116805; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16806; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16807; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16808; AVX2-FP-NEXT: vbroadcastsd 152(%r10), %ymm116809; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16810; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16811; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm016812; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm116813; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16814; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16815; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm316816; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16817; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16818; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm216819; AVX2-FP-NEXT: vmovaps 160(%r9), %ymm316820; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16821; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16822; AVX2-FP-NEXT: vbroadcastsd 176(%rax), %ymm516823; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16824; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16825; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16826; AVX2-FP-NEXT: vbroadcastsd 184(%rdx), %ymm116827; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16828; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16829; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16830; AVX2-FP-NEXT: vbroadcastsd 184(%r10), %ymm116831; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16832; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16833; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm016834; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm116835; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16836; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16837; AVX2-FP-NEXT: vbroadcastsd 208(%rcx), %ymm316838; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16839; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16840; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm216841; AVX2-FP-NEXT: vmovaps 192(%r9), %ymm316842; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16843; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]16844; AVX2-FP-NEXT: vbroadcastsd 208(%rax), %ymm516845; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]16846; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16847; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16848; AVX2-FP-NEXT: vbroadcastsd 216(%rdx), %ymm116849; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16850; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill16851; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16852; AVX2-FP-NEXT: vbroadcastsd 216(%r10), %ymm116853; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]16854; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16855; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm016856; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm116857; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16858; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],mem[2,3]16859; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm316860; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]16861; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16862; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm216863; AVX2-FP-NEXT: vmovaps 224(%r9), %ymm316864; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[File truncated to the first 1 MiB.