17149 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_stride7_vf2(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {19; SSE-LABEL: store_i64_stride7_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1023; SSE-NEXT: movapd (%rdi), %xmm024; SSE-NEXT: movapd (%rsi), %xmm125; SSE-NEXT: movapd (%rdx), %xmm226; SSE-NEXT: movapd (%rcx), %xmm327; SSE-NEXT: movapd (%r8), %xmm428; SSE-NEXT: movapd (%r9), %xmm529; SSE-NEXT: movapd (%r10), %xmm630; SSE-NEXT: movapd %xmm0, %xmm731; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm1[0]32; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]33; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]34; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]35; SSE-NEXT: unpcklpd {{.*#+}} xmm4 = xmm4[0],xmm5[0]36; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]37; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm6[0],xmm0[1]38; SSE-NEXT: movapd %xmm2, 16(%rax)39; SSE-NEXT: movapd %xmm4, 32(%rax)40; SSE-NEXT: movapd %xmm0, 48(%rax)41; SSE-NEXT: movapd %xmm3, 80(%rax)42; SSE-NEXT: movapd %xmm5, 96(%rax)43; SSE-NEXT: movapd %xmm1, 64(%rax)44; SSE-NEXT: movapd %xmm7, (%rax)45; SSE-NEXT: retq46;47; AVX-LABEL: store_i64_stride7_vf2:48; AVX: # %bb.0:49; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax50; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1051; AVX-NEXT: vmovaps (%rdi), %xmm052; AVX-NEXT: vmovaps (%rsi), %xmm153; AVX-NEXT: vmovaps (%rdx), %xmm254; AVX-NEXT: vmovaps (%r9), %xmm355; AVX-NEXT: vmovaps (%r10), %xmm456; AVX-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm157; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm558; AVX-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm5[0],ymm1[0],ymm5[2],ymm1[2]59; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm060; AVX-NEXT: vmovaps (%r8), %xmm661; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm6, %ymm762; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm7[0],ymm0[0],ymm7[2],ymm0[3]63; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm2, %ymm264; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]65; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm4[1]66; AVX-NEXT: vmovaps %xmm2, 96(%rax)67; AVX-NEXT: vmovaps %ymm1, 64(%rax)68; AVX-NEXT: vmovapd %ymm0, 32(%rax)69; AVX-NEXT: vmovaps %ymm5, (%rax)70; AVX-NEXT: vzeroupper71; AVX-NEXT: retq72;73; AVX2-LABEL: store_i64_stride7_vf2:74; AVX2: # %bb.0:75; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax76; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1077; AVX2-NEXT: vmovaps (%rdi), %xmm078; AVX2-NEXT: vmovaps (%rdx), %xmm179; AVX2-NEXT: vmovaps (%r8), %xmm280; AVX2-NEXT: vmovaps (%r9), %xmm381; AVX2-NEXT: vmovaps (%r10), %xmm482; AVX2-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm583; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm184; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm685; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3],ymm6[4,5,6,7]86; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]87; AVX2-NEXT: vbroadcastsd %xmm4, %ymm688; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5],ymm0[6,7]89; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]90; AVX2-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[2,1,3,3]91; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm292; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]93; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],ymm1[0],ymm5[2],ymm1[2]94; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]95; AVX2-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]96; AVX2-NEXT: vmovaps %xmm3, 96(%rax)97; AVX2-NEXT: vmovaps %ymm1, (%rax)98; AVX2-NEXT: vmovaps %ymm2, 64(%rax)99; AVX2-NEXT: vmovaps %ymm0, 32(%rax)100; AVX2-NEXT: vzeroupper101; AVX2-NEXT: retq102;103; AVX2-FP-LABEL: store_i64_stride7_vf2:104; AVX2-FP: # %bb.0:105; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax106; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10107; AVX2-FP-NEXT: vmovaps (%rdi), %xmm0108; AVX2-FP-NEXT: vmovaps (%rdx), %xmm1109; AVX2-FP-NEXT: vmovaps (%r8), %xmm2110; AVX2-FP-NEXT: vmovaps (%r9), %xmm3111; AVX2-FP-NEXT: vmovaps (%r10), %xmm4112; AVX2-FP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm5113; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm1114; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm6115; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3],ymm6[4,5,6,7]116; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]117; AVX2-FP-NEXT: vbroadcastsd %xmm4, %ymm6118; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5],ymm0[6,7]119; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]120; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[2,1,3,3]121; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm2122; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]123; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],ymm1[0],ymm5[2],ymm1[2]124; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]125; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]126; AVX2-FP-NEXT: vmovaps %xmm3, 96(%rax)127; AVX2-FP-NEXT: vmovaps %ymm1, (%rax)128; AVX2-FP-NEXT: vmovaps %ymm2, 64(%rax)129; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)130; AVX2-FP-NEXT: vzeroupper131; AVX2-FP-NEXT: retq132;133; AVX2-FCP-LABEL: store_i64_stride7_vf2:134; AVX2-FCP: # %bb.0:135; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax136; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10137; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm0138; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm1139; AVX2-FCP-NEXT: vmovaps (%r8), %xmm2140; AVX2-FCP-NEXT: vmovaps (%r9), %xmm3141; AVX2-FCP-NEXT: vmovaps (%r10), %xmm4142; AVX2-FCP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm5143; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm1144; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm6145; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3],ymm6[4,5,6,7]146; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]147; AVX2-FCP-NEXT: vbroadcastsd %xmm4, %ymm6148; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5],ymm0[6,7]149; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]150; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[2,1,3,3]151; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm2152; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]153; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],ymm1[0],ymm5[2],ymm1[2]154; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]155; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]156; AVX2-FCP-NEXT: vmovaps %xmm3, 96(%rax)157; AVX2-FCP-NEXT: vmovaps %ymm1, (%rax)158; AVX2-FCP-NEXT: vmovaps %ymm2, 64(%rax)159; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)160; AVX2-FCP-NEXT: vzeroupper161; AVX2-FCP-NEXT: retq162;163; AVX512-LABEL: store_i64_stride7_vf2:164; AVX512: # %bb.0:165; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax166; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10167; AVX512-NEXT: vmovdqa (%rdi), %xmm0168; AVX512-NEXT: vmovdqa (%rdx), %xmm1169; AVX512-NEXT: vmovdqa (%r8), %xmm2170; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1171; AVX512-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0172; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0173; AVX512-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1174; AVX512-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1175; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]176; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm2177; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]178; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm3179; AVX512-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)180; AVX512-NEXT: vmovdqa64 %zmm2, (%rax)181; AVX512-NEXT: vmovdqa %ymm3, 64(%rax)182; AVX512-NEXT: vzeroupper183; AVX512-NEXT: retq184;185; AVX512-FCP-LABEL: store_i64_stride7_vf2:186; AVX512-FCP: # %bb.0:187; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax188; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10189; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm0190; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm1191; AVX512-FCP-NEXT: vmovdqa (%r8), %xmm2192; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1193; AVX512-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0194; AVX512-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0195; AVX512-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1196; AVX512-FCP-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1197; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]198; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2199; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]200; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3201; AVX512-FCP-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)202; AVX512-FCP-NEXT: vmovdqa64 %zmm2, (%rax)203; AVX512-FCP-NEXT: vmovdqa %ymm3, 64(%rax)204; AVX512-FCP-NEXT: vzeroupper205; AVX512-FCP-NEXT: retq206;207; AVX512DQ-LABEL: store_i64_stride7_vf2:208; AVX512DQ: # %bb.0:209; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax210; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10211; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm0212; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm1213; AVX512DQ-NEXT: vmovdqa (%r8), %xmm2214; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1215; AVX512DQ-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0216; AVX512DQ-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0217; AVX512DQ-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1218; AVX512DQ-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1219; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]220; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm2221; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]222; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm3223; AVX512DQ-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)224; AVX512DQ-NEXT: vmovdqa64 %zmm2, (%rax)225; AVX512DQ-NEXT: vmovdqa %ymm3, 64(%rax)226; AVX512DQ-NEXT: vzeroupper227; AVX512DQ-NEXT: retq228;229; AVX512DQ-FCP-LABEL: store_i64_stride7_vf2:230; AVX512DQ-FCP: # %bb.0:231; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax232; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10233; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm0234; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm1235; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %xmm2236; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1237; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0238; AVX512DQ-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0239; AVX512DQ-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1240; AVX512DQ-FCP-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1241; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]242; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2243; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]244; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3245; AVX512DQ-FCP-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)246; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, (%rax)247; AVX512DQ-FCP-NEXT: vmovdqa %ymm3, 64(%rax)248; AVX512DQ-FCP-NEXT: vzeroupper249; AVX512DQ-FCP-NEXT: retq250;251; AVX512BW-LABEL: store_i64_stride7_vf2:252; AVX512BW: # %bb.0:253; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax254; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10255; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0256; AVX512BW-NEXT: vmovdqa (%rdx), %xmm1257; AVX512BW-NEXT: vmovdqa (%r8), %xmm2258; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1259; AVX512BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0260; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0261; AVX512BW-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1262; AVX512BW-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1263; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]264; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm2265; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]266; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3267; AVX512BW-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)268; AVX512BW-NEXT: vmovdqa64 %zmm2, (%rax)269; AVX512BW-NEXT: vmovdqa %ymm3, 64(%rax)270; AVX512BW-NEXT: vzeroupper271; AVX512BW-NEXT: retq272;273; AVX512BW-FCP-LABEL: store_i64_stride7_vf2:274; AVX512BW-FCP: # %bb.0:275; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax276; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10277; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm0278; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm1279; AVX512BW-FCP-NEXT: vmovdqa (%r8), %xmm2280; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1281; AVX512BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0282; AVX512BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0283; AVX512BW-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1284; AVX512BW-FCP-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1285; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]286; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2287; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]288; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3289; AVX512BW-FCP-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)290; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, (%rax)291; AVX512BW-FCP-NEXT: vmovdqa %ymm3, 64(%rax)292; AVX512BW-FCP-NEXT: vzeroupper293; AVX512BW-FCP-NEXT: retq294;295; AVX512DQ-BW-LABEL: store_i64_stride7_vf2:296; AVX512DQ-BW: # %bb.0:297; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax298; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10299; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm0300; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm1301; AVX512DQ-BW-NEXT: vmovdqa (%r8), %xmm2302; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1303; AVX512DQ-BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0304; AVX512DQ-BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0305; AVX512DQ-BW-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1306; AVX512DQ-BW-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1307; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]308; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm2309; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]310; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3311; AVX512DQ-BW-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)312; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, (%rax)313; AVX512DQ-BW-NEXT: vmovdqa %ymm3, 64(%rax)314; AVX512DQ-BW-NEXT: vzeroupper315; AVX512DQ-BW-NEXT: retq316;317; AVX512DQ-BW-FCP-LABEL: store_i64_stride7_vf2:318; AVX512DQ-BW-FCP: # %bb.0:319; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax320; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10321; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm0322; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm1323; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %xmm2324; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1325; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0326; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0327; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%r9), %ymm2, %ymm1328; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, (%r10), %zmm1, %zmm1329; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,2,4,6,8,10,12,1]330; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm2331; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [3,5,7,9,11,13,0,0]332; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3333; AVX512DQ-BW-FCP-NEXT: vextracti32x4 $2, %zmm3, 96(%rax)334; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, (%rax)335; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm3, 64(%rax)336; AVX512DQ-BW-FCP-NEXT: vzeroupper337; AVX512DQ-BW-FCP-NEXT: retq338 %in.vec0 = load <2 x i64>, ptr %in.vecptr0, align 64339 %in.vec1 = load <2 x i64>, ptr %in.vecptr1, align 64340 %in.vec2 = load <2 x i64>, ptr %in.vecptr2, align 64341 %in.vec3 = load <2 x i64>, ptr %in.vecptr3, align 64342 %in.vec4 = load <2 x i64>, ptr %in.vecptr4, align 64343 %in.vec5 = load <2 x i64>, ptr %in.vecptr5, align 64344 %in.vec6 = load <2 x i64>, ptr %in.vecptr6, align 64345 %1 = shufflevector <2 x i64> %in.vec0, <2 x i64> %in.vec1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>346 %2 = shufflevector <2 x i64> %in.vec2, <2 x i64> %in.vec3, <4 x i32> <i32 0, i32 1, i32 2, i32 3>347 %3 = shufflevector <2 x i64> %in.vec4, <2 x i64> %in.vec5, <4 x i32> <i32 0, i32 1, i32 2, i32 3>348 %4 = 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>349 %5 = shufflevector <2 x i64> %in.vec6, <2 x i64> poison, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>350 %6 = shufflevector <4 x i64> %3, <4 x i64> %5, <6 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5>351 %7 = shufflevector <6 x i64> %6, <6 x i64> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 undef, i32 undef>352 %8 = shufflevector <8 x i64> %4, <8 x i64> %7, <14 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>353 %interleaved.vec = shufflevector <14 x i64> %8, <14 x i64> poison, <14 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13>354 store <14 x i64> %interleaved.vec, ptr %out.vec, align 64355 ret void356}357 358define void @store_i64_stride7_vf4(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {359; SSE-LABEL: store_i64_stride7_vf4:360; SSE: # %bb.0:361; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax362; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r10363; SSE-NEXT: movapd (%rdi), %xmm8364; SSE-NEXT: movaps 16(%rdi), %xmm7365; SSE-NEXT: movapd (%rsi), %xmm0366; SSE-NEXT: movaps 16(%rsi), %xmm13367; SSE-NEXT: movapd (%rdx), %xmm4368; SSE-NEXT: movaps 16(%rdx), %xmm2369; SSE-NEXT: movapd (%rcx), %xmm3370; SSE-NEXT: movaps 16(%rcx), %xmm1371; SSE-NEXT: movapd (%r8), %xmm10372; SSE-NEXT: movaps 16(%r8), %xmm6373; SSE-NEXT: movapd (%r9), %xmm9374; SSE-NEXT: movaps 16(%r9), %xmm5375; SSE-NEXT: movapd (%r10), %xmm14376; SSE-NEXT: movaps 16(%r10), %xmm12377; SSE-NEXT: movaps %xmm13, %xmm11378; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm2[1]379; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]380; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm6[1]381; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]382; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm12[1]383; SSE-NEXT: movapd %xmm8, %xmm15384; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm0[0]385; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]386; SSE-NEXT: unpcklpd {{.*#+}} xmm4 = xmm4[0],xmm3[0]387; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm10[1]388; SSE-NEXT: shufps {{.*#+}} xmm12 = xmm12[0,1],xmm7[2,3]389; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm13[0]390; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm9[0]391; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm14[1]392; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm14[0],xmm8[1]393; SSE-NEXT: movapd %xmm10, 32(%rax)394; SSE-NEXT: movapd %xmm8, 48(%rax)395; SSE-NEXT: movapd %xmm9, 96(%rax)396; SSE-NEXT: movaps %xmm7, 112(%rax)397; SSE-NEXT: movaps %xmm12, 160(%rax)398; SSE-NEXT: movaps %xmm11, 176(%rax)399; SSE-NEXT: movapd %xmm15, (%rax)400; SSE-NEXT: movapd %xmm4, 16(%rax)401; SSE-NEXT: movapd %xmm0, 64(%rax)402; SSE-NEXT: movapd %xmm3, 80(%rax)403; SSE-NEXT: movaps %xmm2, 128(%rax)404; SSE-NEXT: movaps %xmm6, 144(%rax)405; SSE-NEXT: movaps %xmm1, 192(%rax)406; SSE-NEXT: movaps %xmm5, 208(%rax)407; SSE-NEXT: retq408;409; AVX-LABEL: store_i64_stride7_vf4:410; AVX: # %bb.0:411; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax412; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r10413; AVX-NEXT: vmovaps (%rdi), %ymm1414; AVX-NEXT: vmovaps (%rsi), %ymm2415; AVX-NEXT: vmovaps (%r8), %ymm3416; AVX-NEXT: vmovaps (%r10), %xmm4417; AVX-NEXT: vmovaps 16(%r10), %xmm0418; AVX-NEXT: vmovaps 16(%rdi), %xmm5419; AVX-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]420; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]421; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3,4,5,6,7]422; AVX-NEXT: vmovaps (%r9), %xmm5423; AVX-NEXT: vmovaps (%r8), %xmm6424; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm6[0],xmm5[0]425; AVX-NEXT: vmovaps (%rdi), %xmm8426; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm7, %ymm9427; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm7, %ymm7428; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm9[2,3],ymm7[4,5],ymm9[6,7]429; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm6430; AVX-NEXT: vmovaps (%rdx), %xmm9431; AVX-NEXT: vmovaps (%rsi), %xmm10432; AVX-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]433; AVX-NEXT: vbroadcastsd 8(%rcx), %ymm12434; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]435; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm11[0,1,2,3,4,5],ymm6[6,7]436; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],mem[0],ymm3[2],mem[2]437; AVX-NEXT: vmovaps 16(%rcx), %xmm11438; AVX-NEXT: vmovaps 16(%rdx), %xmm12439; AVX-NEXT: vmovlhps {{.*#+}} xmm12 = xmm12[0],xmm11[0]440; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm12[0,1,2,3],ymm3[4,5,6,7]441; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]442; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm4[1]443; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]444; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm11[1],mem[1]445; AVX-NEXT: vbroadcastsd 24(%r9), %ymm4446; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]447; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]448; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm8[0],xmm10[0]449; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm9[0],mem[0]450; AVX-NEXT: vmovaps %ymm1, 96(%rax)451; AVX-NEXT: vmovaps %xmm5, 16(%rax)452; AVX-NEXT: vmovaps %xmm4, (%rax)453; AVX-NEXT: vmovaps %ymm3, 128(%rax)454; AVX-NEXT: vmovaps %ymm2, 192(%rax)455; AVX-NEXT: vmovaps %ymm6, 64(%rax)456; AVX-NEXT: vmovaps %ymm7, 32(%rax)457; AVX-NEXT: vmovaps %ymm0, 160(%rax)458; AVX-NEXT: vzeroupper459; AVX-NEXT: retq460;461; AVX2-LABEL: store_i64_stride7_vf4:462; AVX2: # %bb.0:463; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax464; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r10465; AVX2-NEXT: vmovaps (%rdi), %ymm4466; AVX2-NEXT: vmovaps (%rsi), %ymm5467; AVX2-NEXT: vmovaps (%rdx), %ymm6468; AVX2-NEXT: vmovaps (%rcx), %ymm1469; AVX2-NEXT: vmovaps (%r8), %ymm2470; AVX2-NEXT: vmovaps (%r10), %xmm3471; AVX2-NEXT: vmovaps 16(%r10), %xmm0472; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]473; AVX2-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]474; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm6[6,7]475; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3,4,5,6,7]476; AVX2-NEXT: vmovaps (%r8), %xmm7477; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm8478; AVX2-NEXT: vmovaps (%rdx), %xmm9479; AVX2-NEXT: vmovaps (%rsi), %xmm10480; AVX2-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]481; AVX2-NEXT: vbroadcastsd 8(%rcx), %ymm12482; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]483; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm11[0,1,2,3,4,5],ymm8[6,7]484; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]485; AVX2-NEXT: vmovaps (%r9), %xmm5486; AVX2-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm5[1],xmm3[1]487; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]488; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm10, %ymm10489; AVX2-NEXT: vmovaps (%rdi), %xmm11490; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm11, %ymm9491; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]492; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm2[0],mem[0],ymm2[2],mem[2]493; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]494; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm10[2,3]495; AVX2-NEXT: vmovlhps {{.*#+}} xmm5 = xmm7[0],xmm5[0]496; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm5, %ymm5497; AVX2-NEXT: vbroadcastsd %xmm3, %ymm3498; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]499; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]500; AVX2-NEXT: vbroadcastsd 24(%r9), %ymm2501; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]502; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]503; AVX2-NEXT: vmovaps %ymm6, 128(%rax)504; AVX2-NEXT: vmovaps %ymm1, 192(%rax)505; AVX2-NEXT: vmovaps %ymm9, (%rax)506; AVX2-NEXT: vmovaps %ymm4, 96(%rax)507; AVX2-NEXT: vmovaps %ymm8, 64(%rax)508; AVX2-NEXT: vmovaps %ymm3, 32(%rax)509; AVX2-NEXT: vmovaps %ymm0, 160(%rax)510; AVX2-NEXT: vzeroupper511; AVX2-NEXT: retq512;513; AVX2-FP-LABEL: store_i64_stride7_vf4:514; AVX2-FP: # %bb.0:515; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax516; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10517; AVX2-FP-NEXT: vmovaps (%rdi), %ymm4518; AVX2-FP-NEXT: vmovaps (%rsi), %ymm5519; AVX2-FP-NEXT: vmovaps (%rdx), %ymm6520; AVX2-FP-NEXT: vmovaps (%rcx), %ymm1521; AVX2-FP-NEXT: vmovaps (%r8), %ymm2522; AVX2-FP-NEXT: vmovaps (%r10), %xmm3523; AVX2-FP-NEXT: vmovaps 16(%r10), %xmm0524; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]525; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]526; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm6[6,7]527; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3,4,5,6,7]528; AVX2-FP-NEXT: vmovaps (%r8), %xmm7529; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm8530; AVX2-FP-NEXT: vmovaps (%rdx), %xmm9531; AVX2-FP-NEXT: vmovaps (%rsi), %xmm10532; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]533; AVX2-FP-NEXT: vbroadcastsd 8(%rcx), %ymm12534; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]535; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm11[0,1,2,3,4,5],ymm8[6,7]536; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]537; AVX2-FP-NEXT: vmovaps (%r9), %xmm5538; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm5[1],xmm3[1]539; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]540; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm10, %ymm10541; AVX2-FP-NEXT: vmovaps (%rdi), %xmm11542; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm11, %ymm9543; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]544; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm2[0],mem[0],ymm2[2],mem[2]545; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]546; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm10[2,3]547; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm7[0],xmm5[0]548; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm5, %ymm5549; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm3550; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]551; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]552; AVX2-FP-NEXT: vbroadcastsd 24(%r9), %ymm2553; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]554; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]555; AVX2-FP-NEXT: vmovaps %ymm6, 128(%rax)556; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rax)557; AVX2-FP-NEXT: vmovaps %ymm9, (%rax)558; AVX2-FP-NEXT: vmovaps %ymm4, 96(%rax)559; AVX2-FP-NEXT: vmovaps %ymm8, 64(%rax)560; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rax)561; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rax)562; AVX2-FP-NEXT: vzeroupper563; AVX2-FP-NEXT: retq564;565; AVX2-FCP-LABEL: store_i64_stride7_vf4:566; AVX2-FCP: # %bb.0:567; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax568; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10569; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm4570; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm5571; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm6572; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm1573; AVX2-FCP-NEXT: vmovaps (%r8), %ymm2574; AVX2-FCP-NEXT: vmovaps (%r10), %xmm3575; AVX2-FCP-NEXT: vmovaps 16(%r10), %xmm0576; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]577; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]578; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm6[6,7]579; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3,4,5,6,7]580; AVX2-FCP-NEXT: vmovaps (%r8), %xmm7581; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm8582; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm9583; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm10584; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]585; AVX2-FCP-NEXT: vbroadcastsd 8(%rcx), %ymm12586; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]587; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm11[0,1,2,3,4,5],ymm8[6,7]588; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]589; AVX2-FCP-NEXT: vmovaps (%r9), %xmm5590; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm5[1],xmm3[1]591; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]592; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm10, %ymm10593; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm11594; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm11, %ymm9595; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]596; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm2[0],mem[0],ymm2[2],mem[2]597; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]598; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm10[2,3]599; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm7[0],xmm5[0]600; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm5, %ymm5601; AVX2-FCP-NEXT: vbroadcastsd %xmm3, %ymm3602; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]603; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]604; AVX2-FCP-NEXT: vbroadcastsd 24(%r9), %ymm2605; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]606; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]607; AVX2-FCP-NEXT: vmovaps %ymm6, 128(%rax)608; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rax)609; AVX2-FCP-NEXT: vmovaps %ymm9, (%rax)610; AVX2-FCP-NEXT: vmovaps %ymm4, 96(%rax)611; AVX2-FCP-NEXT: vmovaps %ymm8, 64(%rax)612; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rax)613; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rax)614; AVX2-FCP-NEXT: vzeroupper615; AVX2-FCP-NEXT: retq616;617; AVX512-LABEL: store_i64_stride7_vf4:618; AVX512: # %bb.0:619; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax620; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10621; AVX512-NEXT: vmovdqa (%rdi), %ymm1622; AVX512-NEXT: vmovdqa (%rdx), %ymm2623; AVX512-NEXT: vmovdqa (%r8), %ymm3624; AVX512-NEXT: vmovdqa (%r10), %ymm0625; AVX512-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4626; AVX512-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2627; AVX512-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3628; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]629; AVX512-NEXT: vpermi2q %zmm2, %zmm3, %zmm1630; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]631; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]632; AVX512-NEXT: vpermi2q %zmm0, %zmm3, %zmm5633; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]634; AVX512-NEXT: vpermi2q %zmm2, %zmm4, %zmm6635; AVX512-NEXT: movb $112, %cl636; AVX512-NEXT: kmovw %ecx, %k1637; AVX512-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}638; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]639; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]640; AVX512-NEXT: vpermi2q %zmm0, %zmm3, %zmm5641; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]642; AVX512-NEXT: vpermi2q %zmm2, %zmm4, %zmm7643; AVX512-NEXT: movb $56, %cl644; AVX512-NEXT: kmovw %ecx, %k1645; AVX512-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}646; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]647; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]648; AVX512-NEXT: vpermi2q %zmm0, %zmm3, %zmm5649; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]650; AVX512-NEXT: vpermi2q %zmm4, %zmm2, %zmm3651; AVX512-NEXT: movb $28, %cl652; AVX512-NEXT: kmovw %ecx, %k1653; AVX512-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}654; AVX512-NEXT: vmovdqa64 %zmm3, 128(%rax)655; AVX512-NEXT: vmovdqa64 %zmm7, 64(%rax)656; AVX512-NEXT: vmovdqa64 %zmm6, (%rax)657; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]658; AVX512-NEXT: vmovdqa %ymm0, 192(%rax)659; AVX512-NEXT: vzeroupper660; AVX512-NEXT: retq661;662; AVX512-FCP-LABEL: store_i64_stride7_vf4:663; AVX512-FCP: # %bb.0:664; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax665; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10666; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm1667; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm2668; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm3669; AVX512-FCP-NEXT: vmovdqa (%r10), %ymm0670; AVX512-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4671; AVX512-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2672; AVX512-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3673; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]674; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm1675; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]676; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]677; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5678; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]679; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm6680; AVX512-FCP-NEXT: movb $112, %cl681; AVX512-FCP-NEXT: kmovw %ecx, %k1682; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}683; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]684; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]685; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5686; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]687; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm7688; AVX512-FCP-NEXT: movb $56, %cl689; AVX512-FCP-NEXT: kmovw %ecx, %k1690; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}691; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]692; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]693; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5694; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]695; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm3696; AVX512-FCP-NEXT: movb $28, %cl697; AVX512-FCP-NEXT: kmovw %ecx, %k1698; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}699; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)700; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)701; AVX512-FCP-NEXT: vmovdqa64 %zmm6, (%rax)702; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]703; AVX512-FCP-NEXT: vmovdqa %ymm0, 192(%rax)704; AVX512-FCP-NEXT: vzeroupper705; AVX512-FCP-NEXT: retq706;707; AVX512DQ-LABEL: store_i64_stride7_vf4:708; AVX512DQ: # %bb.0:709; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax710; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10711; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm1712; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm2713; AVX512DQ-NEXT: vmovdqa (%r8), %ymm3714; AVX512DQ-NEXT: vmovdqa (%r10), %ymm0715; AVX512DQ-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4716; AVX512DQ-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2717; AVX512DQ-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3718; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]719; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm3, %zmm1720; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]721; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]722; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm3, %zmm5723; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]724; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm4, %zmm6725; AVX512DQ-NEXT: movb $112, %cl726; AVX512DQ-NEXT: kmovw %ecx, %k1727; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}728; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]729; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]730; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm3, %zmm5731; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]732; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm4, %zmm7733; AVX512DQ-NEXT: movb $56, %cl734; AVX512DQ-NEXT: kmovw %ecx, %k1735; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}736; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]737; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]738; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm3, %zmm5739; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]740; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm2, %zmm3741; AVX512DQ-NEXT: movb $28, %cl742; AVX512DQ-NEXT: kmovw %ecx, %k1743; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}744; AVX512DQ-NEXT: vmovdqa64 %zmm3, 128(%rax)745; AVX512DQ-NEXT: vmovdqa64 %zmm7, 64(%rax)746; AVX512DQ-NEXT: vmovdqa64 %zmm6, (%rax)747; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]748; AVX512DQ-NEXT: vmovdqa %ymm0, 192(%rax)749; AVX512DQ-NEXT: vzeroupper750; AVX512DQ-NEXT: retq751;752; AVX512DQ-FCP-LABEL: store_i64_stride7_vf4:753; AVX512DQ-FCP: # %bb.0:754; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax755; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10756; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm1757; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm2758; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm3759; AVX512DQ-FCP-NEXT: vmovdqa (%r10), %ymm0760; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4761; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2762; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3763; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]764; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm1765; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]766; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]767; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5768; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]769; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm6770; AVX512DQ-FCP-NEXT: movb $112, %cl771; AVX512DQ-FCP-NEXT: kmovw %ecx, %k1772; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}773; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]774; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]775; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5776; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]777; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm7778; AVX512DQ-FCP-NEXT: movb $56, %cl779; AVX512DQ-FCP-NEXT: kmovw %ecx, %k1780; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}781; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]782; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]783; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5784; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]785; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm3786; AVX512DQ-FCP-NEXT: movb $28, %cl787; AVX512DQ-FCP-NEXT: kmovw %ecx, %k1788; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}789; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)790; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)791; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, (%rax)792; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]793; AVX512DQ-FCP-NEXT: vmovdqa %ymm0, 192(%rax)794; AVX512DQ-FCP-NEXT: vzeroupper795; AVX512DQ-FCP-NEXT: retq796;797; AVX512BW-LABEL: store_i64_stride7_vf4:798; AVX512BW: # %bb.0:799; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax800; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10801; AVX512BW-NEXT: vmovdqa (%rdi), %ymm1802; AVX512BW-NEXT: vmovdqa (%rdx), %ymm2803; AVX512BW-NEXT: vmovdqa (%r8), %ymm3804; AVX512BW-NEXT: vmovdqa (%r10), %ymm0805; AVX512BW-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4806; AVX512BW-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2807; AVX512BW-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3808; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]809; AVX512BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm1810; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]811; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]812; AVX512BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5813; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]814; AVX512BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm6815; AVX512BW-NEXT: movb $112, %cl816; AVX512BW-NEXT: kmovd %ecx, %k1817; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}818; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]819; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]820; AVX512BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5821; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]822; AVX512BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm7823; AVX512BW-NEXT: movb $56, %cl824; AVX512BW-NEXT: kmovd %ecx, %k1825; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}826; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]827; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]828; AVX512BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5829; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]830; AVX512BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm3831; AVX512BW-NEXT: movb $28, %cl832; AVX512BW-NEXT: kmovd %ecx, %k1833; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}834; AVX512BW-NEXT: vmovdqa64 %zmm3, 128(%rax)835; AVX512BW-NEXT: vmovdqa64 %zmm7, 64(%rax)836; AVX512BW-NEXT: vmovdqa64 %zmm6, (%rax)837; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]838; AVX512BW-NEXT: vmovdqa %ymm0, 192(%rax)839; AVX512BW-NEXT: vzeroupper840; AVX512BW-NEXT: retq841;842; AVX512BW-FCP-LABEL: store_i64_stride7_vf4:843; AVX512BW-FCP: # %bb.0:844; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax845; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10846; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm1847; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm2848; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm3849; AVX512BW-FCP-NEXT: vmovdqa (%r10), %ymm0850; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4851; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2852; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3853; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]854; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm1855; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]856; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]857; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5858; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]859; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm6860; AVX512BW-FCP-NEXT: movb $112, %cl861; AVX512BW-FCP-NEXT: kmovd %ecx, %k1862; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}863; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]864; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]865; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5866; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]867; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm7868; AVX512BW-FCP-NEXT: movb $56, %cl869; AVX512BW-FCP-NEXT: kmovd %ecx, %k1870; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}871; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]872; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]873; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5874; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]875; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm3876; AVX512BW-FCP-NEXT: movb $28, %cl877; AVX512BW-FCP-NEXT: kmovd %ecx, %k1878; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}879; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)880; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)881; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, (%rax)882; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]883; AVX512BW-FCP-NEXT: vmovdqa %ymm0, 192(%rax)884; AVX512BW-FCP-NEXT: vzeroupper885; AVX512BW-FCP-NEXT: retq886;887; AVX512DQ-BW-LABEL: store_i64_stride7_vf4:888; AVX512DQ-BW: # %bb.0:889; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax890; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10891; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm1892; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm2893; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm3894; AVX512DQ-BW-NEXT: vmovdqa (%r10), %ymm0895; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4896; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2897; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3898; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]899; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm1900; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]901; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]902; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5903; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]904; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm6905; AVX512DQ-BW-NEXT: movb $112, %cl906; AVX512DQ-BW-NEXT: kmovd %ecx, %k1907; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}908; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]909; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]910; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5911; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]912; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm7913; AVX512DQ-BW-NEXT: movb $56, %cl914; AVX512DQ-BW-NEXT: kmovd %ecx, %k1915; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}916; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]917; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]918; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm3, %zmm5919; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]920; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm3921; AVX512DQ-BW-NEXT: movb $28, %cl922; AVX512DQ-BW-NEXT: kmovd %ecx, %k1923; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}924; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 128(%rax)925; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 64(%rax)926; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, (%rax)927; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]928; AVX512DQ-BW-NEXT: vmovdqa %ymm0, 192(%rax)929; AVX512DQ-BW-NEXT: vzeroupper930; AVX512DQ-BW-NEXT: retq931;932; AVX512DQ-BW-FCP-LABEL: store_i64_stride7_vf4:933; AVX512DQ-BW-FCP: # %bb.0:934; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax935; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10936; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm1937; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm2938; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm3939; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r10), %ymm0940; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm1, %zmm4941; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm2, %zmm2942; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm3, %zmm3943; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [15,3,7,0]944; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm1945; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,4,8,0,0,4,8,0]946; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]947; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5948; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,4,8,12,0,0,0,1]949; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm6950; AVX512DQ-BW-FCP-NEXT: movb $112, %cl951; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k1952; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}953; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [5,9,0,1,5,9,0,1]954; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]955; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5956; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [5,9,13,0,0,0,2,6]957; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm7958; AVX512DQ-BW-FCP-NEXT: movb $56, %cl959; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k1960; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}961; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [10,0,2,6,10,0,2,6]962; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]963; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm5964; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [2,6,0,0,0,11,15,3]965; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm3966; AVX512DQ-BW-FCP-NEXT: movb $28, %cl967; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k1968; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}969; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)970; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)971; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, (%rax)972; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]973; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm0, 192(%rax)974; AVX512DQ-BW-FCP-NEXT: vzeroupper975; AVX512DQ-BW-FCP-NEXT: retq976 %in.vec0 = load <4 x i64>, ptr %in.vecptr0, align 64977 %in.vec1 = load <4 x i64>, ptr %in.vecptr1, align 64978 %in.vec2 = load <4 x i64>, ptr %in.vecptr2, align 64979 %in.vec3 = load <4 x i64>, ptr %in.vecptr3, align 64980 %in.vec4 = load <4 x i64>, ptr %in.vecptr4, align 64981 %in.vec5 = load <4 x i64>, ptr %in.vecptr5, align 64982 %in.vec6 = load <4 x i64>, ptr %in.vecptr6, align 64983 %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>984 %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>985 %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>986 %4 = 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>987 %5 = shufflevector <4 x i64> %in.vec6, <4 x i64> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>988 %6 = shufflevector <8 x i64> %3, <8 x i64> %5, <12 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>989 %7 = shufflevector <12 x i64> %6, <12 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef>990 %8 = shufflevector <16 x i64> %4, <16 x i64> %7, <28 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>991 %interleaved.vec = shufflevector <28 x i64> %8, <28 x i64> poison, <28 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27>992 store <28 x i64> %interleaved.vec, ptr %out.vec, align 64993 ret void994}995 996define void @store_i64_stride7_vf8(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {997; SSE-LABEL: store_i64_stride7_vf8:998; SSE: # %bb.0:999; SSE-NEXT: subq $88, %rsp1000; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1001; SSE-NEXT: movapd (%rdi), %xmm21002; SSE-NEXT: movapd 16(%rdi), %xmm51003; SSE-NEXT: movapd 32(%rdi), %xmm101004; SSE-NEXT: movapd (%rsi), %xmm31005; SSE-NEXT: movapd 16(%rsi), %xmm61006; SSE-NEXT: movapd (%rdx), %xmm41007; SSE-NEXT: movapd 16(%rdx), %xmm81008; SSE-NEXT: movapd (%rcx), %xmm71009; SSE-NEXT: movapd 16(%rcx), %xmm111010; SSE-NEXT: movapd (%r8), %xmm91011; SSE-NEXT: movapd 16(%r8), %xmm141012; SSE-NEXT: movapd (%r9), %xmm121013; SSE-NEXT: movapd 16(%r9), %xmm131014; SSE-NEXT: movapd (%rax), %xmm01015; SSE-NEXT: movapd 16(%rax), %xmm11016; SSE-NEXT: movapd %xmm2, %xmm151017; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm3[0]1018; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1019; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]1020; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1021; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]1022; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1023; SSE-NEXT: unpcklpd {{.*#+}} xmm4 = xmm4[0],xmm7[0]1024; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1025; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm9[1]1026; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1027; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm12[0]1028; SSE-NEXT: movapd %xmm9, (%rsp) # 16-byte Spill1029; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]1030; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1031; SSE-NEXT: movapd %xmm5, %xmm01032; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm6[0]1033; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1034; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm1[0],xmm5[1]1035; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1036; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]1037; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1038; SSE-NEXT: unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm11[0]1039; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1040; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm14[1]1041; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1042; SSE-NEXT: unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm13[0]1043; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm1[1]1044; SSE-NEXT: movapd 32(%rsi), %xmm121045; SSE-NEXT: movapd %xmm10, %xmm151046; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm12[0]1047; SSE-NEXT: movapd 32(%rax), %xmm31048; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm3[0],xmm10[1]1049; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1050; SSE-NEXT: movapd 32(%rdx), %xmm111051; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm11[1]1052; SSE-NEXT: movapd 32(%rcx), %xmm81053; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm8[0]1054; SSE-NEXT: movapd 32(%r8), %xmm91055; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]1056; SSE-NEXT: movapd 32(%r9), %xmm61057; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm6[0]1058; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm3[1]1059; SSE-NEXT: movapd 48(%rdi), %xmm51060; SSE-NEXT: movapd 48(%rsi), %xmm41061; SSE-NEXT: movapd %xmm5, %xmm71062; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm4[0]1063; SSE-NEXT: movapd 48(%rax), %xmm101064; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm10[0],xmm5[1]1065; SSE-NEXT: movapd 48(%rdx), %xmm31066; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm3[1]1067; SSE-NEXT: movapd 48(%rcx), %xmm21068; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm2[0]1069; SSE-NEXT: movapd 48(%r8), %xmm11070; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]1071; SSE-NEXT: movapd 48(%r9), %xmm01072; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]1073; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm10[1]1074; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1075; SSE-NEXT: movapd %xmm0, 432(%rax)1076; SSE-NEXT: movapd %xmm2, 416(%rax)1077; SSE-NEXT: movapd %xmm4, 400(%rax)1078; SSE-NEXT: movapd %xmm5, 384(%rax)1079; SSE-NEXT: movapd %xmm1, 368(%rax)1080; SSE-NEXT: movapd %xmm3, 352(%rax)1081; SSE-NEXT: movapd %xmm7, 336(%rax)1082; SSE-NEXT: movapd %xmm6, 320(%rax)1083; SSE-NEXT: movapd %xmm8, 304(%rax)1084; SSE-NEXT: movapd %xmm12, 288(%rax)1085; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1086; SSE-NEXT: movaps %xmm0, 272(%rax)1087; SSE-NEXT: movapd %xmm9, 256(%rax)1088; SSE-NEXT: movapd %xmm11, 240(%rax)1089; SSE-NEXT: movapd %xmm15, 224(%rax)1090; SSE-NEXT: movapd %xmm13, 208(%rax)1091; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1092; SSE-NEXT: movaps %xmm0, 192(%rax)1093; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1094; SSE-NEXT: movaps %xmm0, 176(%rax)1095; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1096; SSE-NEXT: movaps %xmm0, 160(%rax)1097; SSE-NEXT: movapd %xmm14, 144(%rax)1098; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1099; SSE-NEXT: movaps %xmm0, 128(%rax)1100; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1101; SSE-NEXT: movaps %xmm0, 112(%rax)1102; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1103; SSE-NEXT: movaps %xmm0, 96(%rax)1104; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1105; SSE-NEXT: movaps %xmm0, 80(%rax)1106; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1107; SSE-NEXT: movaps %xmm0, 64(%rax)1108; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1109; SSE-NEXT: movaps %xmm0, 48(%rax)1110; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload1111; SSE-NEXT: movaps %xmm0, 32(%rax)1112; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1113; SSE-NEXT: movaps %xmm0, 16(%rax)1114; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1115; SSE-NEXT: movaps %xmm0, (%rax)1116; SSE-NEXT: addq $88, %rsp1117; SSE-NEXT: retq1118;1119; AVX-LABEL: store_i64_stride7_vf8:1120; AVX: # %bb.0:1121; AVX-NEXT: pushq %rax1122; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1123; AVX-NEXT: vmovaps (%rsi), %ymm21124; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1125; AVX-NEXT: vmovaps (%rdx), %ymm71126; AVX-NEXT: vmovaps (%r9), %ymm31127; AVX-NEXT: vmovaps (%rax), %xmm51128; AVX-NEXT: vmovaps 16(%rax), %xmm01129; AVX-NEXT: vmovapd 32(%rax), %xmm111130; AVX-NEXT: vmovaps 16(%rdi), %xmm11131; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]1132; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm7[6,7]1133; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]1134; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1135; AVX-NEXT: vmovapd 32(%r8), %xmm41136; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm11137; AVX-NEXT: vmovaps 32(%rdx), %xmm61138; AVX-NEXT: vmovaps 32(%rsi), %xmm81139; AVX-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm8[1],xmm6[1]1140; AVX-NEXT: vbroadcastsd 40(%rcx), %ymm101141; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]1142; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],ymm1[6,7]1143; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1144; AVX-NEXT: vmovaps 32(%rdi), %xmm101145; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm121146; AVX-NEXT: vmovaps (%r9), %xmm91147; AVX-NEXT: vmovapd 32(%r9), %xmm151148; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],xmm15[0]1149; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm4, %ymm41150; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm12[6,7]1151; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1152; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm10[0],xmm8[0]1153; AVX-NEXT: vinsertf128 $1, 32(%rcx), %ymm8, %ymm101154; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm61155; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm10[1],ymm6[2],ymm10[2]1156; AVX-NEXT: vbroadcastsd 8(%rcx), %ymm81157; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm8[4,5,6,7]1158; AVX-NEXT: vmovaps (%rsi), %xmm81159; AVX-NEXT: vshufps {{.*#+}} xmm10 = xmm8[2,3,2,3]1160; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm7[2,3,4,5,6,7]1161; AVX-NEXT: vmovaps (%r8), %xmm121162; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm101163; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm10[6,7]1164; AVX-NEXT: vmovaps 16(%rcx), %xmm131165; AVX-NEXT: vshufps {{.*#+}} xmm10 = xmm13[2,3,2,3]1166; AVX-NEXT: vmovaps 16(%r8), %xmm141167; AVX-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm3[1],ymm14[1],ymm3[3],ymm14[3]1168; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],mem[6,7]1169; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm14[2,3,4,5,6,7]1170; AVX-NEXT: vmovlhps {{.*#+}} xmm12 = xmm12[0],xmm9[0]1171; AVX-NEXT: vmovaps (%rdi), %xmm141172; AVX-NEXT: vinsertf128 $1, %xmm14, %ymm12, %ymm01173; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm12, %ymm121174; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm0[2,3],ymm12[4,5],ymm0[6,7]1175; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm11[1]1176; AVX-NEXT: vmovapd 32(%rdi), %ymm111177; AVX-NEXT: vmovapd 32(%rsi), %ymm151178; AVX-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm11[0],ymm15[0],ymm11[2],ymm15[2]1179; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm0[0,1],ymm11[2,3]1180; AVX-NEXT: vmovapd 48(%rdi), %xmm01181; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2,3]1182; AVX-NEXT: vshufpd {{.*#+}} ymm15 = ymm15[0,0,3,2]1183; AVX-NEXT: vmovapd 32(%rax), %ymm21184; AVX-NEXT: vperm2f128 {{.*#+}} ymm15 = ymm2[2,3],ymm15[2,3]1185; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm15[0],ymm0[1],ymm15[2],ymm0[3]1186; AVX-NEXT: vmovapd 32(%r8), %ymm01187; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],mem[0],ymm0[2],mem[2]1188; AVX-NEXT: vmovapd 48(%rcx), %xmm01189; AVX-NEXT: vmovapd 48(%rdx), %xmm41190; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],xmm0[0]1191; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3]1192; AVX-NEXT: vmovaps (%rdi), %ymm41193; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload1194; AVX-NEXT: # ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]1195; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm9[1],xmm5[1]1196; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]1197; AVX-NEXT: vmovaps (%r8), %ymm51198; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]1199; AVX-NEXT: vmovaps 16(%rdx), %xmm51200; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm5[0],xmm13[0]1201; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5,6,7]1202; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]1203; AVX-NEXT: vbroadcastsd 56(%r9), %ymm51204; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3]1205; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm2[3]1206; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1207; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm14[0],xmm8[0]1208; AVX-NEXT: vmovaps (%rdx), %xmm51209; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]1210; AVX-NEXT: vmovaps %xmm5, 16(%rax)1211; AVX-NEXT: vmovaps %xmm2, (%rax)1212; AVX-NEXT: vmovaps %ymm3, 128(%rax)1213; AVX-NEXT: vmovaps %ymm4, 96(%rax)1214; AVX-NEXT: vmovapd %ymm1, 352(%rax)1215; AVX-NEXT: vmovapd %ymm15, 384(%rax)1216; AVX-NEXT: vmovapd %ymm11, 320(%rax)1217; AVX-NEXT: vmovaps %ymm12, 32(%rax)1218; AVX-NEXT: vmovaps %ymm10, 192(%rax)1219; AVX-NEXT: vmovaps %ymm7, 64(%rax)1220; AVX-NEXT: vmovapd %ymm6, 224(%rax)1221; AVX-NEXT: vmovapd %ymm0, 416(%rax)1222; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1223; AVX-NEXT: vmovaps %ymm0, 256(%rax)1224; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1225; AVX-NEXT: vmovaps %ymm0, 288(%rax)1226; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1227; AVX-NEXT: vmovaps %ymm0, 160(%rax)1228; AVX-NEXT: popq %rax1229; AVX-NEXT: vzeroupper1230; AVX-NEXT: retq1231;1232; AVX2-LABEL: store_i64_stride7_vf8:1233; AVX2: # %bb.0:1234; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1235; AVX2-NEXT: vmovaps 32(%rdi), %ymm81236; AVX2-NEXT: vmovaps (%rdi), %ymm41237; AVX2-NEXT: vmovaps (%rsi), %ymm71238; AVX2-NEXT: vmovaps 32(%rsi), %ymm101239; AVX2-NEXT: vmovaps (%rdx), %ymm51240; AVX2-NEXT: vmovaps 32(%rdx), %ymm91241; AVX2-NEXT: vmovaps 32(%r8), %ymm31242; AVX2-NEXT: vmovaps (%rax), %xmm21243; AVX2-NEXT: vmovaps 16(%rax), %xmm01244; AVX2-NEXT: vmovaps 32(%rax), %xmm131245; AVX2-NEXT: vmovaps 48(%rax), %xmm121246; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]1247; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]1248; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm5[6,7]1249; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]1250; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1251; AVX2-NEXT: vmovaps 32(%r8), %xmm151252; AVX2-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm11253; AVX2-NEXT: vmovaps 32(%rdx), %xmm61254; AVX2-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]1255; AVX2-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm11[1],xmm6[1]1256; AVX2-NEXT: vbroadcastsd 40(%rcx), %ymm141257; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]1258; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm11[0,1,2,3,4,5],ymm1[6,7]1259; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1260; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],mem[0],ymm3[2],mem[2]1261; AVX2-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm9[0],mem[0],ymm9[2],mem[2]1262; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm3[2,3]1263; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1264; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[2]1265; AVX2-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]1266; AVX2-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]1267; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1268; AVX2-NEXT: vmovaps (%rdi), %xmm111269; AVX2-NEXT: vmovaps 32(%rdi), %xmm141270; AVX2-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm71271; AVX2-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]1272; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm15, %ymm151273; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm15[0,1,2,3,4,5],ymm7[6,7]1274; AVX2-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]1275; AVX2-NEXT: vpermpd {{.*#+}} ymm15 = ymm15[0,2,3,3]1276; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm15[0,1,2,3,4,5],ymm9[6,7]1277; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm12[0,1],ymm9[2,3,4,5,6,7]1278; AVX2-NEXT: vmovaps (%rsi), %xmm121279; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm12, %ymm121280; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm151281; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1282; AVX2-NEXT: vmovaps (%r8), %xmm151283; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]1284; AVX2-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1285; AVX2-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm10[1],xmm13[1]1286; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]1287; AVX2-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1288; AVX2-NEXT: vbroadcastsd 8(%rcx), %ymm131289; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]1290; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm13[2,3,4,5,6,7]1291; AVX2-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm131292; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm13[6,7]1293; AVX2-NEXT: vmovaps (%r8), %ymm131294; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm5[0],mem[0],ymm5[2],mem[2]1295; AVX2-NEXT: vmovaps (%r9), %ymm01296; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm0[0],ymm13[2],ymm0[2]1297; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]1298; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm51299; AVX2-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]1300; AVX2-NEXT: vbroadcastsd 56(%r9), %ymm31301; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5,6,7]1302; AVX2-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm14[0],mem[0]1303; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm51304; AVX2-NEXT: vbroadcastsd 32(%rcx), %ymm61305; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]1306; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm15[0],mem[0]1307; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm6, %ymm61308; AVX2-NEXT: vbroadcastsd %xmm2, %ymm21309; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm2[4,5],ymm6[6,7]1310; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm13[1],ymm0[1],ymm13[3],ymm0[3]1311; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1312; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1313; AVX2-NEXT: vbroadcastsd 24(%rcx), %ymm61314; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]1315; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx1316; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1317; AVX2-NEXT: vmovaps %ymm1, 128(%rcx)1318; AVX2-NEXT: vmovaps %ymm10, 64(%rcx)1319; AVX2-NEXT: vmovaps %ymm8, 320(%rcx)1320; AVX2-NEXT: vmovaps %ymm12, (%rcx)1321; AVX2-NEXT: vmovaps %ymm0, 192(%rcx)1322; AVX2-NEXT: vmovaps %ymm9, 384(%rcx)1323; AVX2-NEXT: vmovaps %ymm7, 256(%rcx)1324; AVX2-NEXT: vmovaps %ymm2, 32(%rcx)1325; AVX2-NEXT: vmovaps %ymm4, 96(%rcx)1326; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1327; AVX2-NEXT: vmovaps %ymm0, 352(%rcx)1328; AVX2-NEXT: vmovaps %ymm5, 224(%rcx)1329; AVX2-NEXT: vmovaps %ymm3, 416(%rcx)1330; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1331; AVX2-NEXT: vmovaps %ymm0, 288(%rcx)1332; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1333; AVX2-NEXT: vmovaps %ymm0, 160(%rcx)1334; AVX2-NEXT: vzeroupper1335; AVX2-NEXT: retq1336;1337; AVX2-FP-LABEL: store_i64_stride7_vf8:1338; AVX2-FP: # %bb.0:1339; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1340; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm81341; AVX2-FP-NEXT: vmovaps (%rdi), %ymm41342; AVX2-FP-NEXT: vmovaps (%rsi), %ymm71343; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm101344; AVX2-FP-NEXT: vmovaps (%rdx), %ymm51345; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm91346; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm31347; AVX2-FP-NEXT: vmovaps (%rax), %xmm21348; AVX2-FP-NEXT: vmovaps 16(%rax), %xmm01349; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm131350; AVX2-FP-NEXT: vmovaps 48(%rax), %xmm121351; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]1352; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]1353; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm5[6,7]1354; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]1355; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1356; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm151357; AVX2-FP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm11358; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm61359; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]1360; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm11[1],xmm6[1]1361; AVX2-FP-NEXT: vbroadcastsd 40(%rcx), %ymm141362; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]1363; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm11[0,1,2,3,4,5],ymm1[6,7]1364; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1365; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],mem[0],ymm3[2],mem[2]1366; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm9[0],mem[0],ymm9[2],mem[2]1367; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm3[2,3]1368; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1369; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[2]1370; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]1371; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]1372; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1373; AVX2-FP-NEXT: vmovaps (%rdi), %xmm111374; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm141375; AVX2-FP-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm71376; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]1377; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm15, %ymm151378; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm15[0,1,2,3,4,5],ymm7[6,7]1379; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]1380; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm15 = ymm15[0,2,3,3]1381; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm15[0,1,2,3,4,5],ymm9[6,7]1382; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm12[0,1],ymm9[2,3,4,5,6,7]1383; AVX2-FP-NEXT: vmovaps (%rsi), %xmm121384; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm12, %ymm121385; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm151386; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1387; AVX2-FP-NEXT: vmovaps (%r8), %xmm151388; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]1389; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1390; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm10[1],xmm13[1]1391; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]1392; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1393; AVX2-FP-NEXT: vbroadcastsd 8(%rcx), %ymm131394; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]1395; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm13[2,3,4,5,6,7]1396; AVX2-FP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm131397; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm13[6,7]1398; AVX2-FP-NEXT: vmovaps (%r8), %ymm131399; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm5[0],mem[0],ymm5[2],mem[2]1400; AVX2-FP-NEXT: vmovaps (%r9), %ymm01401; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm0[0],ymm13[2],ymm0[2]1402; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]1403; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm51404; AVX2-FP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]1405; AVX2-FP-NEXT: vbroadcastsd 56(%r9), %ymm31406; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5,6,7]1407; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm14[0],mem[0]1408; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm51409; AVX2-FP-NEXT: vbroadcastsd 32(%rcx), %ymm61410; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]1411; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm15[0],mem[0]1412; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm6, %ymm61413; AVX2-FP-NEXT: vbroadcastsd %xmm2, %ymm21414; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm2[4,5],ymm6[6,7]1415; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm13[1],ymm0[1],ymm13[3],ymm0[3]1416; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1417; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1418; AVX2-FP-NEXT: vbroadcastsd 24(%rcx), %ymm61419; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]1420; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rcx1421; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1422; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rcx)1423; AVX2-FP-NEXT: vmovaps %ymm10, 64(%rcx)1424; AVX2-FP-NEXT: vmovaps %ymm8, 320(%rcx)1425; AVX2-FP-NEXT: vmovaps %ymm12, (%rcx)1426; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rcx)1427; AVX2-FP-NEXT: vmovaps %ymm9, 384(%rcx)1428; AVX2-FP-NEXT: vmovaps %ymm7, 256(%rcx)1429; AVX2-FP-NEXT: vmovaps %ymm2, 32(%rcx)1430; AVX2-FP-NEXT: vmovaps %ymm4, 96(%rcx)1431; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1432; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rcx)1433; AVX2-FP-NEXT: vmovaps %ymm5, 224(%rcx)1434; AVX2-FP-NEXT: vmovaps %ymm3, 416(%rcx)1435; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1436; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rcx)1437; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1438; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rcx)1439; AVX2-FP-NEXT: vzeroupper1440; AVX2-FP-NEXT: retq1441;1442; AVX2-FCP-LABEL: store_i64_stride7_vf8:1443; AVX2-FCP: # %bb.0:1444; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1445; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm81446; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm41447; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm71448; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm101449; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm51450; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm91451; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm31452; AVX2-FCP-NEXT: vmovaps (%rax), %xmm21453; AVX2-FCP-NEXT: vmovaps 16(%rax), %xmm01454; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm131455; AVX2-FCP-NEXT: vmovaps 48(%rax), %xmm121456; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]1457; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]1458; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm5[6,7]1459; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]1460; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1461; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm151462; AVX2-FCP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm11463; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm61464; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]1465; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm11[1],xmm6[1]1466; AVX2-FCP-NEXT: vbroadcastsd 40(%rcx), %ymm141467; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm14[4,5,6,7]1468; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm11[0,1,2,3,4,5],ymm1[6,7]1469; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1470; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],mem[0],ymm3[2],mem[2]1471; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm9[0],mem[0],ymm9[2],mem[2]1472; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm3[2,3]1473; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1474; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[2]1475; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]1476; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]1477; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1478; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm111479; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm141480; AVX2-FCP-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm71481; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]1482; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm15, %ymm151483; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm15[0,1,2,3,4,5],ymm7[6,7]1484; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]1485; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm15 = ymm15[0,2,3,3]1486; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm15[0,1,2,3,4,5],ymm9[6,7]1487; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm12[0,1],ymm9[2,3,4,5,6,7]1488; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm121489; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm12, %ymm121490; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm11, %ymm151491; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1492; AVX2-FCP-NEXT: vmovaps (%r8), %xmm151493; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]1494; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1495; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm10[1],xmm13[1]1496; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]1497; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1498; AVX2-FCP-NEXT: vbroadcastsd 8(%rcx), %ymm131499; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]1500; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm13[2,3,4,5,6,7]1501; AVX2-FCP-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm131502; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm13[6,7]1503; AVX2-FCP-NEXT: vmovaps (%r8), %ymm131504; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm5[0],mem[0],ymm5[2],mem[2]1505; AVX2-FCP-NEXT: vmovaps (%r9), %ymm01506; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm0[0],ymm13[2],ymm0[2]1507; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]1508; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm51509; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]1510; AVX2-FCP-NEXT: vbroadcastsd 56(%r9), %ymm31511; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm3[4,5,6,7]1512; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm14[0],mem[0]1513; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm51514; AVX2-FCP-NEXT: vbroadcastsd 32(%rcx), %ymm61515; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]1516; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm15[0],mem[0]1517; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm6, %ymm61518; AVX2-FCP-NEXT: vbroadcastsd %xmm2, %ymm21519; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm2[4,5],ymm6[6,7]1520; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm13[1],ymm0[1],ymm13[3],ymm0[3]1521; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1522; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]1523; AVX2-FCP-NEXT: vbroadcastsd 24(%rcx), %ymm61524; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]1525; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rcx1526; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]1527; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rcx)1528; AVX2-FCP-NEXT: vmovaps %ymm10, 64(%rcx)1529; AVX2-FCP-NEXT: vmovaps %ymm8, 320(%rcx)1530; AVX2-FCP-NEXT: vmovaps %ymm12, (%rcx)1531; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rcx)1532; AVX2-FCP-NEXT: vmovaps %ymm9, 384(%rcx)1533; AVX2-FCP-NEXT: vmovaps %ymm7, 256(%rcx)1534; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%rcx)1535; AVX2-FCP-NEXT: vmovaps %ymm4, 96(%rcx)1536; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1537; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rcx)1538; AVX2-FCP-NEXT: vmovaps %ymm5, 224(%rcx)1539; AVX2-FCP-NEXT: vmovaps %ymm3, 416(%rcx)1540; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1541; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rcx)1542; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1543; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rcx)1544; AVX2-FCP-NEXT: vzeroupper1545; AVX2-FCP-NEXT: retq1546;1547; AVX512-LABEL: store_i64_stride7_vf8:1548; AVX512: # %bb.0:1549; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax1550; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r101551; AVX512-NEXT: vmovdqa64 (%rdi), %zmm51552; AVX512-NEXT: vmovdqa64 (%rsi), %zmm61553; AVX512-NEXT: vmovdqa64 (%rdx), %zmm81554; AVX512-NEXT: vmovdqa64 (%rcx), %zmm71555; AVX512-NEXT: vmovdqa64 (%r8), %zmm01556; AVX512-NEXT: vmovdqa64 (%r9), %zmm21557; AVX512-NEXT: vmovdqa64 (%r10), %zmm11558; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm3 = [15,7,15,7,15,7,15,7]1559; AVX512-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1560; AVX512-NEXT: vmovdqa64 %zmm8, %zmm91561; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [2,10,0,3,2,10,0,3]1562; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1563; AVX512-NEXT: vpermi2q %zmm7, %zmm8, %zmm41564; AVX512-NEXT: vmovdqa64 %zmm8, %zmm111565; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]1566; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]1567; AVX512-NEXT: vpermi2q %zmm8, %zmm7, %zmm101568; AVX512-NEXT: vmovdqa64 %zmm8, %zmm131569; AVX512-NEXT: vpermt2q %zmm7, %zmm3, %zmm131570; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,8,0,1,0,8,0,1]1571; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1572; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm81573; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,6,14,6,14,6,14]1574; AVX512-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1575; AVX512-NEXT: vpermt2q %zmm7, %zmm14, %zmm91576; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm141577; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,3,11,3,11,3,11,3]1578; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1579; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm151580; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [13,5,13,5,13,5,13,5]1581; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1582; AVX512-NEXT: vpermt2q %zmm7, %zmm12, %zmm111583; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [1,0,10,2,1,0,10,2]1584; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]1585; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm71586; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm121587; AVX512-NEXT: movb $48, %sil1588; AVX512-NEXT: kmovw %esi, %k11589; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k1} = zmm5[0],zmm6[0],zmm5[2],zmm6[2],zmm5[4],zmm6[4],zmm5[6],zmm6[6]1590; AVX512-NEXT: vpermt2q %zmm6, %zmm3, %zmm51591; AVX512-NEXT: movb $24, %sil1592; AVX512-NEXT: kmovw %esi, %k11593; AVX512-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}1594; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm31595; AVX512-NEXT: movb $96, %sil1596; AVX512-NEXT: kmovw %esi, %k11597; AVX512-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}1598; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [14,1,2,3,4,5,6,15]1599; AVX512-NEXT: vpermi2q %zmm1, %zmm5, %zmm31600; AVX512-NEXT: vmovdqa (%rdx), %xmm51601; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]1602; AVX512-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm51603; AVX512-NEXT: movb $12, %sil1604; AVX512-NEXT: kmovw %esi, %k21605; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm8 {%k2}1606; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [0,8,0,8,0,8,0,8]1607; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1608; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm51609; AVX512-NEXT: vinserti32x4 $3, (%r10), %zmm5, %zmm51610; AVX512-NEXT: movb $112, %sil1611; AVX512-NEXT: kmovw %esi, %k21612; AVX512-NEXT: vmovdqa64 %zmm5, %zmm8 {%k2}1613; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm14[0,1,2,3],zmm9[4,5,6,7]1614; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [5,0,14,6,5,0,14,6]1615; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1616; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm61617; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]1618; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1619; AVX512-NEXT: vpermi2q %zmm1, %zmm6, %zmm91620; AVX512-NEXT: movb $-61, %sil1621; AVX512-NEXT: kmovw %esi, %k21622; AVX512-NEXT: vmovdqa64 %zmm9, %zmm5 {%k2}1623; AVX512-NEXT: vmovdqa64 %zmm15, %zmm4 {%k1}1624; AVX512-NEXT: vmovdqa (%r9), %ymm61625; AVX512-NEXT: vmovdqa (%r8), %ymm91626; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]1627; AVX512-NEXT: movb $28, %sil1628; AVX512-NEXT: kmovw %esi, %k21629; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm13[2,3,2,3],zmm1[2,3,2,3]1630; AVX512-NEXT: vpbroadcastq 8(%rcx), %ymm131631; AVX512-NEXT: vpblendd {{.*#+}} ymm13 = mem[0,1,2,3],ymm13[4,5,6,7]1632; AVX512-NEXT: movb $6, %cl1633; AVX512-NEXT: kmovw %ecx, %k21634; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm7 {%k2}1635; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [9,1,9,1,9,1,9,1]1636; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1637; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm131638; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [4,9,0,3,4,9,0,3]1639; AVX512-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]1640; AVX512-NEXT: vpermi2q %zmm1, %zmm13, %zmm141641; AVX512-NEXT: movb $56, %cl1642; AVX512-NEXT: kmovw %ecx, %k21643; AVX512-NEXT: vmovdqa64 %zmm14, %zmm7 {%k2}1644; AVX512-NEXT: vmovdqa64 %zmm11, %zmm12 {%k1}1645; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [4,12,0,5,4,12,0,5]1646; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]1647; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm111648; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [0,1,12,7,0,1,12,7]1649; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1650; AVX512-NEXT: vpermi2q %zmm1, %zmm11, %zmm01651; AVX512-NEXT: movb $120, %cl1652; AVX512-NEXT: kmovw %ecx, %k11653; AVX512-NEXT: vmovdqa64 %zmm12, %zmm0 {%k1}1654; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]1655; AVX512-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,3,3]1656; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]1657; AVX512-NEXT: movb $14, %cl1658; AVX512-NEXT: kmovw %ecx, %k11659; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm10 {%k1}1660; AVX512-NEXT: vmovdqa64 %zmm0, 256(%rax)1661; AVX512-NEXT: vmovdqa64 %zmm7, 64(%rax)1662; AVX512-NEXT: vmovdqa64 %zmm4, 128(%rax)1663; AVX512-NEXT: vmovdqa64 %zmm5, 320(%rax)1664; AVX512-NEXT: vmovdqa64 %zmm8, (%rax)1665; AVX512-NEXT: vmovdqa64 %zmm3, 384(%rax)1666; AVX512-NEXT: vmovdqa64 %zmm10, 192(%rax)1667; AVX512-NEXT: vzeroupper1668; AVX512-NEXT: retq1669;1670; AVX512-FCP-LABEL: store_i64_stride7_vf8:1671; AVX512-FCP: # %bb.0:1672; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1673; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101674; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm01675; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm51676; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm41677; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm71678; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm21679; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm31680; AVX512-FCP-NEXT: vmovdqa64 (%r10), %zmm11681; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [15,7,15,7,15,7,15,7]1682; AVX512-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1683; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm81684; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm81685; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm91686; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm91687; AVX512-FCP-NEXT: movb $24, %sil1688; AVX512-FCP-NEXT: kmovw %esi, %k11689; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1690; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm61691; AVX512-FCP-NEXT: movb $96, %sil1692; AVX512-FCP-NEXT: kmovw %esi, %k11693; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm9 {%k1}1694; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,1,2,3,4,5,6,15]1695; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm61696; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,8,0,1,0,8,0,1]1697; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1698; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm81699; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm91700; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm9 = xmm9[0],mem[0]1701; AVX512-FCP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm91702; AVX512-FCP-NEXT: movb $12, %sil1703; AVX512-FCP-NEXT: kmovw %esi, %k21704; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm8 {%k2}1705; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [0,8,0,8,0,8,0,8]1706; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1707; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91708; AVX512-FCP-NEXT: vinserti32x4 $3, (%r10), %zmm9, %zmm91709; AVX512-FCP-NEXT: movb $112, %sil1710; AVX512-FCP-NEXT: kmovw %esi, %k21711; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k2}1712; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [6,14,6,14,6,14,6,14]1713; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1714; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm101715; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm9, %zmm101716; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm91717; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm10[4,5,6,7]1718; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [5,0,14,6,5,0,14,6]1719; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]1720; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm101721; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [0,13,6,7,0,13,6,7]1722; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]1723; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm10, %zmm111724; AVX512-FCP-NEXT: movb $-61, %sil1725; AVX512-FCP-NEXT: kmovw %esi, %k21726; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm9 {%k2}1727; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]1728; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]1729; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm7, %zmm101730; AVX512-FCP-NEXT: movb $48, %sil1731; AVX512-FCP-NEXT: kmovw %esi, %k21732; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k2} = zmm0[0],zmm5[0],zmm0[2],zmm5[2],zmm0[4],zmm5[4],zmm0[6],zmm5[6]1733; AVX512-FCP-NEXT: vmovdqa (%r9), %ymm111734; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm121735; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm13 = [1,3,7,0]1736; AVX512-FCP-NEXT: vpermi2q %ymm11, %ymm12, %ymm131737; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]1738; AVX512-FCP-NEXT: movb $14, %sil1739; AVX512-FCP-NEXT: kmovw %esi, %k21740; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm10 {%k2}1741; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [11,3,11,3,11,3,11,3]1742; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1743; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm131744; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [2,10,0,3,2,10,0,3]1745; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]1746; AVX512-FCP-NEXT: vpermi2q %zmm7, %zmm4, %zmm141747; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm14 {%k1}1748; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1749; AVX512-FCP-NEXT: movb $28, %sil1750; AVX512-FCP-NEXT: kmovw %esi, %k21751; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm11[2,3,2,3],zmm1[2,3,2,3]1752; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]1753; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]1754; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm111755; AVX512-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm121756; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm12 = mem[0,1,2,3],ymm12[4,5,6,7]1757; AVX512-FCP-NEXT: movb $6, %cl1758; AVX512-FCP-NEXT: kmovw %ecx, %k21759; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm0, %zmm11 {%k2}1760; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]1761; AVX512-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1762; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm121763; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]1764; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]1765; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm12, %zmm131766; AVX512-FCP-NEXT: movb $56, %cl1767; AVX512-FCP-NEXT: kmovw %ecx, %k21768; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k2}1769; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [13,5,13,5,13,5,13,5]1770; AVX512-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1771; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm41772; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm12, %zmm01773; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1774; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,12,0,5,4,12,0,5]1775; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1776; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm41777; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,12,7,0,1,12,7]1778; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]1779; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm4, %zmm21780; AVX512-FCP-NEXT: movb $120, %cl1781; AVX512-FCP-NEXT: kmovw %ecx, %k11782; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}1783; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 256(%rax)1784; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 64(%rax)1785; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)1786; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)1787; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 320(%rax)1788; AVX512-FCP-NEXT: vmovdqa64 %zmm8, (%rax)1789; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 384(%rax)1790; AVX512-FCP-NEXT: vzeroupper1791; AVX512-FCP-NEXT: retq1792;1793; AVX512DQ-LABEL: store_i64_stride7_vf8:1794; AVX512DQ: # %bb.0:1795; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax1796; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r101797; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm41798; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm51799; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm71800; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm61801; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm01802; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm21803; AVX512DQ-NEXT: vmovdqa64 (%r10), %zmm11804; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1805; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1806; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [2,10,0,3,2,10,0,3]1807; AVX512DQ-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]1808; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm7, %zmm31809; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm91810; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm111811; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]1812; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]1813; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm6, %zmm101814; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm8, %zmm71815; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm81816; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm7 = zmm8[0,1,2,3],zmm7[4,5,6,7]1817; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [5,0,14,6,5,0,14,6]1818; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1819; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm81820; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,13,6,7,0,13,6,7]1821; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]1822; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm8, %zmm121823; AVX512DQ-NEXT: movb $-61, %sil1824; AVX512DQ-NEXT: kmovw %esi, %k11825; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm7 {%k1}1826; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [11,3,11,3,11,3,11,3]1827; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1828; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm81829; AVX512DQ-NEXT: movb $96, %sil1830; AVX512DQ-NEXT: kmovw %esi, %k11831; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm3 {%k1}1832; AVX512DQ-NEXT: vmovdqa (%r9), %ymm81833; AVX512DQ-NEXT: vmovdqa (%r8), %ymm121834; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm8[0],ymm12[2],ymm8[2]1835; AVX512DQ-NEXT: movb $28, %sil1836; AVX512DQ-NEXT: kmovw %esi, %k21837; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k2} = zmm13[2,3,2,3],zmm1[2,3,2,3]1838; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [15,7,15,7,15,7,15,7]1839; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1840; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm13, %zmm91841; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [1,0,10,2,1,0,10,2]1842; AVX512DQ-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]1843; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm141844; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [13,5,13,5,13,5,13,5]1845; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1846; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm15, %zmm111847; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,0,1,0,8,0,1]1848; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1849; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm61850; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm151851; AVX512DQ-NEXT: movb $48, %sil1852; AVX512DQ-NEXT: kmovw %esi, %k21853; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k2} = zmm4[0],zmm5[0],zmm4[2],zmm5[2],zmm4[4],zmm5[4],zmm4[6],zmm5[6]1854; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm13, %zmm41855; AVX512DQ-NEXT: movb $24, %sil1856; AVX512DQ-NEXT: kmovw %esi, %k21857; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm4 {%k2}1858; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm131859; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm4 {%k1}1860; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,1,2,3,4,5,6,15]1861; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm4, %zmm51862; AVX512DQ-NEXT: vpbroadcastq 8(%rcx), %ymm41863; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]1864; AVX512DQ-NEXT: movb $6, %sil1865; AVX512DQ-NEXT: kmovw %esi, %k21866; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm14 {%k2}1867; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [9,1,9,1,9,1,9,1]1868; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1869; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm41870; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,9,0,3,4,9,0,3]1871; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1872; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm4, %zmm91873; AVX512DQ-NEXT: movb $56, %sil1874; AVX512DQ-NEXT: kmovw %esi, %k21875; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm14 {%k2}1876; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm41877; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm4 = xmm4[0],mem[0]1878; AVX512DQ-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm41879; AVX512DQ-NEXT: movb $12, %cl1880; AVX512DQ-NEXT: kmovw %ecx, %k21881; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm6 {%k2}1882; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [0,8,0,8,0,8,0,8]1883; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1884; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm41885; AVX512DQ-NEXT: movb $112, %cl1886; AVX512DQ-NEXT: kmovw %ecx, %k21887; AVX512DQ-NEXT: vinserti64x2 $3, (%r10), %zmm4, %zmm6 {%k2}1888; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm15 {%k1}1889; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,12,0,5,4,12,0,5]1890; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1891; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm41892; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [0,1,12,7,0,1,12,7]1893; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1894; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm4, %zmm01895; AVX512DQ-NEXT: movb $120, %cl1896; AVX512DQ-NEXT: kmovw %ecx, %k11897; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}1898; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm8[1],ymm12[3],ymm8[3]1899; AVX512DQ-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,3,3]1900; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]1901; AVX512DQ-NEXT: movb $14, %cl1902; AVX512DQ-NEXT: kmovw %ecx, %k11903; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm10 {%k1}1904; AVX512DQ-NEXT: vmovdqa64 %zmm0, 256(%rax)1905; AVX512DQ-NEXT: vmovdqa64 %zmm6, (%rax)1906; AVX512DQ-NEXT: vmovdqa64 %zmm14, 64(%rax)1907; AVX512DQ-NEXT: vmovdqa64 %zmm5, 384(%rax)1908; AVX512DQ-NEXT: vmovdqa64 %zmm3, 128(%rax)1909; AVX512DQ-NEXT: vmovdqa64 %zmm10, 192(%rax)1910; AVX512DQ-NEXT: vmovdqa64 %zmm7, 320(%rax)1911; AVX512DQ-NEXT: vzeroupper1912; AVX512DQ-NEXT: retq1913;1914; AVX512DQ-FCP-LABEL: store_i64_stride7_vf8:1915; AVX512DQ-FCP: # %bb.0:1916; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1917; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101918; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm01919; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm61920; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm51921; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm71922; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm31923; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm41924; AVX512DQ-FCP-NEXT: vmovdqa64 (%r10), %zmm21925; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [6,14,6,14,6,14,6,14]1926; AVX512DQ-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1927; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm81928; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm81929; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm11930; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm8[4,5,6,7]1931; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [5,0,14,6,5,0,14,6]1932; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1933; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm81934; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]1935; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1936; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm8, %zmm91937; AVX512DQ-FCP-NEXT: movb $-61, %sil1938; AVX512DQ-FCP-NEXT: kmovw %esi, %k11939; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm1 {%k1}1940; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [3,0,12,4,3,0,12,4]1941; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1942; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm7, %zmm81943; AVX512DQ-FCP-NEXT: movb $48, %sil1944; AVX512DQ-FCP-NEXT: kmovw %esi, %k11945; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm8 {%k1} = zmm0[0],zmm6[0],zmm0[2],zmm6[2],zmm0[4],zmm6[4],zmm0[6],zmm6[6]1946; AVX512DQ-FCP-NEXT: vmovdqa (%r9), %ymm101947; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm111948; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [1,3,7,0]1949; AVX512DQ-FCP-NEXT: vpermi2q %ymm10, %ymm11, %ymm91950; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]1951; AVX512DQ-FCP-NEXT: movb $14, %sil1952; AVX512DQ-FCP-NEXT: kmovw %esi, %k11953; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm8 {%k1}1954; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [11,3,11,3,11,3,11,3]1955; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1956; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm121957; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [2,10,0,3,2,10,0,3]1958; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1959; AVX512DQ-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm91960; AVX512DQ-FCP-NEXT: movb $96, %sil1961; AVX512DQ-FCP-NEXT: kmovw %esi, %k11962; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm9 {%k1}1963; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]1964; AVX512DQ-FCP-NEXT: movb $28, %sil1965; AVX512DQ-FCP-NEXT: kmovw %esi, %k21966; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k2} = zmm10[2,3,2,3],zmm2[2,3,2,3]1967; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [15,7,15,7,15,7,15,7]1968; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1969; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm111970; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm10, %zmm111971; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm121972; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm121973; AVX512DQ-FCP-NEXT: movb $24, %sil1974; AVX512DQ-FCP-NEXT: kmovw %esi, %k21975; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm12 {%k2}1976; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm101977; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}1978; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [14,1,2,3,4,5,6,15]1979; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm12, %zmm101980; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]1981; AVX512DQ-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]1982; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm111983; AVX512DQ-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm121984; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm12 = mem[0,1,2,3],ymm12[4,5,6,7]1985; AVX512DQ-FCP-NEXT: movb $6, %sil1986; AVX512DQ-FCP-NEXT: kmovw %esi, %k21987; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm0, %zmm11 {%k2}1988; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]1989; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1990; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm121991; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]1992; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]1993; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm12, %zmm131994; AVX512DQ-FCP-NEXT: movb $56, %sil1995; AVX512DQ-FCP-NEXT: kmovw %esi, %k21996; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k2}1997; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,8,0,1,0,8,0,1]1998; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]1999; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm122000; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm132001; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm13 = xmm13[0],mem[0]2002; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm132003; AVX512DQ-FCP-NEXT: movb $12, %cl2004; AVX512DQ-FCP-NEXT: kmovw %ecx, %k22005; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm12 {%k2}2006; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [0,8,0,8,0,8,0,8]2007; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2008; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm132009; AVX512DQ-FCP-NEXT: movb $112, %cl2010; AVX512DQ-FCP-NEXT: kmovw %ecx, %k22011; AVX512DQ-FCP-NEXT: vinserti64x2 $3, (%r10), %zmm13, %zmm12 {%k2}2012; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,5,13,5,13,5,13,5]2013; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2014; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm52015; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm13, %zmm02016; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}2017; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,12,0,5,4,12,0,5]2018; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2019; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm52020; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,1,12,7,0,1,12,7]2021; AVX512DQ-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]2022; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm5, %zmm32023; AVX512DQ-FCP-NEXT: movb $120, %cl2024; AVX512DQ-FCP-NEXT: kmovw %ecx, %k12025; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}2026; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 256(%rax)2027; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, (%rax)2028; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 64(%rax)2029; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)2030; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 128(%rax)2031; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, 192(%rax)2032; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 320(%rax)2033; AVX512DQ-FCP-NEXT: vzeroupper2034; AVX512DQ-FCP-NEXT: retq2035;2036; AVX512BW-LABEL: store_i64_stride7_vf8:2037; AVX512BW: # %bb.0:2038; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2039; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r102040; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm52041; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm62042; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm82043; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm72044; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm02045; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm22046; AVX512BW-NEXT: vmovdqa64 (%r10), %zmm12047; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm3 = [15,7,15,7,15,7,15,7]2048; AVX512BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2049; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm92050; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [2,10,0,3,2,10,0,3]2051; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2052; AVX512BW-NEXT: vpermi2q %zmm7, %zmm8, %zmm42053; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm112054; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]2055; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]2056; AVX512BW-NEXT: vpermi2q %zmm8, %zmm7, %zmm102057; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm132058; AVX512BW-NEXT: vpermt2q %zmm7, %zmm3, %zmm132059; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,8,0,1,0,8,0,1]2060; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2061; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm82062; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,6,14,6,14,6,14]2063; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2064; AVX512BW-NEXT: vpermt2q %zmm7, %zmm14, %zmm92065; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm142066; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,3,11,3,11,3,11,3]2067; AVX512BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2068; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm152069; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [13,5,13,5,13,5,13,5]2070; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2071; AVX512BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm112072; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [1,0,10,2,1,0,10,2]2073; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]2074; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm72075; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm122076; AVX512BW-NEXT: movb $48, %sil2077; AVX512BW-NEXT: kmovd %esi, %k12078; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k1} = zmm5[0],zmm6[0],zmm5[2],zmm6[2],zmm5[4],zmm6[4],zmm5[6],zmm6[6]2079; AVX512BW-NEXT: vpermt2q %zmm6, %zmm3, %zmm52080; AVX512BW-NEXT: movb $24, %sil2081; AVX512BW-NEXT: kmovd %esi, %k12082; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm5 {%k1}2083; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm32084; AVX512BW-NEXT: movb $96, %sil2085; AVX512BW-NEXT: kmovd %esi, %k12086; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}2087; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [14,1,2,3,4,5,6,15]2088; AVX512BW-NEXT: vpermi2q %zmm1, %zmm5, %zmm32089; AVX512BW-NEXT: vmovdqa (%rdx), %xmm52090; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]2091; AVX512BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm52092; AVX512BW-NEXT: movb $12, %sil2093; AVX512BW-NEXT: kmovd %esi, %k22094; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm8 {%k2}2095; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [0,8,0,8,0,8,0,8]2096; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2097; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm52098; AVX512BW-NEXT: vinserti32x4 $3, (%r10), %zmm5, %zmm52099; AVX512BW-NEXT: movb $112, %sil2100; AVX512BW-NEXT: kmovd %esi, %k22101; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm8 {%k2}2102; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm14[0,1,2,3],zmm9[4,5,6,7]2103; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [5,0,14,6,5,0,14,6]2104; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2105; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm62106; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]2107; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2108; AVX512BW-NEXT: vpermi2q %zmm1, %zmm6, %zmm92109; AVX512BW-NEXT: movb $-61, %sil2110; AVX512BW-NEXT: kmovd %esi, %k22111; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm5 {%k2}2112; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm4 {%k1}2113; AVX512BW-NEXT: vmovdqa (%r9), %ymm62114; AVX512BW-NEXT: vmovdqa (%r8), %ymm92115; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]2116; AVX512BW-NEXT: movb $28, %sil2117; AVX512BW-NEXT: kmovd %esi, %k22118; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm13[2,3,2,3],zmm1[2,3,2,3]2119; AVX512BW-NEXT: vpbroadcastq 8(%rcx), %ymm132120; AVX512BW-NEXT: vpblendd {{.*#+}} ymm13 = mem[0,1,2,3],ymm13[4,5,6,7]2121; AVX512BW-NEXT: movb $6, %cl2122; AVX512BW-NEXT: kmovd %ecx, %k22123; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm7 {%k2}2124; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [9,1,9,1,9,1,9,1]2125; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2126; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm132127; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [4,9,0,3,4,9,0,3]2128; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2129; AVX512BW-NEXT: vpermi2q %zmm1, %zmm13, %zmm142130; AVX512BW-NEXT: movb $56, %cl2131; AVX512BW-NEXT: kmovd %ecx, %k22132; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm7 {%k2}2133; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm12 {%k1}2134; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [4,12,0,5,4,12,0,5]2135; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]2136; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm112137; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [0,1,12,7,0,1,12,7]2138; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]2139; AVX512BW-NEXT: vpermi2q %zmm1, %zmm11, %zmm02140; AVX512BW-NEXT: movb $120, %cl2141; AVX512BW-NEXT: kmovd %ecx, %k12142; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm0 {%k1}2143; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]2144; AVX512BW-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,3,3]2145; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]2146; AVX512BW-NEXT: movb $14, %cl2147; AVX512BW-NEXT: kmovd %ecx, %k12148; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm10 {%k1}2149; AVX512BW-NEXT: vmovdqa64 %zmm0, 256(%rax)2150; AVX512BW-NEXT: vmovdqa64 %zmm7, 64(%rax)2151; AVX512BW-NEXT: vmovdqa64 %zmm4, 128(%rax)2152; AVX512BW-NEXT: vmovdqa64 %zmm5, 320(%rax)2153; AVX512BW-NEXT: vmovdqa64 %zmm8, (%rax)2154; AVX512BW-NEXT: vmovdqa64 %zmm3, 384(%rax)2155; AVX512BW-NEXT: vmovdqa64 %zmm10, 192(%rax)2156; AVX512BW-NEXT: vzeroupper2157; AVX512BW-NEXT: retq2158;2159; AVX512BW-FCP-LABEL: store_i64_stride7_vf8:2160; AVX512BW-FCP: # %bb.0:2161; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2162; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102163; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm02164; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm52165; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm42166; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm72167; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm22168; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm32169; AVX512BW-FCP-NEXT: vmovdqa64 (%r10), %zmm12170; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [15,7,15,7,15,7,15,7]2171; AVX512BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2172; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm82173; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm82174; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm92175; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm92176; AVX512BW-FCP-NEXT: movb $24, %sil2177; AVX512BW-FCP-NEXT: kmovd %esi, %k12178; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}2179; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm62180; AVX512BW-FCP-NEXT: movb $96, %sil2181; AVX512BW-FCP-NEXT: kmovd %esi, %k12182; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm9 {%k1}2183; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,1,2,3,4,5,6,15]2184; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm62185; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,8,0,1,0,8,0,1]2186; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2187; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm82188; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm92189; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm9 = xmm9[0],mem[0]2190; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm92191; AVX512BW-FCP-NEXT: movb $12, %sil2192; AVX512BW-FCP-NEXT: kmovd %esi, %k22193; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm8 {%k2}2194; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [0,8,0,8,0,8,0,8]2195; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2196; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm92197; AVX512BW-FCP-NEXT: vinserti32x4 $3, (%r10), %zmm9, %zmm92198; AVX512BW-FCP-NEXT: movb $112, %sil2199; AVX512BW-FCP-NEXT: kmovd %esi, %k22200; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k2}2201; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [6,14,6,14,6,14,6,14]2202; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2203; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm102204; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm9, %zmm102205; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm92206; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm10[4,5,6,7]2207; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [5,0,14,6,5,0,14,6]2208; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]2209; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm102210; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [0,13,6,7,0,13,6,7]2211; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]2212; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm10, %zmm112213; AVX512BW-FCP-NEXT: movb $-61, %sil2214; AVX512BW-FCP-NEXT: kmovd %esi, %k22215; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm9 {%k2}2216; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]2217; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]2218; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm7, %zmm102219; AVX512BW-FCP-NEXT: movb $48, %sil2220; AVX512BW-FCP-NEXT: kmovd %esi, %k22221; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k2} = zmm0[0],zmm5[0],zmm0[2],zmm5[2],zmm0[4],zmm5[4],zmm0[6],zmm5[6]2222; AVX512BW-FCP-NEXT: vmovdqa (%r9), %ymm112223; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm122224; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm13 = [1,3,7,0]2225; AVX512BW-FCP-NEXT: vpermi2q %ymm11, %ymm12, %ymm132226; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]2227; AVX512BW-FCP-NEXT: movb $14, %sil2228; AVX512BW-FCP-NEXT: kmovd %esi, %k22229; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm10 {%k2}2230; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [11,3,11,3,11,3,11,3]2231; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2232; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm132233; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [2,10,0,3,2,10,0,3]2234; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2235; AVX512BW-FCP-NEXT: vpermi2q %zmm7, %zmm4, %zmm142236; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm14 {%k1}2237; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2238; AVX512BW-FCP-NEXT: movb $28, %sil2239; AVX512BW-FCP-NEXT: kmovd %esi, %k22240; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm11[2,3,2,3],zmm1[2,3,2,3]2241; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]2242; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]2243; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm112244; AVX512BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm122245; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = mem[0,1,2,3],ymm12[4,5,6,7]2246; AVX512BW-FCP-NEXT: movb $6, %cl2247; AVX512BW-FCP-NEXT: kmovd %ecx, %k22248; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm0, %zmm11 {%k2}2249; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]2250; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2251; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm122252; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]2253; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]2254; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm12, %zmm132255; AVX512BW-FCP-NEXT: movb $56, %cl2256; AVX512BW-FCP-NEXT: kmovd %ecx, %k22257; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k2}2258; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [13,5,13,5,13,5,13,5]2259; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2260; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm42261; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm12, %zmm02262; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}2263; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,12,0,5,4,12,0,5]2264; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2265; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm42266; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,1,12,7,0,1,12,7]2267; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]2268; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm4, %zmm22269; AVX512BW-FCP-NEXT: movb $120, %cl2270; AVX512BW-FCP-NEXT: kmovd %ecx, %k12271; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}2272; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 256(%rax)2273; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 64(%rax)2274; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)2275; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 192(%rax)2276; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 320(%rax)2277; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, (%rax)2278; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 384(%rax)2279; AVX512BW-FCP-NEXT: vzeroupper2280; AVX512BW-FCP-NEXT: retq2281;2282; AVX512DQ-BW-LABEL: store_i64_stride7_vf8:2283; AVX512DQ-BW: # %bb.0:2284; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2285; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r102286; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm42287; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm52288; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm72289; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm62290; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm02291; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm22292; AVX512DQ-BW-NEXT: vmovdqa64 (%r10), %zmm12293; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]2294; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2295; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [2,10,0,3,2,10,0,3]2296; AVX512DQ-BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]2297; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm7, %zmm32298; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm92299; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm112300; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [3,0,12,4,3,0,12,4]2301; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]2302; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm102303; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm8, %zmm72304; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm82305; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm7 = zmm8[0,1,2,3],zmm7[4,5,6,7]2306; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [5,0,14,6,5,0,14,6]2307; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2308; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm82309; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,13,6,7,0,13,6,7]2310; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]2311; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm122312; AVX512DQ-BW-NEXT: movb $-61, %sil2313; AVX512DQ-BW-NEXT: kmovd %esi, %k12314; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm7 {%k1}2315; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [11,3,11,3,11,3,11,3]2316; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2317; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm82318; AVX512DQ-BW-NEXT: movb $96, %sil2319; AVX512DQ-BW-NEXT: kmovd %esi, %k12320; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm3 {%k1}2321; AVX512DQ-BW-NEXT: vmovdqa (%r9), %ymm82322; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm122323; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm8[0],ymm12[2],ymm8[2]2324; AVX512DQ-BW-NEXT: movb $28, %sil2325; AVX512DQ-BW-NEXT: kmovd %esi, %k22326; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k2} = zmm13[2,3,2,3],zmm1[2,3,2,3]2327; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [15,7,15,7,15,7,15,7]2328; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2329; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm13, %zmm92330; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [1,0,10,2,1,0,10,2]2331; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2332; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm142333; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [13,5,13,5,13,5,13,5]2334; AVX512DQ-BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2335; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm15, %zmm112336; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,0,1,0,8,0,1]2337; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2338; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm62339; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm152340; AVX512DQ-BW-NEXT: movb $48, %sil2341; AVX512DQ-BW-NEXT: kmovd %esi, %k22342; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm10 {%k2} = zmm4[0],zmm5[0],zmm4[2],zmm5[2],zmm4[4],zmm5[4],zmm4[6],zmm5[6]2343; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm13, %zmm42344; AVX512DQ-BW-NEXT: movb $24, %sil2345; AVX512DQ-BW-NEXT: kmovd %esi, %k22346; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm4 {%k2}2347; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm132348; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm4 {%k1}2349; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,1,2,3,4,5,6,15]2350; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm4, %zmm52351; AVX512DQ-BW-NEXT: vpbroadcastq 8(%rcx), %ymm42352; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]2353; AVX512DQ-BW-NEXT: movb $6, %sil2354; AVX512DQ-BW-NEXT: kmovd %esi, %k22355; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm14 {%k2}2356; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [9,1,9,1,9,1,9,1]2357; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2358; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm42359; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,9,0,3,4,9,0,3]2360; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2361; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm4, %zmm92362; AVX512DQ-BW-NEXT: movb $56, %sil2363; AVX512DQ-BW-NEXT: kmovd %esi, %k22364; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm14 {%k2}2365; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm42366; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm4 = xmm4[0],mem[0]2367; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm42368; AVX512DQ-BW-NEXT: movb $12, %cl2369; AVX512DQ-BW-NEXT: kmovd %ecx, %k22370; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm6 {%k2}2371; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [0,8,0,8,0,8,0,8]2372; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2373; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm42374; AVX512DQ-BW-NEXT: movb $112, %cl2375; AVX512DQ-BW-NEXT: kmovd %ecx, %k22376; AVX512DQ-BW-NEXT: vinserti64x2 $3, (%r10), %zmm4, %zmm6 {%k2}2377; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm15 {%k1}2378; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,12,0,5,4,12,0,5]2379; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2380; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm42381; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [0,1,12,7,0,1,12,7]2382; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]2383; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm4, %zmm02384; AVX512DQ-BW-NEXT: movb $120, %cl2385; AVX512DQ-BW-NEXT: kmovd %ecx, %k12386; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}2387; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm8[1],ymm12[3],ymm8[3]2388; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,3,3]2389; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]2390; AVX512DQ-BW-NEXT: movb $14, %cl2391; AVX512DQ-BW-NEXT: kmovd %ecx, %k12392; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm10 {%k1}2393; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 256(%rax)2394; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, (%rax)2395; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 64(%rax)2396; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 384(%rax)2397; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 128(%rax)2398; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, 192(%rax)2399; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 320(%rax)2400; AVX512DQ-BW-NEXT: vzeroupper2401; AVX512DQ-BW-NEXT: retq2402;2403; AVX512DQ-BW-FCP-LABEL: store_i64_stride7_vf8:2404; AVX512DQ-BW-FCP: # %bb.0:2405; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2406; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102407; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm02408; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm62409; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm52410; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm72411; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm32412; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm42413; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r10), %zmm22414; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [6,14,6,14,6,14,6,14]2415; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2416; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm82417; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm82418; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm12419; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm8[4,5,6,7]2420; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [5,0,14,6,5,0,14,6]2421; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2422; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm82423; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]2424; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2425; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm8, %zmm92426; AVX512DQ-BW-FCP-NEXT: movb $-61, %sil2427; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k12428; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1 {%k1}2429; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [3,0,12,4,3,0,12,4]2430; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2431; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm7, %zmm82432; AVX512DQ-BW-FCP-NEXT: movb $48, %sil2433; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k12434; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm8 {%k1} = zmm0[0],zmm6[0],zmm0[2],zmm6[2],zmm0[4],zmm6[4],zmm0[6],zmm6[6]2435; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r9), %ymm102436; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm112437; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [1,3,7,0]2438; AVX512DQ-BW-FCP-NEXT: vpermi2q %ymm10, %ymm11, %ymm92439; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]2440; AVX512DQ-BW-FCP-NEXT: movb $14, %sil2441; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k12442; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm8 {%k1}2443; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [11,3,11,3,11,3,11,3]2444; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2445; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm122446; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [2,10,0,3,2,10,0,3]2447; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2448; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm92449; AVX512DQ-BW-FCP-NEXT: movb $96, %sil2450; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k12451; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm9 {%k1}2452; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]2453; AVX512DQ-BW-FCP-NEXT: movb $28, %sil2454; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k22455; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k2} = zmm10[2,3,2,3],zmm2[2,3,2,3]2456; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [15,7,15,7,15,7,15,7]2457; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2458; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm112459; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm10, %zmm112460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm122461; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm122462; AVX512DQ-BW-FCP-NEXT: movb $24, %sil2463; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k22464; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm12 {%k2}2465; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm102466; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm12 {%k1}2467; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [14,1,2,3,4,5,6,15]2468; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm12, %zmm102469; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]2470; AVX512DQ-BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]2471; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm112472; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm122473; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = mem[0,1,2,3],ymm12[4,5,6,7]2474; AVX512DQ-BW-FCP-NEXT: movb $6, %sil2475; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k22476; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm0, %zmm11 {%k2}2477; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]2478; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2479; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm122480; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]2481; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]2482; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm12, %zmm132483; AVX512DQ-BW-FCP-NEXT: movb $56, %sil2484; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k22485; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k2}2486; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,8,0,1,0,8,0,1]2487; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]2488; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm122489; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm132490; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm13 = xmm13[0],mem[0]2491; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm132492; AVX512DQ-BW-FCP-NEXT: movb $12, %cl2493; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k22494; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm0, %zmm12 {%k2}2495; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [0,8,0,8,0,8,0,8]2496; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2497; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm132498; AVX512DQ-BW-FCP-NEXT: movb $112, %cl2499; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k22500; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, (%r10), %zmm13, %zmm12 {%k2}2501; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,5,13,5,13,5,13,5]2502; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2503; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm52504; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm13, %zmm02505; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}2506; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,12,0,5,4,12,0,5]2507; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2508; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm3, %zmm52509; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,1,12,7,0,1,12,7]2510; AVX512DQ-BW-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]2511; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm5, %zmm32512; AVX512DQ-BW-FCP-NEXT: movb $120, %cl2513; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k12514; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}2515; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 256(%rax)2516; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, (%rax)2517; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 64(%rax)2518; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)2519; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 128(%rax)2520; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, 192(%rax)2521; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 320(%rax)2522; AVX512DQ-BW-FCP-NEXT: vzeroupper2523; AVX512DQ-BW-FCP-NEXT: retq2524 %in.vec0 = load <8 x i64>, ptr %in.vecptr0, align 642525 %in.vec1 = load <8 x i64>, ptr %in.vecptr1, align 642526 %in.vec2 = load <8 x i64>, ptr %in.vecptr2, align 642527 %in.vec3 = load <8 x i64>, ptr %in.vecptr3, align 642528 %in.vec4 = load <8 x i64>, ptr %in.vecptr4, align 642529 %in.vec5 = load <8 x i64>, ptr %in.vecptr5, align 642530 %in.vec6 = load <8 x i64>, ptr %in.vecptr6, align 642531 %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>2532 %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>2533 %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>2534 %4 = 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>2535 %5 = shufflevector <8 x i64> %in.vec6, <8 x i64> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>2536 %6 = shufflevector <16 x i64> %3, <16 x i64> %5, <24 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>2537 %7 = shufflevector <24 x i64> %6, <24 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>2538 %8 = shufflevector <32 x i64> %4, <32 x i64> %7, <56 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>2539 %interleaved.vec = shufflevector <56 x i64> %8, <56 x i64> poison, <56 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55>2540 store <56 x i64> %interleaved.vec, ptr %out.vec, align 642541 ret void2542}2543 2544define void @store_i64_stride7_vf16(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {2545; SSE-LABEL: store_i64_stride7_vf16:2546; SSE: # %bb.0:2547; SSE-NEXT: subq $536, %rsp # imm = 0x2182548; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2549; SSE-NEXT: movapd (%rdi), %xmm22550; SSE-NEXT: movapd 16(%rdi), %xmm32551; SSE-NEXT: movapd 32(%rdi), %xmm62552; SSE-NEXT: movapd (%rsi), %xmm42553; SSE-NEXT: movapd 16(%rsi), %xmm72554; SSE-NEXT: movapd (%rdx), %xmm52555; SSE-NEXT: movapd 16(%rdx), %xmm82556; SSE-NEXT: movapd (%rcx), %xmm92557; SSE-NEXT: movapd 16(%rcx), %xmm112558; SSE-NEXT: movapd (%r8), %xmm102559; SSE-NEXT: movapd 16(%r8), %xmm122560; SSE-NEXT: movapd (%r9), %xmm132561; SSE-NEXT: movapd 16(%r9), %xmm152562; SSE-NEXT: movapd (%rax), %xmm02563; SSE-NEXT: movapd 16(%rax), %xmm12564; SSE-NEXT: movapd %xmm2, %xmm142565; SSE-NEXT: unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm4[0]2566; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2567; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]2568; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2569; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm5[1]2570; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2571; SSE-NEXT: unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm9[0]2572; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2573; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]2574; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2575; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm13[0]2576; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2577; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]2578; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2579; SSE-NEXT: movapd %xmm3, %xmm02580; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm7[0]2581; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2582; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm1[0],xmm3[1]2583; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2584; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm8[1]2585; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2586; SSE-NEXT: unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm11[0]2587; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2588; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm12[1]2589; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2590; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm15[0]2591; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2592; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm1[1]2593; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2594; SSE-NEXT: movapd 32(%rsi), %xmm12595; SSE-NEXT: movapd %xmm6, %xmm02596; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]2597; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2598; SSE-NEXT: movapd 32(%rax), %xmm02599; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm0[0],xmm6[1]2600; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2601; SSE-NEXT: movapd 32(%rdx), %xmm22602; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]2603; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2604; SSE-NEXT: movapd 32(%rcx), %xmm32605; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]2606; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2607; SSE-NEXT: movapd 32(%r8), %xmm12608; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]2609; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2610; SSE-NEXT: movapd 32(%r9), %xmm22611; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]2612; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2613; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2614; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2615; SSE-NEXT: movapd 48(%rdi), %xmm12616; SSE-NEXT: movapd 48(%rsi), %xmm22617; SSE-NEXT: movapd %xmm1, %xmm02618; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]2619; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2620; SSE-NEXT: movapd 48(%rax), %xmm02621; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2622; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2623; SSE-NEXT: movapd 48(%rdx), %xmm12624; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2625; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2626; SSE-NEXT: movapd 48(%rcx), %xmm22627; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]2628; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2629; SSE-NEXT: movapd 48(%r8), %xmm12630; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2631; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2632; SSE-NEXT: movapd 48(%r9), %xmm22633; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]2634; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2635; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2636; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2637; SSE-NEXT: movapd 64(%rdi), %xmm12638; SSE-NEXT: movapd 64(%rsi), %xmm22639; SSE-NEXT: movapd %xmm1, %xmm02640; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]2641; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2642; SSE-NEXT: movapd 64(%rax), %xmm02643; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2644; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2645; SSE-NEXT: movapd 64(%rdx), %xmm12646; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2647; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2648; SSE-NEXT: movapd 64(%rcx), %xmm22649; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]2650; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2651; SSE-NEXT: movapd 64(%r8), %xmm12652; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2653; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2654; SSE-NEXT: movapd 64(%r9), %xmm22655; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]2656; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill2657; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2658; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2659; SSE-NEXT: movapd 80(%rdi), %xmm12660; SSE-NEXT: movapd 80(%rsi), %xmm22661; SSE-NEXT: movapd %xmm1, %xmm02662; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]2663; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2664; SSE-NEXT: movapd 80(%rax), %xmm02665; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2666; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2667; SSE-NEXT: movapd 80(%rdx), %xmm12668; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2669; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2670; SSE-NEXT: movapd 80(%rcx), %xmm142671; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm14[0]2672; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2673; SSE-NEXT: movapd 80(%r8), %xmm12674; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm1[1]2675; SSE-NEXT: movapd 80(%r9), %xmm132676; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm13[0]2677; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2678; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]2679; SSE-NEXT: movapd 96(%rdi), %xmm152680; SSE-NEXT: movapd 96(%rsi), %xmm122681; SSE-NEXT: movapd %xmm15, %xmm02682; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm12[0]2683; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2684; SSE-NEXT: movapd 96(%rax), %xmm32685; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm3[0],xmm15[1]2686; SSE-NEXT: movapd 96(%rdx), %xmm112687; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm11[1]2688; SSE-NEXT: movapd 96(%rcx), %xmm82689; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm8[0]2690; SSE-NEXT: movapd 96(%r8), %xmm92691; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]2692; SSE-NEXT: movapd 96(%r9), %xmm62693; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm6[0]2694; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm3[1]2695; SSE-NEXT: movapd 112(%rdi), %xmm52696; SSE-NEXT: movapd 112(%rsi), %xmm42697; SSE-NEXT: movapd %xmm5, %xmm72698; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm4[0]2699; SSE-NEXT: movapd 112(%rax), %xmm102700; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm10[0],xmm5[1]2701; SSE-NEXT: movapd 112(%rdx), %xmm32702; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm3[1]2703; SSE-NEXT: movapd 112(%rcx), %xmm22704; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm2[0]2705; SSE-NEXT: movapd 112(%r8), %xmm12706; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]2707; SSE-NEXT: movapd 112(%r9), %xmm02708; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]2709; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm10[1]2710; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2711; SSE-NEXT: movapd %xmm0, 880(%rax)2712; SSE-NEXT: movapd %xmm2, 864(%rax)2713; SSE-NEXT: movapd %xmm4, 848(%rax)2714; SSE-NEXT: movapd %xmm5, 832(%rax)2715; SSE-NEXT: movapd %xmm1, 816(%rax)2716; SSE-NEXT: movapd %xmm3, 800(%rax)2717; SSE-NEXT: movapd %xmm7, 784(%rax)2718; SSE-NEXT: movapd %xmm6, 768(%rax)2719; SSE-NEXT: movapd %xmm8, 752(%rax)2720; SSE-NEXT: movapd %xmm12, 736(%rax)2721; SSE-NEXT: movapd %xmm15, 720(%rax)2722; SSE-NEXT: movapd %xmm9, 704(%rax)2723; SSE-NEXT: movapd %xmm11, 688(%rax)2724; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2725; SSE-NEXT: movaps %xmm0, 672(%rax)2726; SSE-NEXT: movapd %xmm13, 656(%rax)2727; SSE-NEXT: movapd %xmm14, 640(%rax)2728; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2729; SSE-NEXT: movaps %xmm0, 624(%rax)2730; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2731; SSE-NEXT: movaps %xmm0, 608(%rax)2732; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2733; SSE-NEXT: movaps %xmm0, 592(%rax)2734; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2735; SSE-NEXT: movaps %xmm0, 576(%rax)2736; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2737; SSE-NEXT: movaps %xmm0, 560(%rax)2738; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2739; SSE-NEXT: movaps %xmm0, 544(%rax)2740; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2741; SSE-NEXT: movaps %xmm0, 528(%rax)2742; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2743; SSE-NEXT: movaps %xmm0, 512(%rax)2744; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2745; SSE-NEXT: movaps %xmm0, 496(%rax)2746; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload2747; SSE-NEXT: movaps %xmm0, 480(%rax)2748; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2749; SSE-NEXT: movaps %xmm0, 464(%rax)2750; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2751; SSE-NEXT: movaps %xmm0, 448(%rax)2752; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2753; SSE-NEXT: movaps %xmm0, 432(%rax)2754; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2755; SSE-NEXT: movaps %xmm0, 416(%rax)2756; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2757; SSE-NEXT: movaps %xmm0, 400(%rax)2758; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2759; SSE-NEXT: movaps %xmm0, 384(%rax)2760; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2761; SSE-NEXT: movaps %xmm0, 368(%rax)2762; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2763; SSE-NEXT: movaps %xmm0, 352(%rax)2764; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2765; SSE-NEXT: movaps %xmm0, 336(%rax)2766; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2767; SSE-NEXT: movaps %xmm0, 320(%rax)2768; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2769; SSE-NEXT: movaps %xmm0, 304(%rax)2770; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2771; SSE-NEXT: movaps %xmm0, 288(%rax)2772; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2773; SSE-NEXT: movaps %xmm0, 272(%rax)2774; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2775; SSE-NEXT: movaps %xmm0, 256(%rax)2776; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2777; SSE-NEXT: movaps %xmm0, 240(%rax)2778; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2779; SSE-NEXT: movaps %xmm0, 224(%rax)2780; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2781; SSE-NEXT: movaps %xmm0, 208(%rax)2782; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2783; SSE-NEXT: movaps %xmm0, 192(%rax)2784; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2785; SSE-NEXT: movaps %xmm0, 176(%rax)2786; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2787; SSE-NEXT: movaps %xmm0, 160(%rax)2788; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2789; SSE-NEXT: movaps %xmm0, 144(%rax)2790; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2791; SSE-NEXT: movaps %xmm0, 128(%rax)2792; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2793; SSE-NEXT: movaps %xmm0, 112(%rax)2794; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2795; SSE-NEXT: movaps %xmm0, 96(%rax)2796; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2797; SSE-NEXT: movaps %xmm0, 80(%rax)2798; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2799; SSE-NEXT: movaps %xmm0, 64(%rax)2800; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2801; SSE-NEXT: movaps %xmm0, 48(%rax)2802; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2803; SSE-NEXT: movaps %xmm0, 32(%rax)2804; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2805; SSE-NEXT: movaps %xmm0, 16(%rax)2806; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2807; SSE-NEXT: movaps %xmm0, (%rax)2808; SSE-NEXT: addq $536, %rsp # imm = 0x2182809; SSE-NEXT: retq2810;2811; AVX-LABEL: store_i64_stride7_vf16:2812; AVX: # %bb.0:2813; AVX-NEXT: subq $520, %rsp # imm = 0x2082814; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax2815; AVX-NEXT: vmovaps (%rsi), %ymm52816; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2817; AVX-NEXT: vmovaps (%rdx), %ymm02818; AVX-NEXT: vmovaps (%r9), %ymm62819; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2820; AVX-NEXT: vmovaps (%r9), %xmm22821; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2822; AVX-NEXT: vmovaps (%r8), %xmm12823; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm2[0]2824; AVX-NEXT: vmovaps (%rdi), %xmm32825; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2826; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm32827; AVX-NEXT: vmovaps (%rax), %xmm72828; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2829; AVX-NEXT: vmovaps 16(%rax), %xmm42830; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm2, %ymm22831; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]2832; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2833; AVX-NEXT: vbroadcastsd 8(%rcx), %ymm22834; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm2[4,5,6,7]2835; AVX-NEXT: vmovaps (%rsi), %xmm32836; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2837; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]2838; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]2839; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12840; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2841; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2842; AVX-NEXT: vmovaps 16(%rdi), %xmm12843; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]2844; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2845; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1],ymm0[2,3,4,5,6,7]2846; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2847; AVX-NEXT: vmovaps 16(%rcx), %xmm02848; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2849; AVX-NEXT: vshufps {{.*#+}} xmm0 = xmm0[2,3,2,3]2850; AVX-NEXT: vmovaps 16(%r8), %xmm12851; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]2852; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]2853; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]2854; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2855; AVX-NEXT: vmovaps 32(%rsi), %xmm02856; AVX-NEXT: vmovaps 32(%rdi), %xmm12857; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2858; AVX-NEXT: vinsertf128 $1, 32(%rcx), %ymm2, %ymm32859; AVX-NEXT: vmovaps 32(%rdx), %xmm42860; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm22861; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]2862; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2863; AVX-NEXT: vmovaps 32(%rax), %xmm122864; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12865; AVX-NEXT: vmovaps 32(%r9), %xmm112866; AVX-NEXT: vmovaps 32(%r8), %xmm22867; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm11[0]2868; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm3, %ymm32869; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]2870; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2871; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]2872; AVX-NEXT: vbroadcastsd 40(%rcx), %ymm12873; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2874; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm12875; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2876; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2877; AVX-NEXT: vmovaps 32(%rsi), %ymm102878; AVX-NEXT: vmovaps 48(%rdi), %xmm02879; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm0[1],ymm10[3],ymm0[3]2880; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]2881; AVX-NEXT: vmovaps 48(%rax), %xmm12882; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]2883; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2884; AVX-NEXT: vmovaps 32(%r9), %ymm92885; AVX-NEXT: vmovaps 48(%r8), %xmm02886; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm0[1],ymm9[3],ymm0[3]2887; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]2888; AVX-NEXT: vmovaps 48(%rcx), %xmm72889; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm7[2,3,2,3]2890; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]2891; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2892; AVX-NEXT: vmovaps 64(%r9), %xmm82893; AVX-NEXT: vmovaps 64(%r8), %xmm02894; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm8[0]2895; AVX-NEXT: vmovaps 64(%rdi), %xmm22896; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2897; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm22898; AVX-NEXT: vmovaps 64(%rax), %xmm62899; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm1, %ymm12900; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]2901; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2902; AVX-NEXT: vmovaps 64(%rdx), %ymm12903; AVX-NEXT: vbroadcastsd 72(%rcx), %ymm22904; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]2905; AVX-NEXT: vmovaps 64(%rsi), %xmm152906; AVX-NEXT: vshufps {{.*#+}} xmm13 = xmm15[2,3,2,3]2907; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm13[0,1],ymm2[2,3,4,5,6,7]2908; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02909; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]2910; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2911; AVX-NEXT: vmovaps 64(%rsi), %ymm52912; AVX-NEXT: vmovaps 80(%rdi), %xmm02913; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm0[1],ymm5[3],ymm0[3]2914; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2915; AVX-NEXT: vmovaps 80(%rax), %xmm12916; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]2917; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2918; AVX-NEXT: vmovaps 64(%r9), %ymm42919; AVX-NEXT: vmovaps 80(%r8), %xmm02920; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm4[1],ymm0[1],ymm4[3],ymm0[3]2921; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm0[0,1,2,3,4,5],mem[6,7]2922; AVX-NEXT: vmovaps 80(%rcx), %xmm32923; AVX-NEXT: vshufps {{.*#+}} xmm14 = xmm3[2,3,2,3]2924; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1],ymm13[2,3,4,5,6,7]2925; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2926; AVX-NEXT: vmovaps 96(%rsi), %xmm132927; AVX-NEXT: vmovaps 96(%rdi), %xmm142928; AVX-NEXT: vmovlhps {{.*#+}} xmm0 = xmm14[0],xmm13[0]2929; AVX-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm22930; AVX-NEXT: vmovaps 96(%rdx), %xmm12931; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm02932; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2],ymm2[2]2933; AVX-NEXT: vmovupd %ymm0, (%rsp) # 32-byte Spill2934; AVX-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm02935; AVX-NEXT: vmovaps 96(%r8), %xmm22936; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm2[0],mem[0]2937; AVX-NEXT: vinsertf128 $1, 96(%rax), %ymm14, %ymm142938; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]2939; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2940; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm1[1]2941; AVX-NEXT: vbroadcastsd 104(%rcx), %ymm12942; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2943; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm12944; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm0[0,1,2,3,4,5],ymm1[6,7]2945; AVX-NEXT: vmovaps (%rdi), %ymm02946; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2947; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]2948; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2949; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2950; AVX-NEXT: # xmm1 = xmm1[1],mem[1]2951; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm1[0,1,2,3],ymm0[4,5,6,7]2952; AVX-NEXT: vmovaps (%r8), %ymm02953; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2954; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]2955; AVX-NEXT: vmovaps 16(%rdx), %xmm12956; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2957; AVX-NEXT: # xmm1 = xmm1[0],mem[0]2958; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm0[4,5,6,7]2959; AVX-NEXT: vmovaps 32(%rdi), %ymm02960; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]2961; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm11[1],xmm12[1]2962; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]2963; AVX-NEXT: vmovaps 32(%r8), %ymm02964; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm9[0],ymm0[2],ymm9[2]2965; AVX-NEXT: vmovaps 48(%rdx), %xmm92966; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm9[0],xmm7[0]2967; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm0[4,5,6,7]2968; AVX-NEXT: vmovaps 64(%rdi), %ymm02969; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm5[0],ymm0[2],ymm5[2]2970; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm8[1],xmm6[1]2971; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]2972; AVX-NEXT: vmovaps 64(%r8), %ymm02973; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]2974; AVX-NEXT: vmovaps 80(%rdx), %xmm42975; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm4[0],xmm3[0]2976; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]2977; AVX-NEXT: vmovapd 96(%rdi), %ymm32978; AVX-NEXT: vmovapd 96(%rsi), %ymm42979; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]2980; AVX-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]2981; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3]2982; AVX-NEXT: vmovapd 112(%rdi), %xmm62983; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],mem[2,3]2984; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0,0,3,2]2985; AVX-NEXT: vmovapd 96(%rax), %ymm82986; AVX-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm8[2,3],ymm4[2,3]2987; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0],ymm6[1],ymm4[2],ymm6[3]2988; AVX-NEXT: vmovapd 112(%rcx), %xmm62989; AVX-NEXT: vmovapd 112(%rdx), %xmm92990; AVX-NEXT: vunpcklpd {{.*#+}} xmm9 = xmm9[0],xmm6[0]2991; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1],mem[2,3]2992; AVX-NEXT: vbroadcastsd 112(%r9), %ymm102993; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1,2],ymm10[3]2994; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],mem[1]2995; AVX-NEXT: vbroadcastsd 120(%r9), %ymm102996; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm10[2,3]2997; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0],ymm8[1],ymm3[2,3]2998; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1,2],ymm8[3]2999; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3000; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm8[0],xmm15[0]3001; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload3002; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload3003; AVX-NEXT: # xmm10 = xmm10[0],mem[0]3004; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax3005; AVX-NEXT: vmovaps 64(%rdx), %xmm113006; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]3007; AVX-NEXT: vmovaps (%rdx), %xmm123008; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]3009; AVX-NEXT: vmovaps %xmm12, 16(%rax)3010; AVX-NEXT: vmovaps %xmm10, (%rax)3011; AVX-NEXT: vmovaps %xmm11, 464(%rax)3012; AVX-NEXT: vmovaps %xmm8, 448(%rax)3013; AVX-NEXT: vmovapd %ymm4, 832(%rax)3014; AVX-NEXT: vmovapd %ymm3, 768(%rax)3015; AVX-NEXT: vmovaps %ymm0, 576(%rax)3016; AVX-NEXT: vmovaps %ymm5, 544(%rax)3017; AVX-NEXT: vmovaps %ymm7, 352(%rax)3018; AVX-NEXT: vmovaps %ymm2, 320(%rax)3019; AVX-NEXT: vmovaps %ymm1, 128(%rax)3020; AVX-NEXT: vmovaps %ymm14, 96(%rax)3021; AVX-NEXT: vmovapd %ymm6, 864(%rax)3022; AVX-NEXT: vmovapd %ymm9, 800(%rax)3023; AVX-NEXT: vmovaps %ymm13, 736(%rax)3024; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3025; AVX-NEXT: vmovaps %ymm0, 704(%rax)3026; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3027; AVX-NEXT: vmovaps %ymm0, 672(%rax)3028; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3029; AVX-NEXT: vmovaps %ymm0, 640(%rax)3030; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3031; AVX-NEXT: vmovaps %ymm0, 608(%rax)3032; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3033; AVX-NEXT: vmovaps %ymm0, 512(%rax)3034; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3035; AVX-NEXT: vmovaps %ymm0, 480(%rax)3036; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3037; AVX-NEXT: vmovaps %ymm0, 416(%rax)3038; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3039; AVX-NEXT: vmovaps %ymm0, 384(%rax)3040; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3041; AVX-NEXT: vmovaps %ymm0, 288(%rax)3042; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3043; AVX-NEXT: vmovaps %ymm0, 256(%rax)3044; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3045; AVX-NEXT: vmovaps %ymm0, 224(%rax)3046; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3047; AVX-NEXT: vmovaps %ymm0, 192(%rax)3048; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3049; AVX-NEXT: vmovaps %ymm0, 160(%rax)3050; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3051; AVX-NEXT: vmovaps %ymm0, 64(%rax)3052; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3053; AVX-NEXT: vmovaps %ymm0, 32(%rax)3054; AVX-NEXT: addq $520, %rsp # imm = 0x2083055; AVX-NEXT: vzeroupper3056; AVX-NEXT: retq3057;3058; AVX2-LABEL: store_i64_stride7_vf16:3059; AVX2: # %bb.0:3060; AVX2-NEXT: subq $552, %rsp # imm = 0x2283061; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3062; AVX2-NEXT: vmovaps 64(%rdi), %ymm83063; AVX2-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3064; AVX2-NEXT: vmovaps 32(%rdi), %ymm23065; AVX2-NEXT: vmovaps (%rdi), %ymm73066; AVX2-NEXT: vmovaps (%rsi), %ymm143067; AVX2-NEXT: vmovaps 32(%rsi), %ymm103068; AVX2-NEXT: vmovaps 64(%rsi), %ymm153069; AVX2-NEXT: vmovaps (%rdx), %ymm43070; AVX2-NEXT: vmovaps 32(%rdx), %ymm33071; AVX2-NEXT: vmovaps 16(%rax), %xmm03072; AVX2-NEXT: vmovaps 32(%rax), %xmm13073; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm7[1],ymm14[1],ymm7[3],ymm14[3]3074; AVX2-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3075; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm4[6,7]3076; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3,4,5,6,7]3077; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3078; AVX2-NEXT: vmovaps 32(%rdi), %xmm03079; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3080; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03081; AVX2-NEXT: vmovaps 32(%r8), %xmm53082; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3083; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm63084; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3085; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3086; AVX2-NEXT: vmovaps 32(%rdx), %xmm63087; AVX2-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3088; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3089; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm6[1]3090; AVX2-NEXT: vbroadcastsd 40(%rcx), %ymm63091; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]3092; AVX2-NEXT: vmovaps 48(%rax), %xmm63093; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53094; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]3095; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3096; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm10[1],ymm2[3],ymm10[3]3097; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]3098; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]3099; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]3100; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3101; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm15[1],ymm8[3],ymm15[3]3102; AVX2-NEXT: vpermpd {{.*#+}} ymm5 = ymm0[0,2,3,3]3103; AVX2-NEXT: vmovaps 64(%rdx), %ymm03104; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm0[6,7]3105; AVX2-NEXT: vmovaps 80(%rax), %xmm63106; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3107; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3108; AVX2-NEXT: vmovaps 96(%r8), %xmm53109; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3110; AVX2-NEXT: vinsertf128 $1, 96(%rax), %ymm6, %ymm63111; AVX2-NEXT: vmovaps 96(%rdi), %xmm83112; AVX2-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3113; AVX2-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm83114; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm8[6,7]3115; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3116; AVX2-NEXT: vmovaps 96(%rdx), %xmm83117; AVX2-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3118; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3119; AVX2-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]3120; AVX2-NEXT: vbroadcastsd 104(%rcx), %ymm83121; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]3122; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53123; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]3124; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3125; AVX2-NEXT: vmovaps 96(%rdi), %ymm123126; AVX2-NEXT: vmovaps 96(%rsi), %ymm113127; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]3128; AVX2-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3129; AVX2-NEXT: vmovaps 96(%rdx), %ymm63130; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3131; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3132; AVX2-NEXT: vmovaps 112(%rax), %xmm63133; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3134; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3135; AVX2-NEXT: vmovaps (%rsi), %xmm53136; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm5, %ymm53137; AVX2-NEXT: vmovaps (%rdi), %xmm63138; AVX2-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3139; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm6, %ymm63140; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]3141; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3142; AVX2-NEXT: vbroadcastsd 8(%rcx), %ymm53143; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm4[0,1,2,3],ymm5[4,5,6,7]3144; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3145; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3146; AVX2-NEXT: vmovaps (%r8), %xmm133147; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm63148; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3149; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3150; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm14[0],ymm7[2],ymm14[2]3151; AVX2-NEXT: vmovaps (%rax), %xmm93152; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3153; AVX2-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm9[1]3154; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3155; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3156; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3157; AVX2-NEXT: vmovaps (%r8), %ymm83158; AVX2-NEXT: vmovaps (%r9), %ymm63159; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm8[0],ymm6[0],ymm8[2],ymm6[2]3160; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm5[2,3]3161; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3162; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm10[0],ymm2[2],ymm10[2]3163; AVX2-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]3164; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]3165; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3166; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3167; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],mem[0],ymm3[2],mem[2]3168; AVX2-NEXT: vmovaps 32(%r8), %ymm103169; AVX2-NEXT: vmovaps 32(%r9), %ymm53170; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm10[0],ymm5[0],ymm10[2],ymm5[2]3171; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]3172; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3173; AVX2-NEXT: vmovaps 64(%rsi), %xmm13174; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm13175; AVX2-NEXT: vmovaps 64(%rdi), %xmm73176; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm7, %ymm23177; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3178; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3179; AVX2-NEXT: vbroadcastsd 72(%rcx), %ymm13180; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]3181; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]3182; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3183; AVX2-NEXT: vmovaps 64(%r8), %xmm43184; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm23185; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]3186; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3187; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3188; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]3189; AVX2-NEXT: vmovaps 64(%rax), %xmm33190; AVX2-NEXT: vmovddup {{.*#+}} xmm14 = mem[0,0]3191; AVX2-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm14[1],xmm3[1]3192; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]3193; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3194; AVX2-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm0[0],mem[0],ymm0[2],mem[2]3195; AVX2-NEXT: vmovaps 64(%r8), %ymm23196; AVX2-NEXT: vmovaps 64(%r9), %ymm13197; AVX2-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3198; AVX2-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm15[2,3]3199; AVX2-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]3200; AVX2-NEXT: vmovddup {{.*#+}} xmm12 = mem[0,0]3201; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]3202; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm123203; AVX2-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]3204; AVX2-NEXT: vbroadcastsd 120(%r9), %ymm153205; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm12[0,1,2,3],ymm15[4,5,6,7]3206; AVX2-NEXT: vmovaps 96(%rax), %ymm03207; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm0[2,3],ymm11[4,5,6,7]3208; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm15[0,1,2,3,4,5],ymm0[6,7]3209; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm13[0],mem[0]3210; AVX2-NEXT: vinsertf128 $1, (%rsp), %ymm0, %ymm0 # 16-byte Folded Reload3211; AVX2-NEXT: vbroadcastsd %xmm9, %ymm93212; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5],ymm0[6,7]3213; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]3214; AVX2-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]3215; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]3216; AVX2-NEXT: vbroadcastsd 24(%rcx), %ymm83217; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3,4,5,6,7]3218; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3219; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]3220; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 16-byte Folded Reload3221; AVX2-NEXT: vbroadcastsd 32(%rcx), %ymm93222; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3223; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm10[1],ymm5[1],ymm10[3],ymm5[3]3224; AVX2-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3225; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3226; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm93227; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1],ymm5[2,3,4,5,6,7]3228; AVX2-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]3229; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm4, %ymm43230; AVX2-NEXT: vbroadcastsd %xmm3, %ymm33231; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5],ymm4[6,7]3232; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]3233; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]3234; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3235; AVX2-NEXT: vbroadcastsd 88(%rcx), %ymm23236; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3237; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3238; AVX2-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]3239; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 16-byte Folded Reload3240; AVX2-NEXT: vbroadcastsd 96(%rcx), %ymm43241; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]3242; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3243; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3244; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3245; AVX2-NEXT: vbroadcastsd 112(%r9), %ymm73246; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm7[6,7]3247; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3248; AVX2-NEXT: vmovaps %ymm4, 800(%rax)3249; AVX2-NEXT: vmovaps %ymm12, 768(%rax)3250; AVX2-NEXT: vmovaps %ymm14, 576(%rax)3251; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3252; AVX2-NEXT: vmovaps %ymm4, 544(%rax)3253; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3254; AVX2-NEXT: vmovaps %ymm4, 512(%rax)3255; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3256; AVX2-NEXT: vmovaps %ymm4, 448(%rax)3257; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3258; AVX2-NEXT: vmovaps %ymm4, 352(%rax)3259; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3260; AVX2-NEXT: vmovaps %ymm4, 320(%rax)3261; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3262; AVX2-NEXT: vmovaps %ymm4, 128(%rax)3263; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3264; AVX2-NEXT: vmovaps %ymm4, 96(%rax)3265; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3266; AVX2-NEXT: vmovaps %ymm4, 64(%rax)3267; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3268; AVX2-NEXT: vmovaps %ymm4, (%rax)3269; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3270; AVX2-NEXT: vmovaps %ymm4, 832(%rax)3271; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3272; AVX2-NEXT: vmovaps %ymm4, 736(%rax)3273; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3274; AVX2-NEXT: vmovaps %ymm4, 704(%rax)3275; AVX2-NEXT: vmovaps %ymm2, 672(%rax)3276; AVX2-NEXT: vmovaps %ymm1, 640(%rax)3277; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3278; AVX2-NEXT: vmovaps %ymm1, 608(%rax)3279; AVX2-NEXT: vmovaps %ymm3, 480(%rax)3280; AVX2-NEXT: vmovaps %ymm5, 416(%rax)3281; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3282; AVX2-NEXT: vmovaps %ymm1, 384(%rax)3283; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3284; AVX2-NEXT: vmovaps %ymm1, 288(%rax)3285; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3286; AVX2-NEXT: vmovaps %ymm1, 256(%rax)3287; AVX2-NEXT: vmovaps %ymm6, 224(%rax)3288; AVX2-NEXT: vmovaps %ymm8, 192(%rax)3289; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3290; AVX2-NEXT: vmovaps %ymm1, 160(%rax)3291; AVX2-NEXT: vmovaps %ymm0, 32(%rax)3292; AVX2-NEXT: vmovaps %ymm11, 864(%rax)3293; AVX2-NEXT: addq $552, %rsp # imm = 0x2283294; AVX2-NEXT: vzeroupper3295; AVX2-NEXT: retq3296;3297; AVX2-FP-LABEL: store_i64_stride7_vf16:3298; AVX2-FP: # %bb.0:3299; AVX2-FP-NEXT: subq $552, %rsp # imm = 0x2283300; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3301; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm83302; AVX2-FP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3303; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm23304; AVX2-FP-NEXT: vmovaps (%rdi), %ymm73305; AVX2-FP-NEXT: vmovaps (%rsi), %ymm143306; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm103307; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm153308; AVX2-FP-NEXT: vmovaps (%rdx), %ymm43309; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm33310; AVX2-FP-NEXT: vmovaps 16(%rax), %xmm03311; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm13312; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm7[1],ymm14[1],ymm7[3],ymm14[3]3313; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3314; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm4[6,7]3315; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3,4,5,6,7]3316; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3317; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm03318; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3319; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03320; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm53321; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3322; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm63323; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3324; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3325; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm63326; AVX2-FP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3327; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3328; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm6[1]3329; AVX2-FP-NEXT: vbroadcastsd 40(%rcx), %ymm63330; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]3331; AVX2-FP-NEXT: vmovaps 48(%rax), %xmm63332; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53333; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]3334; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3335; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm10[1],ymm2[3],ymm10[3]3336; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]3337; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]3338; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]3339; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3340; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm15[1],ymm8[3],ymm15[3]3341; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm5 = ymm0[0,2,3,3]3342; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm03343; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm0[6,7]3344; AVX2-FP-NEXT: vmovaps 80(%rax), %xmm63345; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3346; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3347; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm53348; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3349; AVX2-FP-NEXT: vinsertf128 $1, 96(%rax), %ymm6, %ymm63350; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm83351; AVX2-FP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3352; AVX2-FP-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm83353; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm8[6,7]3354; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3355; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm83356; AVX2-FP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3357; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3358; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]3359; AVX2-FP-NEXT: vbroadcastsd 104(%rcx), %ymm83360; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]3361; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53362; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]3363; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3364; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm123365; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm113366; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]3367; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3368; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm63369; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3370; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3371; AVX2-FP-NEXT: vmovaps 112(%rax), %xmm63372; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3373; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3374; AVX2-FP-NEXT: vmovaps (%rsi), %xmm53375; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm5, %ymm53376; AVX2-FP-NEXT: vmovaps (%rdi), %xmm63377; AVX2-FP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3378; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm6, %ymm63379; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]3380; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3381; AVX2-FP-NEXT: vbroadcastsd 8(%rcx), %ymm53382; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm4[0,1,2,3],ymm5[4,5,6,7]3383; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3384; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3385; AVX2-FP-NEXT: vmovaps (%r8), %xmm133386; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm63387; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3388; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3389; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm14[0],ymm7[2],ymm14[2]3390; AVX2-FP-NEXT: vmovaps (%rax), %xmm93391; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3392; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm9[1]3393; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3394; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3395; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3396; AVX2-FP-NEXT: vmovaps (%r8), %ymm83397; AVX2-FP-NEXT: vmovaps (%r9), %ymm63398; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm8[0],ymm6[0],ymm8[2],ymm6[2]3399; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm5[2,3]3400; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3401; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm10[0],ymm2[2],ymm10[2]3402; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]3403; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]3404; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3405; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3406; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],mem[0],ymm3[2],mem[2]3407; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm103408; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm53409; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm10[0],ymm5[0],ymm10[2],ymm5[2]3410; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]3411; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3412; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm13413; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm13414; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm73415; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm7, %ymm23416; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3417; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3418; AVX2-FP-NEXT: vbroadcastsd 72(%rcx), %ymm13419; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]3420; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]3421; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3422; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm43423; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm23424; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]3425; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3426; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3427; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]3428; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm33429; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm14 = mem[0,0]3430; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm14[1],xmm3[1]3431; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]3432; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3433; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm0[0],mem[0],ymm0[2],mem[2]3434; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm23435; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm13436; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3437; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm15[2,3]3438; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]3439; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm12 = mem[0,0]3440; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]3441; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm123442; AVX2-FP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]3443; AVX2-FP-NEXT: vbroadcastsd 120(%r9), %ymm153444; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm12[0,1,2,3],ymm15[4,5,6,7]3445; AVX2-FP-NEXT: vmovaps 96(%rax), %ymm03446; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm0[2,3],ymm11[4,5,6,7]3447; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm15[0,1,2,3,4,5],ymm0[6,7]3448; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm13[0],mem[0]3449; AVX2-FP-NEXT: vinsertf128 $1, (%rsp), %ymm0, %ymm0 # 16-byte Folded Reload3450; AVX2-FP-NEXT: vbroadcastsd %xmm9, %ymm93451; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5],ymm0[6,7]3452; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]3453; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]3454; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]3455; AVX2-FP-NEXT: vbroadcastsd 24(%rcx), %ymm83456; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3,4,5,6,7]3457; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3458; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]3459; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 16-byte Folded Reload3460; AVX2-FP-NEXT: vbroadcastsd 32(%rcx), %ymm93461; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3462; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm10[1],ymm5[1],ymm10[3],ymm5[3]3463; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3464; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3465; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm93466; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1],ymm5[2,3,4,5,6,7]3467; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]3468; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm4, %ymm43469; AVX2-FP-NEXT: vbroadcastsd %xmm3, %ymm33470; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5],ymm4[6,7]3471; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]3472; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]3473; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3474; AVX2-FP-NEXT: vbroadcastsd 88(%rcx), %ymm23475; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3476; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3477; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]3478; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 16-byte Folded Reload3479; AVX2-FP-NEXT: vbroadcastsd 96(%rcx), %ymm43480; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]3481; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3482; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3483; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3484; AVX2-FP-NEXT: vbroadcastsd 112(%r9), %ymm73485; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm7[6,7]3486; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3487; AVX2-FP-NEXT: vmovaps %ymm4, 800(%rax)3488; AVX2-FP-NEXT: vmovaps %ymm12, 768(%rax)3489; AVX2-FP-NEXT: vmovaps %ymm14, 576(%rax)3490; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3491; AVX2-FP-NEXT: vmovaps %ymm4, 544(%rax)3492; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3493; AVX2-FP-NEXT: vmovaps %ymm4, 512(%rax)3494; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3495; AVX2-FP-NEXT: vmovaps %ymm4, 448(%rax)3496; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3497; AVX2-FP-NEXT: vmovaps %ymm4, 352(%rax)3498; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3499; AVX2-FP-NEXT: vmovaps %ymm4, 320(%rax)3500; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3501; AVX2-FP-NEXT: vmovaps %ymm4, 128(%rax)3502; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3503; AVX2-FP-NEXT: vmovaps %ymm4, 96(%rax)3504; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3505; AVX2-FP-NEXT: vmovaps %ymm4, 64(%rax)3506; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3507; AVX2-FP-NEXT: vmovaps %ymm4, (%rax)3508; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3509; AVX2-FP-NEXT: vmovaps %ymm4, 832(%rax)3510; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3511; AVX2-FP-NEXT: vmovaps %ymm4, 736(%rax)3512; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3513; AVX2-FP-NEXT: vmovaps %ymm4, 704(%rax)3514; AVX2-FP-NEXT: vmovaps %ymm2, 672(%rax)3515; AVX2-FP-NEXT: vmovaps %ymm1, 640(%rax)3516; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3517; AVX2-FP-NEXT: vmovaps %ymm1, 608(%rax)3518; AVX2-FP-NEXT: vmovaps %ymm3, 480(%rax)3519; AVX2-FP-NEXT: vmovaps %ymm5, 416(%rax)3520; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3521; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rax)3522; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3523; AVX2-FP-NEXT: vmovaps %ymm1, 288(%rax)3524; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3525; AVX2-FP-NEXT: vmovaps %ymm1, 256(%rax)3526; AVX2-FP-NEXT: vmovaps %ymm6, 224(%rax)3527; AVX2-FP-NEXT: vmovaps %ymm8, 192(%rax)3528; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3529; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rax)3530; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)3531; AVX2-FP-NEXT: vmovaps %ymm11, 864(%rax)3532; AVX2-FP-NEXT: addq $552, %rsp # imm = 0x2283533; AVX2-FP-NEXT: vzeroupper3534; AVX2-FP-NEXT: retq3535;3536; AVX2-FCP-LABEL: store_i64_stride7_vf16:3537; AVX2-FCP: # %bb.0:3538; AVX2-FCP-NEXT: subq $552, %rsp # imm = 0x2283539; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3540; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm83541; AVX2-FCP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3542; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm23543; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm73544; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm143545; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm103546; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm153547; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm43548; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm33549; AVX2-FCP-NEXT: vmovaps 16(%rax), %xmm03550; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm13551; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm7[1],ymm14[1],ymm7[3],ymm14[3]3552; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3553; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm4[6,7]3554; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3,4,5,6,7]3555; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3556; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm03557; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3558; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm03559; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm53560; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3561; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm63562; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3563; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3564; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm63565; AVX2-FCP-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3566; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3567; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm6[1]3568; AVX2-FCP-NEXT: vbroadcastsd 40(%rcx), %ymm63569; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm6[4,5,6,7]3570; AVX2-FCP-NEXT: vmovaps 48(%rax), %xmm63571; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53572; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]3573; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3574; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm10[1],ymm2[3],ymm10[3]3575; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]3576; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]3577; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3,4,5,6,7]3578; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3579; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm15[1],ymm8[3],ymm15[3]3580; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm5 = ymm0[0,2,3,3]3581; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm03582; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm0[6,7]3583; AVX2-FCP-NEXT: vmovaps 80(%rax), %xmm63584; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3585; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3586; AVX2-FCP-NEXT: vmovaps 96(%r8), %xmm53587; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm5[0],mem[0]3588; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rax), %ymm6, %ymm63589; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm83590; AVX2-FCP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3591; AVX2-FCP-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm83592; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm8[6,7]3593; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3594; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm83595; AVX2-FCP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3596; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3597; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]3598; AVX2-FCP-NEXT: vbroadcastsd 104(%rcx), %ymm83599; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]3600; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm53601; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]3602; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3603; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm123604; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm113605; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]3606; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3607; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm63608; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3609; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3610; AVX2-FCP-NEXT: vmovaps 112(%rax), %xmm63611; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3612; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3613; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm53614; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm5, %ymm53615; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm63616; AVX2-FCP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill3617; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm6, %ymm63618; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]3619; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3620; AVX2-FCP-NEXT: vbroadcastsd 8(%rcx), %ymm53621; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm4[0,1,2,3],ymm5[4,5,6,7]3622; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3623; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3,4,5,6,7]3624; AVX2-FCP-NEXT: vmovaps (%r8), %xmm133625; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm63626; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm6[6,7]3627; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3628; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm14[0],ymm7[2],ymm14[2]3629; AVX2-FCP-NEXT: vmovaps (%rax), %xmm93630; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]3631; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm9[1]3632; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3633; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3634; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3635; AVX2-FCP-NEXT: vmovaps (%r8), %ymm83636; AVX2-FCP-NEXT: vmovaps (%r9), %ymm63637; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm8[0],ymm6[0],ymm8[2],ymm6[2]3638; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm5[2,3]3639; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3640; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm10[0],ymm2[2],ymm10[2]3641; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]3642; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]3643; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3644; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3645; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],mem[0],ymm3[2],mem[2]3646; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm103647; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm53648; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm10[0],ymm5[0],ymm10[2],ymm5[2]3649; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]3650; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3651; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm13652; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm13653; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm73654; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rdx), %ymm7, %ymm23655; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3656; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3657; AVX2-FCP-NEXT: vbroadcastsd 72(%rcx), %ymm13658; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]3659; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]3660; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3661; AVX2-FCP-NEXT: vmovaps 64(%r8), %xmm43662; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm23663; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]3664; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3665; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3666; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm15[0],ymm1[2],ymm15[2]3667; AVX2-FCP-NEXT: vmovaps 64(%rax), %xmm33668; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm14 = mem[0,0]3669; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm14[1],xmm3[1]3670; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]3671; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3672; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm0[0],mem[0],ymm0[2],mem[2]3673; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm23674; AVX2-FCP-NEXT: vmovaps 64(%r9), %ymm13675; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3676; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm15[2,3]3677; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]3678; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm12 = mem[0,0]3679; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]3680; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm123681; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]3682; AVX2-FCP-NEXT: vbroadcastsd 120(%r9), %ymm153683; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm12[0,1,2,3],ymm15[4,5,6,7]3684; AVX2-FCP-NEXT: vmovaps 96(%rax), %ymm03685; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm0[2,3],ymm11[4,5,6,7]3686; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm15[0,1,2,3,4,5],ymm0[6,7]3687; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm13[0],mem[0]3688; AVX2-FCP-NEXT: vinsertf128 $1, (%rsp), %ymm0, %ymm0 # 16-byte Folded Reload3689; AVX2-FCP-NEXT: vbroadcastsd %xmm9, %ymm93690; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5],ymm0[6,7]3691; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]3692; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]3693; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]3694; AVX2-FCP-NEXT: vbroadcastsd 24(%rcx), %ymm83695; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3,4,5,6,7]3696; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3697; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]3698; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 16-byte Folded Reload3699; AVX2-FCP-NEXT: vbroadcastsd 32(%rcx), %ymm93700; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]3701; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm10[1],ymm5[1],ymm10[3],ymm5[3]3702; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3703; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]3704; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm93705; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1],ymm5[2,3,4,5,6,7]3706; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]3707; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm4, %ymm43708; AVX2-FCP-NEXT: vbroadcastsd %xmm3, %ymm33709; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5],ymm4[6,7]3710; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]3711; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]3712; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]3713; AVX2-FCP-NEXT: vbroadcastsd 88(%rcx), %ymm23714; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]3715; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3716; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]3717; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 16-byte Folded Reload3718; AVX2-FCP-NEXT: vbroadcastsd 96(%rcx), %ymm43719; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]3720; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3721; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],mem[0],ymm4[2],mem[2]3722; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],mem[2,3]3723; AVX2-FCP-NEXT: vbroadcastsd 112(%r9), %ymm73724; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm7[6,7]3725; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3726; AVX2-FCP-NEXT: vmovaps %ymm4, 800(%rax)3727; AVX2-FCP-NEXT: vmovaps %ymm12, 768(%rax)3728; AVX2-FCP-NEXT: vmovaps %ymm14, 576(%rax)3729; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3730; AVX2-FCP-NEXT: vmovaps %ymm4, 544(%rax)3731; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3732; AVX2-FCP-NEXT: vmovaps %ymm4, 512(%rax)3733; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3734; AVX2-FCP-NEXT: vmovaps %ymm4, 448(%rax)3735; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3736; AVX2-FCP-NEXT: vmovaps %ymm4, 352(%rax)3737; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3738; AVX2-FCP-NEXT: vmovaps %ymm4, 320(%rax)3739; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3740; AVX2-FCP-NEXT: vmovaps %ymm4, 128(%rax)3741; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3742; AVX2-FCP-NEXT: vmovaps %ymm4, 96(%rax)3743; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3744; AVX2-FCP-NEXT: vmovaps %ymm4, 64(%rax)3745; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3746; AVX2-FCP-NEXT: vmovaps %ymm4, (%rax)3747; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3748; AVX2-FCP-NEXT: vmovaps %ymm4, 832(%rax)3749; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3750; AVX2-FCP-NEXT: vmovaps %ymm4, 736(%rax)3751; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3752; AVX2-FCP-NEXT: vmovaps %ymm4, 704(%rax)3753; AVX2-FCP-NEXT: vmovaps %ymm2, 672(%rax)3754; AVX2-FCP-NEXT: vmovaps %ymm1, 640(%rax)3755; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3756; AVX2-FCP-NEXT: vmovaps %ymm1, 608(%rax)3757; AVX2-FCP-NEXT: vmovaps %ymm3, 480(%rax)3758; AVX2-FCP-NEXT: vmovaps %ymm5, 416(%rax)3759; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3760; AVX2-FCP-NEXT: vmovaps %ymm1, 384(%rax)3761; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3762; AVX2-FCP-NEXT: vmovaps %ymm1, 288(%rax)3763; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3764; AVX2-FCP-NEXT: vmovaps %ymm1, 256(%rax)3765; AVX2-FCP-NEXT: vmovaps %ymm6, 224(%rax)3766; AVX2-FCP-NEXT: vmovaps %ymm8, 192(%rax)3767; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3768; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rax)3769; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)3770; AVX2-FCP-NEXT: vmovaps %ymm11, 864(%rax)3771; AVX2-FCP-NEXT: addq $552, %rsp # imm = 0x2283772; AVX2-FCP-NEXT: vzeroupper3773; AVX2-FCP-NEXT: retq3774;3775; AVX512-LABEL: store_i64_stride7_vf16:3776; AVX512: # %bb.0:3777; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax3778; AVX512-NEXT: vmovdqa64 (%rdi), %zmm63779; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm183780; AVX512-NEXT: vmovdqa64 (%rsi), %zmm73781; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm93782; AVX512-NEXT: vmovdqa64 (%rdx), %zmm113783; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm203784; AVX512-NEXT: vmovdqa64 (%rcx), %zmm13785; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm23786; AVX512-NEXT: vmovdqa64 64(%r8), %zmm33787; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [6,14,6,14,6,14,6,14]3788; AVX512-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3789; AVX512-NEXT: vmovdqa64 %zmm20, %zmm193790; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm193791; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [15,7,15,7,15,7,15,7]3792; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3793; AVX512-NEXT: vmovdqa64 %zmm20, %zmm213794; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm213795; AVX512-NEXT: vmovdqa64 %zmm18, %zmm223796; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,8,0,1,0,8,0,1]3797; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]3798; AVX512-NEXT: vmovdqa64 %zmm6, %zmm43799; AVX512-NEXT: vpermt2q %zmm7, %zmm5, %zmm43800; AVX512-NEXT: vpermi2q %zmm9, %zmm18, %zmm53801; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]3802; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3803; AVX512-NEXT: vmovdqa64 %zmm20, %zmm03804; AVX512-NEXT: vpermt2q %zmm2, %zmm10, %zmm03805; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill3806; AVX512-NEXT: vmovdqa64 %zmm18, %zmm153807; AVX512-NEXT: vmovdqa64 %zmm18, %zmm233808; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [2,10,0,3,2,10,0,3]3809; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]3810; AVX512-NEXT: vmovdqa64 %zmm20, %zmm123811; AVX512-NEXT: vpermt2q %zmm2, %zmm13, %zmm123812; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [1,0,10,2,1,0,10,2]3813; AVX512-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]3814; AVX512-NEXT: vmovdqa64 %zmm9, %zmm143815; AVX512-NEXT: vpermt2q %zmm18, %zmm17, %zmm143816; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [3,0,12,4,3,0,12,4]3817; AVX512-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]3818; AVX512-NEXT: vpermt2q %zmm20, %zmm29, %zmm23819; AVX512-NEXT: movb $48, %sil3820; AVX512-NEXT: kmovw %esi, %k33821; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm2 {%k3} = zmm18[0],zmm9[0],zmm18[2],zmm9[2],zmm18[4],zmm9[4],zmm18[6],zmm9[6]3822; AVX512-NEXT: vpermt2q %zmm9, %zmm16, %zmm183823; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm18[0,1,2,3],zmm19[4,5,6,7]3824; AVX512-NEXT: movb $64, %sil3825; AVX512-NEXT: kmovw %esi, %k13826; AVX512-NEXT: vmovdqa64 %zmm3, %zmm19 {%k1}3827; AVX512-NEXT: vmovdqa64 (%r8), %zmm203828; AVX512-NEXT: vmovdqa64 (%r9), %zmm303829; AVX512-NEXT: vmovdqa64 64(%r9), %zmm313830; AVX512-NEXT: vmovdqa64 64(%rax), %zmm283831; AVX512-NEXT: vpermt2q %zmm9, %zmm8, %zmm223832; AVX512-NEXT: movb $24, %sil3833; AVX512-NEXT: kmovw %esi, %k13834; AVX512-NEXT: vmovdqa64 %zmm21, %zmm22 {%k1}3835; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,15,0,0]3836; AVX512-NEXT: vpermi2q %zmm3, %zmm22, %zmm183837; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,5,15,0]3838; AVX512-NEXT: vpermi2q %zmm31, %zmm18, %zmm213839; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm18 = [14,1,2,3,4,5,6,15]3840; AVX512-NEXT: vpermi2q %zmm28, %zmm21, %zmm183841; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [13,0,2,3,4,5,6,14]3842; AVX512-NEXT: vpermi2q %zmm31, %zmm19, %zmm213843; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,13,2,3,4,5,6,7]3844; AVX512-NEXT: vpermi2q %zmm28, %zmm21, %zmm193845; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [0,8,0,8,0,8,0,8]3846; AVX512-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3847; AVX512-NEXT: vmovdqa64 %zmm20, %zmm273848; AVX512-NEXT: vpermt2q %zmm30, %zmm26, %zmm273849; AVX512-NEXT: vpermi2q %zmm31, %zmm3, %zmm263850; AVX512-NEXT: vpermt2q %zmm9, %zmm10, %zmm153851; AVX512-NEXT: movb $96, %sil3852; AVX512-NEXT: kmovw %esi, %k23853; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]3854; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]3855; AVX512-NEXT: vmovdqa64 %zmm11, %zmm253856; AVX512-NEXT: vpermt2q %zmm1, %zmm8, %zmm253857; AVX512-NEXT: vmovdqa64 %zmm11, %zmm243858; AVX512-NEXT: vpermt2q %zmm1, %zmm16, %zmm243859; AVX512-NEXT: vmovdqa64 %zmm11, %zmm223860; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm223861; AVX512-NEXT: vpermi2q %zmm1, %zmm11, %zmm133862; AVX512-NEXT: vpermt2q %zmm11, %zmm29, %zmm13863; AVX512-NEXT: vmovdqa64 %zmm3, %zmm113864; AVX512-NEXT: vpermt2q %zmm31, %zmm21, %zmm113865; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [11,3,11,3,11,3,11,3]3866; AVX512-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3867; AVX512-NEXT: vpermt2q %zmm9, %zmm29, %zmm233868; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,1,12,7,0,1,12,7]3869; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]3870; AVX512-NEXT: vpermt2q %zmm28, %zmm9, %zmm113871; AVX512-NEXT: vmovdqa64 %zmm23, %zmm12 {%k2}3872; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [9,1,9,1,9,1,9,1]3873; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3874; AVX512-NEXT: vpermt2q %zmm31, %zmm23, %zmm33875; AVX512-NEXT: vmovdqa64 64(%r9), %ymm313876; AVX512-NEXT: vpermi2q %zmm7, %zmm6, %zmm163877; AVX512-NEXT: vpermi2q %zmm7, %zmm6, %zmm103878; AVX512-NEXT: vpermi2q %zmm7, %zmm6, %zmm293879; AVX512-NEXT: vpermi2q %zmm6, %zmm7, %zmm173880; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k3} = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]3881; AVX512-NEXT: vpermt2q %zmm7, %zmm8, %zmm63882; AVX512-NEXT: vpermi2q %zmm30, %zmm20, %zmm83883; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [5,0,14,6,5,0,14,6]3884; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]3885; AVX512-NEXT: vpermi2q %zmm20, %zmm30, %zmm73886; AVX512-NEXT: vpermi2q %zmm30, %zmm20, %zmm213887; AVX512-NEXT: vpermt2q %zmm30, %zmm23, %zmm203888; AVX512-NEXT: vmovdqa64 64(%r8), %ymm233889; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm30 = ymm23[0],ymm31[0],ymm23[2],ymm31[2]3890; AVX512-NEXT: movb $28, %sil3891; AVX512-NEXT: kmovw %esi, %k33892; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm12 {%k3} = zmm30[2,3,2,3],zmm28[2,3,2,3]3893; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [4,9,0,3,4,9,0,3]3894; AVX512-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]3895; AVX512-NEXT: vpermt2q %zmm28, %zmm30, %zmm33896; AVX512-NEXT: vmovdqa64 (%rax), %zmm283897; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [6,13,14,7,6,13,14,7]3898; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3899; AVX512-NEXT: vpermi2q %zmm8, %zmm28, %zmm03900; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,13,6,7,0,13,6,7]3901; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]3902; AVX512-NEXT: vpermi2q %zmm28, %zmm7, %zmm83903; AVX512-NEXT: vpermt2q %zmm28, %zmm9, %zmm213904; AVX512-NEXT: vmovdqa (%r9), %ymm73905; AVX512-NEXT: vmovdqa64 %zmm29, %zmm13 {%k2}3906; AVX512-NEXT: vmovdqa (%r8), %ymm93907; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm29 = ymm9[0],ymm7[0],ymm9[2],ymm7[2]3908; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm13 {%k3} = zmm29[2,3,2,3],zmm28[2,3,2,3]3909; AVX512-NEXT: vpermt2q %zmm28, %zmm30, %zmm203910; AVX512-NEXT: vmovdqa64 (%rdx), %xmm283911; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm28 = xmm28[0],mem[0]3912; AVX512-NEXT: vinserti32x4 $1, %xmm28, %ymm0, %ymm283913; AVX512-NEXT: movb $12, %sil3914; AVX512-NEXT: kmovw %esi, %k33915; AVX512-NEXT: vinserti64x4 $0, %ymm28, %zmm0, %zmm4 {%k3}3916; AVX512-NEXT: vinserti32x4 $3, (%rax), %zmm27, %zmm273917; AVX512-NEXT: movb $112, %sil3918; AVX512-NEXT: kmovw %esi, %k43919; AVX512-NEXT: vmovdqa64 %zmm27, %zmm4 {%k4}3920; AVX512-NEXT: vmovdqa64 64(%rdx), %xmm273921; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm27 = xmm27[0],mem[0]3922; AVX512-NEXT: vinserti32x4 $1, %xmm27, %ymm0, %ymm273923; AVX512-NEXT: vinserti64x4 $0, %ymm27, %zmm0, %zmm5 {%k3}3924; AVX512-NEXT: vinserti32x4 $3, 64(%rax), %zmm26, %zmm263925; AVX512-NEXT: vmovdqa64 %zmm26, %zmm5 {%k4}3926; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload3927; AVX512-NEXT: vmovdqa64 %zmm26, %zmm15 {%k2}3928; AVX512-NEXT: movb $120, %sil3929; AVX512-NEXT: kmovw %esi, %k33930; AVX512-NEXT: vmovdqa64 %zmm15, %zmm11 {%k3}3931; AVX512-NEXT: vpbroadcastq 72(%rcx), %ymm153932; AVX512-NEXT: vpblendd {{.*#+}} ymm15 = mem[0,1,2,3],ymm15[4,5,6,7]3933; AVX512-NEXT: movb $6, %sil3934; AVX512-NEXT: kmovw %esi, %k43935; AVX512-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm14 {%k4}3936; AVX512-NEXT: movb $56, %sil3937; AVX512-NEXT: kmovw %esi, %k53938; AVX512-NEXT: vmovdqa64 %zmm3, %zmm14 {%k5}3939; AVX512-NEXT: vmovdqa64 %zmm25, %zmm6 {%k1}3940; AVX512-NEXT: movb $-31, %sil3941; AVX512-NEXT: kmovw %esi, %k13942; AVX512-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}3943; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm16[0,1,2,3],zmm24[4,5,6,7]3944; AVX512-NEXT: movb $-61, %sil3945; AVX512-NEXT: kmovw %esi, %k13946; AVX512-NEXT: vmovdqa64 %zmm8, %zmm0 {%k1}3947; AVX512-NEXT: vmovdqa64 %zmm22, %zmm10 {%k2}3948; AVX512-NEXT: vmovdqa64 %zmm10, %zmm21 {%k3}3949; AVX512-NEXT: vpbroadcastq 8(%rcx), %ymm33950; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]3951; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm17 {%k4}3952; AVX512-NEXT: vmovdqa64 %zmm20, %zmm17 {%k5}3953; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm23[1],ymm31[1],ymm23[3],ymm31[3]3954; AVX512-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]3955; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]3956; AVX512-NEXT: movb $14, %cl3957; AVX512-NEXT: kmovw %ecx, %k13958; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm2 {%k1}3959; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm9[1],ymm7[1],ymm9[3],ymm7[3]3960; AVX512-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]3961; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]3962; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm1 {%k1}3963; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax3964; AVX512-NEXT: vmovdqa64 %zmm17, 64(%rax)3965; AVX512-NEXT: vmovdqa64 %zmm13, 128(%rax)3966; AVX512-NEXT: vmovdqa64 %zmm21, 256(%rax)3967; AVX512-NEXT: vmovdqa64 %zmm0, 320(%rax)3968; AVX512-NEXT: vmovdqa64 %zmm6, 384(%rax)3969; AVX512-NEXT: vmovdqa64 %zmm14, 512(%rax)3970; AVX512-NEXT: vmovdqa64 %zmm12, 576(%rax)3971; AVX512-NEXT: vmovdqa64 %zmm11, 704(%rax)3972; AVX512-NEXT: vmovdqa64 %zmm1, 192(%rax)3973; AVX512-NEXT: vmovdqa64 %zmm5, 448(%rax)3974; AVX512-NEXT: vmovdqa64 %zmm2, 640(%rax)3975; AVX512-NEXT: vmovdqa64 %zmm4, (%rax)3976; AVX512-NEXT: vmovdqa64 %zmm19, 768(%rax)3977; AVX512-NEXT: vmovdqa64 %zmm18, 832(%rax)3978; AVX512-NEXT: vzeroupper3979; AVX512-NEXT: retq3980;3981; AVX512-FCP-LABEL: store_i64_stride7_vf16:3982; AVX512-FCP: # %bb.0:3983; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3984; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm183985; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm263986; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm23987; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm193988; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm33989; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm13990; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm153991; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm213992; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm63993; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [6,14,6,14,6,14,6,14]3994; AVX512-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3995; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm03996; AVX512-FCP-NEXT: vpermt2q %zmm21, %zmm17, %zmm03997; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm43998; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm43999; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm8 = zmm4[0,1,2,3],zmm0[4,5,6,7]4000; AVX512-FCP-NEXT: movb $64, %sil4001; AVX512-FCP-NEXT: kmovw %esi, %k14002; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm8 {%k1}4003; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm44004; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm54005; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm234006; AVX512-FCP-NEXT: vmovdqa64 64(%rax), %zmm124007; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [15,7,15,7,15,7,15,7]4008; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4009; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm74010; AVX512-FCP-NEXT: vpermt2q %zmm21, %zmm11, %zmm74011; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm94012; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm11, %zmm94013; AVX512-FCP-NEXT: movb $24, %sil4014; AVX512-FCP-NEXT: kmovw %esi, %k14015; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm9 {%k1}4016; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,3,4,15,0,0]4017; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm9, %zmm74018; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]4019; AVX512-FCP-NEXT: vpermi2q %zmm23, %zmm7, %zmm94020; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [14,1,2,3,4,5,6,15]4021; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm9, %zmm04022; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4023; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [13,0,2,3,4,5,6,14]4024; AVX512-FCP-NEXT: vpermi2q %zmm23, %zmm8, %zmm94025; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,13,2,3,4,5,6,7]4026; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm9, %zmm84027; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [0,8,0,1,0,8,0,1]4028; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4029; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm94030; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm10, %zmm94031; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]4032; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4033; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm224034; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm7, %zmm224035; AVX512-FCP-NEXT: vpermi2q %zmm19, %zmm26, %zmm104036; AVX512-FCP-NEXT: vpermi2q %zmm23, %zmm6, %zmm74037; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [13,5,13,5,13,5,13,5]4038; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4039; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm254040; AVX512-FCP-NEXT: vpermt2q %zmm21, %zmm14, %zmm254041; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm244042; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm14, %zmm244043; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,12,0,5,4,12,0,5]4044; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]4045; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [3,0,12,4,3,0,12,4]4046; AVX512-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4047; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm164048; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm164049; AVX512-FCP-NEXT: movb $48, %sil4050; AVX512-FCP-NEXT: kmovw %esi, %k24051; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k2} = zmm26[0],zmm19[0],zmm26[2],zmm19[2],zmm26[4],zmm19[4],zmm26[6],zmm19[6]4052; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [11,3,11,3,11,3,11,3]4053; AVX512-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4054; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm294055; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm27, %zmm294056; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [1,0,10,2,1,0,10,2]4057; AVX512-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4058; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm31, %zmm194059; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm264060; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm264061; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm284062; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm17, %zmm284063; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm174064; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm304065; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm14, %zmm304066; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm144067; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm15, %zmm204068; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm20 {%k2} = zmm18[0],zmm2[0],zmm18[2],zmm2[2],zmm18[4],zmm2[4],zmm18[6],zmm2[6]4069; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm274070; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm31, %zmm24071; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm184072; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm184073; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [2,10,0,3,2,10,0,3]4074; AVX512-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4075; AVX512-FCP-NEXT: vpermt2q %zmm21, %zmm31, %zmm14076; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [9,1,9,1,9,1,9,1]4077; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4078; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm0, %zmm64079; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm214080; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm34081; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %ymm234082; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm214083; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm114084; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [5,0,14,6,5,0,14,6]4085; AVX512-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4086; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm314087; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm134088; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm44089; AVX512-FCP-NEXT: vmovdqa 64(%r8), %ymm04090; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm0[0],ymm23[0],ymm0[2],ymm23[2]4091; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm15 = [1,3,7,7]4092; AVX512-FCP-NEXT: vpermt2q %ymm23, %ymm15, %ymm04093; AVX512-FCP-NEXT: movb $96, %sil4094; AVX512-FCP-NEXT: kmovw %esi, %k24095; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm1 {%k2}4096; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,1,12,7,0,1,12,7]4097; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4098; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm184099; AVX512-FCP-NEXT: movb $28, %sil4100; AVX512-FCP-NEXT: kmovw %esi, %k34101; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k3} = zmm5[2,3,2,3],zmm12[2,3,2,3]4102; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,9,0,3,4,9,0,3]4103; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4104; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm64105; AVX512-FCP-NEXT: vmovdqa64 (%rax), %zmm124106; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [6,13,14,7,6,13,14,7]4107; AVX512-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]4108; AVX512-FCP-NEXT: vpermi2q %zmm11, %zmm12, %zmm294109; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [0,13,6,7,0,13,6,7]4110; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]4111; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm31, %zmm114112; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm134113; AVX512-FCP-NEXT: vmovdqa64 (%r9), %ymm234114; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm3 {%k2}4115; AVX512-FCP-NEXT: vmovdqa64 (%r8), %ymm274116; AVX512-FCP-NEXT: vpermi2q %ymm23, %ymm27, %ymm154117; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm23 = ymm27[0],ymm23[0],ymm27[2],ymm23[2]4118; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k3} = zmm23[2,3,2,3],zmm12[2,3,2,3]4119; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm44120; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm54121; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]4122; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm54123; AVX512-FCP-NEXT: movb $12, %sil4124; AVX512-FCP-NEXT: kmovw %esi, %k34125; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm9 {%k3}4126; AVX512-FCP-NEXT: vinserti32x4 $3, (%rax), %zmm22, %zmm54127; AVX512-FCP-NEXT: movb $112, %sil4128; AVX512-FCP-NEXT: kmovw %esi, %k44129; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm9 {%k4}4130; AVX512-FCP-NEXT: vmovdqa 64(%rdx), %xmm54131; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]4132; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm54133; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k3}4134; AVX512-FCP-NEXT: vinserti32x4 $3, 64(%rax), %zmm7, %zmm54135; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k4}4136; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm24 {%k2}4137; AVX512-FCP-NEXT: movb $120, %sil4138; AVX512-FCP-NEXT: kmovw %esi, %k34139; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm18 {%k3}4140; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]4141; AVX512-FCP-NEXT: movb $14, %sil4142; AVX512-FCP-NEXT: kmovw %esi, %k44143; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm16 {%k4}4144; AVX512-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm04145; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]4146; AVX512-FCP-NEXT: movb $6, %sil4147; AVX512-FCP-NEXT: kmovw %esi, %k54148; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm19 {%k5}4149; AVX512-FCP-NEXT: movb $56, %sil4150; AVX512-FCP-NEXT: kmovw %esi, %k64151; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm19 {%k6}4152; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm26 {%k1}4153; AVX512-FCP-NEXT: movb $-31, %sil4154; AVX512-FCP-NEXT: kmovw %esi, %k14155; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm26 {%k1}4156; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm17[0,1,2,3],zmm28[4,5,6,7]4157; AVX512-FCP-NEXT: movb $-61, %sil4158; AVX512-FCP-NEXT: kmovw %esi, %k14159; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm0 {%k1}4160; AVX512-FCP-NEXT: vmovdqa64 %zmm30, %zmm14 {%k2}4161; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm13 {%k3}4162; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4,5],mem[6,7]4163; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm20 {%k4}4164; AVX512-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm54165; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm5 = mem[0,1,2,3],ymm5[4,5,6,7]4166; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm2 {%k5}4167; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm2 {%k6}4168; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4169; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)4170; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)4171; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 192(%rax)4172; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)4173; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 320(%rax)4174; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 384(%rax)4175; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)4176; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 576(%rax)4177; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)4178; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 704(%rax)4179; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 448(%rax)4180; AVX512-FCP-NEXT: vmovdqa64 %zmm9, (%rax)4181; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 768(%rax)4182; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4183; AVX512-FCP-NEXT: vmovaps %zmm0, 832(%rax)4184; AVX512-FCP-NEXT: vzeroupper4185; AVX512-FCP-NEXT: retq4186;4187; AVX512DQ-LABEL: store_i64_stride7_vf16:4188; AVX512DQ: # %bb.0:4189; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4190; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm64191; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm184192; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm74193; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm124194; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm134195; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm204196; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm14197; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm04198; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm164199; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [6,14,6,14,6,14,6,14]4200; AVX512DQ-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4201; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm194202; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm17, %zmm194203; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]4204; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4205; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm214206; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm9, %zmm214207; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm224208; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,8,0,1,0,8,0,1]4209; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4210; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm44211; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm5, %zmm44212; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]4213; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4214; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm24215; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm24216; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4217; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm24218; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm234219; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [2,10,0,3,2,10,0,3]4220; AVX512DQ-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]4221; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm84222; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm11, %zmm84223; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [1,0,10,2,1,0,10,2]4224; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]4225; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm144226; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm15, %zmm144227; AVX512DQ-NEXT: vpermi2q %zmm12, %zmm18, %zmm54228; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [3,0,12,4,3,0,12,4]4229; AVX512DQ-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]4230; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm29, %zmm04231; AVX512DQ-NEXT: movb $48, %sil4232; AVX512DQ-NEXT: kmovw %esi, %k34233; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k3} = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]4234; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm17, %zmm184235; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm18[0,1,2,3],zmm19[4,5,6,7]4236; AVX512DQ-NEXT: movb $64, %sil4237; AVX512DQ-NEXT: kmovw %esi, %k14238; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm19 {%k1}4239; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm204240; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm284241; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm304242; AVX512DQ-NEXT: vmovdqa64 64(%rax), %zmm274243; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm9, %zmm224244; AVX512DQ-NEXT: movb $24, %sil4245; AVX512DQ-NEXT: kmovw %esi, %k14246; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm22 {%k1}4247; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,15,0,0]4248; AVX512DQ-NEXT: vpermi2q %zmm16, %zmm22, %zmm184249; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,5,15,0]4250; AVX512DQ-NEXT: vpermi2q %zmm30, %zmm18, %zmm214251; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm18 = [14,1,2,3,4,5,6,15]4252; AVX512DQ-NEXT: vpermi2q %zmm27, %zmm21, %zmm184253; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [13,0,2,3,4,5,6,14]4254; AVX512DQ-NEXT: vpermi2q %zmm30, %zmm19, %zmm214255; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,13,2,3,4,5,6,7]4256; AVX512DQ-NEXT: vpermi2q %zmm27, %zmm21, %zmm194257; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [0,8,0,8,0,8,0,8]4258; AVX512DQ-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4259; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm264260; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm31, %zmm264261; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm10, %zmm24262; AVX512DQ-NEXT: movb $96, %sil4263; AVX512DQ-NEXT: kmovw %esi, %k24264; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]4265; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4266; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm254267; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm9, %zmm254268; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm244269; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm17, %zmm244270; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm224271; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm10, %zmm224272; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm13, %zmm114273; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm29, %zmm14274; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm134275; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm21, %zmm134276; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [11,3,11,3,11,3,11,3]4277; AVX512DQ-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4278; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm29, %zmm234279; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,1,12,7,0,1,12,7]4280; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]4281; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm12, %zmm134282; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm8 {%k2}4283; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm34284; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm31, %zmm164285; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [9,1,9,1,9,1,9,1]4286; AVX512DQ-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4287; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm31, %zmm34288; AVX512DQ-NEXT: vmovdqa64 64(%r9), %ymm234289; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm6, %zmm174290; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm6, %zmm104291; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm6, %zmm294292; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm7, %zmm154293; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k3} = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4294; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm9, %zmm64295; AVX512DQ-NEXT: vpermi2q %zmm28, %zmm20, %zmm94296; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [5,0,14,6,5,0,14,6]4297; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]4298; AVX512DQ-NEXT: vpermi2q %zmm20, %zmm28, %zmm74299; AVX512DQ-NEXT: vpermi2q %zmm28, %zmm20, %zmm214300; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm31, %zmm204301; AVX512DQ-NEXT: vmovdqa64 64(%r8), %ymm284302; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm30 = ymm28[0],ymm23[0],ymm28[2],ymm23[2]4303; AVX512DQ-NEXT: movb $28, %sil4304; AVX512DQ-NEXT: kmovw %esi, %k34305; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm8 {%k3} = zmm30[2,3,2,3],zmm27[2,3,2,3]4306; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [4,9,0,3,4,9,0,3]4307; AVX512DQ-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]4308; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm30, %zmm34309; AVX512DQ-NEXT: vmovdqa64 (%rax), %zmm274310; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [6,13,14,7,6,13,14,7]4311; AVX512DQ-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4312; AVX512DQ-NEXT: vpermi2q %zmm9, %zmm27, %zmm314313; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]4314; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]4315; AVX512DQ-NEXT: vpermi2q %zmm27, %zmm7, %zmm94316; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm12, %zmm214317; AVX512DQ-NEXT: vmovdqa (%r9), %ymm74318; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm11 {%k2}4319; AVX512DQ-NEXT: vmovdqa (%r8), %ymm124320; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm29 = ymm12[0],ymm7[0],ymm12[2],ymm7[2]4321; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm11 {%k3} = zmm29[2,3,2,3],zmm27[2,3,2,3]4322; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm30, %zmm204323; AVX512DQ-NEXT: vmovdqa64 (%rdx), %xmm274324; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm27 = xmm27[0],mem[0]4325; AVX512DQ-NEXT: vinserti32x4 $1, %xmm27, %ymm0, %ymm274326; AVX512DQ-NEXT: movb $12, %sil4327; AVX512DQ-NEXT: kmovw %esi, %k54328; AVX512DQ-NEXT: vinserti64x4 $0, %ymm27, %zmm0, %zmm4 {%k5}4329; AVX512DQ-NEXT: movb $112, %sil4330; AVX512DQ-NEXT: kmovw %esi, %k74331; AVX512DQ-NEXT: vinserti64x2 $3, (%rax), %zmm26, %zmm4 {%k7}4332; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload4333; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm2 {%k2}4334; AVX512DQ-NEXT: movb $120, %sil4335; AVX512DQ-NEXT: kmovw %esi, %k34336; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}4337; AVX512DQ-NEXT: vpbroadcastq 72(%rcx), %ymm24338; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]4339; AVX512DQ-NEXT: movb $6, %sil4340; AVX512DQ-NEXT: kmovw %esi, %k44341; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm14 {%k4}4342; AVX512DQ-NEXT: movb $56, %sil4343; AVX512DQ-NEXT: kmovw %esi, %k64344; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm14 {%k6}4345; AVX512DQ-NEXT: vmovdqa 64(%rdx), %xmm24346; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]4347; AVX512DQ-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm24348; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm5 {%k5}4349; AVX512DQ-NEXT: vinserti64x2 $3, 64(%rax), %zmm16, %zmm5 {%k7}4350; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm6 {%k1}4351; AVX512DQ-NEXT: movb $-31, %sil4352; AVX512DQ-NEXT: kmovw %esi, %k14353; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm6 {%k1}4354; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm17[0,1,2,3],zmm24[4,5,6,7]4355; AVX512DQ-NEXT: movb $-61, %sil4356; AVX512DQ-NEXT: kmovw %esi, %k14357; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}4358; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm10 {%k2}4359; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm21 {%k3}4360; AVX512DQ-NEXT: vpbroadcastq 8(%rcx), %ymm34361; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]4362; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm15 {%k4}4363; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm15 {%k6}4364; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm28[1],ymm23[1],ymm28[3],ymm23[3]4365; AVX512DQ-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]4366; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]4367; AVX512DQ-NEXT: movb $14, %cl4368; AVX512DQ-NEXT: kmovw %ecx, %k14369; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm0 {%k1}4370; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm12[1],ymm7[1],ymm12[3],ymm7[3]4371; AVX512DQ-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]4372; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]4373; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm1 {%k1}4374; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4375; AVX512DQ-NEXT: vmovdqa64 %zmm15, 64(%rax)4376; AVX512DQ-NEXT: vmovdqa64 %zmm11, 128(%rax)4377; AVX512DQ-NEXT: vmovdqa64 %zmm1, 192(%rax)4378; AVX512DQ-NEXT: vmovdqa64 %zmm21, 256(%rax)4379; AVX512DQ-NEXT: vmovdqa64 %zmm2, 320(%rax)4380; AVX512DQ-NEXT: vmovdqa64 %zmm6, 384(%rax)4381; AVX512DQ-NEXT: vmovdqa64 %zmm5, 448(%rax)4382; AVX512DQ-NEXT: vmovdqa64 %zmm14, 512(%rax)4383; AVX512DQ-NEXT: vmovdqa64 %zmm8, 576(%rax)4384; AVX512DQ-NEXT: vmovdqa64 %zmm0, 640(%rax)4385; AVX512DQ-NEXT: vmovdqa64 %zmm13, 704(%rax)4386; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%rax)4387; AVX512DQ-NEXT: vmovdqa64 %zmm19, 768(%rax)4388; AVX512DQ-NEXT: vmovdqa64 %zmm18, 832(%rax)4389; AVX512DQ-NEXT: vzeroupper4390; AVX512DQ-NEXT: retq4391;4392; AVX512DQ-FCP-LABEL: store_i64_stride7_vf16:4393; AVX512DQ-FCP: # %bb.0:4394; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4395; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm104396; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm04397; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm24398; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm134399; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm34400; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm14401; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm144402; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm154403; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm214404; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [6,14,6,14,6,14,6,14]4405; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4406; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm44407; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm44408; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm54409; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm18, %zmm54410; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm4[4,5,6,7]4411; AVX512DQ-FCP-NEXT: movb $64, %sil4412; AVX512DQ-FCP-NEXT: kmovw %esi, %k14413; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm4 {%k1}4414; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4415; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm74416; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm124417; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm64418; AVX512DQ-FCP-NEXT: vmovdqa64 (%rax), %zmm94419; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rax), %zmm54420; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [15,7,15,7,15,7,15,7]4421; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4422; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm84423; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm84424; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm164425; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm20, %zmm164426; AVX512DQ-FCP-NEXT: movb $24, %sil4427; AVX512DQ-FCP-NEXT: kmovw %esi, %k14428; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm16 {%k1}4429; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,15,0,0]4430; AVX512DQ-FCP-NEXT: vpermi2q %zmm21, %zmm16, %zmm314431; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm22 = [0,8,0,1,0,8,0,1]4432; AVX512DQ-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3]4433; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm84434; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm22, %zmm84435; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %xmm164436; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %xmm274437; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm16 = xmm16[0],mem[0]4438; AVX512DQ-FCP-NEXT: vinserti32x4 $1, %xmm16, %ymm0, %ymm164439; AVX512DQ-FCP-NEXT: movb $12, %sil4440; AVX512DQ-FCP-NEXT: kmovw %esi, %k34441; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm16, %zmm0, %zmm8 {%k3}4442; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [0,8,0,8,0,8,0,8]4443; AVX512DQ-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4444; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm284445; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm284446; AVX512DQ-FCP-NEXT: movb $112, %sil4447; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm244448; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [3,0,12,4,3,0,12,4]4449; AVX512DQ-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4450; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm164451; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm17, %zmm164452; AVX512DQ-FCP-NEXT: movb $48, %dil4453; AVX512DQ-FCP-NEXT: kmovw %edi, %k24454; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k2} = zmm0[0],zmm13[0],zmm0[2],zmm13[2],zmm0[4],zmm13[4],zmm0[6],zmm13[6]4455; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm234456; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,0,10,2,1,0,10,2]4457; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4458; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm194459; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm25, %zmm194460; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm22, %zmm04461; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm22 = xmm27[0],mem[0]4462; AVX512DQ-FCP-NEXT: vinserti32x4 $1, %xmm22, %ymm0, %ymm224463; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm22, %zmm0, %zmm0 {%k3}4464; AVX512DQ-FCP-NEXT: kmovw %esi, %k34465; AVX512DQ-FCP-NEXT: vinserti64x2 $3, (%rax), %zmm28, %zmm8 {%k3}4466; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm28 = [13,5,13,5,13,5,13,5]4467; AVX512DQ-FCP-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4468; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm294469; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm28, %zmm294470; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm28, %zmm244471; AVX512DQ-FCP-NEXT: movb $96, %sil4472; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm224473; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm274474; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm214475; AVX512DQ-FCP-NEXT: vinserti64x2 $3, 64(%rax), %zmm21, %zmm0 {%k3}4476; AVX512DQ-FCP-NEXT: kmovw %esi, %k34477; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm24 {%k3}4478; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]4479; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4480; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm224481; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [0,1,12,7,0,1,12,7]4482; AVX512DQ-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]4483; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm29, %zmm224484; AVX512DQ-FCP-NEXT: movb $120, %sil4485; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm304486; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm20, %zmm304487; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm264488; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm264489; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm26 {%k1}4490; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm7, %zmm204491; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [6,13,14,7,6,13,14,7]4492; AVX512DQ-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]4493; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm9, %zmm304494; AVX512DQ-FCP-NEXT: movb $-31, %dil4495; AVX512DQ-FCP-NEXT: kmovw %edi, %k14496; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm26 {%k1}4497; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm204498; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm18, %zmm204499; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm184500; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm18 = zmm18[0,1,2,3],zmm20[4,5,6,7]4501; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [5,0,14,6,5,0,14,6]4502; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4503; AVX512DQ-FCP-NEXT: vpermi2q %zmm7, %zmm12, %zmm204504; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,13,6,7,0,13,6,7]4505; AVX512DQ-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]4506; AVX512DQ-FCP-NEXT: vpermi2q %zmm9, %zmm20, %zmm304507; AVX512DQ-FCP-NEXT: movb $-61, %dil4508; AVX512DQ-FCP-NEXT: kmovw %edi, %k14509; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm18 {%k1}4510; AVX512DQ-FCP-NEXT: kmovw %esi, %k14511; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}4512; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm204513; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm28, %zmm204514; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm284515; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm28 {%k3}4516; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm7, %zmm214517; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm29, %zmm214518; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm21 {%k1}4519; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %ymm204520; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %ymm244521; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %ymm284522; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [1,3,7,7]4523; AVX512DQ-FCP-NEXT: vmovdqa64 %ymm28, %ymm114524; AVX512DQ-FCP-NEXT: vpermt2q %ymm24, %ymm4, %ymm114525; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]4526; AVX512DQ-FCP-NEXT: movb $14, %sil4527; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm14, %zmm174528; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm17 {%k2} = zmm10[0],zmm2[0],zmm10[2],zmm2[2],zmm10[4],zmm2[4],zmm10[6],zmm2[6]4529; AVX512DQ-FCP-NEXT: kmovw %esi, %k14530; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm16 {%k1}4531; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm114532; AVX512DQ-FCP-NEXT: vpermi2q %ymm20, %ymm11, %ymm44533; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]4534; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm17 {%k1}4535; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [2,10,0,3,2,10,0,3]4536; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]4537; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm4, %zmm14538; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm4, %zmm34539; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,3,11,3,11,3,11,3]4540; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4541; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm4, %zmm234542; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm44543; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm25, %zmm24544; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm28[0],ymm24[0],ymm28[2],ymm24[2]4545; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm1 {%k3}4546; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm3 {%k3}4547; AVX512DQ-FCP-NEXT: movb $28, %al4548; AVX512DQ-FCP-NEXT: kmovw %eax, %k14549; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm10[2,3,2,3],zmm5[2,3,2,3]4550; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm11[0],ymm20[0],ymm11[2],ymm20[2]4551; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k1} = zmm4[2,3,2,3],zmm9[2,3,2,3]4552; AVX512DQ-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm44553; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]4554; AVX512DQ-FCP-NEXT: movb $6, %al4555; AVX512DQ-FCP-NEXT: kmovw %eax, %k14556; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm19 {%k1}4557; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [9,1,9,1,9,1,9,1]4558; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4559; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm4, %zmm74560; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm4, %zmm274561; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,9,0,3,4,9,0,3]4562; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]4563; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm4, %zmm74564; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm4, %zmm274565; AVX512DQ-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm44566; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]4567; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm2 {%k1}4568; AVX512DQ-FCP-NEXT: movb $56, %al4569; AVX512DQ-FCP-NEXT: kmovw %eax, %k14570; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm19 {%k1}4571; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2 {%k1}4572; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,15,0]4573; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm31, %zmm44574; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [13,0,2,3,4,5,6,14]4575; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload4576; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm9, %zmm74577; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,1,2,3,4,5,6,15]4578; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm64579; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,13,2,3,4,5,6,7]4580; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm7, %zmm44581; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4582; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)4583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)4584; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 192(%rax)4585; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, 256(%rax)4586; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 320(%rax)4587; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 384(%rax)4588; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 448(%rax)4589; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)4590; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 576(%rax)4591; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)4592; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)4593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, (%rax)4594; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 768(%rax)4595; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 832(%rax)4596; AVX512DQ-FCP-NEXT: vzeroupper4597; AVX512DQ-FCP-NEXT: retq4598;4599; AVX512BW-LABEL: store_i64_stride7_vf16:4600; AVX512BW: # %bb.0:4601; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax4602; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm64603; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm184604; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm74605; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm94606; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm114607; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm204608; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm14609; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm24610; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm34611; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [6,14,6,14,6,14,6,14]4612; AVX512BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4613; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm194614; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm194615; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [15,7,15,7,15,7,15,7]4616; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4617; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm214618; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm214619; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm224620; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,8,0,1,0,8,0,1]4621; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4622; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm44623; AVX512BW-NEXT: vpermt2q %zmm7, %zmm5, %zmm44624; AVX512BW-NEXT: vpermi2q %zmm9, %zmm18, %zmm54625; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]4626; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4627; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm04628; AVX512BW-NEXT: vpermt2q %zmm2, %zmm10, %zmm04629; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4630; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm154631; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm234632; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [2,10,0,3,2,10,0,3]4633; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]4634; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm124635; AVX512BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm124636; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [1,0,10,2,1,0,10,2]4637; AVX512BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4638; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm144639; AVX512BW-NEXT: vpermt2q %zmm18, %zmm17, %zmm144640; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [3,0,12,4,3,0,12,4]4641; AVX512BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]4642; AVX512BW-NEXT: vpermt2q %zmm20, %zmm29, %zmm24643; AVX512BW-NEXT: movb $48, %sil4644; AVX512BW-NEXT: kmovd %esi, %k34645; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 {%k3} = zmm18[0],zmm9[0],zmm18[2],zmm9[2],zmm18[4],zmm9[4],zmm18[6],zmm9[6]4646; AVX512BW-NEXT: vpermt2q %zmm9, %zmm16, %zmm184647; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm18[0,1,2,3],zmm19[4,5,6,7]4648; AVX512BW-NEXT: movb $64, %sil4649; AVX512BW-NEXT: kmovd %esi, %k14650; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm19 {%k1}4651; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm204652; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm304653; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm314654; AVX512BW-NEXT: vmovdqa64 64(%rax), %zmm284655; AVX512BW-NEXT: vpermt2q %zmm9, %zmm8, %zmm224656; AVX512BW-NEXT: movb $24, %sil4657; AVX512BW-NEXT: kmovd %esi, %k14658; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm22 {%k1}4659; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,15,0,0]4660; AVX512BW-NEXT: vpermi2q %zmm3, %zmm22, %zmm184661; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,5,15,0]4662; AVX512BW-NEXT: vpermi2q %zmm31, %zmm18, %zmm214663; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm18 = [14,1,2,3,4,5,6,15]4664; AVX512BW-NEXT: vpermi2q %zmm28, %zmm21, %zmm184665; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [13,0,2,3,4,5,6,14]4666; AVX512BW-NEXT: vpermi2q %zmm31, %zmm19, %zmm214667; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,13,2,3,4,5,6,7]4668; AVX512BW-NEXT: vpermi2q %zmm28, %zmm21, %zmm194669; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [0,8,0,8,0,8,0,8]4670; AVX512BW-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4671; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm274672; AVX512BW-NEXT: vpermt2q %zmm30, %zmm26, %zmm274673; AVX512BW-NEXT: vpermi2q %zmm31, %zmm3, %zmm264674; AVX512BW-NEXT: vpermt2q %zmm9, %zmm10, %zmm154675; AVX512BW-NEXT: movb $96, %sil4676; AVX512BW-NEXT: kmovd %esi, %k24677; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]4678; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4679; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm254680; AVX512BW-NEXT: vpermt2q %zmm1, %zmm8, %zmm254681; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm244682; AVX512BW-NEXT: vpermt2q %zmm1, %zmm16, %zmm244683; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm224684; AVX512BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm224685; AVX512BW-NEXT: vpermi2q %zmm1, %zmm11, %zmm134686; AVX512BW-NEXT: vpermt2q %zmm11, %zmm29, %zmm14687; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm114688; AVX512BW-NEXT: vpermt2q %zmm31, %zmm21, %zmm114689; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [11,3,11,3,11,3,11,3]4690; AVX512BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4691; AVX512BW-NEXT: vpermt2q %zmm9, %zmm29, %zmm234692; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,1,12,7,0,1,12,7]4693; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]4694; AVX512BW-NEXT: vpermt2q %zmm28, %zmm9, %zmm114695; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm12 {%k2}4696; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [9,1,9,1,9,1,9,1]4697; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4698; AVX512BW-NEXT: vpermt2q %zmm31, %zmm23, %zmm34699; AVX512BW-NEXT: vmovdqa64 64(%r9), %ymm314700; AVX512BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm164701; AVX512BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm104702; AVX512BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm294703; AVX512BW-NEXT: vpermi2q %zmm6, %zmm7, %zmm174704; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k3} = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]4705; AVX512BW-NEXT: vpermt2q %zmm7, %zmm8, %zmm64706; AVX512BW-NEXT: vpermi2q %zmm30, %zmm20, %zmm84707; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [5,0,14,6,5,0,14,6]4708; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]4709; AVX512BW-NEXT: vpermi2q %zmm20, %zmm30, %zmm74710; AVX512BW-NEXT: vpermi2q %zmm30, %zmm20, %zmm214711; AVX512BW-NEXT: vpermt2q %zmm30, %zmm23, %zmm204712; AVX512BW-NEXT: vmovdqa64 64(%r8), %ymm234713; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm30 = ymm23[0],ymm31[0],ymm23[2],ymm31[2]4714; AVX512BW-NEXT: movb $28, %sil4715; AVX512BW-NEXT: kmovd %esi, %k34716; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm12 {%k3} = zmm30[2,3,2,3],zmm28[2,3,2,3]4717; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [4,9,0,3,4,9,0,3]4718; AVX512BW-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]4719; AVX512BW-NEXT: vpermt2q %zmm28, %zmm30, %zmm34720; AVX512BW-NEXT: vmovdqa64 (%rax), %zmm284721; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [6,13,14,7,6,13,14,7]4722; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]4723; AVX512BW-NEXT: vpermi2q %zmm8, %zmm28, %zmm04724; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,13,6,7,0,13,6,7]4725; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]4726; AVX512BW-NEXT: vpermi2q %zmm28, %zmm7, %zmm84727; AVX512BW-NEXT: vpermt2q %zmm28, %zmm9, %zmm214728; AVX512BW-NEXT: vmovdqa (%r9), %ymm74729; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm13 {%k2}4730; AVX512BW-NEXT: vmovdqa (%r8), %ymm94731; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm29 = ymm9[0],ymm7[0],ymm9[2],ymm7[2]4732; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm13 {%k3} = zmm29[2,3,2,3],zmm28[2,3,2,3]4733; AVX512BW-NEXT: vpermt2q %zmm28, %zmm30, %zmm204734; AVX512BW-NEXT: vmovdqa64 (%rdx), %xmm284735; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm28 = xmm28[0],mem[0]4736; AVX512BW-NEXT: vinserti32x4 $1, %xmm28, %ymm0, %ymm284737; AVX512BW-NEXT: movb $12, %sil4738; AVX512BW-NEXT: kmovd %esi, %k34739; AVX512BW-NEXT: vinserti64x4 $0, %ymm28, %zmm0, %zmm4 {%k3}4740; AVX512BW-NEXT: vinserti32x4 $3, (%rax), %zmm27, %zmm274741; AVX512BW-NEXT: movb $112, %sil4742; AVX512BW-NEXT: kmovd %esi, %k44743; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm4 {%k4}4744; AVX512BW-NEXT: vmovdqa64 64(%rdx), %xmm274745; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm27 = xmm27[0],mem[0]4746; AVX512BW-NEXT: vinserti32x4 $1, %xmm27, %ymm0, %ymm274747; AVX512BW-NEXT: vinserti64x4 $0, %ymm27, %zmm0, %zmm5 {%k3}4748; AVX512BW-NEXT: vinserti32x4 $3, 64(%rax), %zmm26, %zmm264749; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm5 {%k4}4750; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload4751; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm15 {%k2}4752; AVX512BW-NEXT: movb $120, %sil4753; AVX512BW-NEXT: kmovd %esi, %k34754; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm11 {%k3}4755; AVX512BW-NEXT: vpbroadcastq 72(%rcx), %ymm154756; AVX512BW-NEXT: vpblendd {{.*#+}} ymm15 = mem[0,1,2,3],ymm15[4,5,6,7]4757; AVX512BW-NEXT: movb $6, %sil4758; AVX512BW-NEXT: kmovd %esi, %k44759; AVX512BW-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm14 {%k4}4760; AVX512BW-NEXT: movb $56, %sil4761; AVX512BW-NEXT: kmovd %esi, %k54762; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm14 {%k5}4763; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm6 {%k1}4764; AVX512BW-NEXT: movb $-31, %sil4765; AVX512BW-NEXT: kmovd %esi, %k14766; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k1}4767; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm16[0,1,2,3],zmm24[4,5,6,7]4768; AVX512BW-NEXT: movb $-61, %sil4769; AVX512BW-NEXT: kmovd %esi, %k14770; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm0 {%k1}4771; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm10 {%k2}4772; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm21 {%k3}4773; AVX512BW-NEXT: vpbroadcastq 8(%rcx), %ymm34774; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]4775; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm17 {%k4}4776; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm17 {%k5}4777; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm23[1],ymm31[1],ymm23[3],ymm31[3]4778; AVX512BW-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]4779; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]4780; AVX512BW-NEXT: movb $14, %cl4781; AVX512BW-NEXT: kmovd %ecx, %k14782; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm2 {%k1}4783; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm9[1],ymm7[1],ymm9[3],ymm7[3]4784; AVX512BW-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]4785; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]4786; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm1 {%k1}4787; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax4788; AVX512BW-NEXT: vmovdqa64 %zmm17, 64(%rax)4789; AVX512BW-NEXT: vmovdqa64 %zmm13, 128(%rax)4790; AVX512BW-NEXT: vmovdqa64 %zmm21, 256(%rax)4791; AVX512BW-NEXT: vmovdqa64 %zmm0, 320(%rax)4792; AVX512BW-NEXT: vmovdqa64 %zmm6, 384(%rax)4793; AVX512BW-NEXT: vmovdqa64 %zmm14, 512(%rax)4794; AVX512BW-NEXT: vmovdqa64 %zmm12, 576(%rax)4795; AVX512BW-NEXT: vmovdqa64 %zmm11, 704(%rax)4796; AVX512BW-NEXT: vmovdqa64 %zmm1, 192(%rax)4797; AVX512BW-NEXT: vmovdqa64 %zmm5, 448(%rax)4798; AVX512BW-NEXT: vmovdqa64 %zmm2, 640(%rax)4799; AVX512BW-NEXT: vmovdqa64 %zmm4, (%rax)4800; AVX512BW-NEXT: vmovdqa64 %zmm19, 768(%rax)4801; AVX512BW-NEXT: vmovdqa64 %zmm18, 832(%rax)4802; AVX512BW-NEXT: vzeroupper4803; AVX512BW-NEXT: retq4804;4805; AVX512BW-FCP-LABEL: store_i64_stride7_vf16:4806; AVX512BW-FCP: # %bb.0:4807; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4808; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm184809; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm264810; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm24811; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm194812; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm34813; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm14814; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm154815; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm214816; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm64817; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [6,14,6,14,6,14,6,14]4818; AVX512BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4819; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm04820; AVX512BW-FCP-NEXT: vpermt2q %zmm21, %zmm17, %zmm04821; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm44822; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm44823; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm8 = zmm4[0,1,2,3],zmm0[4,5,6,7]4824; AVX512BW-FCP-NEXT: movb $64, %sil4825; AVX512BW-FCP-NEXT: kmovd %esi, %k14826; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm8 {%k1}4827; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm44828; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm54829; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm234830; AVX512BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm124831; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [15,7,15,7,15,7,15,7]4832; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4833; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm74834; AVX512BW-FCP-NEXT: vpermt2q %zmm21, %zmm11, %zmm74835; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm94836; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm11, %zmm94837; AVX512BW-FCP-NEXT: movb $24, %sil4838; AVX512BW-FCP-NEXT: kmovd %esi, %k14839; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm9 {%k1}4840; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,3,4,15,0,0]4841; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm9, %zmm74842; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]4843; AVX512BW-FCP-NEXT: vpermi2q %zmm23, %zmm7, %zmm94844; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [14,1,2,3,4,5,6,15]4845; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm9, %zmm04846; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4847; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [13,0,2,3,4,5,6,14]4848; AVX512BW-FCP-NEXT: vpermi2q %zmm23, %zmm8, %zmm94849; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,13,2,3,4,5,6,7]4850; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm9, %zmm84851; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [0,8,0,1,0,8,0,1]4852; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4853; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm94854; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm10, %zmm94855; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [0,8,0,8,0,8,0,8]4856; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4857; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm224858; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm7, %zmm224859; AVX512BW-FCP-NEXT: vpermi2q %zmm19, %zmm26, %zmm104860; AVX512BW-FCP-NEXT: vpermi2q %zmm23, %zmm6, %zmm74861; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [13,5,13,5,13,5,13,5]4862; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4863; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm254864; AVX512BW-FCP-NEXT: vpermt2q %zmm21, %zmm14, %zmm254865; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm244866; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm14, %zmm244867; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,12,0,5,4,12,0,5]4868; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]4869; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [3,0,12,4,3,0,12,4]4870; AVX512BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4871; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm164872; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm164873; AVX512BW-FCP-NEXT: movb $48, %sil4874; AVX512BW-FCP-NEXT: kmovd %esi, %k24875; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k2} = zmm26[0],zmm19[0],zmm26[2],zmm19[2],zmm26[4],zmm19[4],zmm26[6],zmm19[6]4876; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [11,3,11,3,11,3,11,3]4877; AVX512BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4878; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm294879; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm27, %zmm294880; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [1,0,10,2,1,0,10,2]4881; AVX512BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4882; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm31, %zmm194883; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm264884; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm264885; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm284886; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm17, %zmm284887; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm174888; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm304889; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm14, %zmm304890; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm144891; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm15, %zmm204892; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm20 {%k2} = zmm18[0],zmm2[0],zmm18[2],zmm2[2],zmm18[4],zmm2[4],zmm18[6],zmm2[6]4893; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm18, %zmm274894; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm31, %zmm24895; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm184896; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm184897; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [2,10,0,3,2,10,0,3]4898; AVX512BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4899; AVX512BW-FCP-NEXT: vpermt2q %zmm21, %zmm31, %zmm14900; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [9,1,9,1,9,1,9,1]4901; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4902; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm0, %zmm64903; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm214904; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm31, %zmm34905; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %ymm234906; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm214907; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm114908; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [5,0,14,6,5,0,14,6]4909; AVX512BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]4910; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm314911; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm134912; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm44913; AVX512BW-FCP-NEXT: vmovdqa 64(%r8), %ymm04914; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm0[0],ymm23[0],ymm0[2],ymm23[2]4915; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm15 = [1,3,7,7]4916; AVX512BW-FCP-NEXT: vpermt2q %ymm23, %ymm15, %ymm04917; AVX512BW-FCP-NEXT: movb $96, %sil4918; AVX512BW-FCP-NEXT: kmovd %esi, %k24919; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm1 {%k2}4920; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,1,12,7,0,1,12,7]4921; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4922; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm184923; AVX512BW-FCP-NEXT: movb $28, %sil4924; AVX512BW-FCP-NEXT: kmovd %esi, %k34925; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k3} = zmm5[2,3,2,3],zmm12[2,3,2,3]4926; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,9,0,3,4,9,0,3]4927; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4928; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm64929; AVX512BW-FCP-NEXT: vmovdqa64 (%rax), %zmm124930; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [6,13,14,7,6,13,14,7]4931; AVX512BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]4932; AVX512BW-FCP-NEXT: vpermi2q %zmm11, %zmm12, %zmm294933; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [0,13,6,7,0,13,6,7]4934; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]4935; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm31, %zmm114936; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm23, %zmm134937; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %ymm234938; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm3 {%k2}4939; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %ymm274940; AVX512BW-FCP-NEXT: vpermi2q %ymm23, %ymm27, %ymm154941; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm23 = ymm27[0],ymm23[0],ymm27[2],ymm23[2]4942; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k3} = zmm23[2,3,2,3],zmm12[2,3,2,3]4943; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm44944; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm54945; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]4946; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm54947; AVX512BW-FCP-NEXT: movb $12, %sil4948; AVX512BW-FCP-NEXT: kmovd %esi, %k34949; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm9 {%k3}4950; AVX512BW-FCP-NEXT: vinserti32x4 $3, (%rax), %zmm22, %zmm54951; AVX512BW-FCP-NEXT: movb $112, %sil4952; AVX512BW-FCP-NEXT: kmovd %esi, %k44953; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm9 {%k4}4954; AVX512BW-FCP-NEXT: vmovdqa 64(%rdx), %xmm54955; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]4956; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm54957; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k3}4958; AVX512BW-FCP-NEXT: vinserti32x4 $3, 64(%rax), %zmm7, %zmm54959; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k4}4960; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm24 {%k2}4961; AVX512BW-FCP-NEXT: movb $120, %sil4962; AVX512BW-FCP-NEXT: kmovd %esi, %k34963; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm18 {%k3}4964; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]4965; AVX512BW-FCP-NEXT: movb $14, %sil4966; AVX512BW-FCP-NEXT: kmovd %esi, %k44967; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm16 {%k4}4968; AVX512BW-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm04969; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]4970; AVX512BW-FCP-NEXT: movb $6, %sil4971; AVX512BW-FCP-NEXT: kmovd %esi, %k54972; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm19 {%k5}4973; AVX512BW-FCP-NEXT: movb $56, %sil4974; AVX512BW-FCP-NEXT: kmovd %esi, %k64975; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm19 {%k6}4976; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm26 {%k1}4977; AVX512BW-FCP-NEXT: movb $-31, %sil4978; AVX512BW-FCP-NEXT: kmovd %esi, %k14979; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm26 {%k1}4980; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm17[0,1,2,3],zmm28[4,5,6,7]4981; AVX512BW-FCP-NEXT: movb $-61, %sil4982; AVX512BW-FCP-NEXT: kmovd %esi, %k14983; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm0 {%k1}4984; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm14 {%k2}4985; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm13 {%k3}4986; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4,5],mem[6,7]4987; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm20 {%k4}4988; AVX512BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm54989; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = mem[0,1,2,3],ymm5[4,5,6,7]4990; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm2 {%k5}4991; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm2 {%k6}4992; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4993; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)4994; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)4995; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 192(%rax)4996; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 256(%rax)4997; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 320(%rax)4998; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, 384(%rax)4999; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)5000; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 576(%rax)5001; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)5002; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 704(%rax)5003; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 448(%rax)5004; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, (%rax)5005; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 768(%rax)5006; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5007; AVX512BW-FCP-NEXT: vmovaps %zmm0, 832(%rax)5008; AVX512BW-FCP-NEXT: vzeroupper5009; AVX512BW-FCP-NEXT: retq5010;5011; AVX512DQ-BW-LABEL: store_i64_stride7_vf16:5012; AVX512DQ-BW: # %bb.0:5013; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5014; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm65015; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm185016; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm75017; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm125018; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm135019; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm205020; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm15021; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm05022; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm165023; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [6,14,6,14,6,14,6,14]5024; AVX512DQ-BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5025; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm195026; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm17, %zmm195027; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]5028; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5029; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm215030; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm9, %zmm215031; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm225032; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,8,0,1,0,8,0,1]5033; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]5034; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm45035; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm5, %zmm45036; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]5037; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5038; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm25039; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm25040; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5041; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm25042; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm235043; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [2,10,0,3,2,10,0,3]5044; AVX512DQ-BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]5045; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm85046; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm85047; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [1,0,10,2,1,0,10,2]5048; AVX512DQ-BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]5049; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm145050; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm15, %zmm145051; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm18, %zmm55052; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [3,0,12,4,3,0,12,4]5053; AVX512DQ-BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]5054; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm29, %zmm05055; AVX512DQ-BW-NEXT: movb $48, %sil5056; AVX512DQ-BW-NEXT: kmovd %esi, %k35057; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k3} = zmm18[0],zmm12[0],zmm18[2],zmm12[2],zmm18[4],zmm12[4],zmm18[6],zmm12[6]5058; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm17, %zmm185059; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm18[0,1,2,3],zmm19[4,5,6,7]5060; AVX512DQ-BW-NEXT: movb $64, %sil5061; AVX512DQ-BW-NEXT: kmovd %esi, %k15062; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm19 {%k1}5063; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm205064; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm285065; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm305066; AVX512DQ-BW-NEXT: vmovdqa64 64(%rax), %zmm275067; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm9, %zmm225068; AVX512DQ-BW-NEXT: movb $24, %sil5069; AVX512DQ-BW-NEXT: kmovd %esi, %k15070; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm22 {%k1}5071; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,15,0,0]5072; AVX512DQ-BW-NEXT: vpermi2q %zmm16, %zmm22, %zmm185073; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,5,15,0]5074; AVX512DQ-BW-NEXT: vpermi2q %zmm30, %zmm18, %zmm215075; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm18 = [14,1,2,3,4,5,6,15]5076; AVX512DQ-BW-NEXT: vpermi2q %zmm27, %zmm21, %zmm185077; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [13,0,2,3,4,5,6,14]5078; AVX512DQ-BW-NEXT: vpermi2q %zmm30, %zmm19, %zmm215079; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,13,2,3,4,5,6,7]5080; AVX512DQ-BW-NEXT: vpermi2q %zmm27, %zmm21, %zmm195081; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [0,8,0,8,0,8,0,8]5082; AVX512DQ-BW-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5083; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm265084; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm31, %zmm265085; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm10, %zmm25086; AVX512DQ-BW-NEXT: movb $96, %sil5087; AVX512DQ-BW-NEXT: kmovd %esi, %k25088; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]5089; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]5090; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm255091; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm9, %zmm255092; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm245093; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm17, %zmm245094; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm225095; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm225096; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm13, %zmm115097; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm29, %zmm15098; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm135099; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm135100; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [11,3,11,3,11,3,11,3]5101; AVX512DQ-BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5102; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm29, %zmm235103; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [0,1,12,7,0,1,12,7]5104; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]5105; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm12, %zmm135106; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm8 {%k2}5107; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm35108; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm31, %zmm165109; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [9,1,9,1,9,1,9,1]5110; AVX512DQ-BW-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5111; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm31, %zmm35112; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %ymm235113; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm175114; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm105115; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm6, %zmm295116; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm7, %zmm155117; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k3} = zmm6[0],zmm7[0],zmm6[2],zmm7[2],zmm6[4],zmm7[4],zmm6[6],zmm7[6]5118; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm9, %zmm65119; AVX512DQ-BW-NEXT: vpermi2q %zmm28, %zmm20, %zmm95120; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [5,0,14,6,5,0,14,6]5121; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]5122; AVX512DQ-BW-NEXT: vpermi2q %zmm20, %zmm28, %zmm75123; AVX512DQ-BW-NEXT: vpermi2q %zmm28, %zmm20, %zmm215124; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm31, %zmm205125; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %ymm285126; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm30 = ymm28[0],ymm23[0],ymm28[2],ymm23[2]5127; AVX512DQ-BW-NEXT: movb $28, %sil5128; AVX512DQ-BW-NEXT: kmovd %esi, %k35129; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm8 {%k3} = zmm30[2,3,2,3],zmm27[2,3,2,3]5130; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [4,9,0,3,4,9,0,3]5131; AVX512DQ-BW-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]5132; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm30, %zmm35133; AVX512DQ-BW-NEXT: vmovdqa64 (%rax), %zmm275134; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [6,13,14,7,6,13,14,7]5135; AVX512DQ-BW-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]5136; AVX512DQ-BW-NEXT: vpermi2q %zmm9, %zmm27, %zmm315137; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [0,13,6,7,0,13,6,7]5138; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]5139; AVX512DQ-BW-NEXT: vpermi2q %zmm27, %zmm7, %zmm95140; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm12, %zmm215141; AVX512DQ-BW-NEXT: vmovdqa (%r9), %ymm75142; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm11 {%k2}5143; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm125144; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm29 = ymm12[0],ymm7[0],ymm12[2],ymm7[2]5145; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm11 {%k3} = zmm29[2,3,2,3],zmm27[2,3,2,3]5146; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm30, %zmm205147; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %xmm275148; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm27 = xmm27[0],mem[0]5149; AVX512DQ-BW-NEXT: vinserti32x4 $1, %xmm27, %ymm0, %ymm275150; AVX512DQ-BW-NEXT: movb $12, %sil5151; AVX512DQ-BW-NEXT: kmovd %esi, %k55152; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm27, %zmm0, %zmm4 {%k5}5153; AVX512DQ-BW-NEXT: movb $112, %sil5154; AVX512DQ-BW-NEXT: kmovd %esi, %k75155; AVX512DQ-BW-NEXT: vinserti64x2 $3, (%rax), %zmm26, %zmm4 {%k7}5156; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload5157; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm2 {%k2}5158; AVX512DQ-BW-NEXT: movb $120, %sil5159; AVX512DQ-BW-NEXT: kmovd %esi, %k35160; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}5161; AVX512DQ-BW-NEXT: vpbroadcastq 72(%rcx), %ymm25162; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]5163; AVX512DQ-BW-NEXT: movb $6, %sil5164; AVX512DQ-BW-NEXT: kmovd %esi, %k45165; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm14 {%k4}5166; AVX512DQ-BW-NEXT: movb $56, %sil5167; AVX512DQ-BW-NEXT: kmovd %esi, %k65168; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm14 {%k6}5169; AVX512DQ-BW-NEXT: vmovdqa 64(%rdx), %xmm25170; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]5171; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm25172; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm5 {%k5}5173; AVX512DQ-BW-NEXT: vinserti64x2 $3, 64(%rax), %zmm16, %zmm5 {%k7}5174; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm6 {%k1}5175; AVX512DQ-BW-NEXT: movb $-31, %sil5176; AVX512DQ-BW-NEXT: kmovd %esi, %k15177; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm6 {%k1}5178; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm17[0,1,2,3],zmm24[4,5,6,7]5179; AVX512DQ-BW-NEXT: movb $-61, %sil5180; AVX512DQ-BW-NEXT: kmovd %esi, %k15181; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}5182; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm10 {%k2}5183; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm21 {%k3}5184; AVX512DQ-BW-NEXT: vpbroadcastq 8(%rcx), %ymm35185; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]5186; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm15 {%k4}5187; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm15 {%k6}5188; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm28[1],ymm23[1],ymm28[3],ymm23[3]5189; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]5190; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]5191; AVX512DQ-BW-NEXT: movb $14, %cl5192; AVX512DQ-BW-NEXT: kmovd %ecx, %k15193; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm0 {%k1}5194; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm12[1],ymm7[1],ymm12[3],ymm7[3]5195; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,3,3]5196; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]5197; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm1 {%k1}5198; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5199; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, 64(%rax)5200; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 128(%rax)5201; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 192(%rax)5202; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, 256(%rax)5203; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 320(%rax)5204; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 384(%rax)5205; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 448(%rax)5206; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 512(%rax)5207; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 576(%rax)5208; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 640(%rax)5209; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 704(%rax)5210; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, (%rax)5211; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 768(%rax)5212; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 832(%rax)5213; AVX512DQ-BW-NEXT: vzeroupper5214; AVX512DQ-BW-NEXT: retq5215;5216; AVX512DQ-BW-FCP-LABEL: store_i64_stride7_vf16:5217; AVX512DQ-BW-FCP: # %bb.0:5218; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5219; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm105220; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm05221; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm25222; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm135223; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm35224; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm15225; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm145226; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm155227; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm215228; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [6,14,6,14,6,14,6,14]5229; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5230; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm45231; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm45232; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm55233; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm18, %zmm55234; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm4[4,5,6,7]5235; AVX512DQ-BW-FCP-NEXT: movb $64, %sil5236; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k15237; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm4 {%k1}5238; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5239; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm75240; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm125241; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm65242; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rax), %zmm95243; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm55244; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [15,7,15,7,15,7,15,7]5245; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5246; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm85247; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm85248; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm165249; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm20, %zmm165250; AVX512DQ-BW-FCP-NEXT: movb $24, %sil5251; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k15252; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm16 {%k1}5253; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,15,0,0]5254; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm21, %zmm16, %zmm315255; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm22 = [0,8,0,1,0,8,0,1]5256; AVX512DQ-BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3]5257; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm85258; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm22, %zmm85259; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %xmm165260; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %xmm275261; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm16 = xmm16[0],mem[0]5262; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, %xmm16, %ymm0, %ymm165263; AVX512DQ-BW-FCP-NEXT: movb $12, %sil5264; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k35265; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm16, %zmm0, %zmm8 {%k3}5266; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [0,8,0,8,0,8,0,8]5267; AVX512DQ-BW-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5268; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm285269; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm26, %zmm285270; AVX512DQ-BW-FCP-NEXT: movb $112, %sil5271; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm245272; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [3,0,12,4,3,0,12,4]5273; AVX512DQ-BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]5274; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm165275; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm17, %zmm165276; AVX512DQ-BW-FCP-NEXT: movb $48, %dil5277; AVX512DQ-BW-FCP-NEXT: kmovd %edi, %k25278; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k2} = zmm0[0],zmm13[0],zmm0[2],zmm13[2],zmm0[4],zmm13[4],zmm0[6],zmm13[6]5279; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm235280; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,0,10,2,1,0,10,2]5281; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]5282; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm195283; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm25, %zmm195284; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm22, %zmm05285; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm22 = xmm27[0],mem[0]5286; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, %xmm22, %ymm0, %ymm225287; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm22, %zmm0, %zmm0 {%k3}5288; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k35289; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, (%rax), %zmm28, %zmm8 {%k3}5290; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm28 = [13,5,13,5,13,5,13,5]5291; AVX512DQ-BW-FCP-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5292; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm295293; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm28, %zmm295294; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm28, %zmm245295; AVX512DQ-BW-FCP-NEXT: movb $96, %sil5296; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm225297; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm275298; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm215299; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, 64(%rax), %zmm21, %zmm0 {%k3}5300; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k35301; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm24 {%k3}5302; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [4,12,0,5,4,12,0,5]5303; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]5304; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm225305; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [0,1,12,7,0,1,12,7]5306; AVX512DQ-BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]5307; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm29, %zmm225308; AVX512DQ-BW-FCP-NEXT: movb $120, %sil5309; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm305310; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm20, %zmm305311; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm265312; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm265313; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm26 {%k1}5314; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm7, %zmm205315; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [6,13,14,7,6,13,14,7]5316; AVX512DQ-BW-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]5317; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm9, %zmm305318; AVX512DQ-BW-FCP-NEXT: movb $-31, %dil5319; AVX512DQ-BW-FCP-NEXT: kmovd %edi, %k15320; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm26 {%k1}5321; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm205322; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm18, %zmm205323; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm185324; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm18 = zmm18[0,1,2,3],zmm20[4,5,6,7]5325; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [5,0,14,6,5,0,14,6]5326; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]5327; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm7, %zmm12, %zmm205328; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,13,6,7,0,13,6,7]5329; AVX512DQ-BW-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]5330; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm9, %zmm20, %zmm305331; AVX512DQ-BW-FCP-NEXT: movb $-61, %dil5332; AVX512DQ-BW-FCP-NEXT: kmovd %edi, %k15333; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm18 {%k1}5334; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k15335; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}5336; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm205337; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm28, %zmm205338; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm285339; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm28 {%k3}5340; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm7, %zmm215341; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm29, %zmm215342; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm21 {%k1}5343; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %ymm205344; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %ymm245345; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %ymm285346; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [1,3,7,7]5347; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %ymm28, %ymm115348; AVX512DQ-BW-FCP-NEXT: vpermt2q %ymm24, %ymm4, %ymm115349; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]5350; AVX512DQ-BW-FCP-NEXT: movb $14, %sil5351; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm14, %zmm175352; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm17 {%k2} = zmm10[0],zmm2[0],zmm10[2],zmm2[2],zmm10[4],zmm2[4],zmm10[6],zmm2[6]5353; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k15354; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm16 {%k1}5355; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm115356; AVX512DQ-BW-FCP-NEXT: vpermi2q %ymm20, %ymm11, %ymm45357; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]5358; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm17 {%k1}5359; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [2,10,0,3,2,10,0,3]5360; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]5361; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm4, %zmm15362; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm4, %zmm35363; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,3,11,3,11,3,11,3]5364; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5365; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm4, %zmm235366; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm45367; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm25, %zmm25368; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm28[0],ymm24[0],ymm28[2],ymm24[2]5369; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm1 {%k3}5370; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm3 {%k3}5371; AVX512DQ-BW-FCP-NEXT: movb $28, %al5372; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k15373; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm10[2,3,2,3],zmm5[2,3,2,3]5374; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm11[0],ymm20[0],ymm11[2],ymm20[2]5375; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k1} = zmm4[2,3,2,3],zmm9[2,3,2,3]5376; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm45377; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]5378; AVX512DQ-BW-FCP-NEXT: movb $6, %al5379; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k15380; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm19 {%k1}5381; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [9,1,9,1,9,1,9,1]5382; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5383; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm4, %zmm75384; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm4, %zmm275385; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,9,0,3,4,9,0,3]5386; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]5387; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm4, %zmm75388; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm4, %zmm275389; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm45390; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = mem[0,1,2,3],ymm4[4,5,6,7]5391; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm2 {%k1}5392; AVX512DQ-BW-FCP-NEXT: movb $56, %al5393; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k15394; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm19 {%k1}5395; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2 {%k1}5396; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,15,0]5397; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm31, %zmm45398; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [13,0,2,3,4,5,6,14]5399; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload5400; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm9, %zmm75401; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,1,2,3,4,5,6,15]5402; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm65403; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,13,2,3,4,5,6,7]5404; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm7, %zmm45405; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5406; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)5407; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 128(%rax)5408; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 192(%rax)5409; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, 256(%rax)5410; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 320(%rax)5411; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, 384(%rax)5412; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 448(%rax)5413; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)5414; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 576(%rax)5415; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)5416; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)5417; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, (%rax)5418; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 768(%rax)5419; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 832(%rax)5420; AVX512DQ-BW-FCP-NEXT: vzeroupper5421; AVX512DQ-BW-FCP-NEXT: retq5422 %in.vec0 = load <16 x i64>, ptr %in.vecptr0, align 645423 %in.vec1 = load <16 x i64>, ptr %in.vecptr1, align 645424 %in.vec2 = load <16 x i64>, ptr %in.vecptr2, align 645425 %in.vec3 = load <16 x i64>, ptr %in.vecptr3, align 645426 %in.vec4 = load <16 x i64>, ptr %in.vecptr4, align 645427 %in.vec5 = load <16 x i64>, ptr %in.vecptr5, align 645428 %in.vec6 = load <16 x i64>, ptr %in.vecptr6, align 645429 %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>5430 %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>5431 %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>5432 %4 = 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>5433 %5 = shufflevector <16 x i64> %in.vec6, <16 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>5434 %6 = shufflevector <32 x i64> %3, <32 x i64> %5, <48 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>5435 %7 = shufflevector <48 x i64> %6, <48 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>5436 %8 = shufflevector <64 x i64> %4, <64 x i64> %7, <112 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>5437 %interleaved.vec = shufflevector <112 x i64> %8, <112 x i64> poison, <112 x i32> <i32 0, i32 16, i32 32, i32 48, i32 64, i32 80, i32 96, i32 1, i32 17, i32 33, i32 49, i32 65, i32 81, i32 97, i32 2, i32 18, i32 34, i32 50, i32 66, i32 82, i32 98, i32 3, i32 19, i32 35, i32 51, i32 67, i32 83, i32 99, i32 4, i32 20, i32 36, i32 52, i32 68, i32 84, i32 100, i32 5, i32 21, i32 37, i32 53, i32 69, i32 85, i32 101, i32 6, i32 22, i32 38, i32 54, i32 70, i32 86, i32 102, i32 7, i32 23, i32 39, i32 55, i32 71, i32 87, i32 103, i32 8, i32 24, i32 40, i32 56, i32 72, i32 88, i32 104, i32 9, i32 25, i32 41, i32 57, i32 73, i32 89, i32 105, i32 10, i32 26, i32 42, i32 58, i32 74, i32 90, i32 106, i32 11, i32 27, i32 43, i32 59, i32 75, i32 91, i32 107, i32 12, i32 28, i32 44, i32 60, i32 76, i32 92, i32 108, i32 13, i32 29, i32 45, i32 61, i32 77, i32 93, i32 109, i32 14, i32 30, i32 46, i32 62, i32 78, i32 94, i32 110, i32 15, i32 31, i32 47, i32 63, i32 79, i32 95, i32 111>5438 store <112 x i64> %interleaved.vec, ptr %out.vec, align 645439 ret void5440}5441 5442define void @store_i64_stride7_vf32(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {5443; SSE-LABEL: store_i64_stride7_vf32:5444; SSE: # %bb.0:5445; SSE-NEXT: subq $1432, %rsp # imm = 0x5985446; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5447; SSE-NEXT: movapd (%rdi), %xmm25448; SSE-NEXT: movapd 16(%rdi), %xmm35449; SSE-NEXT: movapd 32(%rdi), %xmm45450; SSE-NEXT: movapd (%rsi), %xmm55451; SSE-NEXT: movapd 16(%rsi), %xmm65452; SSE-NEXT: movapd (%rdx), %xmm75453; SSE-NEXT: movapd 16(%rdx), %xmm85454; SSE-NEXT: movapd (%rcx), %xmm95455; SSE-NEXT: movapd 16(%rcx), %xmm105456; SSE-NEXT: movapd (%r8), %xmm115457; SSE-NEXT: movapd 16(%r8), %xmm125458; SSE-NEXT: movapd (%r9), %xmm135459; SSE-NEXT: movapd 16(%r9), %xmm145460; SSE-NEXT: movapd (%rax), %xmm05461; SSE-NEXT: movapd 16(%rax), %xmm15462; SSE-NEXT: movapd %xmm2, %xmm155463; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm5[0]5464; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5465; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]5466; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5467; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm7[1]5468; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5469; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm9[0]5470; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5471; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm11[1]5472; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5473; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm13[0]5474; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5475; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]5476; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5477; SSE-NEXT: movapd %xmm3, %xmm05478; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm6[0]5479; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5480; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm1[0],xmm3[1]5481; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5482; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]5483; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5484; SSE-NEXT: unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm10[0]5485; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5486; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm12[1]5487; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5488; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm14[0]5489; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5490; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm1[1]5491; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5492; SSE-NEXT: movapd 32(%rsi), %xmm15493; SSE-NEXT: movapd %xmm4, %xmm05494; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]5495; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5496; SSE-NEXT: movapd 32(%rax), %xmm05497; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm0[0],xmm4[1]5498; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5499; SSE-NEXT: movapd 32(%rdx), %xmm25500; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]5501; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5502; SSE-NEXT: movapd 32(%rcx), %xmm35503; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]5504; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5505; SSE-NEXT: movapd 32(%r8), %xmm15506; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]5507; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5508; SSE-NEXT: movapd 32(%r9), %xmm25509; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5510; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5511; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5512; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5513; SSE-NEXT: movapd 48(%rdi), %xmm15514; SSE-NEXT: movapd 48(%rsi), %xmm25515; SSE-NEXT: movapd %xmm1, %xmm05516; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5517; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5518; SSE-NEXT: movapd 48(%rax), %xmm05519; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5520; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5521; SSE-NEXT: movapd 48(%rdx), %xmm15522; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5523; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5524; SSE-NEXT: movapd 48(%rcx), %xmm25525; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5526; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5527; SSE-NEXT: movapd 48(%r8), %xmm15528; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5529; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5530; SSE-NEXT: movapd 48(%r9), %xmm25531; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5532; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5533; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5534; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5535; SSE-NEXT: movapd 64(%rdi), %xmm15536; SSE-NEXT: movapd 64(%rsi), %xmm25537; SSE-NEXT: movapd %xmm1, %xmm05538; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5539; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5540; SSE-NEXT: movapd 64(%rax), %xmm05541; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5542; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5543; SSE-NEXT: movapd 64(%rdx), %xmm15544; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5545; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5546; SSE-NEXT: movapd 64(%rcx), %xmm25547; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5548; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5549; SSE-NEXT: movapd 64(%r8), %xmm15550; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5551; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5552; SSE-NEXT: movapd 64(%r9), %xmm25553; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5554; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5555; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5556; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5557; SSE-NEXT: movapd 80(%rdi), %xmm15558; SSE-NEXT: movapd 80(%rsi), %xmm25559; SSE-NEXT: movapd %xmm1, %xmm05560; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5561; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5562; SSE-NEXT: movapd 80(%rax), %xmm05563; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5564; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5565; SSE-NEXT: movapd 80(%rdx), %xmm15566; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5567; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5568; SSE-NEXT: movapd 80(%rcx), %xmm25569; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5570; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5571; SSE-NEXT: movapd 80(%r8), %xmm15572; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5573; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5574; SSE-NEXT: movapd 80(%r9), %xmm25575; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5576; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5577; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5578; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5579; SSE-NEXT: movapd 96(%rdi), %xmm15580; SSE-NEXT: movapd 96(%rsi), %xmm25581; SSE-NEXT: movapd %xmm1, %xmm05582; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5583; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5584; SSE-NEXT: movapd 96(%rax), %xmm05585; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5586; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5587; SSE-NEXT: movapd 96(%rdx), %xmm15588; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5589; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5590; SSE-NEXT: movapd 96(%rcx), %xmm25591; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5592; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5593; SSE-NEXT: movapd 96(%r8), %xmm15594; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5595; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5596; SSE-NEXT: movapd 96(%r9), %xmm25597; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5598; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5599; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5600; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5601; SSE-NEXT: movapd 112(%rdi), %xmm15602; SSE-NEXT: movapd 112(%rsi), %xmm25603; SSE-NEXT: movapd %xmm1, %xmm05604; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5605; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5606; SSE-NEXT: movapd 112(%rax), %xmm05607; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5608; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5609; SSE-NEXT: movapd 112(%rdx), %xmm15610; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5611; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5612; SSE-NEXT: movapd 112(%rcx), %xmm25613; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5614; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5615; SSE-NEXT: movapd 112(%r8), %xmm15616; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5617; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5618; SSE-NEXT: movapd 112(%r9), %xmm25619; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5620; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5621; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5622; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5623; SSE-NEXT: movapd 128(%rdi), %xmm15624; SSE-NEXT: movapd 128(%rsi), %xmm25625; SSE-NEXT: movapd %xmm1, %xmm05626; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5627; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5628; SSE-NEXT: movapd 128(%rax), %xmm05629; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5630; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5631; SSE-NEXT: movapd 128(%rdx), %xmm15632; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5633; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5634; SSE-NEXT: movapd 128(%rcx), %xmm25635; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5636; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5637; SSE-NEXT: movapd 128(%r8), %xmm15638; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5639; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5640; SSE-NEXT: movapd 128(%r9), %xmm25641; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5642; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5643; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5644; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5645; SSE-NEXT: movapd 144(%rdi), %xmm15646; SSE-NEXT: movapd 144(%rsi), %xmm25647; SSE-NEXT: movapd %xmm1, %xmm05648; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5649; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5650; SSE-NEXT: movapd 144(%rax), %xmm05651; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5652; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5653; SSE-NEXT: movapd 144(%rdx), %xmm15654; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5655; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5656; SSE-NEXT: movapd 144(%rcx), %xmm25657; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5658; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5659; SSE-NEXT: movapd 144(%r8), %xmm15660; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5661; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5662; SSE-NEXT: movapd 144(%r9), %xmm25663; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5664; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5665; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5666; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5667; SSE-NEXT: movapd 160(%rdi), %xmm15668; SSE-NEXT: movapd 160(%rsi), %xmm25669; SSE-NEXT: movapd %xmm1, %xmm05670; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5671; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5672; SSE-NEXT: movapd 160(%rax), %xmm05673; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5674; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5675; SSE-NEXT: movapd 160(%rdx), %xmm15676; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5677; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5678; SSE-NEXT: movapd 160(%rcx), %xmm25679; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5680; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5681; SSE-NEXT: movapd 160(%r8), %xmm15682; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5683; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5684; SSE-NEXT: movapd 160(%r9), %xmm25685; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5686; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5687; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5688; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5689; SSE-NEXT: movapd 176(%rdi), %xmm15690; SSE-NEXT: movapd 176(%rsi), %xmm25691; SSE-NEXT: movapd %xmm1, %xmm05692; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5693; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5694; SSE-NEXT: movapd 176(%rax), %xmm05695; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5696; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5697; SSE-NEXT: movapd 176(%rdx), %xmm15698; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5699; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5700; SSE-NEXT: movapd 176(%rcx), %xmm25701; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5702; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5703; SSE-NEXT: movapd 176(%r8), %xmm15704; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5705; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5706; SSE-NEXT: movapd 176(%r9), %xmm25707; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5708; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5709; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5710; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5711; SSE-NEXT: movapd 192(%rdi), %xmm15712; SSE-NEXT: movapd 192(%rsi), %xmm25713; SSE-NEXT: movapd %xmm1, %xmm05714; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5715; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5716; SSE-NEXT: movapd 192(%rax), %xmm05717; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5718; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5719; SSE-NEXT: movapd 192(%rdx), %xmm15720; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5721; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5722; SSE-NEXT: movapd 192(%rcx), %xmm25723; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5724; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5725; SSE-NEXT: movapd 192(%r8), %xmm15726; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5727; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5728; SSE-NEXT: movapd 192(%r9), %xmm25729; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]5730; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill5731; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]5732; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5733; SSE-NEXT: movapd 208(%rdi), %xmm15734; SSE-NEXT: movapd 208(%rsi), %xmm25735; SSE-NEXT: movapd %xmm1, %xmm05736; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]5737; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5738; SSE-NEXT: movapd 208(%rax), %xmm05739; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5740; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5741; SSE-NEXT: movapd 208(%rdx), %xmm15742; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5743; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5744; SSE-NEXT: movapd 208(%rcx), %xmm145745; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm14[0]5746; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5747; SSE-NEXT: movapd 208(%r8), %xmm15748; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm1[1]5749; SSE-NEXT: movapd 208(%r9), %xmm135750; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm13[0]5751; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5752; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]5753; SSE-NEXT: movapd 224(%rdi), %xmm155754; SSE-NEXT: movapd 224(%rsi), %xmm125755; SSE-NEXT: movapd %xmm15, %xmm05756; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm12[0]5757; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5758; SSE-NEXT: movapd 224(%rax), %xmm35759; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm3[0],xmm15[1]5760; SSE-NEXT: movapd 224(%rdx), %xmm115761; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm11[1]5762; SSE-NEXT: movapd 224(%rcx), %xmm85763; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm8[0]5764; SSE-NEXT: movapd 224(%r8), %xmm95765; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]5766; SSE-NEXT: movapd 224(%r9), %xmm65767; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm6[0]5768; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm3[1]5769; SSE-NEXT: movapd 240(%rdi), %xmm55770; SSE-NEXT: movapd 240(%rsi), %xmm45771; SSE-NEXT: movapd %xmm5, %xmm75772; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm4[0]5773; SSE-NEXT: movapd 240(%rax), %xmm105774; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm10[0],xmm5[1]5775; SSE-NEXT: movapd 240(%rdx), %xmm35776; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm3[1]5777; SSE-NEXT: movapd 240(%rcx), %xmm25778; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm2[0]5779; SSE-NEXT: movapd 240(%r8), %xmm15780; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]5781; SSE-NEXT: movapd 240(%r9), %xmm05782; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]5783; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm10[1]5784; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5785; SSE-NEXT: movapd %xmm0, 1776(%rax)5786; SSE-NEXT: movapd %xmm2, 1760(%rax)5787; SSE-NEXT: movapd %xmm4, 1744(%rax)5788; SSE-NEXT: movapd %xmm5, 1728(%rax)5789; SSE-NEXT: movapd %xmm1, 1712(%rax)5790; SSE-NEXT: movapd %xmm3, 1696(%rax)5791; SSE-NEXT: movapd %xmm7, 1680(%rax)5792; SSE-NEXT: movapd %xmm6, 1664(%rax)5793; SSE-NEXT: movapd %xmm8, 1648(%rax)5794; SSE-NEXT: movapd %xmm12, 1632(%rax)5795; SSE-NEXT: movapd %xmm15, 1616(%rax)5796; SSE-NEXT: movapd %xmm9, 1600(%rax)5797; SSE-NEXT: movapd %xmm11, 1584(%rax)5798; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5799; SSE-NEXT: movaps %xmm0, 1568(%rax)5800; SSE-NEXT: movapd %xmm13, 1552(%rax)5801; SSE-NEXT: movapd %xmm14, 1536(%rax)5802; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5803; SSE-NEXT: movaps %xmm0, 1520(%rax)5804; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5805; SSE-NEXT: movaps %xmm0, 1504(%rax)5806; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5807; SSE-NEXT: movaps %xmm0, 1488(%rax)5808; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5809; SSE-NEXT: movaps %xmm0, 1472(%rax)5810; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5811; SSE-NEXT: movaps %xmm0, 1456(%rax)5812; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5813; SSE-NEXT: movaps %xmm0, 1440(%rax)5814; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5815; SSE-NEXT: movaps %xmm0, 1424(%rax)5816; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5817; SSE-NEXT: movaps %xmm0, 1408(%rax)5818; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5819; SSE-NEXT: movaps %xmm0, 1392(%rax)5820; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload5821; SSE-NEXT: movaps %xmm0, 1376(%rax)5822; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5823; SSE-NEXT: movaps %xmm0, 1360(%rax)5824; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5825; SSE-NEXT: movaps %xmm0, 1344(%rax)5826; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5827; SSE-NEXT: movaps %xmm0, 1328(%rax)5828; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5829; SSE-NEXT: movaps %xmm0, 1312(%rax)5830; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5831; SSE-NEXT: movaps %xmm0, 1296(%rax)5832; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5833; SSE-NEXT: movaps %xmm0, 1280(%rax)5834; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5835; SSE-NEXT: movaps %xmm0, 1264(%rax)5836; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5837; SSE-NEXT: movaps %xmm0, 1248(%rax)5838; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5839; SSE-NEXT: movaps %xmm0, 1232(%rax)5840; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5841; SSE-NEXT: movaps %xmm0, 1216(%rax)5842; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5843; SSE-NEXT: movaps %xmm0, 1200(%rax)5844; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5845; SSE-NEXT: movaps %xmm0, 1184(%rax)5846; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5847; SSE-NEXT: movaps %xmm0, 1168(%rax)5848; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5849; SSE-NEXT: movaps %xmm0, 1152(%rax)5850; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5851; SSE-NEXT: movaps %xmm0, 1136(%rax)5852; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5853; SSE-NEXT: movaps %xmm0, 1120(%rax)5854; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5855; SSE-NEXT: movaps %xmm0, 1104(%rax)5856; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5857; SSE-NEXT: movaps %xmm0, 1088(%rax)5858; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5859; SSE-NEXT: movaps %xmm0, 1072(%rax)5860; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5861; SSE-NEXT: movaps %xmm0, 1056(%rax)5862; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5863; SSE-NEXT: movaps %xmm0, 1040(%rax)5864; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5865; SSE-NEXT: movaps %xmm0, 1024(%rax)5866; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5867; SSE-NEXT: movaps %xmm0, 1008(%rax)5868; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5869; SSE-NEXT: movaps %xmm0, 992(%rax)5870; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5871; SSE-NEXT: movaps %xmm0, 976(%rax)5872; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5873; SSE-NEXT: movaps %xmm0, 960(%rax)5874; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5875; SSE-NEXT: movaps %xmm0, 944(%rax)5876; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5877; SSE-NEXT: movaps %xmm0, 928(%rax)5878; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5879; SSE-NEXT: movaps %xmm0, 912(%rax)5880; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5881; SSE-NEXT: movaps %xmm0, 896(%rax)5882; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5883; SSE-NEXT: movaps %xmm0, 880(%rax)5884; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5885; SSE-NEXT: movaps %xmm0, 864(%rax)5886; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5887; SSE-NEXT: movaps %xmm0, 848(%rax)5888; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5889; SSE-NEXT: movaps %xmm0, 832(%rax)5890; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5891; SSE-NEXT: movaps %xmm0, 816(%rax)5892; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5893; SSE-NEXT: movaps %xmm0, 800(%rax)5894; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5895; SSE-NEXT: movaps %xmm0, 784(%rax)5896; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5897; SSE-NEXT: movaps %xmm0, 768(%rax)5898; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5899; SSE-NEXT: movaps %xmm0, 752(%rax)5900; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5901; SSE-NEXT: movaps %xmm0, 736(%rax)5902; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5903; SSE-NEXT: movaps %xmm0, 720(%rax)5904; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5905; SSE-NEXT: movaps %xmm0, 704(%rax)5906; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5907; SSE-NEXT: movaps %xmm0, 688(%rax)5908; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5909; SSE-NEXT: movaps %xmm0, 672(%rax)5910; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5911; SSE-NEXT: movaps %xmm0, 656(%rax)5912; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5913; SSE-NEXT: movaps %xmm0, 640(%rax)5914; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5915; SSE-NEXT: movaps %xmm0, 624(%rax)5916; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5917; SSE-NEXT: movaps %xmm0, 608(%rax)5918; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5919; SSE-NEXT: movaps %xmm0, 592(%rax)5920; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5921; SSE-NEXT: movaps %xmm0, 576(%rax)5922; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5923; SSE-NEXT: movaps %xmm0, 560(%rax)5924; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5925; SSE-NEXT: movaps %xmm0, 544(%rax)5926; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5927; SSE-NEXT: movaps %xmm0, 528(%rax)5928; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5929; SSE-NEXT: movaps %xmm0, 512(%rax)5930; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5931; SSE-NEXT: movaps %xmm0, 496(%rax)5932; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5933; SSE-NEXT: movaps %xmm0, 480(%rax)5934; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5935; SSE-NEXT: movaps %xmm0, 464(%rax)5936; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5937; SSE-NEXT: movaps %xmm0, 448(%rax)5938; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5939; SSE-NEXT: movaps %xmm0, 432(%rax)5940; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5941; SSE-NEXT: movaps %xmm0, 416(%rax)5942; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5943; SSE-NEXT: movaps %xmm0, 400(%rax)5944; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5945; SSE-NEXT: movaps %xmm0, 384(%rax)5946; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5947; SSE-NEXT: movaps %xmm0, 368(%rax)5948; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5949; SSE-NEXT: movaps %xmm0, 352(%rax)5950; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5951; SSE-NEXT: movaps %xmm0, 336(%rax)5952; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5953; SSE-NEXT: movaps %xmm0, 320(%rax)5954; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5955; SSE-NEXT: movaps %xmm0, 304(%rax)5956; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5957; SSE-NEXT: movaps %xmm0, 288(%rax)5958; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5959; SSE-NEXT: movaps %xmm0, 272(%rax)5960; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5961; SSE-NEXT: movaps %xmm0, 256(%rax)5962; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5963; SSE-NEXT: movaps %xmm0, 240(%rax)5964; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5965; SSE-NEXT: movaps %xmm0, 224(%rax)5966; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5967; SSE-NEXT: movaps %xmm0, 208(%rax)5968; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5969; SSE-NEXT: movaps %xmm0, 192(%rax)5970; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5971; SSE-NEXT: movaps %xmm0, 176(%rax)5972; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5973; SSE-NEXT: movaps %xmm0, 160(%rax)5974; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5975; SSE-NEXT: movaps %xmm0, 144(%rax)5976; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5977; SSE-NEXT: movaps %xmm0, 128(%rax)5978; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5979; SSE-NEXT: movaps %xmm0, 112(%rax)5980; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5981; SSE-NEXT: movaps %xmm0, 96(%rax)5982; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5983; SSE-NEXT: movaps %xmm0, 80(%rax)5984; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5985; SSE-NEXT: movaps %xmm0, 64(%rax)5986; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5987; SSE-NEXT: movaps %xmm0, 48(%rax)5988; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5989; SSE-NEXT: movaps %xmm0, 32(%rax)5990; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5991; SSE-NEXT: movaps %xmm0, 16(%rax)5992; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5993; SSE-NEXT: movaps %xmm0, (%rax)5994; SSE-NEXT: addq $1432, %rsp # imm = 0x5985995; SSE-NEXT: retq5996;5997; AVX-LABEL: store_i64_stride7_vf32:5998; AVX: # %bb.0:5999; AVX-NEXT: subq $1320, %rsp # imm = 0x5286000; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax6001; AVX-NEXT: vmovaps (%rdi), %ymm36002; AVX-NEXT: vmovaps (%rsi), %ymm16003; AVX-NEXT: vmovaps (%rdx), %ymm26004; AVX-NEXT: vmovaps (%r8), %ymm56005; AVX-NEXT: vmovaps (%r9), %ymm46006; AVX-NEXT: vmovaps (%r9), %xmm66007; AVX-NEXT: vmovaps (%r8), %xmm76008; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm7[0],xmm6[0]6009; AVX-NEXT: vmovaps (%rdi), %xmm126010; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm8, %ymm96011; AVX-NEXT: vmovaps (%rax), %xmm106012; AVX-NEXT: vmovaps 16(%rax), %xmm116013; AVX-NEXT: vmovaps 32(%rax), %xmm06014; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm8, %ymm86015; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm9[2,3],ymm8[4,5],ymm9[6,7]6016; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6017; AVX-NEXT: vbroadcastsd 8(%rcx), %ymm86018; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm2[0,1,2,3],ymm8[4,5,6,7]6019; AVX-NEXT: vmovaps (%rsi), %xmm96020; AVX-NEXT: vmovaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6021; AVX-NEXT: vshufps {{.*#+}} xmm9 = xmm9[2,3,2,3]6022; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm9[0,1],ymm8[2,3,4,5,6,7]6023; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm76024; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]6025; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6026; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]6027; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm10[1]6028; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]6029; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6030; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]6031; AVX-NEXT: vmovaps 16(%rcx), %xmm56032; AVX-NEXT: vmovaps 16(%rdx), %xmm66033; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]6034; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]6035; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6036; AVX-NEXT: vmovaps 16(%rdi), %xmm36037; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]6038; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6039; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm11[0,1],ymm1[2,3,4,5,6,7]6040; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6041; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm5[2,3,2,3]6042; AVX-NEXT: vmovaps 16(%r8), %xmm26043; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]6044; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]6045; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3,4,5,6,7]6046; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6047; AVX-NEXT: vmovaps 32(%rsi), %xmm16048; AVX-NEXT: vmovaps 32(%rdi), %xmm26049; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm1[0]6050; AVX-NEXT: vinsertf128 $1, 32(%rcx), %ymm3, %ymm46051; AVX-NEXT: vmovaps 32(%rdx), %xmm56052; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm36053; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2],ymm4[2]6054; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6055; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm26056; AVX-NEXT: vmovaps 32(%r9), %xmm36057; AVX-NEXT: vmovaps 32(%r8), %xmm46058; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm3[0]6059; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm6, %ymm66060; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]6061; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6062; AVX-NEXT: vmovaps 32(%rdi), %ymm26063; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm5[1]6064; AVX-NEXT: vbroadcastsd 40(%rcx), %ymm56065; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]6066; AVX-NEXT: vmovaps 32(%rsi), %ymm56067; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm46068; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm4[6,7]6069; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6070; AVX-NEXT: vmovaps 32(%r8), %ymm16071; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm0[1]6072; AVX-NEXT: vmovaps 32(%r9), %ymm36073; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],ymm5[0],ymm2[2],ymm5[2]6074; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6075; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6076; AVX-NEXT: vmovaps 48(%rcx), %xmm06077; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm3[0],ymm1[2],ymm3[2]6078; AVX-NEXT: vmovaps 48(%rdx), %xmm26079; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6080; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6081; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6082; AVX-NEXT: vmovaps 48(%rdi), %xmm16083; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]6084; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]6085; AVX-NEXT: vmovaps 48(%rax), %xmm26086; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]6087; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6088; AVX-NEXT: vmovaps 48(%r8), %xmm16089; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]6090; AVX-NEXT: vshufps {{.*#+}} xmm0 = xmm0[2,3,2,3]6091; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]6092; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]6093; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6094; AVX-NEXT: vmovaps 64(%r9), %xmm06095; AVX-NEXT: vmovaps 64(%r8), %xmm16096; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6097; AVX-NEXT: vmovaps 64(%rdi), %xmm36098; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6099; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm36100; AVX-NEXT: vmovaps 64(%rax), %xmm46101; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm26102; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]6103; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6104; AVX-NEXT: vmovaps 64(%rdx), %ymm26105; AVX-NEXT: vbroadcastsd 72(%rcx), %ymm36106; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3],ymm3[4,5,6,7]6107; AVX-NEXT: vmovaps 64(%rsi), %xmm116108; AVX-NEXT: vshufps {{.*#+}} xmm5 = xmm11[2,3,2,3]6109; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5,6,7]6110; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16111; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]6112; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6113; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]6114; AVX-NEXT: vmovaps 64(%rdi), %ymm16115; AVX-NEXT: vmovaps 64(%rsi), %ymm36116; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm3[0],ymm1[2],ymm3[2]6117; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6118; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6119; AVX-NEXT: vmovaps 64(%r8), %ymm06120; AVX-NEXT: vmovaps 64(%r9), %ymm16121; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6122; AVX-NEXT: vmovaps 80(%rcx), %xmm46123; AVX-NEXT: vmovaps 80(%rdx), %xmm56124; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]6125; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6126; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6127; AVX-NEXT: vmovaps 80(%rdi), %xmm06128; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm0[1],ymm3[3],ymm0[3]6129; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6130; AVX-NEXT: vmovaps 80(%rax), %xmm26131; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]6132; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6133; AVX-NEXT: vmovaps 80(%r8), %xmm06134; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6135; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm4[2,3,2,3]6136; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6137; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6138; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6139; AVX-NEXT: vmovaps 96(%rsi), %xmm06140; AVX-NEXT: vmovaps 96(%rdi), %xmm16141; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6142; AVX-NEXT: vinsertf128 $1, 96(%rcx), %ymm2, %ymm36143; AVX-NEXT: vmovaps 96(%rdx), %xmm46144; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm26145; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]6146; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6147; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16148; AVX-NEXT: vmovaps 96(%r9), %xmm26149; AVX-NEXT: vmovaps 96(%r8), %xmm36150; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm3[0],xmm2[0]6151; AVX-NEXT: vmovaps 96(%rax), %xmm66152; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm56153; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]6154; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6155; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]6156; AVX-NEXT: vbroadcastsd 104(%rcx), %ymm16157; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6158; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16159; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6160; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6161; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm2[1],xmm6[1]6162; AVX-NEXT: vmovaps 96(%rdi), %ymm16163; AVX-NEXT: vmovaps 96(%rsi), %ymm26164; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6165; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6166; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6167; AVX-NEXT: vmovaps 96(%r8), %ymm06168; AVX-NEXT: vmovaps 96(%r9), %ymm16169; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6170; AVX-NEXT: vmovaps 112(%rcx), %xmm36171; AVX-NEXT: vmovaps 112(%rdx), %xmm46172; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]6173; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]6174; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6175; AVX-NEXT: vmovaps 112(%rdi), %xmm06176; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]6177; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6178; AVX-NEXT: vmovaps 112(%rax), %xmm26179; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]6180; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6181; AVX-NEXT: vmovaps 112(%r8), %xmm06182; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6183; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm3[2,3,2,3]6184; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6185; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6186; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6187; AVX-NEXT: vmovaps 128(%r9), %xmm06188; AVX-NEXT: vmovaps 128(%r8), %xmm16189; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6190; AVX-NEXT: vmovaps 128(%rdi), %xmm106191; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm2, %ymm36192; AVX-NEXT: vmovaps 128(%rax), %xmm46193; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm26194; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]6195; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6196; AVX-NEXT: vmovaps 128(%rdx), %ymm26197; AVX-NEXT: vbroadcastsd 136(%rcx), %ymm36198; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3],ymm3[4,5,6,7]6199; AVX-NEXT: vmovaps 128(%rsi), %xmm136200; AVX-NEXT: vshufps {{.*#+}} xmm5 = xmm13[2,3,2,3]6201; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5,6,7]6202; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16203; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]6204; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6205; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]6206; AVX-NEXT: vmovaps 128(%rdi), %ymm16207; AVX-NEXT: vmovaps 128(%rsi), %ymm36208; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm3[0],ymm1[2],ymm3[2]6209; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6210; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6211; AVX-NEXT: vmovaps 128(%r8), %ymm06212; AVX-NEXT: vmovaps 128(%r9), %ymm16213; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6214; AVX-NEXT: vmovaps 144(%rcx), %xmm46215; AVX-NEXT: vmovaps 144(%rdx), %xmm56216; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]6217; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6218; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6219; AVX-NEXT: vmovaps 144(%rdi), %xmm06220; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm0[1],ymm3[3],ymm0[3]6221; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6222; AVX-NEXT: vmovaps 144(%rax), %xmm26223; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]6224; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6225; AVX-NEXT: vmovaps 144(%r8), %xmm06226; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6227; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm4[2,3,2,3]6228; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6229; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6230; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6231; AVX-NEXT: vmovaps 160(%rsi), %xmm06232; AVX-NEXT: vmovaps 160(%rdi), %xmm16233; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6234; AVX-NEXT: vinsertf128 $1, 160(%rcx), %ymm2, %ymm36235; AVX-NEXT: vmovaps 160(%rdx), %xmm46236; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm26237; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]6238; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6239; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16240; AVX-NEXT: vmovaps 160(%r9), %xmm26241; AVX-NEXT: vmovaps 160(%r8), %xmm36242; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm3[0],xmm2[0]6243; AVX-NEXT: vmovaps 160(%rax), %xmm66244; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm56245; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]6246; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6247; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]6248; AVX-NEXT: vbroadcastsd 168(%rcx), %ymm16249; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6250; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16251; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6252; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6253; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm2[1],xmm6[1]6254; AVX-NEXT: vmovaps 160(%rdi), %ymm16255; AVX-NEXT: vmovaps 160(%rsi), %ymm26256; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6257; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6258; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6259; AVX-NEXT: vmovaps 160(%r8), %ymm06260; AVX-NEXT: vmovaps 160(%r9), %ymm16261; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6262; AVX-NEXT: vmovaps 176(%rcx), %xmm36263; AVX-NEXT: vmovaps 176(%rdx), %xmm46264; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]6265; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]6266; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6267; AVX-NEXT: vmovaps 176(%rdi), %xmm06268; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]6269; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6270; AVX-NEXT: vmovaps 176(%rax), %xmm26271; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]6272; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6273; AVX-NEXT: vmovaps 176(%r8), %xmm06274; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6275; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm3[2,3,2,3]6276; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6277; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6278; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6279; AVX-NEXT: vmovaps 192(%r9), %xmm06280; AVX-NEXT: vmovaps 192(%r8), %xmm16281; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6282; AVX-NEXT: vmovaps 192(%rdi), %xmm96283; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm2, %ymm36284; AVX-NEXT: vmovaps 192(%rax), %xmm56285; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm2, %ymm26286; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]6287; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6288; AVX-NEXT: vmovaps 192(%rdx), %ymm26289; AVX-NEXT: vbroadcastsd 200(%rcx), %ymm36290; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm2[0,1,2,3],ymm3[4,5,6,7]6291; AVX-NEXT: vmovaps 192(%rsi), %xmm86292; AVX-NEXT: vshufps {{.*#+}} xmm7 = xmm8[2,3,2,3]6293; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3,4,5,6,7]6294; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16295; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]6296; AVX-NEXT: vmovups %ymm1, (%rsp) # 32-byte Spill6297; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]6298; AVX-NEXT: vmovaps 192(%rdi), %ymm16299; AVX-NEXT: vmovaps 192(%rsi), %ymm56300; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm5[0],ymm1[2],ymm5[2]6301; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6302; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6303; AVX-NEXT: vmovaps 192(%r8), %ymm06304; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]6305; AVX-NEXT: vmovaps 208(%rcx), %xmm46306; AVX-NEXT: vmovaps 208(%rdx), %xmm66307; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm6[0],xmm4[0]6308; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]6309; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6310; AVX-NEXT: vmovaps 208(%rdi), %xmm06311; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm0[1],ymm5[3],ymm0[3]6312; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6313; AVX-NEXT: vmovaps 208(%rax), %xmm26314; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]6315; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6316; AVX-NEXT: vmovaps 224(%rsi), %xmm26317; AVX-NEXT: vmovaps 224(%rdi), %xmm06318; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm0[0],xmm2[0]6319; AVX-NEXT: vinsertf128 $1, 224(%rcx), %ymm5, %ymm66320; AVX-NEXT: vmovaps 224(%rdx), %xmm16321; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm5, %ymm56322; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm5[0],ymm6[1],ymm5[2],ymm6[2]6323; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06324; AVX-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]6325; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm0[0,1],ymm5[2,3],ymm0[4,5,6,7]6326; AVX-NEXT: vmovapd 224(%r8), %ymm36327; AVX-NEXT: vinsertf128 $1, 224(%rax), %ymm3, %ymm66328; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm5[2,3],ymm6[4,5],ymm5[6,7]6329; AVX-NEXT: vshufps {{.*#+}} xmm2 = xmm2[2,3,2,3]6330; AVX-NEXT: vbroadcastsd 232(%rcx), %ymm56331; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]6332; AVX-NEXT: vinsertf128 $1, 224(%r8), %ymm1, %ymm16333; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm2[0,1],ymm1[2,3],ymm2[4,5],ymm1[6,7]6334; AVX-NEXT: vmovapd 224(%rdi), %ymm16335; AVX-NEXT: vmovapd 224(%rsi), %ymm26336; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6337; AVX-NEXT: vmovddup {{.*#+}} xmm15 = mem[0,0]6338; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm15[0,1],ymm1[2,3]6339; AVX-NEXT: vmovapd 240(%rdi), %xmm156340; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2,3]6341; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0,0,3,2]6342; AVX-NEXT: vmovapd 224(%rax), %ymm06343; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3],ymm2[2,3]6344; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0],ymm15[1],ymm2[2],ymm15[3]6345; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],mem[1]6346; AVX-NEXT: vbroadcastsd 216(%r9), %ymm156347; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]6348; AVX-NEXT: vmovapd 240(%rcx), %xmm156349; AVX-NEXT: vmovapd 240(%rdx), %xmm146350; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm14[0],xmm15[0]6351; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm14[0,1],ymm3[2,3]6352; AVX-NEXT: vbroadcastsd 240(%r9), %ymm146353; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1,2],ymm14[3]6354; AVX-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm15[1],mem[1]6355; AVX-NEXT: vbroadcastsd 248(%r9), %ymm156356; AVX-NEXT: vblendpd {{.*#+}} ymm14 = ymm14[0,1],ymm15[2,3]6357; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm0[1],ymm1[2,3]6358; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1,2],ymm0[3]6359; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm10[0],xmm13[0]6360; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload6361; AVX-NEXT: vmovlhps {{.*#+}} xmm14 = xmm10[0],xmm11[0]6362; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm9[0],xmm8[0]6363; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm9 # 16-byte Folded Reload6364; AVX-NEXT: # xmm9 = xmm12[0],mem[0]6365; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rsi6366; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]6367; AVX-NEXT: vmovaps 128(%rdx), %xmm156368; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]6369; AVX-NEXT: vmovaps 64(%rdx), %xmm126370; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]6371; AVX-NEXT: vmovaps 192(%rdx), %xmm116372; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]6373; AVX-NEXT: vmovaps (%rdx), %xmm106374; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]6375; AVX-NEXT: vmovaps %xmm10, 16(%rsi)6376; AVX-NEXT: vmovaps %xmm9, (%rsi)6377; AVX-NEXT: vmovaps %xmm11, 1360(%rsi)6378; AVX-NEXT: vmovaps %xmm8, 1344(%rsi)6379; AVX-NEXT: vmovaps %xmm12, 464(%rsi)6380; AVX-NEXT: vmovaps %xmm14, 448(%rsi)6381; AVX-NEXT: vmovaps %xmm15, 912(%rsi)6382; AVX-NEXT: vmovaps %xmm13, 896(%rsi)6383; AVX-NEXT: vmovapd %ymm0, 1760(%rsi)6384; AVX-NEXT: vmovapd %ymm2, 1728(%rsi)6385; AVX-NEXT: vmovapd %ymm3, 1696(%rsi)6386; AVX-NEXT: vmovapd %ymm1, 1664(%rsi)6387; AVX-NEXT: vmovaps %ymm5, 1632(%rsi)6388; AVX-NEXT: vmovaps %ymm6, 1600(%rsi)6389; AVX-NEXT: vmovapd %ymm7, 1568(%rsi)6390; AVX-NEXT: vmovaps %ymm4, 1536(%rsi)6391; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6392; AVX-NEXT: vmovaps %ymm0, 1504(%rsi)6393; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6394; AVX-NEXT: vmovaps %ymm0, 1472(%rsi)6395; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6396; AVX-NEXT: vmovaps %ymm0, 1440(%rsi)6397; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload6398; AVX-NEXT: vmovaps %ymm0, 1408(%rsi)6399; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6400; AVX-NEXT: vmovaps %ymm0, 1376(%rsi)6401; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6402; AVX-NEXT: vmovaps %ymm0, 1312(%rsi)6403; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6404; AVX-NEXT: vmovaps %ymm0, 1280(%rsi)6405; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6406; AVX-NEXT: vmovaps %ymm0, 1248(%rsi)6407; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6408; AVX-NEXT: vmovaps %ymm0, 1216(%rsi)6409; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6410; AVX-NEXT: vmovaps %ymm0, 1184(%rsi)6411; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6412; AVX-NEXT: vmovaps %ymm0, 1152(%rsi)6413; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6414; AVX-NEXT: vmovaps %ymm0, 1120(%rsi)6415; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6416; AVX-NEXT: vmovaps %ymm0, 1088(%rsi)6417; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6418; AVX-NEXT: vmovaps %ymm0, 1056(%rsi)6419; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6420; AVX-NEXT: vmovaps %ymm0, 1024(%rsi)6421; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6422; AVX-NEXT: vmovaps %ymm0, 992(%rsi)6423; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6424; AVX-NEXT: vmovaps %ymm0, 960(%rsi)6425; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6426; AVX-NEXT: vmovaps %ymm0, 928(%rsi)6427; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6428; AVX-NEXT: vmovaps %ymm0, 864(%rsi)6429; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6430; AVX-NEXT: vmovaps %ymm0, 832(%rsi)6431; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6432; AVX-NEXT: vmovaps %ymm0, 800(%rsi)6433; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6434; AVX-NEXT: vmovaps %ymm0, 768(%rsi)6435; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6436; AVX-NEXT: vmovaps %ymm0, 736(%rsi)6437; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6438; AVX-NEXT: vmovaps %ymm0, 704(%rsi)6439; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6440; AVX-NEXT: vmovaps %ymm0, 672(%rsi)6441; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6442; AVX-NEXT: vmovaps %ymm0, 640(%rsi)6443; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6444; AVX-NEXT: vmovaps %ymm0, 608(%rsi)6445; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6446; AVX-NEXT: vmovaps %ymm0, 576(%rsi)6447; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6448; AVX-NEXT: vmovaps %ymm0, 544(%rsi)6449; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6450; AVX-NEXT: vmovaps %ymm0, 512(%rsi)6451; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6452; AVX-NEXT: vmovaps %ymm0, 480(%rsi)6453; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6454; AVX-NEXT: vmovaps %ymm0, 416(%rsi)6455; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6456; AVX-NEXT: vmovaps %ymm0, 384(%rsi)6457; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6458; AVX-NEXT: vmovaps %ymm0, 352(%rsi)6459; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6460; AVX-NEXT: vmovaps %ymm0, 320(%rsi)6461; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6462; AVX-NEXT: vmovaps %ymm0, 288(%rsi)6463; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6464; AVX-NEXT: vmovaps %ymm0, 256(%rsi)6465; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6466; AVX-NEXT: vmovaps %ymm0, 224(%rsi)6467; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6468; AVX-NEXT: vmovaps %ymm0, 192(%rsi)6469; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6470; AVX-NEXT: vmovaps %ymm0, 160(%rsi)6471; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6472; AVX-NEXT: vmovaps %ymm0, 128(%rsi)6473; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6474; AVX-NEXT: vmovaps %ymm0, 96(%rsi)6475; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6476; AVX-NEXT: vmovaps %ymm0, 64(%rsi)6477; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6478; AVX-NEXT: vmovaps %ymm0, 32(%rsi)6479; AVX-NEXT: addq $1320, %rsp # imm = 0x5286480; AVX-NEXT: vzeroupper6481; AVX-NEXT: retq6482;6483; AVX2-LABEL: store_i64_stride7_vf32:6484; AVX2: # %bb.0:6485; AVX2-NEXT: subq $1672, %rsp # imm = 0x6886486; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax6487; AVX2-NEXT: vmovaps (%rdi), %ymm06488; AVX2-NEXT: vmovaps (%rsi), %ymm16489; AVX2-NEXT: vmovaps (%rdx), %ymm26490; AVX2-NEXT: vmovaps (%r8), %ymm126491; AVX2-NEXT: vmovaps (%r9), %ymm96492; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6493; AVX2-NEXT: vmovaps (%rsi), %xmm36494; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm36495; AVX2-NEXT: vmovaps (%rdi), %xmm46496; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6497; AVX2-NEXT: vmovaps 32(%rdi), %xmm76498; AVX2-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6499; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm46500; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]6501; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6502; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]6503; AVX2-NEXT: vbroadcastsd 8(%rcx), %ymm46504; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]6505; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1],ymm4[2,3,4,5,6,7]6506; AVX2-NEXT: vmovaps (%r8), %xmm56507; AVX2-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6508; AVX2-NEXT: vmovaps 32(%r8), %xmm36509; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm56510; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]6511; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6512; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6513; AVX2-NEXT: vmovaps (%rax), %xmm86514; AVX2-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6515; AVX2-NEXT: vmovaps 16(%rax), %xmm56516; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]6517; AVX2-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]6518; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]6519; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6520; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm12[0],ymm9[0],ymm12[2],ymm9[2]6521; AVX2-NEXT: vmovaps 16(%rdx), %xmm66522; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]6523; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]6524; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6525; AVX2-NEXT: vmovaps 32(%rax), %xmm46526; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6527; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]6528; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6529; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm0[2,3,4,5,6,7]6530; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6531; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm06532; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm3[0],mem[0]6533; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm16534; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6535; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6536; AVX2-NEXT: vmovaps 32(%rdx), %xmm16537; AVX2-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill6538; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]6539; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]6540; AVX2-NEXT: vbroadcastsd 40(%rcx), %ymm16541; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6542; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm16543; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6544; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6545; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]6546; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]6547; AVX2-NEXT: vmovaps 32(%rdi), %ymm16548; AVX2-NEXT: vmovaps 32(%rsi), %ymm26549; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6550; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6551; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6552; AVX2-NEXT: vmovaps 32(%rdx), %ymm06553; AVX2-NEXT: vmovaps 32(%r8), %ymm46554; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6555; AVX2-NEXT: vmovaps 32(%r9), %ymm36556; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6557; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]6558; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]6559; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]6560; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6561; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]6562; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6563; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6564; AVX2-NEXT: vmovaps 48(%rax), %xmm16565; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6566; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6567; AVX2-NEXT: vmovaps 64(%rsi), %xmm06568; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm06569; AVX2-NEXT: vmovaps 64(%rdi), %xmm16570; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6571; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm16572; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6573; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6574; AVX2-NEXT: vmovaps 64(%rdx), %ymm06575; AVX2-NEXT: vbroadcastsd 72(%rcx), %ymm16576; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]6577; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]6578; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]6579; AVX2-NEXT: vmovaps 64(%r8), %xmm26580; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6581; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm26582; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6583; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6584; AVX2-NEXT: vmovaps 64(%rax), %xmm26585; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6586; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6587; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6588; AVX2-NEXT: vmovaps 64(%rdi), %ymm26589; AVX2-NEXT: vmovaps 64(%rsi), %ymm36590; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]6591; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]6592; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6593; AVX2-NEXT: vmovaps 64(%r8), %ymm46594; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6595; AVX2-NEXT: vmovaps 64(%r9), %ymm16596; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6597; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]6598; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]6599; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]6600; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6601; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]6602; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6603; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6604; AVX2-NEXT: vmovaps 80(%rax), %xmm16605; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6606; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6607; AVX2-NEXT: vmovaps 96(%r8), %xmm06608; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]6609; AVX2-NEXT: vmovaps 96(%rax), %xmm26610; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm16611; AVX2-NEXT: vmovaps 96(%rdi), %xmm36612; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6613; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm36614; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]6615; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6616; AVX2-NEXT: vmovaps 96(%rdx), %xmm36617; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6618; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6619; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]6620; AVX2-NEXT: vbroadcastsd 104(%rcx), %ymm36621; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]6622; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06623; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6624; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6625; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]6626; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6627; AVX2-NEXT: vmovaps 96(%rdi), %ymm16628; AVX2-NEXT: vmovaps 96(%rsi), %ymm26629; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6630; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6631; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6632; AVX2-NEXT: vmovaps 96(%rdx), %ymm06633; AVX2-NEXT: vmovaps 96(%r8), %ymm46634; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6635; AVX2-NEXT: vmovaps 96(%r9), %ymm36636; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6637; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]6638; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]6639; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]6640; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6641; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]6642; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6643; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6644; AVX2-NEXT: vmovaps 112(%rax), %xmm16645; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6646; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6647; AVX2-NEXT: vmovaps 128(%rsi), %xmm06648; AVX2-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm06649; AVX2-NEXT: vmovaps 128(%rdi), %xmm16650; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6651; AVX2-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm16652; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6653; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6654; AVX2-NEXT: vmovaps 128(%rdx), %ymm06655; AVX2-NEXT: vbroadcastsd 136(%rcx), %ymm16656; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]6657; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]6658; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]6659; AVX2-NEXT: vmovaps 128(%r8), %xmm26660; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6661; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm26662; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6663; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6664; AVX2-NEXT: vmovaps 128(%rax), %xmm26665; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6666; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6667; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6668; AVX2-NEXT: vmovaps 128(%rdi), %ymm26669; AVX2-NEXT: vmovaps 128(%rsi), %ymm36670; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]6671; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]6672; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6673; AVX2-NEXT: vmovaps 128(%r8), %ymm156674; AVX2-NEXT: vmovaps 128(%r9), %ymm16675; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6676; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]6677; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]6678; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]6679; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6680; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]6681; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6682; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6683; AVX2-NEXT: vmovaps 144(%rax), %xmm16684; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6685; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6686; AVX2-NEXT: vmovaps 160(%r8), %xmm06687; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]6688; AVX2-NEXT: vmovaps 160(%rax), %xmm26689; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm16690; AVX2-NEXT: vmovaps 160(%rdi), %xmm136691; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm36692; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]6693; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6694; AVX2-NEXT: vmovaps 160(%rdx), %xmm116695; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6696; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm11[1]6697; AVX2-NEXT: vbroadcastsd 168(%rcx), %ymm36698; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]6699; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06700; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6701; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6702; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]6703; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6704; AVX2-NEXT: vmovaps 160(%rdi), %ymm16705; AVX2-NEXT: vmovaps 160(%rsi), %ymm26706; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6707; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]6708; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6709; AVX2-NEXT: vmovaps 160(%rdx), %ymm06710; AVX2-NEXT: vmovaps 160(%r8), %ymm106711; AVX2-NEXT: vmovaps 160(%r9), %ymm96712; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]6713; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]6714; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]6715; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6716; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]6717; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6718; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6719; AVX2-NEXT: vmovaps 176(%rax), %xmm16720; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6721; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6722; AVX2-NEXT: vmovaps 192(%rsi), %xmm06723; AVX2-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm06724; AVX2-NEXT: vmovaps 192(%rdi), %xmm76725; AVX2-NEXT: vinsertf128 $1, 192(%rdx), %ymm7, %ymm16726; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6727; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6728; AVX2-NEXT: vmovaps 192(%rdx), %ymm06729; AVX2-NEXT: vbroadcastsd 200(%rcx), %ymm16730; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]6731; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]6732; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]6733; AVX2-NEXT: vmovaps 192(%r8), %xmm56734; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm26735; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6736; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6737; AVX2-NEXT: vmovaps 192(%rax), %xmm46738; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6739; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm4[1]6740; AVX2-NEXT: vmovaps 192(%rdi), %ymm26741; AVX2-NEXT: vmovaps 192(%rsi), %ymm36742; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]6743; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]6744; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6745; AVX2-NEXT: vmovaps 192(%r8), %ymm16746; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]6747; AVX2-NEXT: vmovaps 208(%rdx), %xmm66748; AVX2-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]6749; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]6750; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6751; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]6752; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]6753; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6754; AVX2-NEXT: vmovaps 208(%rax), %xmm16755; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]6756; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6757; AVX2-NEXT: vmovaps 224(%rdi), %ymm06758; AVX2-NEXT: vmovaps 224(%r8), %ymm26759; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]6760; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm2[0,1],ymm0[0,1]6761; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]6762; AVX2-NEXT: vbroadcastsd 224(%rax), %ymm36763; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]6764; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6765; AVX2-NEXT: vmovaps 224(%rdx), %xmm16766; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]6767; AVX2-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]6768; AVX2-NEXT: vbroadcastsd 232(%rcx), %ymm66769; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]6770; AVX2-NEXT: vinsertf128 $1, 224(%r8), %ymm0, %ymm66771; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]6772; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6773; AVX2-NEXT: vmovaps 224(%rsi), %ymm36774; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]6775; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]6776; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]6777; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6778; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]6779; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm0[0,2,3,3]6780; AVX2-NEXT: vmovaps 224(%rdx), %ymm06781; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm0[6,7]6782; AVX2-NEXT: vmovaps 240(%rax), %xmm66783; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm6[0,1],ymm3[2,3,4,5,6,7]6784; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload6785; AVX2-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]6786; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload6787; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload6788; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]6789; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6790; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm3 # 32-byte Folded Reload6791; AVX2-NEXT: # ymm3 = ymm12[1],mem[1],ymm12[3],mem[3]6792; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]6793; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]6794; AVX2-NEXT: vbroadcastsd 24(%rcx), %ymm66795; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]6796; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6797; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload6798; AVX2-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]6799; AVX2-NEXT: vinsertf128 $1, (%rsp), %ymm3, %ymm3 # 16-byte Folded Reload6800; AVX2-NEXT: vbroadcastsd 32(%rcx), %ymm66801; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]6802; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6803; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6804; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6805; AVX2-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]6806; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]6807; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]6808; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm66809; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]6810; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6811; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload6812; AVX2-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]6813; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload6814; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload6815; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]6816; AVX2-NEXT: vmovups %ymm3, (%rsp) # 32-byte Spill6817; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6818; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6819; AVX2-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]6820; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]6821; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]6822; AVX2-NEXT: vbroadcastsd 88(%rcx), %ymm66823; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]6824; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6825; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload6826; AVX2-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]6827; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload6828; AVX2-NEXT: vbroadcastsd 96(%rcx), %ymm66829; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1,2,3,4,5],ymm6[6,7]6830; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6831; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6832; AVX2-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]6833; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]6834; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]6835; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm66836; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1],ymm3[2,3,4,5,6,7]6837; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload6838; AVX2-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]6839; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload6840; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload6841; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]6842; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload6843; AVX2-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]6844; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]6845; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]6846; AVX2-NEXT: vbroadcastsd 152(%rcx), %ymm156847; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm3[2,3,4,5,6,7]6848; AVX2-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]6849; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm116850; AVX2-NEXT: vbroadcastsd 160(%rcx), %ymm136851; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],ymm13[6,7]6852; AVX2-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]6853; AVX2-NEXT: vpermpd {{.*#+}} ymm9 = ymm9[0,2,3,3]6854; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]6855; AVX2-NEXT: vbroadcastsd 184(%rcx), %ymm106856; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1],ymm9[2,3,4,5,6,7]6857; AVX2-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]6858; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm5, %ymm56859; AVX2-NEXT: vbroadcastsd %xmm4, %ymm46860; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5],ymm5[6,7]6861; AVX2-NEXT: vbroadcastsd 216(%rcx), %ymm56862; AVX2-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]6863; AVX2-NEXT: vbroadcastsd 216(%r9), %ymm76864; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]6865; AVX2-NEXT: vmovaps 224(%rdi), %xmm76866; AVX2-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]6867; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm7, %ymm16868; AVX2-NEXT: vbroadcastsd 224(%rcx), %ymm76869; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm7[6,7]6870; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]6871; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]6872; AVX2-NEXT: vbroadcastsd 240(%r9), %ymm26873; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6874; AVX2-NEXT: vbroadcastsd 248(%rcx), %ymm26875; AVX2-NEXT: vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]6876; AVX2-NEXT: vbroadcastsd 248(%r9), %ymm76877; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm7[4,5,6,7]6878; AVX2-NEXT: vmovaps 224(%rax), %ymm76879; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm10 # 32-byte Folded Reload6880; AVX2-NEXT: # ymm10 = mem[0,1],ymm7[2,3],mem[4,5,6,7]6881; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]6882; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx6883; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]6884; AVX2-NEXT: vmovaps %ymm2, 1760(%rcx)6885; AVX2-NEXT: vmovaps %ymm14, 1728(%rcx)6886; AVX2-NEXT: vmovaps %ymm0, 1696(%rcx)6887; AVX2-NEXT: vmovaps %ymm10, 1664(%rcx)6888; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6889; AVX2-NEXT: vmovaps %ymm0, 1632(%rcx)6890; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6891; AVX2-NEXT: vmovaps %ymm0, 1600(%rcx)6892; AVX2-NEXT: vmovaps %ymm1, 1568(%rcx)6893; AVX2-NEXT: vmovaps %ymm5, 1536(%rcx)6894; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6895; AVX2-NEXT: vmovaps %ymm0, 1504(%rcx)6896; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6897; AVX2-NEXT: vmovaps %ymm0, 1472(%rcx)6898; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6899; AVX2-NEXT: vmovaps %ymm0, 1440(%rcx)6900; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6901; AVX2-NEXT: vmovaps %ymm0, 1408(%rcx)6902; AVX2-NEXT: vmovaps %ymm4, 1376(%rcx)6903; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6904; AVX2-NEXT: vmovaps %ymm0, 1344(%rcx)6905; AVX2-NEXT: vmovaps %ymm9, 1312(%rcx)6906; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6907; AVX2-NEXT: vmovaps %ymm0, 1280(%rcx)6908; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6909; AVX2-NEXT: vmovaps %ymm0, 1248(%rcx)6910; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6911; AVX2-NEXT: vmovaps %ymm0, 1216(%rcx)6912; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6913; AVX2-NEXT: vmovaps %ymm0, 1184(%rcx)6914; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6915; AVX2-NEXT: vmovaps %ymm0, 1152(%rcx)6916; AVX2-NEXT: vmovaps %ymm11, 1120(%rcx)6917; AVX2-NEXT: vmovaps %ymm3, 1088(%rcx)6918; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6919; AVX2-NEXT: vmovaps %ymm0, 1056(%rcx)6920; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6921; AVX2-NEXT: vmovaps %ymm0, 1024(%rcx)6922; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6923; AVX2-NEXT: vmovaps %ymm0, 992(%rcx)6924; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6925; AVX2-NEXT: vmovaps %ymm0, 960(%rcx)6926; AVX2-NEXT: vmovaps %ymm6, 928(%rcx)6927; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6928; AVX2-NEXT: vmovaps %ymm0, 896(%rcx)6929; AVX2-NEXT: vmovaps %ymm8, 864(%rcx)6930; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6931; AVX2-NEXT: vmovaps %ymm0, 832(%rcx)6932; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6933; AVX2-NEXT: vmovaps %ymm0, 800(%rcx)6934; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6935; AVX2-NEXT: vmovaps %ymm0, 768(%rcx)6936; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6937; AVX2-NEXT: vmovaps %ymm0, 736(%rcx)6938; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6939; AVX2-NEXT: vmovaps %ymm0, 704(%rcx)6940; AVX2-NEXT: vmovaps %ymm12, 672(%rcx)6941; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6942; AVX2-NEXT: vmovaps %ymm0, 640(%rcx)6943; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6944; AVX2-NEXT: vmovaps %ymm0, 608(%rcx)6945; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6946; AVX2-NEXT: vmovaps %ymm0, 576(%rcx)6947; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6948; AVX2-NEXT: vmovaps %ymm0, 544(%rcx)6949; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6950; AVX2-NEXT: vmovaps %ymm0, 512(%rcx)6951; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload6952; AVX2-NEXT: vmovaps %ymm0, 480(%rcx)6953; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6954; AVX2-NEXT: vmovaps %ymm0, 448(%rcx)6955; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6956; AVX2-NEXT: vmovaps %ymm0, 416(%rcx)6957; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6958; AVX2-NEXT: vmovaps %ymm0, 384(%rcx)6959; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6960; AVX2-NEXT: vmovaps %ymm0, 352(%rcx)6961; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6962; AVX2-NEXT: vmovaps %ymm0, 320(%rcx)6963; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6964; AVX2-NEXT: vmovaps %ymm0, 288(%rcx)6965; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6966; AVX2-NEXT: vmovaps %ymm0, 256(%rcx)6967; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6968; AVX2-NEXT: vmovaps %ymm0, 224(%rcx)6969; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6970; AVX2-NEXT: vmovaps %ymm0, 192(%rcx)6971; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6972; AVX2-NEXT: vmovaps %ymm0, 160(%rcx)6973; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6974; AVX2-NEXT: vmovaps %ymm0, 128(%rcx)6975; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6976; AVX2-NEXT: vmovaps %ymm0, 96(%rcx)6977; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6978; AVX2-NEXT: vmovaps %ymm0, 64(%rcx)6979; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6980; AVX2-NEXT: vmovaps %ymm0, 32(%rcx)6981; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6982; AVX2-NEXT: vmovaps %ymm0, (%rcx)6983; AVX2-NEXT: addq $1672, %rsp # imm = 0x6886984; AVX2-NEXT: vzeroupper6985; AVX2-NEXT: retq6986;6987; AVX2-FP-LABEL: store_i64_stride7_vf32:6988; AVX2-FP: # %bb.0:6989; AVX2-FP-NEXT: subq $1672, %rsp # imm = 0x6886990; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax6991; AVX2-FP-NEXT: vmovaps (%rdi), %ymm06992; AVX2-FP-NEXT: vmovaps (%rsi), %ymm16993; AVX2-FP-NEXT: vmovaps (%rdx), %ymm26994; AVX2-FP-NEXT: vmovaps (%r8), %ymm126995; AVX2-FP-NEXT: vmovaps (%r9), %ymm96996; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6997; AVX2-FP-NEXT: vmovaps (%rsi), %xmm36998; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm36999; AVX2-FP-NEXT: vmovaps (%rdi), %xmm47000; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7001; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm77002; AVX2-FP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7003; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm47004; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7005; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7006; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]7007; AVX2-FP-NEXT: vbroadcastsd 8(%rcx), %ymm47008; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]7009; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1],ymm4[2,3,4,5,6,7]7010; AVX2-FP-NEXT: vmovaps (%r8), %xmm57011; AVX2-FP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7012; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm37013; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm57014; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7015; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7016; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7017; AVX2-FP-NEXT: vmovaps (%rax), %xmm87018; AVX2-FP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7019; AVX2-FP-NEXT: vmovaps 16(%rax), %xmm57020; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]7021; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]7022; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]7023; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7024; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm12[0],ymm9[0],ymm12[2],ymm9[2]7025; AVX2-FP-NEXT: vmovaps 16(%rdx), %xmm67026; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7027; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]7028; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7029; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm47030; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7031; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]7032; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]7033; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm0[2,3,4,5,6,7]7034; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7035; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm07036; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm3[0],mem[0]7037; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm17038; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7039; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7040; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm17041; AVX2-FP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill7042; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7043; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7044; AVX2-FP-NEXT: vbroadcastsd 40(%rcx), %ymm17045; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7046; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm17047; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7048; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7049; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7050; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]7051; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm17052; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm27053; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7054; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7055; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7056; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm07057; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm47058; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7059; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm37060; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7061; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7062; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7063; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7064; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7065; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7066; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7067; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7068; AVX2-FP-NEXT: vmovaps 48(%rax), %xmm17069; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7070; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7071; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm07072; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm07073; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm17074; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7075; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm17076; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7077; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7078; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm07079; AVX2-FP-NEXT: vbroadcastsd 72(%rcx), %ymm17080; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7081; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7082; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7083; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm27084; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7085; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm27086; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7087; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7088; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm27089; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7090; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7091; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7092; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm27093; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm37094; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7095; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7096; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7097; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm47098; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7099; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm17100; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7101; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]7102; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7103; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]7104; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7105; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7106; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7107; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7108; AVX2-FP-NEXT: vmovaps 80(%rax), %xmm17109; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7110; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7111; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm07112; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]7113; AVX2-FP-NEXT: vmovaps 96(%rax), %xmm27114; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm17115; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm37116; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7117; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm37118; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]7119; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7120; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm37121; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7122; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7123; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]7124; AVX2-FP-NEXT: vbroadcastsd 104(%rcx), %ymm37125; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]7126; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07127; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7128; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7129; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7130; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]7131; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm17132; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm27133; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7134; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7135; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7136; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm07137; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm47138; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7139; AVX2-FP-NEXT: vmovaps 96(%r9), %ymm37140; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7141; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7142; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7143; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7144; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7145; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7146; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7147; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7148; AVX2-FP-NEXT: vmovaps 112(%rax), %xmm17149; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7150; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7151; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm07152; AVX2-FP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm07153; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm17154; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7155; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm17156; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7157; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7158; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm07159; AVX2-FP-NEXT: vbroadcastsd 136(%rcx), %ymm17160; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7161; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7162; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7163; AVX2-FP-NEXT: vmovaps 128(%r8), %xmm27164; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7165; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm27166; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7167; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7168; AVX2-FP-NEXT: vmovaps 128(%rax), %xmm27169; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7170; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7171; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7172; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm27173; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm37174; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7175; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7176; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7177; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm157178; AVX2-FP-NEXT: vmovaps 128(%r9), %ymm17179; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7180; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]7181; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7182; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]7183; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7184; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7185; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7186; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7187; AVX2-FP-NEXT: vmovaps 144(%rax), %xmm17188; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7189; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7190; AVX2-FP-NEXT: vmovaps 160(%r8), %xmm07191; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]7192; AVX2-FP-NEXT: vmovaps 160(%rax), %xmm27193; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm17194; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm137195; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm37196; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]7197; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7198; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm117199; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7200; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm11[1]7201; AVX2-FP-NEXT: vbroadcastsd 168(%rcx), %ymm37202; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]7203; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07204; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7205; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7206; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7207; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]7208; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm17209; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm27210; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7211; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7212; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7213; AVX2-FP-NEXT: vmovaps 160(%rdx), %ymm07214; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm107215; AVX2-FP-NEXT: vmovaps 160(%r9), %ymm97216; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]7217; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7218; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7219; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7220; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7221; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7222; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7223; AVX2-FP-NEXT: vmovaps 176(%rax), %xmm17224; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7225; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7226; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm07227; AVX2-FP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm07228; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm77229; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdx), %ymm7, %ymm17230; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7231; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7232; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm07233; AVX2-FP-NEXT: vbroadcastsd 200(%rcx), %ymm17234; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7235; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7236; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7237; AVX2-FP-NEXT: vmovaps 192(%r8), %xmm57238; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm27239; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7240; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7241; AVX2-FP-NEXT: vmovaps 192(%rax), %xmm47242; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7243; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm4[1]7244; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm27245; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm37246; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7247; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]7248; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7249; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm17250; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]7251; AVX2-FP-NEXT: vmovaps 208(%rdx), %xmm67252; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7253; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]7254; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7255; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7256; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7257; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7258; AVX2-FP-NEXT: vmovaps 208(%rax), %xmm17259; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7260; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7261; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm07262; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm27263; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7264; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm2[0,1],ymm0[0,1]7265; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]7266; AVX2-FP-NEXT: vbroadcastsd 224(%rax), %ymm37267; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]7268; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7269; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm17270; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]7271; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]7272; AVX2-FP-NEXT: vbroadcastsd 232(%rcx), %ymm67273; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]7274; AVX2-FP-NEXT: vinsertf128 $1, 224(%r8), %ymm0, %ymm67275; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]7276; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7277; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm37278; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]7279; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]7280; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]7281; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7282; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]7283; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm0[0,2,3,3]7284; AVX2-FP-NEXT: vmovaps 224(%rdx), %ymm07285; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm0[6,7]7286; AVX2-FP-NEXT: vmovaps 240(%rax), %xmm67287; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm6[0,1],ymm3[2,3,4,5,6,7]7288; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7289; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7290; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7291; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7292; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7293; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7294; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm3 # 32-byte Folded Reload7295; AVX2-FP-NEXT: # ymm3 = ymm12[1],mem[1],ymm12[3],mem[3]7296; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7297; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7298; AVX2-FP-NEXT: vbroadcastsd 24(%rcx), %ymm67299; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7300; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7301; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7302; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7303; AVX2-FP-NEXT: vinsertf128 $1, (%rsp), %ymm3, %ymm3 # 16-byte Folded Reload7304; AVX2-FP-NEXT: vbroadcastsd 32(%rcx), %ymm67305; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]7306; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7307; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7308; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7309; AVX2-FP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7310; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7311; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7312; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm67313; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7314; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7315; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7316; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7317; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7318; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7319; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7320; AVX2-FP-NEXT: vmovups %ymm3, (%rsp) # 32-byte Spill7321; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7322; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7323; AVX2-FP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7324; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7325; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7326; AVX2-FP-NEXT: vbroadcastsd 88(%rcx), %ymm67327; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7328; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7329; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7330; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7331; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7332; AVX2-FP-NEXT: vbroadcastsd 96(%rcx), %ymm67333; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1,2,3,4,5],ymm6[6,7]7334; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7335; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7336; AVX2-FP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7337; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7338; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7339; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm67340; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1],ymm3[2,3,4,5,6,7]7341; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7342; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7343; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7344; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7345; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7346; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload7347; AVX2-FP-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]7348; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7349; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7350; AVX2-FP-NEXT: vbroadcastsd 152(%rcx), %ymm157351; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm3[2,3,4,5,6,7]7352; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]7353; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm117354; AVX2-FP-NEXT: vbroadcastsd 160(%rcx), %ymm137355; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],ymm13[6,7]7356; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]7357; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm9 = ymm9[0,2,3,3]7358; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]7359; AVX2-FP-NEXT: vbroadcastsd 184(%rcx), %ymm107360; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1],ymm9[2,3,4,5,6,7]7361; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]7362; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm5, %ymm57363; AVX2-FP-NEXT: vbroadcastsd %xmm4, %ymm47364; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5],ymm5[6,7]7365; AVX2-FP-NEXT: vbroadcastsd 216(%rcx), %ymm57366; AVX2-FP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7367; AVX2-FP-NEXT: vbroadcastsd 216(%r9), %ymm77368; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]7369; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm77370; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]7371; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm7, %ymm17372; AVX2-FP-NEXT: vbroadcastsd 224(%rcx), %ymm77373; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm7[6,7]7374; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]7375; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]7376; AVX2-FP-NEXT: vbroadcastsd 240(%r9), %ymm27377; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]7378; AVX2-FP-NEXT: vbroadcastsd 248(%rcx), %ymm27379; AVX2-FP-NEXT: vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]7380; AVX2-FP-NEXT: vbroadcastsd 248(%r9), %ymm77381; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm7[4,5,6,7]7382; AVX2-FP-NEXT: vmovaps 224(%rax), %ymm77383; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm10 # 32-byte Folded Reload7384; AVX2-FP-NEXT: # ymm10 = mem[0,1],ymm7[2,3],mem[4,5,6,7]7385; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]7386; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rcx7387; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]7388; AVX2-FP-NEXT: vmovaps %ymm2, 1760(%rcx)7389; AVX2-FP-NEXT: vmovaps %ymm14, 1728(%rcx)7390; AVX2-FP-NEXT: vmovaps %ymm0, 1696(%rcx)7391; AVX2-FP-NEXT: vmovaps %ymm10, 1664(%rcx)7392; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7393; AVX2-FP-NEXT: vmovaps %ymm0, 1632(%rcx)7394; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7395; AVX2-FP-NEXT: vmovaps %ymm0, 1600(%rcx)7396; AVX2-FP-NEXT: vmovaps %ymm1, 1568(%rcx)7397; AVX2-FP-NEXT: vmovaps %ymm5, 1536(%rcx)7398; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7399; AVX2-FP-NEXT: vmovaps %ymm0, 1504(%rcx)7400; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7401; AVX2-FP-NEXT: vmovaps %ymm0, 1472(%rcx)7402; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7403; AVX2-FP-NEXT: vmovaps %ymm0, 1440(%rcx)7404; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7405; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%rcx)7406; AVX2-FP-NEXT: vmovaps %ymm4, 1376(%rcx)7407; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7408; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%rcx)7409; AVX2-FP-NEXT: vmovaps %ymm9, 1312(%rcx)7410; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7411; AVX2-FP-NEXT: vmovaps %ymm0, 1280(%rcx)7412; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7413; AVX2-FP-NEXT: vmovaps %ymm0, 1248(%rcx)7414; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7415; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%rcx)7416; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7417; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%rcx)7418; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7419; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%rcx)7420; AVX2-FP-NEXT: vmovaps %ymm11, 1120(%rcx)7421; AVX2-FP-NEXT: vmovaps %ymm3, 1088(%rcx)7422; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7423; AVX2-FP-NEXT: vmovaps %ymm0, 1056(%rcx)7424; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7425; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%rcx)7426; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7427; AVX2-FP-NEXT: vmovaps %ymm0, 992(%rcx)7428; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7429; AVX2-FP-NEXT: vmovaps %ymm0, 960(%rcx)7430; AVX2-FP-NEXT: vmovaps %ymm6, 928(%rcx)7431; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7432; AVX2-FP-NEXT: vmovaps %ymm0, 896(%rcx)7433; AVX2-FP-NEXT: vmovaps %ymm8, 864(%rcx)7434; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7435; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rcx)7436; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7437; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rcx)7438; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7439; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rcx)7440; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7441; AVX2-FP-NEXT: vmovaps %ymm0, 736(%rcx)7442; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7443; AVX2-FP-NEXT: vmovaps %ymm0, 704(%rcx)7444; AVX2-FP-NEXT: vmovaps %ymm12, 672(%rcx)7445; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7446; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rcx)7447; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7448; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rcx)7449; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7450; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rcx)7451; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7452; AVX2-FP-NEXT: vmovaps %ymm0, 544(%rcx)7453; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7454; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rcx)7455; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload7456; AVX2-FP-NEXT: vmovaps %ymm0, 480(%rcx)7457; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7458; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rcx)7459; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7460; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rcx)7461; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7462; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rcx)7463; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7464; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rcx)7465; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7466; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rcx)7467; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7468; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rcx)7469; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7470; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rcx)7471; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7472; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rcx)7473; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7474; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rcx)7475; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7476; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rcx)7477; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7478; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rcx)7479; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7480; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rcx)7481; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7482; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rcx)7483; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7484; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rcx)7485; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7486; AVX2-FP-NEXT: vmovaps %ymm0, (%rcx)7487; AVX2-FP-NEXT: addq $1672, %rsp # imm = 0x6887488; AVX2-FP-NEXT: vzeroupper7489; AVX2-FP-NEXT: retq7490;7491; AVX2-FCP-LABEL: store_i64_stride7_vf32:7492; AVX2-FCP: # %bb.0:7493; AVX2-FCP-NEXT: subq $1672, %rsp # imm = 0x6887494; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7495; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm07496; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm17497; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm27498; AVX2-FCP-NEXT: vmovaps (%r8), %ymm127499; AVX2-FCP-NEXT: vmovaps (%r9), %ymm97500; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7501; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm37502; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm37503; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm47504; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7505; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm77506; AVX2-FCP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7507; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm47508; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7509; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7510; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]7511; AVX2-FCP-NEXT: vbroadcastsd 8(%rcx), %ymm47512; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]7513; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1],ymm4[2,3,4,5,6,7]7514; AVX2-FCP-NEXT: vmovaps (%r8), %xmm57515; AVX2-FCP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7516; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm37517; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm57518; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]7519; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7520; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7521; AVX2-FCP-NEXT: vmovaps (%rax), %xmm87522; AVX2-FCP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7523; AVX2-FCP-NEXT: vmovaps 16(%rax), %xmm57524; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]7525; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]7526; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]7527; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7528; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm12[0],ymm9[0],ymm12[2],ymm9[2]7529; AVX2-FCP-NEXT: vmovaps 16(%rdx), %xmm67530; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7531; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]7532; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7533; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm47534; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7535; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]7536; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]7537; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm0[2,3,4,5,6,7]7538; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7539; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm07540; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm3[0],mem[0]7541; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm17542; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7543; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7544; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm17545; AVX2-FCP-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill7546; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7547; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]7548; AVX2-FCP-NEXT: vbroadcastsd 40(%rcx), %ymm17549; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7550; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm17551; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7552; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7553; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7554; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]7555; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm17556; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm27557; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7558; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7559; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7560; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm07561; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm47562; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7563; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm37564; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7565; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7566; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7567; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7568; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7569; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7570; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7571; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7572; AVX2-FCP-NEXT: vmovaps 48(%rax), %xmm17573; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7574; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7575; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm07576; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm07577; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm17578; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7579; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm17580; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7581; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7582; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm07583; AVX2-FCP-NEXT: vbroadcastsd 72(%rcx), %ymm17584; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7585; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7586; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7587; AVX2-FCP-NEXT: vmovaps 64(%r8), %xmm27588; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7589; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm27590; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7591; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7592; AVX2-FCP-NEXT: vmovaps 64(%rax), %xmm27593; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7594; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7595; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7596; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm27597; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm37598; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7599; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7600; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7601; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm47602; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7603; AVX2-FCP-NEXT: vmovaps 64(%r9), %ymm17604; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7605; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]7606; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7607; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]7608; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7609; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7610; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7611; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7612; AVX2-FCP-NEXT: vmovaps 80(%rax), %xmm17613; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7614; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7615; AVX2-FCP-NEXT: vmovaps 96(%r8), %xmm07616; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]7617; AVX2-FCP-NEXT: vmovaps 96(%rax), %xmm27618; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm17619; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm37620; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7621; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm37622; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]7623; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7624; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm37625; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7626; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7627; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]7628; AVX2-FCP-NEXT: vbroadcastsd 104(%rcx), %ymm37629; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]7630; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07631; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7632; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7633; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7634; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]7635; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm17636; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm27637; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7638; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7639; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7640; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm07641; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm47642; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7643; AVX2-FCP-NEXT: vmovaps 96(%r9), %ymm37644; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7645; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]7646; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7647; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7648; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7649; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7650; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7651; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7652; AVX2-FCP-NEXT: vmovaps 112(%rax), %xmm17653; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7654; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7655; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm07656; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm07657; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm17658; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7659; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm17660; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7661; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7662; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm07663; AVX2-FCP-NEXT: vbroadcastsd 136(%rcx), %ymm17664; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7665; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7666; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7667; AVX2-FCP-NEXT: vmovaps 128(%r8), %xmm27668; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7669; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm27670; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7671; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7672; AVX2-FCP-NEXT: vmovaps 128(%rax), %xmm27673; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7674; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7675; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]7676; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm27677; AVX2-FCP-NEXT: vmovaps 128(%rsi), %ymm37678; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7679; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7680; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7681; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm157682; AVX2-FCP-NEXT: vmovaps 128(%r9), %ymm17683; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7684; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],ymm1[0],ymm15[2],ymm1[2]7685; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7686; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]7687; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7688; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7689; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7690; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7691; AVX2-FCP-NEXT: vmovaps 144(%rax), %xmm17692; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7693; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7694; AVX2-FCP-NEXT: vmovaps 160(%r8), %xmm07695; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]7696; AVX2-FCP-NEXT: vmovaps 160(%rax), %xmm27697; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm17698; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm137699; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm37700; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]7701; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7702; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm117703; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7704; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm11[1]7705; AVX2-FCP-NEXT: vbroadcastsd 168(%rcx), %ymm37706; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]7707; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm07708; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7709; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7710; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]7711; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]7712; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm17713; AVX2-FCP-NEXT: vmovaps 160(%rsi), %ymm27714; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7715; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]7716; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7717; AVX2-FCP-NEXT: vmovaps 160(%rdx), %ymm07718; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm107719; AVX2-FCP-NEXT: vmovaps 160(%r9), %ymm97720; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]7721; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]7722; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]7723; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7724; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7725; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7726; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7727; AVX2-FCP-NEXT: vmovaps 176(%rax), %xmm17728; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7729; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7730; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm07731; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm07732; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm77733; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdx), %ymm7, %ymm17734; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7735; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7736; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm07737; AVX2-FCP-NEXT: vbroadcastsd 200(%rcx), %ymm17738; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]7739; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]7740; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7741; AVX2-FCP-NEXT: vmovaps 192(%r8), %xmm57742; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm27743; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]7744; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7745; AVX2-FCP-NEXT: vmovaps 192(%rax), %xmm47746; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7747; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm4[1]7748; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm27749; AVX2-FCP-NEXT: vmovaps 192(%rsi), %ymm37750; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]7751; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]7752; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7753; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm17754; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]7755; AVX2-FCP-NEXT: vmovaps 208(%rdx), %xmm67756; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7757; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]7758; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7759; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]7760; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]7761; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7762; AVX2-FCP-NEXT: vmovaps 208(%rax), %xmm17763; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7764; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7765; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm07766; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm27767; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]7768; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm2[0,1],ymm0[0,1]7769; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]7770; AVX2-FCP-NEXT: vbroadcastsd 224(%rax), %ymm37771; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]7772; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7773; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm17774; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]7775; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]7776; AVX2-FCP-NEXT: vbroadcastsd 232(%rcx), %ymm67777; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]7778; AVX2-FCP-NEXT: vinsertf128 $1, 224(%r8), %ymm0, %ymm67779; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]7780; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7781; AVX2-FCP-NEXT: vmovaps 224(%rsi), %ymm37782; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]7783; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm3[0],ymm0[2],ymm3[2]7784; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm8[4,5,6,7]7785; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7786; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]7787; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm0[0,2,3,3]7788; AVX2-FCP-NEXT: vmovaps 224(%rdx), %ymm07789; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm0[6,7]7790; AVX2-FCP-NEXT: vmovaps 240(%rax), %xmm67791; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm6[0,1],ymm3[2,3,4,5,6,7]7792; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7793; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7794; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7795; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7796; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7797; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7798; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm3 # 32-byte Folded Reload7799; AVX2-FCP-NEXT: # ymm3 = ymm12[1],mem[1],ymm12[3],mem[3]7800; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7801; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7802; AVX2-FCP-NEXT: vbroadcastsd 24(%rcx), %ymm67803; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7804; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7805; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7806; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7807; AVX2-FCP-NEXT: vinsertf128 $1, (%rsp), %ymm3, %ymm3 # 16-byte Folded Reload7808; AVX2-FCP-NEXT: vbroadcastsd 32(%rcx), %ymm67809; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm6[6,7]7810; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7811; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7812; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7813; AVX2-FCP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7814; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7815; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7816; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm67817; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7818; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7819; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7820; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7821; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7822; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7823; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7824; AVX2-FCP-NEXT: vmovups %ymm3, (%rsp) # 32-byte Spill7825; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7826; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7827; AVX2-FCP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7828; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7829; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7830; AVX2-FCP-NEXT: vbroadcastsd 88(%rcx), %ymm67831; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm6[0,1],ymm3[2,3,4,5,6,7]7832; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7833; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7834; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7835; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7836; AVX2-FCP-NEXT: vbroadcastsd 96(%rcx), %ymm67837; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1,2,3,4,5],ymm6[6,7]7838; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7839; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7840; AVX2-FCP-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7841; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7842; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7843; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm67844; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1],ymm3[2,3,4,5,6,7]7845; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7846; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7847; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 16-byte Folded Reload7848; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 16-byte Folded Reload7849; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1,2,3],ymm6[4,5],ymm3[6,7]7850; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload7851; AVX2-FCP-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]7852; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]7853; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],mem[6,7]7854; AVX2-FCP-NEXT: vbroadcastsd 152(%rcx), %ymm157855; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm3[2,3,4,5,6,7]7856; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]7857; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm117858; AVX2-FCP-NEXT: vbroadcastsd 160(%rcx), %ymm137859; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],ymm13[6,7]7860; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]7861; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm9 = ymm9[0,2,3,3]7862; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]7863; AVX2-FCP-NEXT: vbroadcastsd 184(%rcx), %ymm107864; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm10[0,1],ymm9[2,3,4,5,6,7]7865; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]7866; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm5, %ymm57867; AVX2-FCP-NEXT: vbroadcastsd %xmm4, %ymm47868; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5],ymm5[6,7]7869; AVX2-FCP-NEXT: vbroadcastsd 216(%rcx), %ymm57870; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7871; AVX2-FCP-NEXT: vbroadcastsd 216(%r9), %ymm77872; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]7873; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm77874; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]7875; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm7, %ymm17876; AVX2-FCP-NEXT: vbroadcastsd 224(%rcx), %ymm77877; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm7[6,7]7878; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]7879; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]7880; AVX2-FCP-NEXT: vbroadcastsd 240(%r9), %ymm27881; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]7882; AVX2-FCP-NEXT: vbroadcastsd 248(%rcx), %ymm27883; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]7884; AVX2-FCP-NEXT: vbroadcastsd 248(%r9), %ymm77885; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm7[4,5,6,7]7886; AVX2-FCP-NEXT: vmovaps 224(%rax), %ymm77887; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm10 # 32-byte Folded Reload7888; AVX2-FCP-NEXT: # ymm10 = mem[0,1],ymm7[2,3],mem[4,5,6,7]7889; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]7890; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rcx7891; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]7892; AVX2-FCP-NEXT: vmovaps %ymm2, 1760(%rcx)7893; AVX2-FCP-NEXT: vmovaps %ymm14, 1728(%rcx)7894; AVX2-FCP-NEXT: vmovaps %ymm0, 1696(%rcx)7895; AVX2-FCP-NEXT: vmovaps %ymm10, 1664(%rcx)7896; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7897; AVX2-FCP-NEXT: vmovaps %ymm0, 1632(%rcx)7898; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7899; AVX2-FCP-NEXT: vmovaps %ymm0, 1600(%rcx)7900; AVX2-FCP-NEXT: vmovaps %ymm1, 1568(%rcx)7901; AVX2-FCP-NEXT: vmovaps %ymm5, 1536(%rcx)7902; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7903; AVX2-FCP-NEXT: vmovaps %ymm0, 1504(%rcx)7904; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7905; AVX2-FCP-NEXT: vmovaps %ymm0, 1472(%rcx)7906; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7907; AVX2-FCP-NEXT: vmovaps %ymm0, 1440(%rcx)7908; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7909; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%rcx)7910; AVX2-FCP-NEXT: vmovaps %ymm4, 1376(%rcx)7911; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7912; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%rcx)7913; AVX2-FCP-NEXT: vmovaps %ymm9, 1312(%rcx)7914; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7915; AVX2-FCP-NEXT: vmovaps %ymm0, 1280(%rcx)7916; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7917; AVX2-FCP-NEXT: vmovaps %ymm0, 1248(%rcx)7918; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7919; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%rcx)7920; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7921; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%rcx)7922; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7923; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%rcx)7924; AVX2-FCP-NEXT: vmovaps %ymm11, 1120(%rcx)7925; AVX2-FCP-NEXT: vmovaps %ymm3, 1088(%rcx)7926; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7927; AVX2-FCP-NEXT: vmovaps %ymm0, 1056(%rcx)7928; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7929; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%rcx)7930; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7931; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%rcx)7932; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7933; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%rcx)7934; AVX2-FCP-NEXT: vmovaps %ymm6, 928(%rcx)7935; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7936; AVX2-FCP-NEXT: vmovaps %ymm0, 896(%rcx)7937; AVX2-FCP-NEXT: vmovaps %ymm8, 864(%rcx)7938; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7939; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rcx)7940; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7941; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rcx)7942; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7943; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rcx)7944; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7945; AVX2-FCP-NEXT: vmovaps %ymm0, 736(%rcx)7946; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7947; AVX2-FCP-NEXT: vmovaps %ymm0, 704(%rcx)7948; AVX2-FCP-NEXT: vmovaps %ymm12, 672(%rcx)7949; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7950; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rcx)7951; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7952; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rcx)7953; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7954; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rcx)7955; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7956; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%rcx)7957; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7958; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rcx)7959; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload7960; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%rcx)7961; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7962; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rcx)7963; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7964; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rcx)7965; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7966; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rcx)7967; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7968; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rcx)7969; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7970; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rcx)7971; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7972; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rcx)7973; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7974; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rcx)7975; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7976; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rcx)7977; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7978; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rcx)7979; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7980; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rcx)7981; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7982; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rcx)7983; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7984; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rcx)7985; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7986; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rcx)7987; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7988; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rcx)7989; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7990; AVX2-FCP-NEXT: vmovaps %ymm0, (%rcx)7991; AVX2-FCP-NEXT: addq $1672, %rsp # imm = 0x6887992; AVX2-FCP-NEXT: vzeroupper7993; AVX2-FCP-NEXT: retq7994;7995; AVX512-LABEL: store_i64_stride7_vf32:7996; AVX512: # %bb.0:7997; AVX512-NEXT: subq $2184, %rsp # imm = 0x8887998; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax7999; AVX512-NEXT: vmovdqa64 (%rdi), %zmm178000; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm148001; AVX512-NEXT: vmovdqa64 (%rsi), %zmm168002; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm238003; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm68004; AVX512-NEXT: vmovdqa64 (%rdx), %zmm78005; AVX512-NEXT: vmovdqa64 (%rcx), %zmm88006; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm298007; AVX512-NEXT: vmovdqa64 (%r8), %zmm08008; AVX512-NEXT: vmovdqa64 (%r9), %zmm38009; AVX512-NEXT: vmovdqa64 (%rax), %zmm18010; AVX512-NEXT: vmovdqa64 64(%rax), %zmm58011; AVX512-NEXT: movb $96, %r10b8012; AVX512-NEXT: kmovw %r10d, %k18013; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [15,7,15,7,15,7,15,7]8014; AVX512-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8015; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8016; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [9,1,9,1,9,1,9,1]8017; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8018; AVX512-NEXT: vmovdqa64 %zmm0, %zmm108019; AVX512-NEXT: vpermt2q %zmm3, %zmm11, %zmm108020; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,9,0,3,4,9,0,3]8021; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]8022; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28023; AVX512-NEXT: vpermt2q %zmm1, %zmm12, %zmm108024; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8025; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,3,11,3,11,3,11,3]8026; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8027; AVX512-NEXT: vmovdqa64 %zmm17, %zmm18028; AVX512-NEXT: vpermt2q %zmm16, %zmm15, %zmm18029; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm22 = [2,10,0,3,2,10,0,3]8030; AVX512-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3]8031; AVX512-NEXT: vmovdqa64 %zmm7, %zmm48032; AVX512-NEXT: vpermt2q %zmm8, %zmm22, %zmm48033; AVX512-NEXT: vmovdqa64 %zmm1, %zmm4 {%k1}8034; AVX512-NEXT: vmovdqa (%r9), %ymm108035; AVX512-NEXT: vmovdqu %ymm10, (%rsp) # 32-byte Spill8036; AVX512-NEXT: vmovdqa 64(%r9), %ymm138037; AVX512-NEXT: vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8038; AVX512-NEXT: vmovdqa (%r8), %ymm18039; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8040; AVX512-NEXT: vmovdqa64 64(%r8), %ymm188041; AVX512-NEXT: vmovdqu64 %ymm18, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8042; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm10[0],ymm1[2],ymm10[2]8043; AVX512-NEXT: movb $28, %r10b8044; AVX512-NEXT: kmovw %r10d, %k28045; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]8046; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8047; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]8048; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]8049; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18050; AVX512-NEXT: vpermt2q %zmm3, %zmm10, %zmm18051; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,1,12,7,0,1,12,7]8052; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]8053; AVX512-NEXT: vpermt2q %zmm2, %zmm4, %zmm18054; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8055; AVX512-NEXT: vmovdqa64 %zmm2, %zmm18056; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [5,0,14,6,5,0,14,6]8057; AVX512-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]8058; AVX512-NEXT: vmovdqa64 %zmm3, %zmm218059; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8060; AVX512-NEXT: vpermt2q %zmm0, %zmm20, %zmm218061; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]8062; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8063; AVX512-NEXT: vpermt2q %zmm1, %zmm2, %zmm218064; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8065; AVX512-NEXT: vpermt2q %zmm3, %zmm19, %zmm08066; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]8067; AVX512-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]8068; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm18069; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8070; AVX512-NEXT: vmovdqa64 %zmm14, %zmm08071; AVX512-NEXT: vpermt2q %zmm23, %zmm15, %zmm08072; AVX512-NEXT: vmovdqa64 %zmm6, %zmm18073; AVX512-NEXT: vmovdqa64 %zmm22, %zmm218074; AVX512-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8075; AVX512-NEXT: vpermt2q %zmm29, %zmm22, %zmm18076; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}8077; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]8078; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k2} = zmm0[2,3,2,3],zmm5[2,3,2,3]8079; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8080; AVX512-NEXT: vmovdqa64 64(%r8), %zmm08081; AVX512-NEXT: vmovdqa64 64(%r9), %zmm138082; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18083; AVX512-NEXT: vpermt2q %zmm13, %zmm11, %zmm18084; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8085; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8086; AVX512-NEXT: vpermt2q %zmm5, %zmm12, %zmm18087; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8088; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18089; AVX512-NEXT: vpermt2q %zmm13, %zmm10, %zmm18090; AVX512-NEXT: vpermt2q %zmm5, %zmm4, %zmm18091; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8092; AVX512-NEXT: vmovdqa64 %zmm13, %zmm18093; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8094; AVX512-NEXT: vpermt2q %zmm0, %zmm20, %zmm18095; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm18096; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8097; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8098; AVX512-NEXT: vpermt2q %zmm13, %zmm19, %zmm08099; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm58100; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8101; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm188102; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm228103; AVX512-NEXT: vmovdqa64 %zmm18, %zmm18104; AVX512-NEXT: vpermt2q %zmm22, %zmm15, %zmm18105; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm08106; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm288107; AVX512-NEXT: vmovdqa64 %zmm0, %zmm58108; AVX512-NEXT: vpermt2q %zmm28, %zmm21, %zmm58109; AVX512-NEXT: vmovdqa64 %zmm1, %zmm5 {%k1}8110; AVX512-NEXT: vmovdqa64 128(%rax), %zmm308111; AVX512-NEXT: vmovdqa 128(%r9), %ymm138112; AVX512-NEXT: vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8113; AVX512-NEXT: vmovdqa 128(%r8), %ymm18114; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8115; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm13[0],ymm1[2],ymm13[2]8116; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm1[2,3,2,3],zmm30[2,3,2,3]8117; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8118; AVX512-NEXT: vmovdqa64 128(%r8), %zmm58119; AVX512-NEXT: vmovdqa64 128(%r9), %zmm18120; AVX512-NEXT: vpermi2q %zmm1, %zmm5, %zmm108121; AVX512-NEXT: vpermt2q %zmm30, %zmm4, %zmm108122; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8123; AVX512-NEXT: vmovdqa64 %zmm1, %zmm48124; AVX512-NEXT: vpermi2q %zmm5, %zmm1, %zmm208125; AVX512-NEXT: vpermt2q %zmm30, %zmm2, %zmm208126; AVX512-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8127; AVX512-NEXT: vmovdqa64 %zmm5, %zmm18128; AVX512-NEXT: vpermt2q %zmm4, %zmm11, %zmm18129; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8130; AVX512-NEXT: vpermt2q %zmm30, %zmm12, %zmm18131; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8132; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8133; AVX512-NEXT: vpermt2q %zmm4, %zmm19, %zmm58134; AVX512-NEXT: vpermt2q %zmm5, %zmm3, %zmm308135; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm3 = [13,5,13,5,13,5,13,5]8136; AVX512-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8137; AVX512-NEXT: vmovdqa64 %zmm7, %zmm18138; AVX512-NEXT: vpermt2q %zmm8, %zmm3, %zmm18139; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8140; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [6,14,6,14,6,14,6,14]8141; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8142; AVX512-NEXT: vmovdqa64 %zmm7, %zmm18143; AVX512-NEXT: vpermt2q %zmm8, %zmm12, %zmm18144; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8145; AVX512-NEXT: vmovdqa64 %zmm7, %zmm18146; AVX512-NEXT: vpermt2q %zmm8, %zmm19, %zmm18147; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8148; AVX512-NEXT: vmovdqa64 %zmm19, %zmm18149; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [3,0,12,4,3,0,12,4]8150; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8151; AVX512-NEXT: vpermt2q %zmm7, %zmm2, %zmm88152; AVX512-NEXT: vmovdqa64 %zmm8, %zmm318153; AVX512-NEXT: vmovdqa64 %zmm6, %zmm48154; AVX512-NEXT: vpermt2q %zmm29, %zmm3, %zmm48155; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8156; AVX512-NEXT: vmovdqa64 %zmm6, %zmm48157; AVX512-NEXT: vpermt2q %zmm29, %zmm12, %zmm48158; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8159; AVX512-NEXT: vmovdqa64 %zmm6, %zmm48160; AVX512-NEXT: vpermt2q %zmm29, %zmm19, %zmm48161; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8162; AVX512-NEXT: vpermt2q %zmm6, %zmm2, %zmm298163; AVX512-NEXT: vmovdqa64 %zmm0, %zmm48164; AVX512-NEXT: vpermt2q %zmm28, %zmm3, %zmm48165; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8166; AVX512-NEXT: vmovdqa64 %zmm0, %zmm48167; AVX512-NEXT: vpermt2q %zmm28, %zmm12, %zmm48168; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8169; AVX512-NEXT: vmovdqa64 %zmm0, %zmm48170; AVX512-NEXT: vpermt2q %zmm28, %zmm19, %zmm48171; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8172; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm288173; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm108174; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm08175; AVX512-NEXT: vmovdqa64 %zmm0, %zmm248176; AVX512-NEXT: vpermt2q %zmm10, %zmm2, %zmm248177; AVX512-NEXT: movb $48, %r10b8178; AVX512-NEXT: kmovw %r10d, %k38179; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm78180; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm28181; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm24 {%k3} = zmm7[0],zmm2[0],zmm7[2],zmm2[2],zmm7[4],zmm2[4],zmm7[6],zmm2[6]8182; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]8183; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]8184; AVX512-NEXT: vmovdqa64 %zmm16, %zmm268185; AVX512-NEXT: vpermt2q %zmm17, %zmm11, %zmm268186; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [0,8,0,1,0,8,0,1]8187; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]8188; AVX512-NEXT: vmovdqa64 %zmm17, %zmm278189; AVX512-NEXT: vpermt2q %zmm16, %zmm13, %zmm278190; AVX512-NEXT: vmovdqa64 %zmm23, %zmm48191; AVX512-NEXT: vmovdqa64 %zmm23, %zmm218192; AVX512-NEXT: vpermt2q %zmm14, %zmm11, %zmm218193; AVX512-NEXT: vmovdqa64 %zmm14, %zmm238194; AVX512-NEXT: vpermt2q %zmm4, %zmm13, %zmm238195; AVX512-NEXT: vmovdqa64 %zmm4, %zmm88196; AVX512-NEXT: vmovdqa64 %zmm22, %zmm198197; AVX512-NEXT: vpermt2q %zmm18, %zmm11, %zmm198198; AVX512-NEXT: vmovdqa64 %zmm18, %zmm208199; AVX512-NEXT: vpermt2q %zmm22, %zmm13, %zmm208200; AVX512-NEXT: vpermi2q %zmm2, %zmm7, %zmm138201; AVX512-NEXT: vpermi2q %zmm7, %zmm2, %zmm118202; AVX512-NEXT: vmovdqa64 %zmm7, %zmm258203; AVX512-NEXT: vmovdqa64 %zmm7, %zmm58204; AVX512-NEXT: vmovdqa64 %zmm7, %zmm68205; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm78206; AVX512-NEXT: vpermt2q %zmm2, %zmm12, %zmm258207; AVX512-NEXT: vpermt2q %zmm2, %zmm3, %zmm58208; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm68209; AVX512-NEXT: vmovdqa64 %zmm16, %zmm28210; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm17[0],zmm16[0],zmm17[2],zmm16[2],zmm17[4],zmm16[4],zmm17[6],zmm16[6]8211; AVX512-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8212; AVX512-NEXT: vmovdqa64 %zmm17, %zmm48213; AVX512-NEXT: vmovdqa64 %zmm17, %zmm168214; AVX512-NEXT: vmovdqa64 %zmm17, %zmm158215; AVX512-NEXT: vpermt2q %zmm2, %zmm3, %zmm48216; AVX512-NEXT: vpermt2q %zmm2, %zmm12, %zmm168217; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm158218; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm29 {%k3} = zmm14[0],zmm8[0],zmm14[2],zmm8[2],zmm14[4],zmm8[4],zmm14[6],zmm8[6]8219; AVX512-NEXT: vmovdqa64 %zmm14, %zmm28220; AVX512-NEXT: vmovdqa64 %zmm14, %zmm178221; AVX512-NEXT: vpermt2q %zmm8, %zmm3, %zmm28222; AVX512-NEXT: vpermt2q %zmm8, %zmm12, %zmm178223; AVX512-NEXT: vpermt2q %zmm8, %zmm1, %zmm148224; AVX512-NEXT: vmovdqa64 %zmm10, %zmm88225; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm88226; AVX512-NEXT: vpermi2q %zmm22, %zmm18, %zmm38227; AVX512-NEXT: vmovdqa64 %zmm10, %zmm98228; AVX512-NEXT: vpermt2q %zmm0, %zmm12, %zmm98229; AVX512-NEXT: vpermi2q %zmm22, %zmm18, %zmm128230; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm28 {%k3} = zmm18[0],zmm22[0],zmm18[2],zmm22[2],zmm18[4],zmm22[4],zmm18[6],zmm22[6]8231; AVX512-NEXT: vpermt2q %zmm22, %zmm1, %zmm188232; AVX512-NEXT: vmovdqa64 %zmm10, %zmm228233; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm228234; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8235; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm108236; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm31 = zmm25[0,1,2,3],zmm9[4,5,6,7]8237; AVX512-NEXT: vmovdqa64 192(%r8), %zmm08238; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,11,0,0,4,5,6,7]8239; AVX512-NEXT: vpermi2q %zmm0, %zmm24, %zmm98240; AVX512-NEXT: vmovdqa64 %zmm8, %zmm5 {%k1}8241; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm25 = [12,0,0,3,4,5,6,13]8242; AVX512-NEXT: vpermi2q %zmm0, %zmm5, %zmm258243; AVX512-NEXT: movb $24, %sil8244; AVX512-NEXT: kmovw %esi, %k38245; AVX512-NEXT: vmovdqa64 %zmm22, %zmm6 {%k3}8246; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,15,0,0]8247; AVX512-NEXT: vpermi2q %zmm0, %zmm6, %zmm58248; AVX512-NEXT: vmovdqa (%rdx), %xmm68249; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]8250; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm68251; AVX512-NEXT: movb $12, %sil8252; AVX512-NEXT: kmovw %esi, %k48253; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm27 {%k4}8254; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [0,8,0,8,0,8,0,8]8255; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8256; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload8257; AVX512-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm22 # 64-byte Folded Reload8258; AVX512-NEXT: vmovdqa 64(%rdx), %xmm88259; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]8260; AVX512-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm88261; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm23 {%k4}8262; AVX512-NEXT: vmovdqa 128(%rdx), %xmm88263; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]8264; AVX512-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm88265; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm20 {%k4}8266; AVX512-NEXT: vmovdqa 192(%rdx), %xmm88267; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]8268; AVX512-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm88269; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm13 {%k4}8270; AVX512-NEXT: vinserti32x4 $3, (%rax), %zmm22, %zmm88271; AVX512-NEXT: movb $112, %sil8272; AVX512-NEXT: kmovw %esi, %k48273; AVX512-NEXT: vmovdqa64 %zmm8, %zmm27 {%k4}8274; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8275; AVX512-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm1 # 64-byte Folded Reload8276; AVX512-NEXT: vinserti32x4 $3, 64(%rax), %zmm1, %zmm88277; AVX512-NEXT: vmovdqa64 %zmm8, %zmm23 {%k4}8278; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8279; AVX512-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm1 # 64-byte Folded Reload8280; AVX512-NEXT: vinserti32x4 $3, 128(%rax), %zmm1, %zmm18281; AVX512-NEXT: vmovdqa64 %zmm1, %zmm20 {%k4}8282; AVX512-NEXT: vmovdqa64 192(%r9), %zmm18283; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm68284; AVX512-NEXT: vinserti32x4 $3, 192(%rax), %zmm6, %zmm68285; AVX512-NEXT: vmovdqa64 %zmm6, %zmm13 {%k4}8286; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8287; AVX512-NEXT: vmovdqa64 %zmm6, %zmm4 {%k1}8288; AVX512-NEXT: movb $120, %sil8289; AVX512-NEXT: kmovw %esi, %k48290; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload8291; AVX512-NEXT: vmovdqa64 %zmm4, %zmm24 {%k4}8292; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm16, %zmm22 # 64-byte Folded Reload8293; AVX512-NEXT: # zmm22 = zmm16[0,1,2,3],mem[4,5,6,7]8294; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8295; AVX512-NEXT: vmovdqa64 %zmm4, %zmm2 {%k1}8296; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload8297; AVX512-NEXT: vmovdqa64 %zmm2, %zmm16 {%k4}8298; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8299; AVX512-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}8300; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8301; AVX512-NEXT: vmovdqa64 %zmm3, %zmm4 {%k4}8302; AVX512-NEXT: movb $-61, %sil8303; AVX512-NEXT: kmovw %esi, %k48304; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8305; AVX512-NEXT: vmovdqa64 %zmm2, %zmm22 {%k4}8306; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm17, %zmm2 # 64-byte Folded Reload8307; AVX512-NEXT: # zmm2 = zmm17[0,1,2,3],mem[4,5,6,7]8308; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8309; AVX512-NEXT: vmovdqa64 %zmm3, %zmm2 {%k4}8310; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm12, %zmm3 # 64-byte Folded Reload8311; AVX512-NEXT: # zmm3 = zmm12[0,1,2,3],mem[4,5,6,7]8312; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8313; AVX512-NEXT: vmovdqa64 %zmm6, %zmm3 {%k4}8314; AVX512-NEXT: vpbroadcastq 8(%rcx), %ymm68315; AVX512-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]8316; AVX512-NEXT: movb $6, %sil8317; AVX512-NEXT: kmovw %esi, %k48318; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm26 {%k4}8319; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8320; AVX512-NEXT: vmovdqa64 %zmm6, %zmm15 {%k3}8321; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8322; AVX512-NEXT: vmovdqa64 %zmm6, %zmm14 {%k3}8323; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8324; AVX512-NEXT: vmovdqa64 %zmm6, %zmm18 {%k3}8325; AVX512-NEXT: movb $-31, %sil8326; AVX512-NEXT: kmovw %esi, %k38327; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8328; AVX512-NEXT: vmovdqa64 %zmm6, %zmm15 {%k3}8329; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8330; AVX512-NEXT: vmovdqa64 %zmm6, %zmm14 {%k3}8331; AVX512-NEXT: vmovdqa64 %zmm30, %zmm18 {%k3}8332; AVX512-NEXT: movb $56, %sil8333; AVX512-NEXT: kmovw %esi, %k38334; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8335; AVX512-NEXT: vmovdqa64 %zmm6, %zmm26 {%k3}8336; AVX512-NEXT: vpbroadcastq 72(%rcx), %ymm68337; AVX512-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]8338; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm21 {%k4}8339; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8340; AVX512-NEXT: vmovdqa64 %zmm6, %zmm21 {%k3}8341; AVX512-NEXT: vpbroadcastq 136(%rcx), %ymm68342; AVX512-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]8343; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm19 {%k4}8344; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8345; AVX512-NEXT: vmovdqa64 %zmm6, %zmm19 {%k3}8346; AVX512-NEXT: vpbroadcastq 200(%rcx), %ymm68347; AVX512-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]8348; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm11 {%k4}8349; AVX512-NEXT: movb $64, %cl8350; AVX512-NEXT: kmovw %ecx, %k48351; AVX512-NEXT: vmovdqa64 %zmm0, %zmm31 {%k4}8352; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8353; AVX512-NEXT: vpermt2q %zmm1, %zmm6, %zmm08354; AVX512-NEXT: vmovdqa64 192(%rax), %zmm68355; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload8356; AVX512-NEXT: vpermt2q %zmm6, %zmm8, %zmm08357; AVX512-NEXT: vmovdqa64 %zmm0, %zmm11 {%k3}8358; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,11,0,4,5,6,7]8359; AVX512-NEXT: vpermi2q %zmm1, %zmm9, %zmm08360; AVX512-NEXT: vmovdqa64 %zmm7, %zmm10 {%k1}8361; AVX512-NEXT: vmovdqa 192(%r8), %ymm78362; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm7[0],mem[0],ymm7[2],mem[2]8363; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm7[2,3,2,3],zmm6[2,3,2,3]8364; AVX512-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload8365; AVX512-NEXT: vpunpckhqdq (%rsp), %ymm7, %ymm7 # 32-byte Folded Reload8366; AVX512-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]8367; AVX512-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]8368; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]8369; AVX512-NEXT: movb $14, %cl8370; AVX512-NEXT: kmovw %ecx, %k18371; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload8372; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm12 {%k1}8373; AVX512-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload8374; AVX512-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload8375; AVX512-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]8376; AVX512-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]8377; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]8378; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm29 {%k1}8379; AVX512-NEXT: movb $8, %cl8380; AVX512-NEXT: kmovw %ecx, %k28381; AVX512-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}8382; AVX512-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload8383; AVX512-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload8384; AVX512-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]8385; AVX512-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]8386; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]8387; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm28 {%k1}8388; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,12,0,3,4,5,6,7]8389; AVX512-NEXT: vpermi2q %zmm1, %zmm25, %zmm78390; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [13,0,2,3,4,5,6,14]8391; AVX512-NEXT: vpermi2q %zmm1, %zmm31, %zmm88392; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]8393; AVX512-NEXT: vpermi2q %zmm1, %zmm5, %zmm98394; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,12,3,4,5,6,7]8395; AVX512-NEXT: vpermi2q %zmm6, %zmm7, %zmm18396; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,13,2,3,4,5,6,7]8397; AVX512-NEXT: vpermi2q %zmm6, %zmm8, %zmm58398; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [14,1,2,3,4,5,6,15]8399; AVX512-NEXT: vpermi2q %zmm6, %zmm9, %zmm78400; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax8401; AVX512-NEXT: vmovdqa64 %zmm10, 1472(%rax)8402; AVX512-NEXT: vmovdqa64 %zmm11, 1408(%rax)8403; AVX512-NEXT: vmovdqa64 %zmm18, 1280(%rax)8404; AVX512-NEXT: vmovdqa64 %zmm3, 1216(%rax)8405; AVX512-NEXT: vmovdqa64 %zmm4, 1152(%rax)8406; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8407; AVX512-NEXT: vmovaps %zmm3, 1024(%rax)8408; AVX512-NEXT: vmovdqa64 %zmm19, 960(%rax)8409; AVX512-NEXT: vmovdqa64 %zmm14, 832(%rax)8410; AVX512-NEXT: vmovdqa64 %zmm2, 768(%rax)8411; AVX512-NEXT: vmovdqa64 %zmm16, 704(%rax)8412; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8413; AVX512-NEXT: vmovaps %zmm2, 576(%rax)8414; AVX512-NEXT: vmovdqa64 %zmm21, 512(%rax)8415; AVX512-NEXT: vmovdqa64 %zmm15, 384(%rax)8416; AVX512-NEXT: vmovdqa64 %zmm22, 320(%rax)8417; AVX512-NEXT: vmovdqa64 %zmm24, 256(%rax)8418; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8419; AVX512-NEXT: vmovaps %zmm2, 128(%rax)8420; AVX512-NEXT: vmovdqa64 %zmm26, 64(%rax)8421; AVX512-NEXT: vmovdqa64 %zmm13, 1344(%rax)8422; AVX512-NEXT: vmovdqa64 %zmm28, 1088(%rax)8423; AVX512-NEXT: vmovdqa64 %zmm20, 896(%rax)8424; AVX512-NEXT: vmovdqa64 %zmm29, 640(%rax)8425; AVX512-NEXT: vmovdqa64 %zmm23, 448(%rax)8426; AVX512-NEXT: vmovdqa64 %zmm12, 192(%rax)8427; AVX512-NEXT: vmovdqa64 %zmm27, (%rax)8428; AVX512-NEXT: vmovdqa64 %zmm7, 1728(%rax)8429; AVX512-NEXT: vmovdqa64 %zmm5, 1664(%rax)8430; AVX512-NEXT: vmovdqa64 %zmm1, 1600(%rax)8431; AVX512-NEXT: vmovdqa64 %zmm0, 1536(%rax)8432; AVX512-NEXT: addq $2184, %rsp # imm = 0x8888433; AVX512-NEXT: vzeroupper8434; AVX512-NEXT: retq8435;8436; AVX512-FCP-LABEL: store_i64_stride7_vf32:8437; AVX512-FCP: # %bb.0:8438; AVX512-FCP-NEXT: subq $2152, %rsp # imm = 0x8688439; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8440; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm168441; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm178442; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm298443; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm288444; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm198445; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm238446; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm228447; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm308448; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm08449; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm78450; AVX512-FCP-NEXT: vmovdqa64 (%rax), %zmm38451; AVX512-FCP-NEXT: movb $96, %r10b8452; AVX512-FCP-NEXT: kmovw %r10d, %k18453; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [15,7,15,7,15,7,15,7]8454; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8455; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8456; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [9,1,9,1,9,1,9,1]8457; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8458; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm48459; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm8, %zmm48460; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,9,0,3,4,9,0,3]8461; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]8462; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm9, %zmm48463; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8464; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [11,3,11,3,11,3,11,3]8465; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8466; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm18467; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm18468; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [2,10,0,3,2,10,0,3]8469; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]8470; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm28471; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm15, %zmm28472; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}8473; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm58474; AVX512-FCP-NEXT: vmovdqa (%r9), %ymm18475; AVX512-FCP-NEXT: vmovdqa 64(%r9), %ymm68476; AVX512-FCP-NEXT: vmovdqa 128(%r9), %ymm48477; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm108478; AVX512-FCP-NEXT: vmovdqa 64(%r8), %ymm128479; AVX512-FCP-NEXT: vmovdqa 128(%r8), %ymm118480; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm10[0],ymm1[0],ymm10[2],ymm1[2]8481; AVX512-FCP-NEXT: movb $28, %r10b8482; AVX512-FCP-NEXT: kmovw %r10d, %k28483; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm2[2,3,2,3],zmm3[2,3,2,3]8484; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8485; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [1,3,7,7]8486; AVX512-FCP-NEXT: vpermt2q %ymm1, %ymm5, %ymm108487; AVX512-FCP-NEXT: vmovdqu %ymm10, (%rsp) # 32-byte Spill8488; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]8489; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]8490; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm28491; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm10, %zmm28492; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,1,12,7,0,1,12,7]8493; AVX512-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]8494; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm28495; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8496; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [5,0,14,6,5,0,14,6]8497; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]8498; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm148499; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm188500; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8501; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm13, %zmm148502; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]8503; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8504; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm78505; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm148506; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8507; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm08508; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]8509; AVX512-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]8510; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm78511; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8512; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm12[0],ymm6[0],ymm12[2],ymm6[2]8513; AVX512-FCP-NEXT: vpermt2q %ymm6, %ymm5, %ymm128514; AVX512-FCP-NEXT: vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8515; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm11[0],ymm4[0],ymm11[2],ymm4[2]8516; AVX512-FCP-NEXT: vpermt2q %ymm4, %ymm5, %ymm118517; AVX512-FCP-NEXT: vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8518; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm48519; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm48520; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm68521; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm58522; AVX512-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8523; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm15, %zmm68524; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm6 {%k1}8525; AVX512-FCP-NEXT: vmovdqa64 64(%rax), %zmm118526; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 {%k2} = zmm0[2,3,2,3],zmm11[2,3,2,3]8527; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8528; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm08529; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm68530; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8531; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm48532; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8533; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm48534; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8535; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm48536; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8537; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm48538; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm48539; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm48540; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8541; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm48542; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm13, %zmm48543; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm2, %zmm48544; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8545; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8546; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm08547; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm118548; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8549; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm278550; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm188551; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm08552; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm08553; AVX512-FCP-NEXT: vmovdqa64 128(%rdx), %zmm318554; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm158555; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm48556; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm5, %zmm48557; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}8558; AVX512-FCP-NEXT: vmovdqa64 128(%rax), %zmm58559; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm7[2,3,2,3],zmm5[2,3,2,3]8560; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8561; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm08562; AVX512-FCP-NEXT: vmovdqa64 128(%r9), %zmm48563; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm108564; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm108565; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8566; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm138567; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm138568; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8569; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm18570; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm18571; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8572; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm9, %zmm18573; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8574; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8575; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm08576; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm58577; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8578; AVX512-FCP-NEXT: vmovdqa64 192(%rdx), %zmm78579; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm08580; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [3,0,12,4,3,0,12,4]8581; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]8582; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm248583; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm248584; AVX512-FCP-NEXT: movb $48, %r10b8585; AVX512-FCP-NEXT: kmovw %r10d, %k38586; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm128587; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm38588; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm24 {%k3} = zmm12[0],zmm3[0],zmm12[2],zmm3[2],zmm12[4],zmm3[4],zmm12[6],zmm3[6]8589; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,8,0,1,0,8,0,1]8590; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]8591; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm18592; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm18593; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8594; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm18595; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm14, %zmm18596; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8597; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm18598; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm14, %zmm18599; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8600; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm12, %zmm148601; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]8602; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]8603; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm18604; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm11, %zmm18605; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8606; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm268607; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm11, %zmm268608; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm208609; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm11, %zmm208610; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm3, %zmm118611; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm88612; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm108613; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm98614; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm25, %zmm128615; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [6,14,6,14,6,14,6,14]8616; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8617; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm88618; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [13,5,13,5,13,5,13,5]8619; AVX512-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8620; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm108621; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm98622; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm258623; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm28624; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm258625; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm1, %zmm238626; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm38627; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm4, %zmm38628; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8629; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm21, %zmm28630; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8631; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k3} = zmm16[0],zmm29[0],zmm16[2],zmm29[2],zmm16[4],zmm29[4],zmm16[6],zmm29[6]8632; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm68633; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm68634; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm228635; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm4, %zmm228636; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm21, %zmm168637; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8638; AVX512-FCP-NEXT: vmovdqa64 %zmm30, %zmm168639; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm28640; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm13, %zmm168641; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm1, %zmm198642; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm298643; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm4, %zmm298644; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm28645; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8646; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm308647; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k3} = zmm17[0],zmm28[0],zmm17[2],zmm28[2],zmm17[4],zmm28[4],zmm17[6],zmm28[6]8648; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm38649; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm1, %zmm38650; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm4, %zmm178651; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm21, %zmm308652; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm28653; AVX512-FCP-NEXT: vpermi2q %zmm31, %zmm15, %zmm138654; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm1, %zmm318655; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm288656; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm4, %zmm288657; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm21, %zmm28658; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8659; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm158660; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm4, %zmm158661; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm58662; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm58663; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k3} = zmm27[0],zmm18[0],zmm27[2],zmm18[2],zmm27[4],zmm18[4],zmm27[6],zmm18[6]8664; AVX512-FCP-NEXT: vpermi2q %zmm18, %zmm27, %zmm18665; AVX512-FCP-NEXT: vpermi2q %zmm18, %zmm27, %zmm48666; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm278667; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm188668; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm188669; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8670; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm78671; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm8[0,1,2,3],zmm15[4,5,6,7]8672; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8673; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm28674; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,11,0,0,4,5,6,7]8675; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm24, %zmm08676; AVX512-FCP-NEXT: vmovdqa64 192(%r9), %zmm88677; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,11,0,4,5,6,7]8678; AVX512-FCP-NEXT: vpermi2q %zmm8, %zmm0, %zmm158679; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k1}8680; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [12,0,0,3,4,5,6,13]8681; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm08682; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8683; AVX512-FCP-NEXT: movb $24, %sil8684; AVX512-FCP-NEXT: kmovw %esi, %k38685; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm9 {%k3}8686; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,3,4,15,0,0]8687; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm9, %zmm248688; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm08689; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],mem[0]8690; AVX512-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm08691; AVX512-FCP-NEXT: movb $12, %sil8692; AVX512-FCP-NEXT: kmovw %esi, %k48693; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload8694; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm21 {%k4}8695; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [0,8,0,8,0,8,0,8]8696; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8697; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8698; AVX512-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm9 # 64-byte Folded Reload8699; AVX512-FCP-NEXT: vmovdqa 64(%rdx), %xmm58700; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8701; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58702; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8703; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k4}8704; AVX512-FCP-NEXT: vmovdqa 128(%rdx), %xmm58705; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8706; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58707; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload8708; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm18 {%k4}8709; AVX512-FCP-NEXT: vmovdqa 192(%rdx), %xmm58710; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8711; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58712; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm14 {%k4}8713; AVX512-FCP-NEXT: vinserti32x4 $3, (%rax), %zmm9, %zmm58714; AVX512-FCP-NEXT: movb $112, %sil8715; AVX512-FCP-NEXT: kmovw %esi, %k48716; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm21 {%k4}8717; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8718; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8719; AVX512-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm5 # 64-byte Folded Reload8720; AVX512-FCP-NEXT: vinserti32x4 $3, 64(%rax), %zmm5, %zmm58721; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k4}8722; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8723; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8724; AVX512-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm5 # 64-byte Folded Reload8725; AVX512-FCP-NEXT: vinserti32x4 $3, 128(%rax), %zmm5, %zmm58726; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm18 {%k4}8727; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm218728; AVX512-FCP-NEXT: vpermi2q %zmm8, %zmm2, %zmm08729; AVX512-FCP-NEXT: vinserti32x4 $3, 192(%rax), %zmm0, %zmm08730; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k4}8731; AVX512-FCP-NEXT: vmovdqu (%rsp), %ymm0 # 32-byte Reload8732; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]8733; AVX512-FCP-NEXT: movb $14, %sil8734; AVX512-FCP-NEXT: kmovw %esi, %k48735; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm25 {%k4}8736; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm6 {%k1}8737; AVX512-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8738; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]8739; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm16 {%k4}8740; AVX512-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8741; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]8742; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm13 {%k4}8743; AVX512-FCP-NEXT: movb $120, %sil8744; AVX512-FCP-NEXT: kmovw %esi, %k48745; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8746; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm9 {%k4}8747; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm22, %zmm5 # 64-byte Folded Reload8748; AVX512-FCP-NEXT: # zmm5 = zmm22[0,1,2,3],mem[4,5,6,7]8749; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm3 {%k1}8750; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8751; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm10 {%k4}8752; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm1 {%k1}8753; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload8754; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k4}8755; AVX512-FCP-NEXT: movb $-61, %sil8756; AVX512-FCP-NEXT: kmovw %esi, %k48757; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8758; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k4}8759; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm17[0,1,2,3],zmm29[4,5,6,7]8760; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8761; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k4}8762; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm4[0,1,2,3],zmm28[4,5,6,7]8763; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8764; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k4}8765; AVX512-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm38766; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]8767; AVX512-FCP-NEXT: movb $6, %sil8768; AVX512-FCP-NEXT: kmovw %esi, %k48769; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8770; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm4 {%k4}8771; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8772; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8773; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm6 {%k3}8774; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8775; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm30 {%k3}8776; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8777; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm27 {%k3}8778; AVX512-FCP-NEXT: movb $-31, %sil8779; AVX512-FCP-NEXT: kmovw %esi, %k38780; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8781; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm6 {%k3}8782; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm198783; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8784; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm30 {%k3}8785; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8786; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm27 {%k3}8787; AVX512-FCP-NEXT: movb $56, %sil8788; AVX512-FCP-NEXT: kmovw %esi, %k38789; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8790; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k3}8791; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm178792; AVX512-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm38793; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]8794; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm26 {%k4}8795; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8796; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm26 {%k3}8797; AVX512-FCP-NEXT: vpbroadcastq 136(%rcx), %ymm38798; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]8799; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm20 {%k4}8800; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8801; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm20 {%k3}8802; AVX512-FCP-NEXT: vpbroadcastq 200(%rcx), %ymm38803; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]8804; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm11 {%k4}8805; AVX512-FCP-NEXT: movb $64, %cl8806; AVX512-FCP-NEXT: kmovw %ecx, %k48807; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8808; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k4}8809; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8810; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm3, %zmm28811; AVX512-FCP-NEXT: vmovdqa64 192(%rax), %zmm38812; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8813; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm28814; AVX512-FCP-NEXT: movb $8, %al8815; AVX512-FCP-NEXT: kmovw %eax, %k48816; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm15 {%k4}8817; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k3}8818; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm7 {%k1}8819; AVX512-FCP-NEXT: vmovdqa 192(%r8), %ymm28820; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]8821; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm7 {%k2} = zmm2[2,3,2,3],zmm3[2,3,2,3]8822; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,12,0,3,4,5,6,7]8823; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8824; AVX512-FCP-NEXT: vpermi2q %zmm8, %zmm4, %zmm28825; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,3,4,5,6,14]8826; AVX512-FCP-NEXT: vpermi2q %zmm8, %zmm6, %zmm48827; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,5,15,0]8828; AVX512-FCP-NEXT: vpermi2q %zmm8, %zmm24, %zmm68829; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,12,3,4,5,6,7]8830; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm88831; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,13,2,3,4,5,6,7]8832; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm28833; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [14,1,2,3,4,5,6,15]8834; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm6, %zmm48835; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8836; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 1472(%rax)8837; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 1408(%rax)8838; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 1280(%rax)8839; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 1216(%rax)8840; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 1152(%rax)8841; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 1088(%rax)8842; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8843; AVX512-FCP-NEXT: vmovaps %zmm1, 1024(%rax)8844; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 960(%rax)8845; AVX512-FCP-NEXT: vmovdqa64 %zmm30, 832(%rax)8846; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 768(%rax)8847; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 704(%rax)8848; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)8849; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8850; AVX512-FCP-NEXT: vmovaps %zmm0, 576(%rax)8851; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 512(%rax)8852; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 384(%rax)8853; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)8854; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)8855; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 192(%rax)8856; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8857; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%rax)8858; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 64(%rax)8859; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 1344(%rax)8860; AVX512-FCP-NEXT: vmovdqa64 %zmm21, 896(%rax)8861; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8862; AVX512-FCP-NEXT: vmovaps %zmm0, 448(%rax)8863; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8864; AVX512-FCP-NEXT: vmovaps %zmm0, (%rax)8865; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 1728(%rax)8866; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 1664(%rax)8867; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 1600(%rax)8868; AVX512-FCP-NEXT: vmovdqa64 %zmm15, 1536(%rax)8869; AVX512-FCP-NEXT: addq $2152, %rsp # imm = 0x8688870; AVX512-FCP-NEXT: vzeroupper8871; AVX512-FCP-NEXT: retq8872;8873; AVX512DQ-LABEL: store_i64_stride7_vf32:8874; AVX512DQ: # %bb.0:8875; AVX512DQ-NEXT: subq $2184, %rsp # imm = 0x8888876; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax8877; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm168878; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm98879; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm238880; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm108881; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm208882; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm188883; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm68884; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm78885; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm08886; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm38887; AVX512DQ-NEXT: vmovdqa64 (%rax), %zmm28888; AVX512DQ-NEXT: vmovdqa64 64(%rax), %zmm48889; AVX512DQ-NEXT: movb $96, %r10b8890; AVX512DQ-NEXT: kmovw %r10d, %k18891; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [15,7,15,7,15,7,15,7]8892; AVX512DQ-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8893; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8894; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]8895; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8896; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm58897; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm12, %zmm58898; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]8899; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]8900; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm13, %zmm58901; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8902; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [11,3,11,3,11,3,11,3]8903; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8904; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm18905; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm25, %zmm18906; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [2,10,0,3,2,10,0,3]8907; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]8908; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm58909; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm15, %zmm58910; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm5 {%k1}8911; AVX512DQ-NEXT: vmovdqa (%r9), %ymm88912; AVX512DQ-NEXT: vmovdqu %ymm8, (%rsp) # 32-byte Spill8913; AVX512DQ-NEXT: vmovdqa 64(%r9), %ymm148914; AVX512DQ-NEXT: vmovdqu %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8915; AVX512DQ-NEXT: vmovdqa (%r8), %ymm18916; AVX512DQ-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8917; AVX512DQ-NEXT: vmovdqa 64(%r8), %ymm118918; AVX512DQ-NEXT: vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8919; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm8[0],ymm1[2],ymm8[2]8920; AVX512DQ-NEXT: movb $28, %r10b8921; AVX512DQ-NEXT: kmovw %r10d, %k28922; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]8923; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8924; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [4,12,0,5,4,12,0,5]8925; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]8926; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm58927; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm8, %zmm58928; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,1,12,7,0,1,12,7]8929; AVX512DQ-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]8930; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm58931; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8932; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm58933; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [5,0,14,6,5,0,14,6]8934; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]8935; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm198936; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8937; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm21, %zmm198938; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]8939; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8940; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm198941; AVX512DQ-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8942; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm17, %zmm08943; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]8944; AVX512DQ-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]8945; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm58946; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8947; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm08948; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm25, %zmm08949; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm58950; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm15, %zmm58951; AVX512DQ-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8952; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm5 {%k1}8953; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]8954; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm0[2,3,2,3],zmm4[2,3,2,3]8955; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8956; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm08957; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm118958; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm58959; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm12, %zmm58960; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8961; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8962; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm13, %zmm58963; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8964; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm58965; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm48966; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm8, %zmm48967; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm1, %zmm48968; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8969; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm48970; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8971; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm21, %zmm48972; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm48973; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8974; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8975; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm17, %zmm08976; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm58977; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8978; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm118979; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm198980; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm58981; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm25, %zmm58982; AVX512DQ-NEXT: vmovdqa64 128(%rdx), %zmm48983; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm318984; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm08985; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm15, %zmm08986; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}8987; AVX512DQ-NEXT: vmovdqa64 128(%rax), %zmm158988; AVX512DQ-NEXT: vmovdqa 128(%r9), %ymm148989; AVX512DQ-NEXT: vmovdqu %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8990; AVX512DQ-NEXT: vmovdqa 128(%r8), %ymm58991; AVX512DQ-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8992; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm5[0],ymm14[0],ymm5[2],ymm14[2]8993; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k2} = zmm5[2,3,2,3],zmm15[2,3,2,3]8994; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8995; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm58996; AVX512DQ-NEXT: vmovdqa64 128(%r9), %zmm08997; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm5, %zmm88998; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm1, %zmm88999; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9000; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm0, %zmm219001; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm2, %zmm219002; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9003; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm19004; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm12, %zmm19005; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9006; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm13, %zmm19007; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9008; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9009; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm17, %zmm59010; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm3, %zmm159011; AVX512DQ-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9012; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [13,5,13,5,13,5,13,5]9013; AVX512DQ-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9014; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm29015; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm09016; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm29017; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9018; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [6,14,6,14,6,14,6,14]9019; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9020; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm29021; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm29022; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9023; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm29024; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm17, %zmm29025; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9026; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm159027; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [3,0,12,4,3,0,12,4]9028; AVX512DQ-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]9029; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm3, %zmm09030; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm29031; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm09032; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm09033; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9034; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm09035; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm6, %zmm09036; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9037; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm09038; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm17, %zmm09039; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9040; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm3, %zmm79041; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm59042; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm299043; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm1, %zmm299044; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm309045; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm6, %zmm309046; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm09047; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm17, %zmm09048; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9049; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm3, %zmm319050; AVX512DQ-NEXT: vmovdqa64 192(%rdx), %zmm129051; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm219052; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm229053; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm3, %zmm229054; AVX512DQ-NEXT: movb $48, %r10b9055; AVX512DQ-NEXT: kmovw %r10d, %k39056; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm89057; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm79058; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k3} = zmm8[0],zmm7[0],zmm8[2],zmm7[2],zmm8[4],zmm7[4],zmm8[6],zmm7[6]9059; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [1,0,10,2,1,0,10,2]9060; AVX512DQ-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]9061; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm09062; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm289063; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm14, %zmm289064; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [0,8,0,1,0,8,0,1]9065; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]9066; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm279067; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm13, %zmm279068; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm269069; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm14, %zmm269070; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm239071; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm13, %zmm239072; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm209073; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm14, %zmm209074; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm189075; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm13, %zmm189076; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm8, %zmm139077; AVX512DQ-NEXT: vpermi2q %zmm8, %zmm7, %zmm149078; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm249079; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm39080; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm49081; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm25, %zmm89082; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm6, %zmm249083; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm39084; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm17, %zmm49085; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm2 {%k3} = zmm16[0],zmm0[0],zmm16[2],zmm0[2],zmm16[4],zmm0[4],zmm16[6],zmm0[6]9086; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9087; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm259088; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm29089; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm179090; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm259091; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm29092; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm15, %zmm179093; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k3} = zmm9[0],zmm10[0],zmm9[2],zmm10[2],zmm9[4],zmm10[4],zmm9[6],zmm10[6]9094; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9095; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm09096; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm59097; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm169098; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm09099; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm6, %zmm59100; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm15, %zmm169101; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm99102; AVX512DQ-NEXT: vpermt2q %zmm21, %zmm1, %zmm99103; AVX512DQ-NEXT: vpermi2q %zmm19, %zmm11, %zmm19104; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm109105; AVX512DQ-NEXT: vpermt2q %zmm21, %zmm6, %zmm109106; AVX512DQ-NEXT: vpermi2q %zmm19, %zmm11, %zmm69107; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm11[0],zmm19[0],zmm11[2],zmm19[2],zmm11[4],zmm19[4],zmm11[6],zmm19[6]9108; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm79109; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm15, %zmm79110; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm119111; AVX512DQ-NEXT: vpermt2q %zmm21, %zmm15, %zmm119112; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9113; AVX512DQ-NEXT: vpermt2q %zmm21, %zmm15, %zmm129114; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm10[4,5,6,7]9115; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm199116; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,11,0,0,4,5,6,7]9117; AVX512DQ-NEXT: vpermi2q %zmm19, %zmm22, %zmm109118; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm3 {%k1}9119; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm22 = [12,0,0,3,4,5,6,13]9120; AVX512DQ-NEXT: vpermi2q %zmm19, %zmm3, %zmm229121; AVX512DQ-NEXT: movb $24, %sil9122; AVX512DQ-NEXT: kmovw %esi, %k39123; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm4 {%k3}9124; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,15,0,0]9125; AVX512DQ-NEXT: vpermi2q %zmm19, %zmm4, %zmm219126; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9127; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}9128; AVX512DQ-NEXT: movb $120, %sil9129; AVX512DQ-NEXT: kmovw %esi, %k49130; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9131; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm11 {%k4}9132; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload9133; AVX512DQ-NEXT: # zmm3 = zmm2[0,1,2,3],mem[4,5,6,7]9134; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9135; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm0 {%k1}9136; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9137; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm15 {%k4}9138; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm1 {%k1}9139; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload9140; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm25 {%k4}9141; AVX512DQ-NEXT: movb $-61, %sil9142; AVX512DQ-NEXT: kmovw %esi, %k49143; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9144; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k4}9145; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm5, %zmm4 # 64-byte Folded Reload9146; AVX512DQ-NEXT: # zmm4 = zmm5[0,1,2,3],mem[4,5,6,7]9147; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9148; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm4 {%k4}9149; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm6[0,1,2,3],zmm30[4,5,6,7]9150; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9151; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k4}9152; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm09153; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],mem[0]9154; AVX512DQ-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm09155; AVX512DQ-NEXT: movb $12, %sil9156; AVX512DQ-NEXT: kmovw %esi, %k49157; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm27 {%k4}9158; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [0,8,0,8,0,8,0,8]9159; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9160; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9161; AVX512DQ-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload9162; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9163; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm17 {%k3}9164; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9165; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm16 {%k3}9166; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9167; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm7 {%k3}9168; AVX512DQ-NEXT: movb $-31, %sil9169; AVX512DQ-NEXT: kmovw %esi, %k39170; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9171; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm17 {%k3}9172; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9173; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm16 {%k3}9174; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9175; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm7 {%k3}9176; AVX512DQ-NEXT: movb $112, %sil9177; AVX512DQ-NEXT: kmovw %esi, %k39178; AVX512DQ-NEXT: vinserti64x2 $3, (%rax), %zmm2, %zmm27 {%k3}9179; AVX512DQ-NEXT: vmovdqa 64(%rdx), %xmm29180; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]9181; AVX512DQ-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm29182; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm23 {%k4}9183; AVX512DQ-NEXT: vmovdqa 128(%rdx), %xmm29184; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]9185; AVX512DQ-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm29186; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm18 {%k4}9187; AVX512DQ-NEXT: vmovdqa 192(%rdx), %xmm29188; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]9189; AVX512DQ-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm29190; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm13 {%k4}9191; AVX512DQ-NEXT: vpbroadcastq 8(%rcx), %ymm29192; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]9193; AVX512DQ-NEXT: movb $6, %sil9194; AVX512DQ-NEXT: kmovw %esi, %k49195; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm28 {%k4}9196; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9197; AVX512DQ-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload9198; AVX512DQ-NEXT: vinserti64x2 $3, 64(%rax), %zmm2, %zmm23 {%k3}9199; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9200; AVX512DQ-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload9201; AVX512DQ-NEXT: vinserti64x2 $3, 128(%rax), %zmm2, %zmm18 {%k3}9202; AVX512DQ-NEXT: vmovdqa64 192(%r9), %zmm29203; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm19, %zmm09204; AVX512DQ-NEXT: vinserti64x2 $3, 192(%rax), %zmm0, %zmm13 {%k3}9205; AVX512DQ-NEXT: movb $56, %sil9206; AVX512DQ-NEXT: kmovw %esi, %k39207; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9208; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm28 {%k3}9209; AVX512DQ-NEXT: vpbroadcastq 72(%rcx), %ymm09210; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]9211; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm26 {%k4}9212; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9213; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm26 {%k3}9214; AVX512DQ-NEXT: vpbroadcastq 136(%rcx), %ymm09215; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]9216; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm20 {%k4}9217; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9218; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm20 {%k3}9219; AVX512DQ-NEXT: vpbroadcastq 200(%rcx), %ymm09220; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]9221; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm14 {%k4}9222; AVX512DQ-NEXT: movb $64, %cl9223; AVX512DQ-NEXT: kmovw %ecx, %k49224; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm24 {%k4}9225; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9226; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm199227; AVX512DQ-NEXT: vmovdqa64 192(%rax), %zmm09228; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9229; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm5, %zmm199230; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm14 {%k3}9231; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,11,0,4,5,6,7]9232; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm59233; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm12 {%k1}9234; AVX512DQ-NEXT: vmovdqa 192(%r8), %ymm69235; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm6 = ymm6[0],mem[0],ymm6[2],mem[2]9236; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm12 {%k2} = zmm6[2,3,2,3],zmm0[2,3,2,3]9237; AVX512DQ-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload9238; AVX512DQ-NEXT: vpunpckhqdq (%rsp), %ymm6, %ymm6 # 32-byte Folded Reload9239; AVX512DQ-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]9240; AVX512DQ-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]9241; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]9242; AVX512DQ-NEXT: movb $14, %cl9243; AVX512DQ-NEXT: kmovw %ecx, %k19244; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload9245; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}9246; AVX512DQ-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload9247; AVX512DQ-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload9248; AVX512DQ-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]9249; AVX512DQ-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]9250; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]9251; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload9252; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm19 {%k1}9253; AVX512DQ-NEXT: movb $8, %cl9254; AVX512DQ-NEXT: kmovw %ecx, %k29255; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}9256; AVX512DQ-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload9257; AVX512DQ-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload9258; AVX512DQ-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]9259; AVX512DQ-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]9260; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]9261; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm31 {%k1}9262; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,12,0,3,4,5,6,7]9263; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm22, %zmm69264; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [13,0,2,3,4,5,6,14]9265; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm24, %zmm89266; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]9267; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm21, %zmm99268; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,12,3,4,5,6,7]9269; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm6, %zmm29270; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,13,2,3,4,5,6,7]9271; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm8, %zmm69272; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [14,1,2,3,4,5,6,15]9273; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm9, %zmm89274; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax9275; AVX512DQ-NEXT: vmovdqa64 %zmm12, 1472(%rax)9276; AVX512DQ-NEXT: vmovdqa64 %zmm14, 1408(%rax)9277; AVX512DQ-NEXT: vmovdqa64 %zmm13, 1344(%rax)9278; AVX512DQ-NEXT: vmovdqa64 %zmm7, 1280(%rax)9279; AVX512DQ-NEXT: vmovdqa64 %zmm1, 1216(%rax)9280; AVX512DQ-NEXT: vmovdqa64 %zmm25, 1152(%rax)9281; AVX512DQ-NEXT: vmovdqa64 %zmm31, 1088(%rax)9282; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9283; AVX512DQ-NEXT: vmovaps %zmm0, 1024(%rax)9284; AVX512DQ-NEXT: vmovdqa64 %zmm20, 960(%rax)9285; AVX512DQ-NEXT: vmovdqa64 %zmm18, 896(%rax)9286; AVX512DQ-NEXT: vmovdqa64 %zmm16, 832(%rax)9287; AVX512DQ-NEXT: vmovdqa64 %zmm4, 768(%rax)9288; AVX512DQ-NEXT: vmovdqa64 %zmm15, 704(%rax)9289; AVX512DQ-NEXT: vmovdqa64 %zmm19, 640(%rax)9290; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9291; AVX512DQ-NEXT: vmovaps %zmm0, 576(%rax)9292; AVX512DQ-NEXT: vmovdqa64 %zmm26, 512(%rax)9293; AVX512DQ-NEXT: vmovdqa64 %zmm23, 448(%rax)9294; AVX512DQ-NEXT: vmovdqa64 %zmm17, 384(%rax)9295; AVX512DQ-NEXT: vmovdqa64 %zmm3, 320(%rax)9296; AVX512DQ-NEXT: vmovdqa64 %zmm11, 256(%rax)9297; AVX512DQ-NEXT: vmovdqa64 %zmm10, 192(%rax)9298; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9299; AVX512DQ-NEXT: vmovaps %zmm0, 128(%rax)9300; AVX512DQ-NEXT: vmovdqa64 %zmm28, 64(%rax)9301; AVX512DQ-NEXT: vmovdqa64 %zmm27, (%rax)9302; AVX512DQ-NEXT: vmovdqa64 %zmm8, 1728(%rax)9303; AVX512DQ-NEXT: vmovdqa64 %zmm6, 1664(%rax)9304; AVX512DQ-NEXT: vmovdqa64 %zmm2, 1600(%rax)9305; AVX512DQ-NEXT: vmovdqa64 %zmm5, 1536(%rax)9306; AVX512DQ-NEXT: addq $2184, %rsp # imm = 0x8889307; AVX512DQ-NEXT: vzeroupper9308; AVX512DQ-NEXT: retq9309;9310; AVX512DQ-FCP-LABEL: store_i64_stride7_vf32:9311; AVX512DQ-FCP: # %bb.0:9312; AVX512DQ-FCP-NEXT: subq $2088, %rsp # imm = 0x8289313; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9314; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm89315; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm99316; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm269317; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm249318; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm149319; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm119320; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm229321; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm289322; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm39323; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm69324; AVX512DQ-FCP-NEXT: vmovdqa64 (%rax), %zmm59325; AVX512DQ-FCP-NEXT: movb $96, %r10b9326; AVX512DQ-FCP-NEXT: kmovw %r10d, %k19327; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [15,7,15,7,15,7,15,7]9328; AVX512DQ-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9329; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9330; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]9331; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9332; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm19333; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm12, %zmm19334; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]9335; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]9336; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm19337; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9338; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [11,3,11,3,11,3,11,3]9339; AVX512DQ-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9340; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm09341; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm31, %zmm09342; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [2,10,0,3,2,10,0,3]9343; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]9344; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm19345; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm18, %zmm19346; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}9347; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm109348; AVX512DQ-FCP-NEXT: vmovdqa (%r9), %ymm19349; AVX512DQ-FCP-NEXT: vmovdqa 64(%r9), %ymm09350; AVX512DQ-FCP-NEXT: vmovdqa 128(%r9), %ymm49351; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %ymm179352; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %ymm169353; AVX512DQ-FCP-NEXT: vmovdqa 128(%r8), %ymm159354; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm17[0],ymm1[0],ymm17[2],ymm1[2]9355; AVX512DQ-FCP-NEXT: movb $28, %r10b9356; AVX512DQ-FCP-NEXT: kmovw %r10d, %k29357; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm79358; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm2[2,3,2,3],zmm5[2,3,2,3]9359; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9360; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [1,3,7,7]9361; AVX512DQ-FCP-NEXT: vpermt2q %ymm1, %ymm5, %ymm179362; AVX512DQ-FCP-NEXT: vmovdqu64 %ymm17, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9363; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]9364; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]9365; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm29366; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm19367; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm29368; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,1,12,7,0,1,12,7]9369; AVX512DQ-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]9370; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm29371; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9372; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [5,0,14,6,5,0,14,6]9373; AVX512DQ-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]9374; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm209375; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm29376; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9377; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm209378; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,13,6,7,0,13,6,7]9379; AVX512DQ-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9380; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm209381; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9382; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm39383; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [6,13,14,7,6,13,14,7]9384; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9385; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm79386; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9387; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm16[0],ymm0[0],ymm16[2],ymm0[2]9388; AVX512DQ-FCP-NEXT: vpermt2q %ymm0, %ymm5, %ymm169389; AVX512DQ-FCP-NEXT: vmovdqu64 %ymm16, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9390; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm4[0],ymm15[2],ymm4[2]9391; AVX512DQ-FCP-NEXT: vpermt2q %ymm4, %ymm5, %ymm159392; AVX512DQ-FCP-NEXT: vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9393; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm49394; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm49395; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm59396; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9397; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm59398; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}9399; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rax), %zmm79400; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm3[2,3,2,3],zmm7[2,3,2,3]9401; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9402; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm39403; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm59404; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9405; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm49406; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9407; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm12, %zmm49408; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9409; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm49410; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9411; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm49412; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm10, %zmm49413; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm49414; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9415; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm49416; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm49417; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm49418; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9419; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9420; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm19, %zmm39421; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm79422; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9423; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm279424; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm209425; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm39426; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm39427; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdx), %zmm299428; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm239429; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm49430; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm18, %zmm49431; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}9432; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rax), %zmm309433; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm0[2,3,2,3],zmm30[2,3,2,3]9434; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9435; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm09436; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r9), %zmm39437; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm109438; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm109439; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9440; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm179441; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm1, %zmm179442; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9443; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm19444; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm12, %zmm19445; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9446; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm13, %zmm19447; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9448; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9449; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm09450; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm309451; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdx), %zmm109452; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm19453; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [3,0,12,4,3,0,12,4]9454; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]9455; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm49456; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm25, %zmm49457; AVX512DQ-FCP-NEXT: movb $48, %r10b9458; AVX512DQ-FCP-NEXT: kmovw %r10d, %k39459; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm189460; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm79461; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 {%k3} = zmm18[0],zmm7[0],zmm18[2],zmm7[2],zmm18[4],zmm7[4],zmm18[6],zmm7[6]9462; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [0,8,0,1,0,8,0,1]9463; AVX512DQ-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]9464; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm09465; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm16, %zmm09466; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9467; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [1,0,10,2,1,0,10,2]9468; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]9469; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm09470; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm15, %zmm09471; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9472; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm09473; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm09474; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9475; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm09476; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm15, %zmm09477; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9478; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm09479; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm09480; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9481; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm09482; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm15, %zmm09483; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9484; AVX512DQ-FCP-NEXT: vpermi2q %zmm7, %zmm18, %zmm169485; AVX512DQ-FCP-NEXT: vpermi2q %zmm18, %zmm7, %zmm159486; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm179487; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm69488; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm219489; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm31, %zmm189490; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [6,14,6,14,6,14,6,14]9491; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9492; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm179493; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,5,13,5,13,5,13,5]9494; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9495; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm69496; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm219497; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm39498; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm319499; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm29500; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm319501; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm13, %zmm119502; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm229503; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm229504; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm29505; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9506; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm8[0],zmm26[0],zmm8[2],zmm26[2],zmm8[4],zmm26[4],zmm8[6],zmm26[6]9507; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm39508; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm13, %zmm39509; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm129510; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm129511; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm89512; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9513; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm269514; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm29515; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm25, %zmm269516; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm79517; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm13, %zmm79518; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm0, %zmm149519; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm19, %zmm29520; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9521; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k3} = zmm9[0],zmm24[0],zmm9[2],zmm24[2],zmm9[4],zmm24[4],zmm9[6],zmm24[6]9522; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm29523; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm13, %zmm29524; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm59525; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm59526; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm19, %zmm99527; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9528; AVX512DQ-FCP-NEXT: vpermi2q %zmm29, %zmm23, %zmm259529; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm289530; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm289531; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm249532; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm0, %zmm249533; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm299534; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm239535; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm239536; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm89537; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm89538; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k3} = zmm27[0],zmm20[0],zmm27[2],zmm20[2],zmm27[4],zmm20[4],zmm27[6],zmm20[6]9539; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm27, %zmm139540; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm27, %zmm09541; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm19, %zmm279542; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm99543; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm99544; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload9545; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm109546; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm23 = zmm17[0,1,2,3],zmm23[4,5,6,7]9547; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm19548; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,11,0,0,4,5,6,7]9549; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm4, %zmm179550; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r9), %zmm49551; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [0,1,11,0,4,5,6,7]9552; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm17, %zmm209553; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}9554; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,0,0,3,4,5,6,13]9555; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm6, %zmm89556; AVX512DQ-FCP-NEXT: movb $24, %sil9557; AVX512DQ-FCP-NEXT: kmovw %esi, %k39558; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm21 {%k3}9559; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,15,0,0]9560; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm21, %zmm69561; AVX512DQ-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload9562; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]9563; AVX512DQ-FCP-NEXT: movb $14, %sil9564; AVX512DQ-FCP-NEXT: kmovw %esi, %k49565; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm31 {%k4}9566; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k1}9567; AVX512DQ-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload9568; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]9569; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm26 {%k4}9570; AVX512DQ-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload9571; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]9572; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm25 {%k4}9573; AVX512DQ-FCP-NEXT: movb $120, %sil9574; AVX512DQ-FCP-NEXT: kmovw %esi, %k49575; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9576; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k4}9577; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm21 = zmm12[0,1,2,3],zmm22[4,5,6,7]9578; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2 {%k1}9579; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9580; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm7 {%k4}9581; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm13 {%k1}9582; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k4}9584; AVX512DQ-FCP-NEXT: movb $-61, %sil9585; AVX512DQ-FCP-NEXT: kmovw %esi, %k49586; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9587; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k4}9588; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm13 = zmm5[0,1,2,3],zmm14[4,5,6,7]9589; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9590; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k4}9591; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm24[4,5,6,7]9592; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k4}9594; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm29595; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]9596; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm29597; AVX512DQ-FCP-NEXT: movb $12, %sil9598; AVX512DQ-FCP-NEXT: kmovw %esi, %k49599; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload9600; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm12 {%k4}9601; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [0,8,0,8,0,8,0,8]9602; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9603; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9604; AVX512DQ-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload9605; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload9606; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9607; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm28 {%k3}9608; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload9609; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9610; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm14 {%k3}9611; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm27 {%k3}9612; AVX512DQ-FCP-NEXT: movb $-31, %sil9613; AVX512DQ-FCP-NEXT: kmovw %esi, %k39614; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9615; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm28 {%k3}9616; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9617; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm14 {%k3}9618; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm299619; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm27 {%k3}9620; AVX512DQ-FCP-NEXT: movb $112, %sil9621; AVX512DQ-FCP-NEXT: kmovw %esi, %k39622; AVX512DQ-FCP-NEXT: vinserti64x2 $3, (%rax), %zmm3, %zmm12 {%k3}9623; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdx), %xmm39624; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]9625; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm39626; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload9627; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm14 {%k4}9628; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdx), %xmm39629; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]9630; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm39631; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload9632; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm19 {%k4}9633; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdx), %xmm39634; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]9635; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm39636; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm16 {%k4}9637; AVX512DQ-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm39638; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]9639; AVX512DQ-FCP-NEXT: movb $6, %sil9640; AVX512DQ-FCP-NEXT: kmovw %esi, %k49641; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9642; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm5 {%k4}9643; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9644; AVX512DQ-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload9645; AVX512DQ-FCP-NEXT: vinserti64x2 $3, 64(%rax), %zmm3, %zmm14 {%k3}9646; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm179647; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9648; AVX512DQ-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload9649; AVX512DQ-FCP-NEXT: vinserti64x2 $3, 128(%rax), %zmm3, %zmm19 {%k3}9650; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm229651; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm1, %zmm29652; AVX512DQ-FCP-NEXT: vinserti64x2 $3, 192(%rax), %zmm2, %zmm16 {%k3}9653; AVX512DQ-FCP-NEXT: movb $56, %sil9654; AVX512DQ-FCP-NEXT: kmovw %esi, %k39655; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9656; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm5 {%k3}9657; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm149658; AVX512DQ-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm29659; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]9660; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9661; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3 {%k4}9662; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9663; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}9664; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm199665; AVX512DQ-FCP-NEXT: vpbroadcastq 136(%rcx), %ymm29666; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]9667; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9668; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3 {%k4}9669; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9670; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}9671; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm249672; AVX512DQ-FCP-NEXT: vpbroadcastq 200(%rcx), %ymm29673; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]9674; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm15 {%k4}9675; AVX512DQ-FCP-NEXT: movb $64, %cl9676; AVX512DQ-FCP-NEXT: kmovw %ecx, %k49677; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k4}9678; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9679; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm2, %zmm19680; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rax), %zmm29681; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9682; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm3, %zmm19683; AVX512DQ-FCP-NEXT: movb $8, %al9684; AVX512DQ-FCP-NEXT: kmovw %eax, %k49685; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm20 {%k4}9686; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm15 {%k3}9687; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm10 {%k1}9688; AVX512DQ-FCP-NEXT: vmovdqa 192(%r8), %ymm19689; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]9690; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]9691; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,12,0,3,4,5,6,7]9692; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm19693; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [13,0,2,3,4,5,6,14]9694; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm23, %zmm39695; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,5,15,0]9696; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm59697; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,12,3,4,5,6,7]9698; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm49699; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,13,2,3,4,5,6,7]9700; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm19701; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [14,1,2,3,4,5,6,15]9702; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm5, %zmm39703; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9704; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 1472(%rax)9705; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, 1408(%rax)9706; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 1344(%rax)9707; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 1280(%rax)9708; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 1216(%rax)9709; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 1152(%rax)9710; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 1088(%rax)9711; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9712; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1024(%rax)9713; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, 960(%rax)9714; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 896(%rax)9715; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 832(%rax)9716; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 768(%rax)9717; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)9718; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 640(%rax)9719; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9720; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 576(%rax)9721; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)9722; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)9723; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 384(%rax)9724; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, 320(%rax)9725; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)9726; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 192(%rax)9727; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9728; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%rax)9729; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 64(%rax)9730; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, (%rax)9731; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 1728(%rax)9732; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 1664(%rax)9733; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 1600(%rax)9734; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 1536(%rax)9735; AVX512DQ-FCP-NEXT: addq $2088, %rsp # imm = 0x8289736; AVX512DQ-FCP-NEXT: vzeroupper9737; AVX512DQ-FCP-NEXT: retq9738;9739; AVX512BW-LABEL: store_i64_stride7_vf32:9740; AVX512BW: # %bb.0:9741; AVX512BW-NEXT: subq $2184, %rsp # imm = 0x8889742; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax9743; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm179744; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm149745; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm169746; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm239747; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm69748; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm79749; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm89750; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm299751; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm09752; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm39753; AVX512BW-NEXT: vmovdqa64 (%rax), %zmm19754; AVX512BW-NEXT: vmovdqa64 64(%rax), %zmm59755; AVX512BW-NEXT: movb $96, %r10b9756; AVX512BW-NEXT: kmovd %r10d, %k19757; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [15,7,15,7,15,7,15,7]9758; AVX512BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9759; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9760; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [9,1,9,1,9,1,9,1]9761; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9762; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm109763; AVX512BW-NEXT: vpermt2q %zmm3, %zmm11, %zmm109764; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,9,0,3,4,9,0,3]9765; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]9766; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm29767; AVX512BW-NEXT: vpermt2q %zmm1, %zmm12, %zmm109768; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9769; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,3,11,3,11,3,11,3]9770; AVX512BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9771; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm19772; AVX512BW-NEXT: vpermt2q %zmm16, %zmm15, %zmm19773; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm22 = [2,10,0,3,2,10,0,3]9774; AVX512BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3]9775; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm49776; AVX512BW-NEXT: vpermt2q %zmm8, %zmm22, %zmm49777; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm4 {%k1}9778; AVX512BW-NEXT: vmovdqa (%r9), %ymm109779; AVX512BW-NEXT: vmovdqu %ymm10, (%rsp) # 32-byte Spill9780; AVX512BW-NEXT: vmovdqa 64(%r9), %ymm139781; AVX512BW-NEXT: vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9782; AVX512BW-NEXT: vmovdqa (%r8), %ymm19783; AVX512BW-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9784; AVX512BW-NEXT: vmovdqa64 64(%r8), %ymm189785; AVX512BW-NEXT: vmovdqu64 %ymm18, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9786; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm10[0],ymm1[2],ymm10[2]9787; AVX512BW-NEXT: movb $28, %r10b9788; AVX512BW-NEXT: kmovd %r10d, %k29789; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]9790; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9791; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]9792; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]9793; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19794; AVX512BW-NEXT: vpermt2q %zmm3, %zmm10, %zmm19795; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,1,12,7,0,1,12,7]9796; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]9797; AVX512BW-NEXT: vpermt2q %zmm2, %zmm4, %zmm19798; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9799; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm19800; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [5,0,14,6,5,0,14,6]9801; AVX512BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]9802; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm219803; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9804; AVX512BW-NEXT: vpermt2q %zmm0, %zmm20, %zmm219805; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]9806; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9807; AVX512BW-NEXT: vpermt2q %zmm1, %zmm2, %zmm219808; AVX512BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9809; AVX512BW-NEXT: vpermt2q %zmm3, %zmm19, %zmm09810; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]9811; AVX512BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]9812; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm19813; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9814; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm09815; AVX512BW-NEXT: vpermt2q %zmm23, %zmm15, %zmm09816; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm19817; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm219818; AVX512BW-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9819; AVX512BW-NEXT: vpermt2q %zmm29, %zmm22, %zmm19820; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}9821; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]9822; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k2} = zmm0[2,3,2,3],zmm5[2,3,2,3]9823; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9824; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm09825; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm139826; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19827; AVX512BW-NEXT: vpermt2q %zmm13, %zmm11, %zmm19828; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9829; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9830; AVX512BW-NEXT: vpermt2q %zmm5, %zmm12, %zmm19831; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9832; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19833; AVX512BW-NEXT: vpermt2q %zmm13, %zmm10, %zmm19834; AVX512BW-NEXT: vpermt2q %zmm5, %zmm4, %zmm19835; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9836; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm19837; AVX512BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9838; AVX512BW-NEXT: vpermt2q %zmm0, %zmm20, %zmm19839; AVX512BW-NEXT: vpermt2q %zmm5, %zmm2, %zmm19840; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9841; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9842; AVX512BW-NEXT: vpermt2q %zmm13, %zmm19, %zmm09843; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm59844; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9845; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm189846; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm229847; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm19848; AVX512BW-NEXT: vpermt2q %zmm22, %zmm15, %zmm19849; AVX512BW-NEXT: vmovdqa64 128(%rdx), %zmm09850; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm289851; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm59852; AVX512BW-NEXT: vpermt2q %zmm28, %zmm21, %zmm59853; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm5 {%k1}9854; AVX512BW-NEXT: vmovdqa64 128(%rax), %zmm309855; AVX512BW-NEXT: vmovdqa 128(%r9), %ymm139856; AVX512BW-NEXT: vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9857; AVX512BW-NEXT: vmovdqa 128(%r8), %ymm19858; AVX512BW-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9859; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm13[0],ymm1[2],ymm13[2]9860; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm1[2,3,2,3],zmm30[2,3,2,3]9861; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9862; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm59863; AVX512BW-NEXT: vmovdqa64 128(%r9), %zmm19864; AVX512BW-NEXT: vpermi2q %zmm1, %zmm5, %zmm109865; AVX512BW-NEXT: vpermt2q %zmm30, %zmm4, %zmm109866; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9867; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm49868; AVX512BW-NEXT: vpermi2q %zmm5, %zmm1, %zmm209869; AVX512BW-NEXT: vpermt2q %zmm30, %zmm2, %zmm209870; AVX512BW-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9871; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm19872; AVX512BW-NEXT: vpermt2q %zmm4, %zmm11, %zmm19873; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9874; AVX512BW-NEXT: vpermt2q %zmm30, %zmm12, %zmm19875; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9876; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9877; AVX512BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm59878; AVX512BW-NEXT: vpermt2q %zmm5, %zmm3, %zmm309879; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm3 = [13,5,13,5,13,5,13,5]9880; AVX512BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9881; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm19882; AVX512BW-NEXT: vpermt2q %zmm8, %zmm3, %zmm19883; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9884; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [6,14,6,14,6,14,6,14]9885; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9886; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm19887; AVX512BW-NEXT: vpermt2q %zmm8, %zmm12, %zmm19888; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9889; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm19890; AVX512BW-NEXT: vpermt2q %zmm8, %zmm19, %zmm19891; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9892; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm19893; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [3,0,12,4,3,0,12,4]9894; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9895; AVX512BW-NEXT: vpermt2q %zmm7, %zmm2, %zmm89896; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm319897; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm49898; AVX512BW-NEXT: vpermt2q %zmm29, %zmm3, %zmm49899; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9900; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm49901; AVX512BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm49902; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9903; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm49904; AVX512BW-NEXT: vpermt2q %zmm29, %zmm19, %zmm49905; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9906; AVX512BW-NEXT: vpermt2q %zmm6, %zmm2, %zmm299907; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm49908; AVX512BW-NEXT: vpermt2q %zmm28, %zmm3, %zmm49909; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9910; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm49911; AVX512BW-NEXT: vpermt2q %zmm28, %zmm12, %zmm49912; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9913; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm49914; AVX512BW-NEXT: vpermt2q %zmm28, %zmm19, %zmm49915; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9916; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm289917; AVX512BW-NEXT: vmovdqa64 192(%rdx), %zmm109918; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm09919; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm249920; AVX512BW-NEXT: vpermt2q %zmm10, %zmm2, %zmm249921; AVX512BW-NEXT: movb $48, %r10b9922; AVX512BW-NEXT: kmovd %r10d, %k39923; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm79924; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm29925; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm24 {%k3} = zmm7[0],zmm2[0],zmm7[2],zmm2[2],zmm7[4],zmm2[4],zmm7[6],zmm2[6]9926; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]9927; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]9928; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm269929; AVX512BW-NEXT: vpermt2q %zmm17, %zmm11, %zmm269930; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [0,8,0,1,0,8,0,1]9931; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]9932; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm279933; AVX512BW-NEXT: vpermt2q %zmm16, %zmm13, %zmm279934; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm49935; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm219936; AVX512BW-NEXT: vpermt2q %zmm14, %zmm11, %zmm219937; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm239938; AVX512BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm239939; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm89940; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm199941; AVX512BW-NEXT: vpermt2q %zmm18, %zmm11, %zmm199942; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm209943; AVX512BW-NEXT: vpermt2q %zmm22, %zmm13, %zmm209944; AVX512BW-NEXT: vpermi2q %zmm2, %zmm7, %zmm139945; AVX512BW-NEXT: vpermi2q %zmm7, %zmm2, %zmm119946; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm259947; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm59948; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm69949; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm79950; AVX512BW-NEXT: vpermt2q %zmm2, %zmm12, %zmm259951; AVX512BW-NEXT: vpermt2q %zmm2, %zmm3, %zmm59952; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm69953; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm29954; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm17[0],zmm16[0],zmm17[2],zmm16[2],zmm17[4],zmm16[4],zmm17[6],zmm16[6]9955; AVX512BW-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9956; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm49957; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm169958; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm159959; AVX512BW-NEXT: vpermt2q %zmm2, %zmm3, %zmm49960; AVX512BW-NEXT: vpermt2q %zmm2, %zmm12, %zmm169961; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm159962; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm29 {%k3} = zmm14[0],zmm8[0],zmm14[2],zmm8[2],zmm14[4],zmm8[4],zmm14[6],zmm8[6]9963; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm29964; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm179965; AVX512BW-NEXT: vpermt2q %zmm8, %zmm3, %zmm29966; AVX512BW-NEXT: vpermt2q %zmm8, %zmm12, %zmm179967; AVX512BW-NEXT: vpermt2q %zmm8, %zmm1, %zmm149968; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm89969; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm89970; AVX512BW-NEXT: vpermi2q %zmm22, %zmm18, %zmm39971; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm99972; AVX512BW-NEXT: vpermt2q %zmm0, %zmm12, %zmm99973; AVX512BW-NEXT: vpermi2q %zmm22, %zmm18, %zmm129974; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm28 {%k3} = zmm18[0],zmm22[0],zmm18[2],zmm22[2],zmm18[4],zmm22[4],zmm18[6],zmm22[6]9975; AVX512BW-NEXT: vpermt2q %zmm22, %zmm1, %zmm189976; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm229977; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm229978; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9979; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm109980; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm31 = zmm25[0,1,2,3],zmm9[4,5,6,7]9981; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm09982; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,11,0,0,4,5,6,7]9983; AVX512BW-NEXT: vpermi2q %zmm0, %zmm24, %zmm99984; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm5 {%k1}9985; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm25 = [12,0,0,3,4,5,6,13]9986; AVX512BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm259987; AVX512BW-NEXT: movb $24, %sil9988; AVX512BW-NEXT: kmovd %esi, %k39989; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm6 {%k3}9990; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,15,0,0]9991; AVX512BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm59992; AVX512BW-NEXT: vmovdqa (%rdx), %xmm69993; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]9994; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm69995; AVX512BW-NEXT: movb $12, %sil9996; AVX512BW-NEXT: kmovd %esi, %k49997; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm27 {%k4}9998; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [0,8,0,8,0,8,0,8]9999; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10000; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10001; AVX512BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm22 # 64-byte Folded Reload10002; AVX512BW-NEXT: vmovdqa 64(%rdx), %xmm810003; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]10004; AVX512BW-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm810005; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm23 {%k4}10006; AVX512BW-NEXT: vmovdqa 128(%rdx), %xmm810007; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]10008; AVX512BW-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm810009; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm20 {%k4}10010; AVX512BW-NEXT: vmovdqa 192(%rdx), %xmm810011; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm8 = xmm8[0],mem[0]10012; AVX512BW-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm810013; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm0, %zmm13 {%k4}10014; AVX512BW-NEXT: vinserti32x4 $3, (%rax), %zmm22, %zmm810015; AVX512BW-NEXT: movb $112, %sil10016; AVX512BW-NEXT: kmovd %esi, %k410017; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm27 {%k4}10018; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10019; AVX512BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm1 # 64-byte Folded Reload10020; AVX512BW-NEXT: vinserti32x4 $3, 64(%rax), %zmm1, %zmm810021; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm23 {%k4}10022; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10023; AVX512BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm6, %zmm1 # 64-byte Folded Reload10024; AVX512BW-NEXT: vinserti32x4 $3, 128(%rax), %zmm1, %zmm110025; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm20 {%k4}10026; AVX512BW-NEXT: vmovdqa64 192(%r9), %zmm110027; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm610028; AVX512BW-NEXT: vinserti32x4 $3, 192(%rax), %zmm6, %zmm610029; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm13 {%k4}10030; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10031; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm4 {%k1}10032; AVX512BW-NEXT: movb $120, %sil10033; AVX512BW-NEXT: kmovd %esi, %k410034; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10035; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm24 {%k4}10036; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm16, %zmm22 # 64-byte Folded Reload10037; AVX512BW-NEXT: # zmm22 = zmm16[0,1,2,3],mem[4,5,6,7]10038; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10039; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm2 {%k1}10040; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload10041; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm16 {%k4}10042; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10043; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}10044; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10045; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm4 {%k4}10046; AVX512BW-NEXT: movb $-61, %sil10047; AVX512BW-NEXT: kmovd %esi, %k410048; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10049; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm22 {%k4}10050; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm17, %zmm2 # 64-byte Folded Reload10051; AVX512BW-NEXT: # zmm2 = zmm17[0,1,2,3],mem[4,5,6,7]10052; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10053; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm2 {%k4}10054; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm12, %zmm3 # 64-byte Folded Reload10055; AVX512BW-NEXT: # zmm3 = zmm12[0,1,2,3],mem[4,5,6,7]10056; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10057; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm3 {%k4}10058; AVX512BW-NEXT: vpbroadcastq 8(%rcx), %ymm610059; AVX512BW-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]10060; AVX512BW-NEXT: movb $6, %sil10061; AVX512BW-NEXT: kmovd %esi, %k410062; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm26 {%k4}10063; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10064; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm15 {%k3}10065; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10066; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm14 {%k3}10067; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10068; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm18 {%k3}10069; AVX512BW-NEXT: movb $-31, %sil10070; AVX512BW-NEXT: kmovd %esi, %k310071; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10072; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm15 {%k3}10073; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10074; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm14 {%k3}10075; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm18 {%k3}10076; AVX512BW-NEXT: movb $56, %sil10077; AVX512BW-NEXT: kmovd %esi, %k310078; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10079; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm26 {%k3}10080; AVX512BW-NEXT: vpbroadcastq 72(%rcx), %ymm610081; AVX512BW-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]10082; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm21 {%k4}10083; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10084; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm21 {%k3}10085; AVX512BW-NEXT: vpbroadcastq 136(%rcx), %ymm610086; AVX512BW-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]10087; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm19 {%k4}10088; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10089; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm19 {%k3}10090; AVX512BW-NEXT: vpbroadcastq 200(%rcx), %ymm610091; AVX512BW-NEXT: vpblendd {{.*#+}} ymm6 = mem[0,1,2,3],ymm6[4,5,6,7]10092; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm11 {%k4}10093; AVX512BW-NEXT: movb $64, %cl10094; AVX512BW-NEXT: kmovd %ecx, %k410095; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm31 {%k4}10096; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10097; AVX512BW-NEXT: vpermt2q %zmm1, %zmm6, %zmm010098; AVX512BW-NEXT: vmovdqa64 192(%rax), %zmm610099; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10100; AVX512BW-NEXT: vpermt2q %zmm6, %zmm8, %zmm010101; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm11 {%k3}10102; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,11,0,4,5,6,7]10103; AVX512BW-NEXT: vpermi2q %zmm1, %zmm9, %zmm010104; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm10 {%k1}10105; AVX512BW-NEXT: vmovdqa 192(%r8), %ymm710106; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm7[0],mem[0],ymm7[2],mem[2]10107; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm7[2,3,2,3],zmm6[2,3,2,3]10108; AVX512BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10109; AVX512BW-NEXT: vpunpckhqdq (%rsp), %ymm7, %ymm7 # 32-byte Folded Reload10110; AVX512BW-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]10111; AVX512BW-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]10112; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]10113; AVX512BW-NEXT: movb $14, %cl10114; AVX512BW-NEXT: kmovd %ecx, %k110115; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload10116; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm12 {%k1}10117; AVX512BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10118; AVX512BW-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload10119; AVX512BW-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]10120; AVX512BW-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]10121; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]10122; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm29 {%k1}10123; AVX512BW-NEXT: movb $8, %cl10124; AVX512BW-NEXT: kmovd %ecx, %k210125; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}10126; AVX512BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10127; AVX512BW-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload10128; AVX512BW-NEXT: # ymm7 = ymm7[1],mem[1],ymm7[3],mem[3]10129; AVX512BW-NEXT: vpermq {{.*#+}} ymm7 = ymm7[0,2,3,3]10130; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],mem[6,7]10131; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm0, %zmm28 {%k1}10132; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,12,0,3,4,5,6,7]10133; AVX512BW-NEXT: vpermi2q %zmm1, %zmm25, %zmm710134; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [13,0,2,3,4,5,6,14]10135; AVX512BW-NEXT: vpermi2q %zmm1, %zmm31, %zmm810136; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]10137; AVX512BW-NEXT: vpermi2q %zmm1, %zmm5, %zmm910138; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,12,3,4,5,6,7]10139; AVX512BW-NEXT: vpermi2q %zmm6, %zmm7, %zmm110140; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,13,2,3,4,5,6,7]10141; AVX512BW-NEXT: vpermi2q %zmm6, %zmm8, %zmm510142; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [14,1,2,3,4,5,6,15]10143; AVX512BW-NEXT: vpermi2q %zmm6, %zmm9, %zmm710144; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10145; AVX512BW-NEXT: vmovdqa64 %zmm10, 1472(%rax)10146; AVX512BW-NEXT: vmovdqa64 %zmm11, 1408(%rax)10147; AVX512BW-NEXT: vmovdqa64 %zmm18, 1280(%rax)10148; AVX512BW-NEXT: vmovdqa64 %zmm3, 1216(%rax)10149; AVX512BW-NEXT: vmovdqa64 %zmm4, 1152(%rax)10150; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10151; AVX512BW-NEXT: vmovaps %zmm3, 1024(%rax)10152; AVX512BW-NEXT: vmovdqa64 %zmm19, 960(%rax)10153; AVX512BW-NEXT: vmovdqa64 %zmm14, 832(%rax)10154; AVX512BW-NEXT: vmovdqa64 %zmm2, 768(%rax)10155; AVX512BW-NEXT: vmovdqa64 %zmm16, 704(%rax)10156; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10157; AVX512BW-NEXT: vmovaps %zmm2, 576(%rax)10158; AVX512BW-NEXT: vmovdqa64 %zmm21, 512(%rax)10159; AVX512BW-NEXT: vmovdqa64 %zmm15, 384(%rax)10160; AVX512BW-NEXT: vmovdqa64 %zmm22, 320(%rax)10161; AVX512BW-NEXT: vmovdqa64 %zmm24, 256(%rax)10162; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10163; AVX512BW-NEXT: vmovaps %zmm2, 128(%rax)10164; AVX512BW-NEXT: vmovdqa64 %zmm26, 64(%rax)10165; AVX512BW-NEXT: vmovdqa64 %zmm13, 1344(%rax)10166; AVX512BW-NEXT: vmovdqa64 %zmm28, 1088(%rax)10167; AVX512BW-NEXT: vmovdqa64 %zmm20, 896(%rax)10168; AVX512BW-NEXT: vmovdqa64 %zmm29, 640(%rax)10169; AVX512BW-NEXT: vmovdqa64 %zmm23, 448(%rax)10170; AVX512BW-NEXT: vmovdqa64 %zmm12, 192(%rax)10171; AVX512BW-NEXT: vmovdqa64 %zmm27, (%rax)10172; AVX512BW-NEXT: vmovdqa64 %zmm7, 1728(%rax)10173; AVX512BW-NEXT: vmovdqa64 %zmm5, 1664(%rax)10174; AVX512BW-NEXT: vmovdqa64 %zmm1, 1600(%rax)10175; AVX512BW-NEXT: vmovdqa64 %zmm0, 1536(%rax)10176; AVX512BW-NEXT: addq $2184, %rsp # imm = 0x88810177; AVX512BW-NEXT: vzeroupper10178; AVX512BW-NEXT: retq10179;10180; AVX512BW-FCP-LABEL: store_i64_stride7_vf32:10181; AVX512BW-FCP: # %bb.0:10182; AVX512BW-FCP-NEXT: subq $2152, %rsp # imm = 0x86810183; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10184; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm1610185; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1710186; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm2910187; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm2810188; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm1910189; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm2310190; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm2210191; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm3010192; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm010193; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm710194; AVX512BW-FCP-NEXT: vmovdqa64 (%rax), %zmm310195; AVX512BW-FCP-NEXT: movb $96, %r10b10196; AVX512BW-FCP-NEXT: kmovd %r10d, %k110197; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [15,7,15,7,15,7,15,7]10198; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10199; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10200; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [9,1,9,1,9,1,9,1]10201; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10202; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm410203; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm8, %zmm410204; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,9,0,3,4,9,0,3]10205; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]10206; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm9, %zmm410207; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10208; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [11,3,11,3,11,3,11,3]10209; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10210; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm110211; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm110212; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [2,10,0,3,2,10,0,3]10213; AVX512BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]10214; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm210215; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm15, %zmm210216; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}10217; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm510218; AVX512BW-FCP-NEXT: vmovdqa (%r9), %ymm110219; AVX512BW-FCP-NEXT: vmovdqa 64(%r9), %ymm610220; AVX512BW-FCP-NEXT: vmovdqa 128(%r9), %ymm410221; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm1010222; AVX512BW-FCP-NEXT: vmovdqa 64(%r8), %ymm1210223; AVX512BW-FCP-NEXT: vmovdqa 128(%r8), %ymm1110224; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm10[0],ymm1[0],ymm10[2],ymm1[2]10225; AVX512BW-FCP-NEXT: movb $28, %r10b10226; AVX512BW-FCP-NEXT: kmovd %r10d, %k210227; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm2[2,3,2,3],zmm3[2,3,2,3]10228; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10229; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [1,3,7,7]10230; AVX512BW-FCP-NEXT: vpermt2q %ymm1, %ymm5, %ymm1010231; AVX512BW-FCP-NEXT: vmovdqu %ymm10, (%rsp) # 32-byte Spill10232; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]10233; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]10234; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm210235; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm10, %zmm210236; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,1,12,7,0,1,12,7]10237; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10238; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210239; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10240; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [5,0,14,6,5,0,14,6]10241; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]10242; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm1410243; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm1810244; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10245; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm13, %zmm1410246; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]10247; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]10248; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm710249; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm1410250; AVX512BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10251; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm010252; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]10253; AVX512BW-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]10254; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm710255; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10256; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm12[0],ymm6[0],ymm12[2],ymm6[2]10257; AVX512BW-FCP-NEXT: vpermt2q %ymm6, %ymm5, %ymm1210258; AVX512BW-FCP-NEXT: vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10259; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm11[0],ymm4[0],ymm11[2],ymm4[2]10260; AVX512BW-FCP-NEXT: vpermt2q %ymm4, %ymm5, %ymm1110261; AVX512BW-FCP-NEXT: vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10262; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm410263; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm410264; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm610265; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm510266; AVX512BW-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10267; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm15, %zmm610268; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm6 {%k1}10269; AVX512BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm1110270; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm6 {%k2} = zmm0[2,3,2,3],zmm11[2,3,2,3]10271; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10272; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm010273; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm610274; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10275; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm410276; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10277; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm410278; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10279; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm9, %zmm410280; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10281; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm410282; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm410283; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm410284; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10285; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm410286; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm13, %zmm410287; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm2, %zmm410288; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10289; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10290; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm010291; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm1110292; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10293; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm2710294; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm1810295; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm010296; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm010297; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm3110298; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm1510299; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm410300; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm5, %zmm410301; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}10302; AVX512BW-FCP-NEXT: vmovdqa64 128(%rax), %zmm510303; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm7[2,3,2,3],zmm5[2,3,2,3]10304; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10305; AVX512BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm010306; AVX512BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm410307; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm1010308; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm1010309; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10310; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm1310311; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm1310312; AVX512BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10313; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm110314; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm110315; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10316; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm9, %zmm110317; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10318; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10319; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm010320; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm510321; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10322; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm710323; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm010324; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [3,0,12,4,3,0,12,4]10325; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]10326; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2410327; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm2410328; AVX512BW-FCP-NEXT: movb $48, %r10b10329; AVX512BW-FCP-NEXT: kmovd %r10d, %k310330; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm1210331; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm310332; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm24 {%k3} = zmm12[0],zmm3[0],zmm12[2],zmm3[2],zmm12[4],zmm3[4],zmm12[6],zmm3[6]10333; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,8,0,1,0,8,0,1]10334; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]10335; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm110336; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm110337; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10338; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm110339; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm14, %zmm110340; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10341; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm110342; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm14, %zmm110343; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10344; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm12, %zmm1410345; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm11 = [1,0,10,2,1,0,10,2]10346; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3]10347; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm110348; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm11, %zmm110349; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10350; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm2610351; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm11, %zmm2610352; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2010353; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm11, %zmm2010354; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm3, %zmm1110355; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm810356; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm1010357; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm910358; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm25, %zmm1210359; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [6,14,6,14,6,14,6,14]10360; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10361; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm810362; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [13,5,13,5,13,5,13,5]10363; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10364; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm1010365; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm910366; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm2510367; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm210368; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm2510369; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm1, %zmm2310370; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm310371; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm4, %zmm310372; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10373; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm21, %zmm210374; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10375; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k3} = zmm16[0],zmm29[0],zmm16[2],zmm29[2],zmm16[4],zmm29[4],zmm16[6],zmm29[6]10376; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm610377; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm610378; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm2210379; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm4, %zmm2210380; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm21, %zmm1610381; AVX512BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10382; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm1610383; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm210384; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm13, %zmm1610385; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm1, %zmm1910386; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm2910387; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm4, %zmm2910388; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm210389; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10390; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm3010391; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm16 {%k3} = zmm17[0],zmm28[0],zmm17[2],zmm28[2],zmm17[4],zmm28[4],zmm17[6],zmm28[6]10392; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm310393; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm1, %zmm310394; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm4, %zmm1710395; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm21, %zmm3010396; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm210397; AVX512BW-FCP-NEXT: vpermi2q %zmm31, %zmm15, %zmm1310398; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm1, %zmm3110399; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm2810400; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm4, %zmm2810401; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm21, %zmm210402; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10403; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm1510404; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm4, %zmm1510405; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm510406; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm510407; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k3} = zmm27[0],zmm18[0],zmm27[2],zmm18[2],zmm27[4],zmm18[4],zmm27[6],zmm18[6]10408; AVX512BW-FCP-NEXT: vpermi2q %zmm18, %zmm27, %zmm110409; AVX512BW-FCP-NEXT: vpermi2q %zmm18, %zmm27, %zmm410410; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm2710411; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm1810412; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm21, %zmm1810413; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10414; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm710415; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm8[0,1,2,3],zmm15[4,5,6,7]10416; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10417; AVX512BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm210418; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,11,0,0,4,5,6,7]10419; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm24, %zmm010420; AVX512BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm810421; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,11,0,4,5,6,7]10422; AVX512BW-FCP-NEXT: vpermi2q %zmm8, %zmm0, %zmm1510423; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k1}10424; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [12,0,0,3,4,5,6,13]10425; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm010426; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10427; AVX512BW-FCP-NEXT: movb $24, %sil10428; AVX512BW-FCP-NEXT: kmovd %esi, %k310429; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm9 {%k3}10430; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,3,4,15,0,0]10431; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm9, %zmm2410432; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm010433; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],mem[0]10434; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm010435; AVX512BW-FCP-NEXT: movb $12, %sil10436; AVX512BW-FCP-NEXT: kmovd %esi, %k410437; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload10438; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm21 {%k4}10439; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [0,8,0,8,0,8,0,8]10440; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10441; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10442; AVX512BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm9 # 64-byte Folded Reload10443; AVX512BW-FCP-NEXT: vmovdqa 64(%rdx), %xmm510444; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]10445; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm510446; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10447; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k4}10448; AVX512BW-FCP-NEXT: vmovdqa 128(%rdx), %xmm510449; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]10450; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm510451; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload10452; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm18 {%k4}10453; AVX512BW-FCP-NEXT: vmovdqa 192(%rdx), %xmm510454; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]10455; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm510456; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm14 {%k4}10457; AVX512BW-FCP-NEXT: vinserti32x4 $3, (%rax), %zmm9, %zmm510458; AVX512BW-FCP-NEXT: movb $112, %sil10459; AVX512BW-FCP-NEXT: kmovd %esi, %k410460; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm21 {%k4}10461; AVX512BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10462; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10463; AVX512BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm5 # 64-byte Folded Reload10464; AVX512BW-FCP-NEXT: vinserti32x4 $3, 64(%rax), %zmm5, %zmm510465; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm10 {%k4}10466; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10467; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10468; AVX512BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm5 # 64-byte Folded Reload10469; AVX512BW-FCP-NEXT: vinserti32x4 $3, 128(%rax), %zmm5, %zmm510470; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm18 {%k4}10471; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2110472; AVX512BW-FCP-NEXT: vpermi2q %zmm8, %zmm2, %zmm010473; AVX512BW-FCP-NEXT: vinserti32x4 $3, 192(%rax), %zmm0, %zmm010474; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k4}10475; AVX512BW-FCP-NEXT: vmovdqu (%rsp), %ymm0 # 32-byte Reload10476; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10477; AVX512BW-FCP-NEXT: movb $14, %sil10478; AVX512BW-FCP-NEXT: kmovd %esi, %k410479; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm25 {%k4}10480; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm6 {%k1}10481; AVX512BW-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10482; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10483; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm16 {%k4}10484; AVX512BW-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10485; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10486; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm13 {%k4}10487; AVX512BW-FCP-NEXT: movb $120, %sil10488; AVX512BW-FCP-NEXT: kmovd %esi, %k410489; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10490; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm9 {%k4}10491; AVX512BW-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm22, %zmm5 # 64-byte Folded Reload10492; AVX512BW-FCP-NEXT: # zmm5 = zmm22[0,1,2,3],mem[4,5,6,7]10493; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm3 {%k1}10494; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10495; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm10 {%k4}10496; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm1 {%k1}10497; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload10498; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k4}10499; AVX512BW-FCP-NEXT: movb $-61, %sil10500; AVX512BW-FCP-NEXT: kmovd %esi, %k410501; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10502; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k4}10503; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm17[0,1,2,3],zmm29[4,5,6,7]10504; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10505; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k4}10506; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm4[0,1,2,3],zmm28[4,5,6,7]10507; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10508; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k4}10509; AVX512BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm310510; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]10511; AVX512BW-FCP-NEXT: movb $6, %sil10512; AVX512BW-FCP-NEXT: kmovd %esi, %k410513; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10514; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm4 {%k4}10515; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10516; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10517; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm6 {%k3}10518; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10519; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm30 {%k3}10520; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10521; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm27 {%k3}10522; AVX512BW-FCP-NEXT: movb $-31, %sil10523; AVX512BW-FCP-NEXT: kmovd %esi, %k310524; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10525; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm6 {%k3}10526; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1910527; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10528; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm30 {%k3}10529; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10530; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm27 {%k3}10531; AVX512BW-FCP-NEXT: movb $56, %sil10532; AVX512BW-FCP-NEXT: kmovd %esi, %k310533; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10534; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k3}10535; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1710536; AVX512BW-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm310537; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]10538; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm26 {%k4}10539; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10540; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm26 {%k3}10541; AVX512BW-FCP-NEXT: vpbroadcastq 136(%rcx), %ymm310542; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]10543; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm20 {%k4}10544; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10545; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm20 {%k3}10546; AVX512BW-FCP-NEXT: vpbroadcastq 200(%rcx), %ymm310547; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]10548; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm11 {%k4}10549; AVX512BW-FCP-NEXT: movb $64, %cl10550; AVX512BW-FCP-NEXT: kmovd %ecx, %k410551; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10552; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k4}10553; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10554; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm3, %zmm210555; AVX512BW-FCP-NEXT: vmovdqa64 192(%rax), %zmm310556; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10557; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm210558; AVX512BW-FCP-NEXT: movb $8, %al10559; AVX512BW-FCP-NEXT: kmovd %eax, %k410560; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm15 {%k4}10561; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k3}10562; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm7 {%k1}10563; AVX512BW-FCP-NEXT: vmovdqa 192(%r8), %ymm210564; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]10565; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm7 {%k2} = zmm2[2,3,2,3],zmm3[2,3,2,3]10566; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,12,0,3,4,5,6,7]10567; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10568; AVX512BW-FCP-NEXT: vpermi2q %zmm8, %zmm4, %zmm210569; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,3,4,5,6,14]10570; AVX512BW-FCP-NEXT: vpermi2q %zmm8, %zmm6, %zmm410571; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,5,15,0]10572; AVX512BW-FCP-NEXT: vpermi2q %zmm8, %zmm24, %zmm610573; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,12,3,4,5,6,7]10574; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm810575; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,13,2,3,4,5,6,7]10576; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm210577; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [14,1,2,3,4,5,6,15]10578; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm6, %zmm410579; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10580; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 1472(%rax)10581; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 1408(%rax)10582; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 1280(%rax)10583; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 1216(%rax)10584; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 1152(%rax)10585; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 1088(%rax)10586; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10587; AVX512BW-FCP-NEXT: vmovaps %zmm1, 1024(%rax)10588; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 960(%rax)10589; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, 832(%rax)10590; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 768(%rax)10591; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 704(%rax)10592; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 640(%rax)10593; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10594; AVX512BW-FCP-NEXT: vmovaps %zmm0, 576(%rax)10595; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, 512(%rax)10596; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 384(%rax)10597; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)10598; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)10599; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 192(%rax)10600; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10601; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)10602; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 64(%rax)10603; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 1344(%rax)10604; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, 896(%rax)10605; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10606; AVX512BW-FCP-NEXT: vmovaps %zmm0, 448(%rax)10607; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10608; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%rax)10609; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 1728(%rax)10610; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 1664(%rax)10611; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 1600(%rax)10612; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, 1536(%rax)10613; AVX512BW-FCP-NEXT: addq $2152, %rsp # imm = 0x86810614; AVX512BW-FCP-NEXT: vzeroupper10615; AVX512BW-FCP-NEXT: retq10616;10617; AVX512DQ-BW-LABEL: store_i64_stride7_vf32:10618; AVX512DQ-BW: # %bb.0:10619; AVX512DQ-BW-NEXT: subq $2184, %rsp # imm = 0x88810620; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10621; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm1610622; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm910623; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm2310624; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm1010625; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm2010626; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm1810627; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm610628; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm710629; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm010630; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm310631; AVX512DQ-BW-NEXT: vmovdqa64 (%rax), %zmm210632; AVX512DQ-BW-NEXT: vmovdqa64 64(%rax), %zmm410633; AVX512DQ-BW-NEXT: movb $96, %r10b10634; AVX512DQ-BW-NEXT: kmovd %r10d, %k110635; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [15,7,15,7,15,7,15,7]10636; AVX512DQ-BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10637; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10638; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]10639; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10640; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm510641; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm12, %zmm510642; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]10643; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]10644; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm510645; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10646; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [11,3,11,3,11,3,11,3]10647; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10648; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm110649; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm25, %zmm110650; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [2,10,0,3,2,10,0,3]10651; AVX512DQ-BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]10652; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm510653; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm15, %zmm510654; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm5 {%k1}10655; AVX512DQ-BW-NEXT: vmovdqa (%r9), %ymm810656; AVX512DQ-BW-NEXT: vmovdqu %ymm8, (%rsp) # 32-byte Spill10657; AVX512DQ-BW-NEXT: vmovdqa 64(%r9), %ymm1410658; AVX512DQ-BW-NEXT: vmovdqu %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10659; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm110660; AVX512DQ-BW-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10661; AVX512DQ-BW-NEXT: vmovdqa 64(%r8), %ymm1110662; AVX512DQ-BW-NEXT: vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10663; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm8[0],ymm1[2],ymm8[2]10664; AVX512DQ-BW-NEXT: movb $28, %r10b10665; AVX512DQ-BW-NEXT: kmovd %r10d, %k210666; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]10667; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10668; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [4,12,0,5,4,12,0,5]10669; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]10670; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm510671; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm8, %zmm510672; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,1,12,7,0,1,12,7]10673; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10674; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm510675; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10676; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm510677; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [5,0,14,6,5,0,14,6]10678; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]10679; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm1910680; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10681; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm1910682; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,13,6,7,0,13,6,7]10683; AVX512DQ-BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]10684; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm2, %zmm1910685; AVX512DQ-BW-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10686; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm17, %zmm010687; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [6,13,14,7,6,13,14,7]10688; AVX512DQ-BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]10689; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm510690; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10691; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm010692; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm25, %zmm010693; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm510694; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm15, %zmm510695; AVX512DQ-BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10696; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm5 {%k1}10697; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]10698; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm0[2,3,2,3],zmm4[2,3,2,3]10699; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10700; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm010701; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm1110702; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm510703; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm12, %zmm510704; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10705; AVX512DQ-BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10706; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm510707; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10708; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm510709; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm410710; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm8, %zmm410711; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm410712; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10713; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm410714; AVX512DQ-BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10715; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm21, %zmm410716; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm2, %zmm410717; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10718; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10719; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm17, %zmm010720; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm510721; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10722; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm1110723; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %zmm1910724; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm510725; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm25, %zmm510726; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdx), %zmm410727; AVX512DQ-BW-NEXT: vmovdqa64 128(%rcx), %zmm3110728; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm010729; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm15, %zmm010730; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}10731; AVX512DQ-BW-NEXT: vmovdqa64 128(%rax), %zmm1510732; AVX512DQ-BW-NEXT: vmovdqa 128(%r9), %ymm1410733; AVX512DQ-BW-NEXT: vmovdqu %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10734; AVX512DQ-BW-NEXT: vmovdqa 128(%r8), %ymm510735; AVX512DQ-BW-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10736; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm5[0],ymm14[0],ymm5[2],ymm14[2]10737; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k2} = zmm5[2,3,2,3],zmm15[2,3,2,3]10738; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10739; AVX512DQ-BW-NEXT: vmovdqa64 128(%r8), %zmm510740; AVX512DQ-BW-NEXT: vmovdqa64 128(%r9), %zmm010741; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm810742; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm1, %zmm810743; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10744; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm0, %zmm2110745; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm2, %zmm2110746; AVX512DQ-BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10747; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm110748; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm12, %zmm110749; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10750; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm13, %zmm110751; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10752; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10753; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm17, %zmm510754; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm3, %zmm1510755; AVX512DQ-BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10756; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm1 = [13,5,13,5,13,5,13,5]10757; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10758; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm210759; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm010760; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm210761; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10762; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [6,14,6,14,6,14,6,14]10763; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10764; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm210765; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm210766; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10767; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm210768; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm17, %zmm210769; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10770; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm1510771; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [3,0,12,4,3,0,12,4]10772; AVX512DQ-BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]10773; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm3, %zmm010774; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm210775; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm010776; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm010777; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10778; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm010779; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm6, %zmm010780; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10781; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm010782; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm17, %zmm010783; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10784; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm3, %zmm710785; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm510786; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm2910787; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm1, %zmm2910788; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm3010789; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm6, %zmm3010790; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm010791; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm17, %zmm010792; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10793; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm3, %zmm3110794; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdx), %zmm1210795; AVX512DQ-BW-NEXT: vmovdqa64 192(%rcx), %zmm2110796; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm2210797; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm3, %zmm2210798; AVX512DQ-BW-NEXT: movb $48, %r10b10799; AVX512DQ-BW-NEXT: kmovd %r10d, %k310800; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm810801; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %zmm710802; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm22 {%k3} = zmm8[0],zmm7[0],zmm8[2],zmm7[2],zmm8[4],zmm7[4],zmm8[6],zmm7[6]10803; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [1,0,10,2,1,0,10,2]10804; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]10805; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm010806; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm2810807; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm14, %zmm2810808; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [0,8,0,1,0,8,0,1]10809; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]10810; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm2710811; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm13, %zmm2710812; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm2610813; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm14, %zmm2610814; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm2310815; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm13, %zmm2310816; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm2010817; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm14, %zmm2010818; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm1810819; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm13, %zmm1810820; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm8, %zmm1310821; AVX512DQ-BW-NEXT: vpermi2q %zmm8, %zmm7, %zmm1410822; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm2410823; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm310824; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm410825; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm25, %zmm810826; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm6, %zmm2410827; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm310828; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm17, %zmm410829; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 {%k3} = zmm16[0],zmm0[0],zmm16[2],zmm0[2],zmm16[4],zmm0[4],zmm16[6],zmm0[6]10830; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10831; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm2510832; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm210833; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm1710834; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm2510835; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm210836; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm15, %zmm1710837; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm5 {%k3} = zmm9[0],zmm10[0],zmm9[2],zmm10[2],zmm9[4],zmm10[4],zmm9[6],zmm10[6]10838; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10839; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm010840; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm510841; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm1610842; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm010843; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm6, %zmm510844; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm15, %zmm1610845; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm910846; AVX512DQ-BW-NEXT: vpermt2q %zmm21, %zmm1, %zmm910847; AVX512DQ-BW-NEXT: vpermi2q %zmm19, %zmm11, %zmm110848; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm1010849; AVX512DQ-BW-NEXT: vpermt2q %zmm21, %zmm6, %zmm1010850; AVX512DQ-BW-NEXT: vpermi2q %zmm19, %zmm11, %zmm610851; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm11[0],zmm19[0],zmm11[2],zmm19[2],zmm11[4],zmm19[4],zmm11[6],zmm19[6]10852; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm710853; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm15, %zmm710854; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm1110855; AVX512DQ-BW-NEXT: vpermt2q %zmm21, %zmm15, %zmm1110856; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload10857; AVX512DQ-BW-NEXT: vpermt2q %zmm21, %zmm15, %zmm1210858; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm10[4,5,6,7]10859; AVX512DQ-BW-NEXT: vmovdqa64 192(%r8), %zmm1910860; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,11,0,0,4,5,6,7]10861; AVX512DQ-BW-NEXT: vpermi2q %zmm19, %zmm22, %zmm1010862; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm3 {%k1}10863; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm22 = [12,0,0,3,4,5,6,13]10864; AVX512DQ-BW-NEXT: vpermi2q %zmm19, %zmm3, %zmm2210865; AVX512DQ-BW-NEXT: movb $24, %sil10866; AVX512DQ-BW-NEXT: kmovd %esi, %k310867; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm4 {%k3}10868; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,15,0,0]10869; AVX512DQ-BW-NEXT: vpermi2q %zmm19, %zmm4, %zmm2110870; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10871; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm25 {%k1}10872; AVX512DQ-BW-NEXT: movb $120, %sil10873; AVX512DQ-BW-NEXT: kmovd %esi, %k410874; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload10875; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm11 {%k4}10876; AVX512DQ-BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload10877; AVX512DQ-BW-NEXT: # zmm3 = zmm2[0,1,2,3],mem[4,5,6,7]10878; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10879; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm0 {%k1}10880; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload10881; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm15 {%k4}10882; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm1 {%k1}10883; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload10884; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm25 {%k4}10885; AVX512DQ-BW-NEXT: movb $-61, %sil10886; AVX512DQ-BW-NEXT: kmovd %esi, %k410887; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10888; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k4}10889; AVX512DQ-BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm5, %zmm4 # 64-byte Folded Reload10890; AVX512DQ-BW-NEXT: # zmm4 = zmm5[0,1,2,3],mem[4,5,6,7]10891; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10892; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm4 {%k4}10893; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm6[0,1,2,3],zmm30[4,5,6,7]10894; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10895; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k4}10896; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm010897; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],mem[0]10898; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm010899; AVX512DQ-BW-NEXT: movb $12, %sil10900; AVX512DQ-BW-NEXT: kmovd %esi, %k410901; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm27 {%k4}10902; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [0,8,0,8,0,8,0,8]10903; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10904; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10905; AVX512DQ-BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload10906; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10907; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm17 {%k3}10908; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10909; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm16 {%k3}10910; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10911; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k3}10912; AVX512DQ-BW-NEXT: movb $-31, %sil10913; AVX512DQ-BW-NEXT: kmovd %esi, %k310914; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10915; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm17 {%k3}10916; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10917; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm16 {%k3}10918; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10919; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k3}10920; AVX512DQ-BW-NEXT: movb $112, %sil10921; AVX512DQ-BW-NEXT: kmovd %esi, %k310922; AVX512DQ-BW-NEXT: vinserti64x2 $3, (%rax), %zmm2, %zmm27 {%k3}10923; AVX512DQ-BW-NEXT: vmovdqa 64(%rdx), %xmm210924; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]10925; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm210926; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm23 {%k4}10927; AVX512DQ-BW-NEXT: vmovdqa 128(%rdx), %xmm210928; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]10929; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm210930; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm18 {%k4}10931; AVX512DQ-BW-NEXT: vmovdqa 192(%rdx), %xmm210932; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]10933; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm210934; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm13 {%k4}10935; AVX512DQ-BW-NEXT: vpbroadcastq 8(%rcx), %ymm210936; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]10937; AVX512DQ-BW-NEXT: movb $6, %sil10938; AVX512DQ-BW-NEXT: kmovd %esi, %k410939; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm28 {%k4}10940; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10941; AVX512DQ-BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload10942; AVX512DQ-BW-NEXT: vinserti64x2 $3, 64(%rax), %zmm2, %zmm23 {%k3}10943; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10944; AVX512DQ-BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm2 # 64-byte Folded Reload10945; AVX512DQ-BW-NEXT: vinserti64x2 $3, 128(%rax), %zmm2, %zmm18 {%k3}10946; AVX512DQ-BW-NEXT: vmovdqa64 192(%r9), %zmm210947; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm19, %zmm010948; AVX512DQ-BW-NEXT: vinserti64x2 $3, 192(%rax), %zmm0, %zmm13 {%k3}10949; AVX512DQ-BW-NEXT: movb $56, %sil10950; AVX512DQ-BW-NEXT: kmovd %esi, %k310951; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10952; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm28 {%k3}10953; AVX512DQ-BW-NEXT: vpbroadcastq 72(%rcx), %ymm010954; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]10955; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm26 {%k4}10956; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10957; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k3}10958; AVX512DQ-BW-NEXT: vpbroadcastq 136(%rcx), %ymm010959; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]10960; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm20 {%k4}10961; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10962; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm20 {%k3}10963; AVX512DQ-BW-NEXT: vpbroadcastq 200(%rcx), %ymm010964; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2,3],ymm0[4,5,6,7]10965; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm0, %zmm14 {%k4}10966; AVX512DQ-BW-NEXT: movb $64, %cl10967; AVX512DQ-BW-NEXT: kmovd %ecx, %k410968; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm24 {%k4}10969; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10970; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm1910971; AVX512DQ-BW-NEXT: vmovdqa64 192(%rax), %zmm010972; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10973; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm1910974; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm14 {%k3}10975; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,11,0,4,5,6,7]10976; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm10, %zmm510977; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm12 {%k1}10978; AVX512DQ-BW-NEXT: vmovdqa 192(%r8), %ymm610979; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm6 = ymm6[0],mem[0],ymm6[2],mem[2]10980; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm12 {%k2} = zmm6[2,3,2,3],zmm0[2,3,2,3]10981; AVX512DQ-BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload10982; AVX512DQ-BW-NEXT: vpunpckhqdq (%rsp), %ymm6, %ymm6 # 32-byte Folded Reload10983; AVX512DQ-BW-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]10984; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]10985; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]10986; AVX512DQ-BW-NEXT: movb $14, %cl10987; AVX512DQ-BW-NEXT: kmovd %ecx, %k110988; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10989; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}10990; AVX512DQ-BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload10991; AVX512DQ-BW-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload10992; AVX512DQ-BW-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]10993; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]10994; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]10995; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload10996; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm19 {%k1}10997; AVX512DQ-BW-NEXT: movb $8, %cl10998; AVX512DQ-BW-NEXT: kmovd %ecx, %k210999; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}11000; AVX512DQ-BW-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload11001; AVX512DQ-BW-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload11002; AVX512DQ-BW-NEXT: # ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]11003; AVX512DQ-BW-NEXT: vpermq {{.*#+}} ymm6 = ymm6[0,2,3,3]11004; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]11005; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm31 {%k1}11006; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,12,0,3,4,5,6,7]11007; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm22, %zmm611008; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [13,0,2,3,4,5,6,14]11009; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm24, %zmm811010; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,3,4,5,15,0]11011; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm21, %zmm911012; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,12,3,4,5,6,7]11013; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm211014; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,13,2,3,4,5,6,7]11015; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm8, %zmm611016; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [14,1,2,3,4,5,6,15]11017; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm811018; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11019; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, 1472(%rax)11020; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 1408(%rax)11021; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 1344(%rax)11022; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 1280(%rax)11023; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 1216(%rax)11024; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 1152(%rax)11025; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 1088(%rax)11026; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11027; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1024(%rax)11028; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, 960(%rax)11029; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 896(%rax)11030; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 832(%rax)11031; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 768(%rax)11032; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, 704(%rax)11033; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 640(%rax)11034; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11035; AVX512DQ-BW-NEXT: vmovaps %zmm0, 576(%rax)11036; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, 512(%rax)11037; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 448(%rax)11038; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 384(%rax)11039; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 320(%rax)11040; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 256(%rax)11041; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, 192(%rax)11042; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11043; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%rax)11044; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 64(%rax)11045; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, (%rax)11046; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 1728(%rax)11047; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 1664(%rax)11048; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 1600(%rax)11049; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 1536(%rax)11050; AVX512DQ-BW-NEXT: addq $2184, %rsp # imm = 0x88811051; AVX512DQ-BW-NEXT: vzeroupper11052; AVX512DQ-BW-NEXT: retq11053;11054; AVX512DQ-BW-FCP-LABEL: store_i64_stride7_vf32:11055; AVX512DQ-BW-FCP: # %bb.0:11056; AVX512DQ-BW-FCP-NEXT: subq $2088, %rsp # imm = 0x82811057; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11058; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm811059; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm911060; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm2611061; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm2411062; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm1411063; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm1111064; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm2211065; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm2811066; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm311067; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm611068; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rax), %zmm511069; AVX512DQ-BW-FCP-NEXT: movb $96, %r10b11070; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k111071; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [15,7,15,7,15,7,15,7]11072; AVX512DQ-BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11073; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11074; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [9,1,9,1,9,1,9,1]11075; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11076; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm111077; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm12, %zmm111078; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [4,9,0,3,4,9,0,3]11079; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]11080; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm111081; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11082; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm31 = [11,3,11,3,11,3,11,3]11083; AVX512DQ-BW-FCP-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11084; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm011085; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm31, %zmm011086; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [2,10,0,3,2,10,0,3]11087; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]11088; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm111089; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm22, %zmm18, %zmm111090; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}11091; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm1011092; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r9), %ymm111093; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%r9), %ymm011094; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%r9), %ymm411095; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %ymm1711096; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %ymm1611097; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%r8), %ymm1511098; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm17[0],ymm1[0],ymm17[2],ymm1[2]11099; AVX512DQ-BW-FCP-NEXT: movb $28, %r10b11100; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k211101; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm711102; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm2[2,3,2,3],zmm5[2,3,2,3]11103; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11104; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [1,3,7,7]11105; AVX512DQ-BW-FCP-NEXT: vpermt2q %ymm1, %ymm5, %ymm1711106; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %ymm17, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11107; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,12,0,5,4,12,0,5]11108; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]11109; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm211110; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm111111; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm10, %zmm211112; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,1,12,7,0,1,12,7]11113; AVX512DQ-BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]11114; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm211115; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11116; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [5,0,14,6,5,0,14,6]11117; AVX512DQ-BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]11118; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm2011119; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm211120; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11121; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm2011122; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,13,6,7,0,13,6,7]11123; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11124; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2011125; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11126; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm311127; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [6,13,14,7,6,13,14,7]11128; AVX512DQ-BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]11129; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm711130; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11131; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm16[0],ymm0[0],ymm16[2],ymm0[2]11132; AVX512DQ-BW-FCP-NEXT: vpermt2q %ymm0, %ymm5, %ymm1611133; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %ymm16, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11134; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm15[0],ymm4[0],ymm15[2],ymm4[2]11135; AVX512DQ-BW-FCP-NEXT: vpermt2q %ymm4, %ymm5, %ymm1511136; AVX512DQ-BW-FCP-NEXT: vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11137; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm411138; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm411139; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm511140; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11141; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm511142; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}11143; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rax), %zmm711144; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm3[2,3,2,3],zmm7[2,3,2,3]11145; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11146; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm311147; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm511148; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11149; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm411150; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11151; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm12, %zmm411152; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11153; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm411154; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11155; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm411156; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm10, %zmm411157; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm411158; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11159; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm411160; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm411161; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm411162; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11163; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11164; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm19, %zmm311165; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm711166; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11167; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm2711168; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm2011169; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm311170; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm31, %zmm311171; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm2911172; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm2311173; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm411174; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm18, %zmm411175; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm4 {%k1}11176; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rax), %zmm3011177; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm4 {%k2} = zmm0[2,3,2,3],zmm30[2,3,2,3]11178; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11179; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm011180; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm311181; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm1011182; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm1011183; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11184; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm3, %zmm1711185; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm1, %zmm1711186; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11187; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm111188; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm12, %zmm111189; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11190; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm13, %zmm111191; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11192; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11193; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm011194; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm3011195; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1011196; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm111197; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [3,0,12,4,3,0,12,4]11198; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]11199; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm411200; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm25, %zmm411201; AVX512DQ-BW-FCP-NEXT: movb $48, %r10b11202; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k311203; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm1811204; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm711205; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm4 {%k3} = zmm18[0],zmm7[0],zmm18[2],zmm7[2],zmm18[4],zmm7[4],zmm18[6],zmm7[6]11206; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [0,8,0,1,0,8,0,1]11207; AVX512DQ-BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]11208; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm011209; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm16, %zmm011210; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11211; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [1,0,10,2,1,0,10,2]11212; AVX512DQ-BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]11213; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm011214; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm15, %zmm011215; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11216; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm011217; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm011218; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11219; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm011220; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm15, %zmm011221; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11222; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm011223; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm011224; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11225; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm011226; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm15, %zmm011227; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11228; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm7, %zmm18, %zmm1611229; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm18, %zmm7, %zmm1511230; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm1711231; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm611232; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2111233; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm31, %zmm1811234; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [6,14,6,14,6,14,6,14]11235; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11236; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1711237; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,5,13,5,13,5,13,5]11238; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11239; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm611240; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm2111241; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm311242; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm3111243; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm211244; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm3111245; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm22, %zmm13, %zmm1111246; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm2211247; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm2211248; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm211249; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11250; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm31 {%k3} = zmm8[0],zmm26[0],zmm8[2],zmm26[2],zmm8[4],zmm26[4],zmm8[6],zmm26[6]11251; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm311252; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm13, %zmm311253; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1211254; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm1211255; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm811256; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11257; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm2611258; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm211259; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm25, %zmm2611260; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm711261; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm13, %zmm711262; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm0, %zmm1411263; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm19, %zmm211264; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11265; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k3} = zmm9[0],zmm24[0],zmm9[2],zmm24[2],zmm9[4],zmm24[4],zmm9[6],zmm24[6]11266; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm211267; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm13, %zmm211268; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm511269; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm511270; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm19, %zmm911271; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11272; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm29, %zmm23, %zmm2511273; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm2811274; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm13, %zmm2811275; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm2411276; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm0, %zmm2411277; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm2911278; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm2311279; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm2311280; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm811281; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm811282; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm25 {%k3} = zmm27[0],zmm20[0],zmm27[2],zmm20[2],zmm27[4],zmm20[4],zmm27[6],zmm20[6]11283; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm27, %zmm1311284; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm27, %zmm011285; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm19, %zmm2711286; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm911287; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm911288; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload11289; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm1011290; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm23 = zmm17[0,1,2,3],zmm23[4,5,6,7]11291; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm111292; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,11,0,0,4,5,6,7]11293; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm4, %zmm1711294; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm411295; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [0,1,11,0,4,5,6,7]11296; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm17, %zmm2011297; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm6 {%k1}11298; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,0,0,3,4,5,6,13]11299; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm6, %zmm811300; AVX512DQ-BW-FCP-NEXT: movb $24, %sil11301; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k311302; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm21 {%k3}11303; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,15,0,0]11304; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm21, %zmm611305; AVX512DQ-BW-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload11306; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]11307; AVX512DQ-BW-FCP-NEXT: movb $14, %sil11308; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k411309; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm31 {%k4}11310; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k1}11311; AVX512DQ-BW-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload11312; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]11313; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm26 {%k4}11314; AVX512DQ-BW-FCP-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload11315; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]11316; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm25 {%k4}11317; AVX512DQ-BW-FCP-NEXT: movb $120, %sil11318; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k411319; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11320; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k4}11321; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm21 = zmm12[0,1,2,3],zmm22[4,5,6,7]11322; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2 {%k1}11323; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11324; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm7 {%k4}11325; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm13 {%k1}11326; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload11327; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm11 {%k4}11328; AVX512DQ-BW-FCP-NEXT: movb $-61, %sil11329; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k411330; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11331; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k4}11332; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm13 = zmm5[0,1,2,3],zmm14[4,5,6,7]11333; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11334; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k4}11335; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm24[4,5,6,7]11336; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11337; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k4}11338; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm211339; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]11340; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm211341; AVX512DQ-BW-FCP-NEXT: movb $12, %sil11342; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k411343; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload11344; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm12 {%k4}11345; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [0,8,0,8,0,8,0,8]11346; AVX512DQ-BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11347; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11348; AVX512DQ-BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload11349; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11350; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11351; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm28 {%k3}11352; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload11353; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11354; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm14 {%k3}11355; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm27 {%k3}11356; AVX512DQ-BW-FCP-NEXT: movb $-31, %sil11357; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k311358; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11359; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm28 {%k3}11360; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11361; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm14 {%k3}11362; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm2911363; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm27 {%k3}11364; AVX512DQ-BW-FCP-NEXT: movb $112, %sil11365; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k311366; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, (%rax), %zmm3, %zmm12 {%k3}11367; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdx), %xmm311368; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]11369; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm311370; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload11371; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm14 {%k4}11372; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdx), %xmm311373; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]11374; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm311375; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload11376; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm19 {%k4}11377; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdx), %xmm311378; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],mem[0]11379; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm311380; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm16 {%k4}11381; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 8(%rcx), %ymm311382; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = mem[0,1,2,3],ymm3[4,5,6,7]11383; AVX512DQ-BW-FCP-NEXT: movb $6, %sil11384; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k411385; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11386; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm5 {%k4}11387; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11388; AVX512DQ-BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload11389; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, 64(%rax), %zmm3, %zmm14 {%k3}11390; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm1711391; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11392; AVX512DQ-BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm3 # 64-byte Folded Reload11393; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, 128(%rax), %zmm3, %zmm19 {%k3}11394; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm2211395; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm1, %zmm211396; AVX512DQ-BW-FCP-NEXT: vinserti64x2 $3, 192(%rax), %zmm2, %zmm16 {%k3}11397; AVX512DQ-BW-FCP-NEXT: movb $56, %sil11398; AVX512DQ-BW-FCP-NEXT: kmovd %esi, %k311399; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11400; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm5 {%k3}11401; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1411402; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 72(%rcx), %ymm211403; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]11404; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11405; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3 {%k4}11406; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11407; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}11408; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1911409; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 136(%rcx), %ymm211410; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]11411; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11412; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3 {%k4}11413; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11414; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}11415; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm2411416; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 200(%rcx), %ymm211417; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = mem[0,1,2,3],ymm2[4,5,6,7]11418; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm15 {%k4}11419; AVX512DQ-BW-FCP-NEXT: movb $64, %cl11420; AVX512DQ-BW-FCP-NEXT: kmovd %ecx, %k411421; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k4}11422; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11423; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm2, %zmm111424; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rax), %zmm211425; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11426; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm3, %zmm111427; AVX512DQ-BW-FCP-NEXT: movb $8, %al11428; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k411429; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm20 {%k4}11430; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm15 {%k3}11431; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm10 {%k1}11432; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%r8), %ymm111433; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2]11434; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm1[2,3,2,3],zmm2[2,3,2,3]11435; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,12,0,3,4,5,6,7]11436; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm111437; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [13,0,2,3,4,5,6,14]11438; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm23, %zmm311439; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,5,15,0]11440; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm511441; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,12,3,4,5,6,7]11442; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm411443; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,13,2,3,4,5,6,7]11444; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm111445; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [14,1,2,3,4,5,6,15]11446; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm5, %zmm311447; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11448; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, 1472(%rax)11449; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, 1408(%rax)11450; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 1344(%rax)11451; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 1280(%rax)11452; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 1216(%rax)11453; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 1152(%rax)11454; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 1088(%rax)11455; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11456; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1024(%rax)11457; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, 960(%rax)11458; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 896(%rax)11459; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 832(%rax)11460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 768(%rax)11461; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 704(%rax)11462; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, 640(%rax)11463; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11464; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 576(%rax)11465; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 512(%rax)11466; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)11467; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 384(%rax)11468; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, 320(%rax)11469; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)11470; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 192(%rax)11471; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11472; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)11473; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 64(%rax)11474; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, (%rax)11475; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 1728(%rax)11476; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 1664(%rax)11477; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 1600(%rax)11478; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, 1536(%rax)11479; AVX512DQ-BW-FCP-NEXT: addq $2088, %rsp # imm = 0x82811480; AVX512DQ-BW-FCP-NEXT: vzeroupper11481; AVX512DQ-BW-FCP-NEXT: retq11482 %in.vec0 = load <32 x i64>, ptr %in.vecptr0, align 6411483 %in.vec1 = load <32 x i64>, ptr %in.vecptr1, align 6411484 %in.vec2 = load <32 x i64>, ptr %in.vecptr2, align 6411485 %in.vec3 = load <32 x i64>, ptr %in.vecptr3, align 6411486 %in.vec4 = load <32 x i64>, ptr %in.vecptr4, align 6411487 %in.vec5 = load <32 x i64>, ptr %in.vecptr5, align 6411488 %in.vec6 = load <32 x i64>, ptr %in.vecptr6, align 6411489 %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>11490 %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>11491 %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>11492 %4 = 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>11493 %5 = shufflevector <32 x i64> %in.vec6, <32 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>11494 %6 = shufflevector <64 x i64> %3, <64 x i64> %5, <96 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>11495 %7 = shufflevector <96 x i64> %6, <96 x i64> poison, <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 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>11496 %8 = shufflevector <128 x i64> %4, <128 x i64> %7, <224 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>11497 %interleaved.vec = shufflevector <224 x i64> %8, <224 x i64> poison, <224 x i32> <i32 0, i32 32, i32 64, i32 96, i32 128, i32 160, i32 192, i32 1, i32 33, i32 65, i32 97, i32 129, i32 161, i32 193, i32 2, i32 34, i32 66, i32 98, i32 130, i32 162, i32 194, i32 3, i32 35, i32 67, i32 99, i32 131, i32 163, i32 195, i32 4, i32 36, i32 68, i32 100, i32 132, i32 164, i32 196, i32 5, i32 37, i32 69, i32 101, i32 133, i32 165, i32 197, i32 6, i32 38, i32 70, i32 102, i32 134, i32 166, i32 198, i32 7, i32 39, i32 71, i32 103, i32 135, i32 167, i32 199, i32 8, i32 40, i32 72, i32 104, i32 136, i32 168, i32 200, i32 9, i32 41, i32 73, i32 105, i32 137, i32 169, i32 201, i32 10, i32 42, i32 74, i32 106, i32 138, i32 170, i32 202, i32 11, i32 43, i32 75, i32 107, i32 139, i32 171, i32 203, i32 12, i32 44, i32 76, i32 108, i32 140, i32 172, i32 204, i32 13, i32 45, i32 77, i32 109, i32 141, i32 173, i32 205, i32 14, i32 46, i32 78, i32 110, i32 142, i32 174, i32 206, i32 15, i32 47, i32 79, i32 111, i32 143, i32 175, i32 207, i32 16, i32 48, i32 80, i32 112, i32 144, i32 176, i32 208, i32 17, i32 49, i32 81, i32 113, i32 145, i32 177, i32 209, i32 18, i32 50, i32 82, i32 114, i32 146, i32 178, i32 210, i32 19, i32 51, i32 83, i32 115, i32 147, i32 179, i32 211, i32 20, i32 52, i32 84, i32 116, i32 148, i32 180, i32 212, i32 21, i32 53, i32 85, i32 117, i32 149, i32 181, i32 213, i32 22, i32 54, i32 86, i32 118, i32 150, i32 182, i32 214, i32 23, i32 55, i32 87, i32 119, i32 151, i32 183, i32 215, i32 24, i32 56, i32 88, i32 120, i32 152, i32 184, i32 216, i32 25, i32 57, i32 89, i32 121, i32 153, i32 185, i32 217, i32 26, i32 58, i32 90, i32 122, i32 154, i32 186, i32 218, i32 27, i32 59, i32 91, i32 123, i32 155, i32 187, i32 219, i32 28, i32 60, i32 92, i32 124, i32 156, i32 188, i32 220, i32 29, i32 61, i32 93, i32 125, i32 157, i32 189, i32 221, i32 30, i32 62, i32 94, i32 126, i32 158, i32 190, i32 222, i32 31, i32 63, i32 95, i32 127, i32 159, i32 191, i32 223>11498 store <224 x i64> %interleaved.vec, ptr %out.vec, align 6411499 ret void11500}11501 11502define void @store_i64_stride7_vf64(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %in.vecptr6, ptr %out.vec) nounwind {11503; SSE-LABEL: store_i64_stride7_vf64:11504; SSE: # %bb.0:11505; SSE-NEXT: subq $3224, %rsp # imm = 0xC9811506; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax11507; SSE-NEXT: movapd (%rdi), %xmm211508; SSE-NEXT: movapd 16(%rdi), %xmm311509; SSE-NEXT: movapd 32(%rdi), %xmm411510; SSE-NEXT: movapd (%rsi), %xmm511511; SSE-NEXT: movapd 16(%rsi), %xmm611512; SSE-NEXT: movapd (%rdx), %xmm711513; SSE-NEXT: movapd 16(%rdx), %xmm811514; SSE-NEXT: movapd (%rcx), %xmm911515; SSE-NEXT: movapd 16(%rcx), %xmm1011516; SSE-NEXT: movapd 16(%r8), %xmm1211517; SSE-NEXT: movapd (%r8), %xmm1111518; SSE-NEXT: movapd 16(%r9), %xmm1411519; SSE-NEXT: movapd (%r9), %xmm1311520; SSE-NEXT: movapd 16(%rax), %xmm011521; SSE-NEXT: movapd (%rax), %xmm111522; SSE-NEXT: movapd %xmm2, %xmm1511523; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm5[0]11524; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11525; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm1[0],xmm2[1]11526; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11527; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm7[1]11528; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11529; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm9[0]11530; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11531; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm11[1]11532; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11533; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm13[0]11534; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11535; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm1[1]11536; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11537; SSE-NEXT: movapd %xmm3, %xmm111538; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm6[0]11539; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11540; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]11541; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11542; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm8[1]11543; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11544; SSE-NEXT: unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm10[0]11545; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11546; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm12[1]11547; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11548; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm14[0]11549; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11550; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]11551; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11552; SSE-NEXT: movapd 32(%rsi), %xmm111553; SSE-NEXT: movapd %xmm4, %xmm011554; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]11555; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11556; SSE-NEXT: movapd 32(%rax), %xmm011557; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm0[0],xmm4[1]11558; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11559; SSE-NEXT: movapd 32(%rdx), %xmm211560; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]11561; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11562; SSE-NEXT: movapd 32(%rcx), %xmm311563; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]11564; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11565; SSE-NEXT: movapd 32(%r8), %xmm111566; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm1[1]11567; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11568; SSE-NEXT: movapd 32(%r9), %xmm211569; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11570; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11571; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11572; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11573; SSE-NEXT: movapd 48(%rdi), %xmm111574; SSE-NEXT: movapd 48(%rsi), %xmm211575; SSE-NEXT: movapd %xmm1, %xmm011576; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11577; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11578; SSE-NEXT: movapd 48(%rax), %xmm011579; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11580; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11581; SSE-NEXT: movapd 48(%rdx), %xmm111582; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11583; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11584; SSE-NEXT: movapd 48(%rcx), %xmm211585; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11586; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11587; SSE-NEXT: movapd 48(%r8), %xmm111588; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11589; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11590; SSE-NEXT: movapd 48(%r9), %xmm211591; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11592; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11593; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11594; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11595; SSE-NEXT: movapd 64(%rdi), %xmm111596; SSE-NEXT: movapd 64(%rsi), %xmm211597; SSE-NEXT: movapd %xmm1, %xmm011598; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11599; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11600; SSE-NEXT: movapd 64(%rax), %xmm011601; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11602; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11603; SSE-NEXT: movapd 64(%rdx), %xmm111604; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11605; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11606; SSE-NEXT: movapd 64(%rcx), %xmm211607; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11608; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11609; SSE-NEXT: movapd 64(%r8), %xmm111610; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11611; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11612; SSE-NEXT: movapd 64(%r9), %xmm211613; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11614; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11615; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11616; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11617; SSE-NEXT: movapd 80(%rdi), %xmm111618; SSE-NEXT: movapd 80(%rsi), %xmm211619; SSE-NEXT: movapd %xmm1, %xmm011620; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11621; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11622; SSE-NEXT: movapd 80(%rax), %xmm011623; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11624; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11625; SSE-NEXT: movapd 80(%rdx), %xmm111626; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11627; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11628; SSE-NEXT: movapd 80(%rcx), %xmm211629; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11630; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11631; SSE-NEXT: movapd 80(%r8), %xmm111632; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11633; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11634; SSE-NEXT: movapd 80(%r9), %xmm211635; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11636; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11637; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11638; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11639; SSE-NEXT: movapd 96(%rdi), %xmm111640; SSE-NEXT: movapd 96(%rsi), %xmm211641; SSE-NEXT: movapd %xmm1, %xmm011642; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11643; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11644; SSE-NEXT: movapd 96(%rax), %xmm011645; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11646; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11647; SSE-NEXT: movapd 96(%rdx), %xmm111648; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11649; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11650; SSE-NEXT: movapd 96(%rcx), %xmm211651; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11652; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11653; SSE-NEXT: movapd 96(%r8), %xmm111654; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11655; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11656; SSE-NEXT: movapd 96(%r9), %xmm211657; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11658; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11659; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11660; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11661; SSE-NEXT: movapd 112(%rdi), %xmm111662; SSE-NEXT: movapd 112(%rsi), %xmm211663; SSE-NEXT: movapd %xmm1, %xmm011664; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11665; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11666; SSE-NEXT: movapd 112(%rax), %xmm011667; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11668; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11669; SSE-NEXT: movapd 112(%rdx), %xmm111670; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11671; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11672; SSE-NEXT: movapd 112(%rcx), %xmm211673; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11674; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11675; SSE-NEXT: movapd 112(%r8), %xmm111676; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11677; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11678; SSE-NEXT: movapd 112(%r9), %xmm211679; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11680; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11681; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11682; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11683; SSE-NEXT: movapd 128(%rdi), %xmm111684; SSE-NEXT: movapd 128(%rsi), %xmm211685; SSE-NEXT: movapd %xmm1, %xmm011686; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11687; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11688; SSE-NEXT: movapd 128(%rax), %xmm011689; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11690; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11691; SSE-NEXT: movapd 128(%rdx), %xmm111692; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11693; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11694; SSE-NEXT: movapd 128(%rcx), %xmm211695; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11696; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11697; SSE-NEXT: movapd 128(%r8), %xmm111698; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11699; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11700; SSE-NEXT: movapd 128(%r9), %xmm211701; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11702; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11703; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11704; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11705; SSE-NEXT: movapd 144(%rdi), %xmm111706; SSE-NEXT: movapd 144(%rsi), %xmm211707; SSE-NEXT: movapd %xmm1, %xmm011708; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11709; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11710; SSE-NEXT: movapd 144(%rax), %xmm011711; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11712; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11713; SSE-NEXT: movapd 144(%rdx), %xmm111714; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11715; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11716; SSE-NEXT: movapd 144(%rcx), %xmm211717; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11718; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11719; SSE-NEXT: movapd 144(%r8), %xmm111720; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11721; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11722; SSE-NEXT: movapd 144(%r9), %xmm211723; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11724; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11725; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11726; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11727; SSE-NEXT: movapd 160(%rdi), %xmm111728; SSE-NEXT: movapd 160(%rsi), %xmm211729; SSE-NEXT: movapd %xmm1, %xmm011730; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11731; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11732; SSE-NEXT: movapd 160(%rax), %xmm011733; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11734; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11735; SSE-NEXT: movapd 160(%rdx), %xmm111736; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11737; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11738; SSE-NEXT: movapd 160(%rcx), %xmm211739; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11740; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11741; SSE-NEXT: movapd 160(%r8), %xmm111742; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11743; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11744; SSE-NEXT: movapd 160(%r9), %xmm211745; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11746; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11747; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11748; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11749; SSE-NEXT: movapd 176(%rdi), %xmm111750; SSE-NEXT: movapd 176(%rsi), %xmm211751; SSE-NEXT: movapd %xmm1, %xmm011752; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11753; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11754; SSE-NEXT: movapd 176(%rax), %xmm011755; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11756; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11757; SSE-NEXT: movapd 176(%rdx), %xmm111758; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11759; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11760; SSE-NEXT: movapd 176(%rcx), %xmm211761; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11762; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11763; SSE-NEXT: movapd 176(%r8), %xmm111764; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11765; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11766; SSE-NEXT: movapd 176(%r9), %xmm211767; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11768; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11769; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11770; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11771; SSE-NEXT: movapd 192(%rdi), %xmm111772; SSE-NEXT: movapd 192(%rsi), %xmm211773; SSE-NEXT: movapd %xmm1, %xmm011774; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11775; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11776; SSE-NEXT: movapd 192(%rax), %xmm011777; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11778; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11779; SSE-NEXT: movapd 192(%rdx), %xmm111780; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11781; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11782; SSE-NEXT: movapd 192(%rcx), %xmm211783; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11784; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11785; SSE-NEXT: movapd 192(%r8), %xmm111786; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11787; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11788; SSE-NEXT: movapd 192(%r9), %xmm211789; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11790; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11791; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11792; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11793; SSE-NEXT: movapd 208(%rdi), %xmm111794; SSE-NEXT: movapd 208(%rsi), %xmm211795; SSE-NEXT: movapd %xmm1, %xmm011796; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11797; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11798; SSE-NEXT: movapd 208(%rax), %xmm011799; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11800; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11801; SSE-NEXT: movapd 208(%rdx), %xmm111802; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11803; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11804; SSE-NEXT: movapd 208(%rcx), %xmm211805; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11806; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11807; SSE-NEXT: movapd 208(%r8), %xmm111808; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11809; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11810; SSE-NEXT: movapd 208(%r9), %xmm211811; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11812; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11813; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11814; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11815; SSE-NEXT: movapd 224(%rdi), %xmm111816; SSE-NEXT: movapd 224(%rsi), %xmm211817; SSE-NEXT: movapd %xmm1, %xmm011818; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11819; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11820; SSE-NEXT: movapd 224(%rax), %xmm011821; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11822; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11823; SSE-NEXT: movapd 224(%rdx), %xmm111824; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11825; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11826; SSE-NEXT: movapd 224(%rcx), %xmm211827; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11828; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11829; SSE-NEXT: movapd 224(%r8), %xmm111830; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11831; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11832; SSE-NEXT: movapd 224(%r9), %xmm211833; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11834; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11835; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11836; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11837; SSE-NEXT: movapd 240(%rdi), %xmm111838; SSE-NEXT: movapd 240(%rsi), %xmm211839; SSE-NEXT: movapd %xmm1, %xmm011840; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11841; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11842; SSE-NEXT: movapd 240(%rax), %xmm011843; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11844; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11845; SSE-NEXT: movapd 240(%rdx), %xmm111846; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11847; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11848; SSE-NEXT: movapd 240(%rcx), %xmm211849; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11850; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11851; SSE-NEXT: movapd 240(%r8), %xmm111852; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11853; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11854; SSE-NEXT: movapd 240(%r9), %xmm211855; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11856; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11857; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11858; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11859; SSE-NEXT: movapd 256(%rdi), %xmm111860; SSE-NEXT: movapd 256(%rsi), %xmm211861; SSE-NEXT: movapd %xmm1, %xmm011862; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11863; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11864; SSE-NEXT: movapd 256(%rax), %xmm011865; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11866; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11867; SSE-NEXT: movapd 256(%rdx), %xmm111868; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11869; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11870; SSE-NEXT: movapd 256(%rcx), %xmm211871; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11872; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11873; SSE-NEXT: movapd 256(%r8), %xmm111874; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11875; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11876; SSE-NEXT: movapd 256(%r9), %xmm211877; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11878; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11879; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11880; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11881; SSE-NEXT: movapd 272(%rdi), %xmm111882; SSE-NEXT: movapd 272(%rsi), %xmm211883; SSE-NEXT: movapd %xmm1, %xmm011884; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11885; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11886; SSE-NEXT: movapd 272(%rax), %xmm011887; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11888; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11889; SSE-NEXT: movapd 272(%rdx), %xmm111890; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11891; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11892; SSE-NEXT: movapd 272(%rcx), %xmm211893; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11894; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11895; SSE-NEXT: movapd 272(%r8), %xmm111896; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11897; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11898; SSE-NEXT: movapd 272(%r9), %xmm211899; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11900; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11901; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11902; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11903; SSE-NEXT: movapd 288(%rdi), %xmm111904; SSE-NEXT: movapd 288(%rsi), %xmm211905; SSE-NEXT: movapd %xmm1, %xmm011906; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11907; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11908; SSE-NEXT: movapd 288(%rax), %xmm011909; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11910; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11911; SSE-NEXT: movapd 288(%rdx), %xmm111912; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11913; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11914; SSE-NEXT: movapd 288(%rcx), %xmm211915; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11916; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11917; SSE-NEXT: movapd 288(%r8), %xmm111918; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11919; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11920; SSE-NEXT: movapd 288(%r9), %xmm211921; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11922; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11923; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11924; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11925; SSE-NEXT: movapd 304(%rdi), %xmm111926; SSE-NEXT: movapd 304(%rsi), %xmm211927; SSE-NEXT: movapd %xmm1, %xmm011928; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11929; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11930; SSE-NEXT: movapd 304(%rax), %xmm011931; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11932; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11933; SSE-NEXT: movapd 304(%rdx), %xmm111934; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11935; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11936; SSE-NEXT: movapd 304(%rcx), %xmm211937; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11938; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11939; SSE-NEXT: movapd 304(%r8), %xmm111940; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11941; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11942; SSE-NEXT: movapd 304(%r9), %xmm211943; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11944; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11945; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11946; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11947; SSE-NEXT: movapd 320(%rdi), %xmm111948; SSE-NEXT: movapd 320(%rsi), %xmm211949; SSE-NEXT: movapd %xmm1, %xmm011950; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11951; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11952; SSE-NEXT: movapd 320(%rax), %xmm011953; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11954; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11955; SSE-NEXT: movapd 320(%rdx), %xmm111956; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11957; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11958; SSE-NEXT: movapd 320(%rcx), %xmm211959; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11960; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11961; SSE-NEXT: movapd 320(%r8), %xmm111962; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11963; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11964; SSE-NEXT: movapd 320(%r9), %xmm211965; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11966; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11967; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11968; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11969; SSE-NEXT: movapd 336(%rdi), %xmm111970; SSE-NEXT: movapd 336(%rsi), %xmm211971; SSE-NEXT: movapd %xmm1, %xmm011972; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11973; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11974; SSE-NEXT: movapd 336(%rax), %xmm011975; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11976; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11977; SSE-NEXT: movapd 336(%rdx), %xmm111978; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11979; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11980; SSE-NEXT: movapd 336(%rcx), %xmm211981; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11982; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11983; SSE-NEXT: movapd 336(%r8), %xmm111984; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]11985; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11986; SSE-NEXT: movapd 336(%r9), %xmm211987; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]11988; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11989; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]11990; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11991; SSE-NEXT: movapd 352(%rdi), %xmm111992; SSE-NEXT: movapd 352(%rsi), %xmm211993; SSE-NEXT: movapd %xmm1, %xmm011994; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]11995; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11996; SSE-NEXT: movapd 352(%rax), %xmm011997; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11998; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11999; SSE-NEXT: movapd 352(%rdx), %xmm112000; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12001; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12002; SSE-NEXT: movapd 352(%rcx), %xmm212003; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12004; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12005; SSE-NEXT: movapd 352(%r8), %xmm112006; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12007; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12008; SSE-NEXT: movapd 352(%r9), %xmm212009; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12010; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12011; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12012; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12013; SSE-NEXT: movapd 368(%rdi), %xmm112014; SSE-NEXT: movapd 368(%rsi), %xmm212015; SSE-NEXT: movapd %xmm1, %xmm012016; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12017; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12018; SSE-NEXT: movapd 368(%rax), %xmm012019; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12020; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12021; SSE-NEXT: movapd 368(%rdx), %xmm112022; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12023; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12024; SSE-NEXT: movapd 368(%rcx), %xmm212025; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12026; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12027; SSE-NEXT: movapd 368(%r8), %xmm112028; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12029; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12030; SSE-NEXT: movapd 368(%r9), %xmm212031; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12032; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12033; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12034; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12035; SSE-NEXT: movapd 384(%rdi), %xmm112036; SSE-NEXT: movapd 384(%rsi), %xmm212037; SSE-NEXT: movapd %xmm1, %xmm012038; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12039; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12040; SSE-NEXT: movapd 384(%rax), %xmm012041; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12042; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12043; SSE-NEXT: movapd 384(%rdx), %xmm112044; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12045; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12046; SSE-NEXT: movapd 384(%rcx), %xmm212047; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12048; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12049; SSE-NEXT: movapd 384(%r8), %xmm112050; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12051; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12052; SSE-NEXT: movapd 384(%r9), %xmm212053; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12054; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12055; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12056; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12057; SSE-NEXT: movapd 400(%rdi), %xmm112058; SSE-NEXT: movapd 400(%rsi), %xmm212059; SSE-NEXT: movapd %xmm1, %xmm012060; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12061; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12062; SSE-NEXT: movapd 400(%rax), %xmm012063; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12064; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12065; SSE-NEXT: movapd 400(%rdx), %xmm112066; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12067; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12068; SSE-NEXT: movapd 400(%rcx), %xmm212069; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12070; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12071; SSE-NEXT: movapd 400(%r8), %xmm112072; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12073; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12074; SSE-NEXT: movapd 400(%r9), %xmm212075; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12076; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12077; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12078; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12079; SSE-NEXT: movapd 416(%rdi), %xmm112080; SSE-NEXT: movapd 416(%rsi), %xmm212081; SSE-NEXT: movapd %xmm1, %xmm012082; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12083; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12084; SSE-NEXT: movapd 416(%rax), %xmm012085; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12086; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12087; SSE-NEXT: movapd 416(%rdx), %xmm112088; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12089; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12090; SSE-NEXT: movapd 416(%rcx), %xmm212091; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12092; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12093; SSE-NEXT: movapd 416(%r8), %xmm112094; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12095; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12096; SSE-NEXT: movapd 416(%r9), %xmm212097; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12098; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12099; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12100; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12101; SSE-NEXT: movapd 432(%rdi), %xmm112102; SSE-NEXT: movapd 432(%rsi), %xmm212103; SSE-NEXT: movapd %xmm1, %xmm012104; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12105; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12106; SSE-NEXT: movapd 432(%rax), %xmm012107; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12108; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12109; SSE-NEXT: movapd 432(%rdx), %xmm112110; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12111; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12112; SSE-NEXT: movapd 432(%rcx), %xmm212113; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12114; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12115; SSE-NEXT: movapd 432(%r8), %xmm112116; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12117; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12118; SSE-NEXT: movapd 432(%r9), %xmm212119; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12120; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12121; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12122; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12123; SSE-NEXT: movapd 448(%rdi), %xmm112124; SSE-NEXT: movapd 448(%rsi), %xmm212125; SSE-NEXT: movapd %xmm1, %xmm012126; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12127; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12128; SSE-NEXT: movapd 448(%rax), %xmm012129; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12130; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12131; SSE-NEXT: movapd 448(%rdx), %xmm112132; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12133; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12134; SSE-NEXT: movapd 448(%rcx), %xmm212135; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12136; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12137; SSE-NEXT: movapd 448(%r8), %xmm112138; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12139; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12140; SSE-NEXT: movapd 448(%r9), %xmm212141; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]12142; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill12143; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]12144; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12145; SSE-NEXT: movapd 464(%rdi), %xmm112146; SSE-NEXT: movapd 464(%rsi), %xmm212147; SSE-NEXT: movapd %xmm1, %xmm012148; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]12149; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12150; SSE-NEXT: movapd 464(%rax), %xmm012151; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12152; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12153; SSE-NEXT: movapd 464(%rdx), %xmm112154; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12155; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12156; SSE-NEXT: movapd 464(%rcx), %xmm1412157; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm14[0]12158; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12159; SSE-NEXT: movapd 464(%r8), %xmm112160; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm1[1]12161; SSE-NEXT: movapd 464(%r9), %xmm1312162; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm13[0]12163; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12164; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]12165; SSE-NEXT: movapd 480(%rdi), %xmm1512166; SSE-NEXT: movapd 480(%rsi), %xmm1212167; SSE-NEXT: movapd %xmm15, %xmm012168; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm12[0]12169; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12170; SSE-NEXT: movapd 480(%rax), %xmm312171; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm3[0],xmm15[1]12172; SSE-NEXT: movapd 480(%rdx), %xmm1112173; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm11[1]12174; SSE-NEXT: movapd 480(%rcx), %xmm812175; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm8[0]12176; SSE-NEXT: movapd 480(%r8), %xmm912177; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]12178; SSE-NEXT: movapd 480(%r9), %xmm612179; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm6[0]12180; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm3[1]12181; SSE-NEXT: movapd 496(%rdi), %xmm512182; SSE-NEXT: movapd 496(%rsi), %xmm412183; SSE-NEXT: movapd %xmm5, %xmm712184; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm4[0]12185; SSE-NEXT: movapd 496(%rax), %xmm1012186; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm10[0],xmm5[1]12187; SSE-NEXT: movapd 496(%rdx), %xmm312188; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm3[1]12189; SSE-NEXT: movapd 496(%rcx), %xmm212190; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm2[0]12191; SSE-NEXT: movapd 496(%r8), %xmm112192; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]12193; SSE-NEXT: movapd 496(%r9), %xmm012194; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]12195; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm10[1]12196; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax12197; SSE-NEXT: movapd %xmm0, 3568(%rax)12198; SSE-NEXT: movapd %xmm2, 3552(%rax)12199; SSE-NEXT: movapd %xmm4, 3536(%rax)12200; SSE-NEXT: movapd %xmm5, 3520(%rax)12201; SSE-NEXT: movapd %xmm1, 3504(%rax)12202; SSE-NEXT: movapd %xmm3, 3488(%rax)12203; SSE-NEXT: movapd %xmm7, 3472(%rax)12204; SSE-NEXT: movapd %xmm6, 3456(%rax)12205; SSE-NEXT: movapd %xmm8, 3440(%rax)12206; SSE-NEXT: movapd %xmm12, 3424(%rax)12207; SSE-NEXT: movapd %xmm15, 3408(%rax)12208; SSE-NEXT: movapd %xmm9, 3392(%rax)12209; SSE-NEXT: movapd %xmm11, 3376(%rax)12210; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12211; SSE-NEXT: movaps %xmm0, 3360(%rax)12212; SSE-NEXT: movapd %xmm13, 3344(%rax)12213; SSE-NEXT: movapd %xmm14, 3328(%rax)12214; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12215; SSE-NEXT: movaps %xmm0, 3312(%rax)12216; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12217; SSE-NEXT: movaps %xmm0, 3296(%rax)12218; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12219; SSE-NEXT: movaps %xmm0, 3280(%rax)12220; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12221; SSE-NEXT: movaps %xmm0, 3264(%rax)12222; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12223; SSE-NEXT: movaps %xmm0, 3248(%rax)12224; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12225; SSE-NEXT: movaps %xmm0, 3232(%rax)12226; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12227; SSE-NEXT: movaps %xmm0, 3216(%rax)12228; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12229; SSE-NEXT: movaps %xmm0, 3200(%rax)12230; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12231; SSE-NEXT: movaps %xmm0, 3184(%rax)12232; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload12233; SSE-NEXT: movaps %xmm0, 3168(%rax)12234; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12235; SSE-NEXT: movaps %xmm0, 3152(%rax)12236; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12237; SSE-NEXT: movaps %xmm0, 3136(%rax)12238; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12239; SSE-NEXT: movaps %xmm0, 3120(%rax)12240; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12241; SSE-NEXT: movaps %xmm0, 3104(%rax)12242; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12243; SSE-NEXT: movaps %xmm0, 3088(%rax)12244; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12245; SSE-NEXT: movaps %xmm0, 3072(%rax)12246; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12247; SSE-NEXT: movaps %xmm0, 3056(%rax)12248; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12249; SSE-NEXT: movaps %xmm0, 3040(%rax)12250; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12251; SSE-NEXT: movaps %xmm0, 3024(%rax)12252; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12253; SSE-NEXT: movaps %xmm0, 3008(%rax)12254; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12255; SSE-NEXT: movaps %xmm0, 2992(%rax)12256; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12257; SSE-NEXT: movaps %xmm0, 2976(%rax)12258; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12259; SSE-NEXT: movaps %xmm0, 2960(%rax)12260; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12261; SSE-NEXT: movaps %xmm0, 2944(%rax)12262; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12263; SSE-NEXT: movaps %xmm0, 2928(%rax)12264; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12265; SSE-NEXT: movaps %xmm0, 2912(%rax)12266; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12267; SSE-NEXT: movaps %xmm0, 2896(%rax)12268; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12269; SSE-NEXT: movaps %xmm0, 2880(%rax)12270; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12271; SSE-NEXT: movaps %xmm0, 2864(%rax)12272; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12273; SSE-NEXT: movaps %xmm0, 2848(%rax)12274; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12275; SSE-NEXT: movaps %xmm0, 2832(%rax)12276; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12277; SSE-NEXT: movaps %xmm0, 2816(%rax)12278; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12279; SSE-NEXT: movaps %xmm0, 2800(%rax)12280; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12281; SSE-NEXT: movaps %xmm0, 2784(%rax)12282; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12283; SSE-NEXT: movaps %xmm0, 2768(%rax)12284; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12285; SSE-NEXT: movaps %xmm0, 2752(%rax)12286; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12287; SSE-NEXT: movaps %xmm0, 2736(%rax)12288; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12289; SSE-NEXT: movaps %xmm0, 2720(%rax)12290; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12291; SSE-NEXT: movaps %xmm0, 2704(%rax)12292; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12293; SSE-NEXT: movaps %xmm0, 2688(%rax)12294; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12295; SSE-NEXT: movaps %xmm0, 2672(%rax)12296; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12297; SSE-NEXT: movaps %xmm0, 2656(%rax)12298; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12299; SSE-NEXT: movaps %xmm0, 2640(%rax)12300; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12301; SSE-NEXT: movaps %xmm0, 2624(%rax)12302; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12303; SSE-NEXT: movaps %xmm0, 2608(%rax)12304; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12305; SSE-NEXT: movaps %xmm0, 2592(%rax)12306; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12307; SSE-NEXT: movaps %xmm0, 2576(%rax)12308; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12309; SSE-NEXT: movaps %xmm0, 2560(%rax)12310; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12311; SSE-NEXT: movaps %xmm0, 2544(%rax)12312; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12313; SSE-NEXT: movaps %xmm0, 2528(%rax)12314; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12315; SSE-NEXT: movaps %xmm0, 2512(%rax)12316; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12317; SSE-NEXT: movaps %xmm0, 2496(%rax)12318; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12319; SSE-NEXT: movaps %xmm0, 2480(%rax)12320; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12321; SSE-NEXT: movaps %xmm0, 2464(%rax)12322; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12323; SSE-NEXT: movaps %xmm0, 2448(%rax)12324; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12325; SSE-NEXT: movaps %xmm0, 2432(%rax)12326; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12327; SSE-NEXT: movaps %xmm0, 2416(%rax)12328; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12329; SSE-NEXT: movaps %xmm0, 2400(%rax)12330; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12331; SSE-NEXT: movaps %xmm0, 2384(%rax)12332; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12333; SSE-NEXT: movaps %xmm0, 2368(%rax)12334; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12335; SSE-NEXT: movaps %xmm0, 2352(%rax)12336; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12337; SSE-NEXT: movaps %xmm0, 2336(%rax)12338; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12339; SSE-NEXT: movaps %xmm0, 2320(%rax)12340; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12341; SSE-NEXT: movaps %xmm0, 2304(%rax)12342; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12343; SSE-NEXT: movaps %xmm0, 2288(%rax)12344; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12345; SSE-NEXT: movaps %xmm0, 2272(%rax)12346; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12347; SSE-NEXT: movaps %xmm0, 2256(%rax)12348; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12349; SSE-NEXT: movaps %xmm0, 2240(%rax)12350; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12351; SSE-NEXT: movaps %xmm0, 2224(%rax)12352; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12353; SSE-NEXT: movaps %xmm0, 2208(%rax)12354; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12355; SSE-NEXT: movaps %xmm0, 2192(%rax)12356; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12357; SSE-NEXT: movaps %xmm0, 2176(%rax)12358; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12359; SSE-NEXT: movaps %xmm0, 2160(%rax)12360; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12361; SSE-NEXT: movaps %xmm0, 2144(%rax)12362; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12363; SSE-NEXT: movaps %xmm0, 2128(%rax)12364; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12365; SSE-NEXT: movaps %xmm0, 2112(%rax)12366; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12367; SSE-NEXT: movaps %xmm0, 2096(%rax)12368; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12369; SSE-NEXT: movaps %xmm0, 2080(%rax)12370; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12371; SSE-NEXT: movaps %xmm0, 2064(%rax)12372; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12373; SSE-NEXT: movaps %xmm0, 2048(%rax)12374; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12375; SSE-NEXT: movaps %xmm0, 2032(%rax)12376; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12377; SSE-NEXT: movaps %xmm0, 2016(%rax)12378; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12379; SSE-NEXT: movaps %xmm0, 2000(%rax)12380; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12381; SSE-NEXT: movaps %xmm0, 1984(%rax)12382; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12383; SSE-NEXT: movaps %xmm0, 1968(%rax)12384; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12385; SSE-NEXT: movaps %xmm0, 1952(%rax)12386; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12387; SSE-NEXT: movaps %xmm0, 1936(%rax)12388; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12389; SSE-NEXT: movaps %xmm0, 1920(%rax)12390; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12391; SSE-NEXT: movaps %xmm0, 1904(%rax)12392; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12393; SSE-NEXT: movaps %xmm0, 1888(%rax)12394; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12395; SSE-NEXT: movaps %xmm0, 1872(%rax)12396; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12397; SSE-NEXT: movaps %xmm0, 1856(%rax)12398; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12399; SSE-NEXT: movaps %xmm0, 1840(%rax)12400; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12401; SSE-NEXT: movaps %xmm0, 1824(%rax)12402; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12403; SSE-NEXT: movaps %xmm0, 1808(%rax)12404; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12405; SSE-NEXT: movaps %xmm0, 1792(%rax)12406; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12407; SSE-NEXT: movaps %xmm0, 1776(%rax)12408; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12409; SSE-NEXT: movaps %xmm0, 1760(%rax)12410; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12411; SSE-NEXT: movaps %xmm0, 1744(%rax)12412; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12413; SSE-NEXT: movaps %xmm0, 1728(%rax)12414; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12415; SSE-NEXT: movaps %xmm0, 1712(%rax)12416; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12417; SSE-NEXT: movaps %xmm0, 1696(%rax)12418; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12419; SSE-NEXT: movaps %xmm0, 1680(%rax)12420; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12421; SSE-NEXT: movaps %xmm0, 1664(%rax)12422; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12423; SSE-NEXT: movaps %xmm0, 1648(%rax)12424; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12425; SSE-NEXT: movaps %xmm0, 1632(%rax)12426; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12427; SSE-NEXT: movaps %xmm0, 1616(%rax)12428; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12429; SSE-NEXT: movaps %xmm0, 1600(%rax)12430; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12431; SSE-NEXT: movaps %xmm0, 1584(%rax)12432; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12433; SSE-NEXT: movaps %xmm0, 1568(%rax)12434; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12435; SSE-NEXT: movaps %xmm0, 1552(%rax)12436; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12437; SSE-NEXT: movaps %xmm0, 1536(%rax)12438; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12439; SSE-NEXT: movaps %xmm0, 1520(%rax)12440; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12441; SSE-NEXT: movaps %xmm0, 1504(%rax)12442; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12443; SSE-NEXT: movaps %xmm0, 1488(%rax)12444; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12445; SSE-NEXT: movaps %xmm0, 1472(%rax)12446; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12447; SSE-NEXT: movaps %xmm0, 1456(%rax)12448; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12449; SSE-NEXT: movaps %xmm0, 1440(%rax)12450; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12451; SSE-NEXT: movaps %xmm0, 1424(%rax)12452; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12453; SSE-NEXT: movaps %xmm0, 1408(%rax)12454; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12455; SSE-NEXT: movaps %xmm0, 1392(%rax)12456; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12457; SSE-NEXT: movaps %xmm0, 1376(%rax)12458; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12459; SSE-NEXT: movaps %xmm0, 1360(%rax)12460; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12461; SSE-NEXT: movaps %xmm0, 1344(%rax)12462; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12463; SSE-NEXT: movaps %xmm0, 1328(%rax)12464; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12465; SSE-NEXT: movaps %xmm0, 1312(%rax)12466; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12467; SSE-NEXT: movaps %xmm0, 1296(%rax)12468; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12469; SSE-NEXT: movaps %xmm0, 1280(%rax)12470; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12471; SSE-NEXT: movaps %xmm0, 1264(%rax)12472; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12473; SSE-NEXT: movaps %xmm0, 1248(%rax)12474; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12475; SSE-NEXT: movaps %xmm0, 1232(%rax)12476; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12477; SSE-NEXT: movaps %xmm0, 1216(%rax)12478; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12479; SSE-NEXT: movaps %xmm0, 1200(%rax)12480; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12481; SSE-NEXT: movaps %xmm0, 1184(%rax)12482; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12483; SSE-NEXT: movaps %xmm0, 1168(%rax)12484; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12485; SSE-NEXT: movaps %xmm0, 1152(%rax)12486; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12487; SSE-NEXT: movaps %xmm0, 1136(%rax)12488; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12489; SSE-NEXT: movaps %xmm0, 1120(%rax)12490; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12491; SSE-NEXT: movaps %xmm0, 1104(%rax)12492; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12493; SSE-NEXT: movaps %xmm0, 1088(%rax)12494; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12495; SSE-NEXT: movaps %xmm0, 1072(%rax)12496; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12497; SSE-NEXT: movaps %xmm0, 1056(%rax)12498; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12499; SSE-NEXT: movaps %xmm0, 1040(%rax)12500; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12501; SSE-NEXT: movaps %xmm0, 1024(%rax)12502; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12503; SSE-NEXT: movaps %xmm0, 1008(%rax)12504; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12505; SSE-NEXT: movaps %xmm0, 992(%rax)12506; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12507; SSE-NEXT: movaps %xmm0, 976(%rax)12508; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12509; SSE-NEXT: movaps %xmm0, 960(%rax)12510; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12511; SSE-NEXT: movaps %xmm0, 944(%rax)12512; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12513; SSE-NEXT: movaps %xmm0, 928(%rax)12514; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12515; SSE-NEXT: movaps %xmm0, 912(%rax)12516; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12517; SSE-NEXT: movaps %xmm0, 896(%rax)12518; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12519; SSE-NEXT: movaps %xmm0, 880(%rax)12520; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12521; SSE-NEXT: movaps %xmm0, 864(%rax)12522; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12523; SSE-NEXT: movaps %xmm0, 848(%rax)12524; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12525; SSE-NEXT: movaps %xmm0, 832(%rax)12526; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12527; SSE-NEXT: movaps %xmm0, 816(%rax)12528; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12529; SSE-NEXT: movaps %xmm0, 800(%rax)12530; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12531; SSE-NEXT: movaps %xmm0, 784(%rax)12532; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12533; SSE-NEXT: movaps %xmm0, 768(%rax)12534; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12535; SSE-NEXT: movaps %xmm0, 752(%rax)12536; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12537; SSE-NEXT: movaps %xmm0, 736(%rax)12538; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12539; SSE-NEXT: movaps %xmm0, 720(%rax)12540; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12541; SSE-NEXT: movaps %xmm0, 704(%rax)12542; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12543; SSE-NEXT: movaps %xmm0, 688(%rax)12544; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12545; SSE-NEXT: movaps %xmm0, 672(%rax)12546; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12547; SSE-NEXT: movaps %xmm0, 656(%rax)12548; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12549; SSE-NEXT: movaps %xmm0, 640(%rax)12550; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12551; SSE-NEXT: movaps %xmm0, 624(%rax)12552; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12553; SSE-NEXT: movaps %xmm0, 608(%rax)12554; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12555; SSE-NEXT: movaps %xmm0, 592(%rax)12556; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12557; SSE-NEXT: movaps %xmm0, 576(%rax)12558; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12559; SSE-NEXT: movaps %xmm0, 560(%rax)12560; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12561; SSE-NEXT: movaps %xmm0, 544(%rax)12562; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12563; SSE-NEXT: movaps %xmm0, 528(%rax)12564; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12565; SSE-NEXT: movaps %xmm0, 512(%rax)12566; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12567; SSE-NEXT: movaps %xmm0, 496(%rax)12568; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12569; SSE-NEXT: movaps %xmm0, 480(%rax)12570; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12571; SSE-NEXT: movaps %xmm0, 464(%rax)12572; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12573; SSE-NEXT: movaps %xmm0, 448(%rax)12574; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12575; SSE-NEXT: movaps %xmm0, 432(%rax)12576; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12577; SSE-NEXT: movaps %xmm0, 416(%rax)12578; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12579; SSE-NEXT: movaps %xmm0, 400(%rax)12580; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12581; SSE-NEXT: movaps %xmm0, 384(%rax)12582; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12583; SSE-NEXT: movaps %xmm0, 368(%rax)12584; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12585; SSE-NEXT: movaps %xmm0, 352(%rax)12586; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12587; SSE-NEXT: movaps %xmm0, 336(%rax)12588; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12589; SSE-NEXT: movaps %xmm0, 320(%rax)12590; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12591; SSE-NEXT: movaps %xmm0, 304(%rax)12592; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12593; SSE-NEXT: movaps %xmm0, 288(%rax)12594; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12595; SSE-NEXT: movaps %xmm0, 272(%rax)12596; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12597; SSE-NEXT: movaps %xmm0, 256(%rax)12598; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12599; SSE-NEXT: movaps %xmm0, 240(%rax)12600; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12601; SSE-NEXT: movaps %xmm0, 224(%rax)12602; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12603; SSE-NEXT: movaps %xmm0, 208(%rax)12604; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12605; SSE-NEXT: movaps %xmm0, 192(%rax)12606; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12607; SSE-NEXT: movaps %xmm0, 176(%rax)12608; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12609; SSE-NEXT: movaps %xmm0, 160(%rax)12610; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12611; SSE-NEXT: movaps %xmm0, 144(%rax)12612; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12613; SSE-NEXT: movaps %xmm0, 128(%rax)12614; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12615; SSE-NEXT: movaps %xmm0, 112(%rax)12616; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12617; SSE-NEXT: movaps %xmm0, 96(%rax)12618; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12619; SSE-NEXT: movaps %xmm0, 80(%rax)12620; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12621; SSE-NEXT: movaps %xmm0, 64(%rax)12622; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12623; SSE-NEXT: movaps %xmm0, 48(%rax)12624; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12625; SSE-NEXT: movaps %xmm0, 32(%rax)12626; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12627; SSE-NEXT: movaps %xmm0, 16(%rax)12628; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12629; SSE-NEXT: movaps %xmm0, (%rax)12630; SSE-NEXT: addq $3224, %rsp # imm = 0xC9812631; SSE-NEXT: retq12632;12633; AVX-LABEL: store_i64_stride7_vf64:12634; AVX: # %bb.0:12635; AVX-NEXT: subq $3816, %rsp # imm = 0xEE812636; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax12637; AVX-NEXT: vmovaps (%rsi), %ymm412638; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12639; AVX-NEXT: vmovaps (%rdx), %ymm012640; AVX-NEXT: vmovaps (%r9), %ymm512641; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12642; AVX-NEXT: vmovaps (%r9), %xmm212643; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12644; AVX-NEXT: vmovaps (%r8), %xmm112645; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm2[0]12646; AVX-NEXT: vmovaps (%rdi), %xmm312647; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12648; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm312649; AVX-NEXT: vmovaps (%rax), %xmm612650; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12651; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm2, %ymm212652; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]12653; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12654; AVX-NEXT: vbroadcastsd 8(%rcx), %ymm212655; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm2[4,5,6,7]12656; AVX-NEXT: vmovaps (%rsi), %xmm312657; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12658; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]12659; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]12660; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112661; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12662; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12663; AVX-NEXT: vmovaps 16(%rax), %xmm112664; AVX-NEXT: vmovaps 16(%rdi), %xmm212665; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]12666; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]12667; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12668; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12669; AVX-NEXT: vmovaps 16(%rcx), %xmm012670; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12671; AVX-NEXT: vshufps {{.*#+}} xmm0 = xmm0[2,3,2,3]12672; AVX-NEXT: vmovaps 16(%r8), %xmm112673; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm1[1],ymm5[3],ymm1[3]12674; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]12675; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]12676; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12677; AVX-NEXT: vmovaps 32(%rsi), %xmm012678; AVX-NEXT: vmovaps 32(%rdi), %xmm112679; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]12680; AVX-NEXT: vinsertf128 $1, 32(%rcx), %ymm2, %ymm312681; AVX-NEXT: vmovaps 32(%rdx), %xmm412682; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm212683; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]12684; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12685; AVX-NEXT: vmovaps 32(%rax), %xmm512686; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12687; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112688; AVX-NEXT: vmovaps 32(%r9), %xmm312689; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12690; AVX-NEXT: vmovaps 32(%r8), %xmm212691; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]12692; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm312693; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12694; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12695; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]12696; AVX-NEXT: vbroadcastsd 40(%rcx), %ymm112697; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12698; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm112699; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12700; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12701; AVX-NEXT: vmovaps 32(%rsi), %ymm112702; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12703; AVX-NEXT: vmovaps 48(%rdi), %xmm012704; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12705; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12706; AVX-NEXT: vmovaps 48(%rax), %xmm112707; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12708; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12709; AVX-NEXT: vmovaps 32(%r9), %ymm112710; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12711; AVX-NEXT: vmovaps 48(%r8), %xmm012712; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12713; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12714; AVX-NEXT: vmovaps 48(%rcx), %xmm112715; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12716; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12717; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12718; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12719; AVX-NEXT: vmovaps 64(%r9), %xmm112720; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12721; AVX-NEXT: vmovaps 64(%r8), %xmm012722; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]12723; AVX-NEXT: vmovaps 64(%rdi), %xmm212724; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12725; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm212726; AVX-NEXT: vmovaps 64(%rax), %xmm312727; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12728; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm112729; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]12730; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12731; AVX-NEXT: vmovaps 64(%rdx), %ymm112732; AVX-NEXT: vbroadcastsd 72(%rcx), %ymm212733; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]12734; AVX-NEXT: vmovaps 64(%rsi), %xmm312735; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12736; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]12737; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]12738; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012739; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]12740; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12741; AVX-NEXT: vmovaps 64(%rsi), %ymm212742; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12743; AVX-NEXT: vmovaps 80(%rdi), %xmm012744; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]12745; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12746; AVX-NEXT: vmovaps 80(%rax), %xmm112747; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12748; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12749; AVX-NEXT: vmovaps 64(%r9), %ymm112750; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12751; AVX-NEXT: vmovaps 80(%r8), %xmm012752; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12753; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12754; AVX-NEXT: vmovaps 80(%rcx), %xmm112755; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12756; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12757; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12758; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12759; AVX-NEXT: vmovaps 96(%rsi), %xmm012760; AVX-NEXT: vmovaps 96(%rdi), %xmm112761; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]12762; AVX-NEXT: vinsertf128 $1, 96(%rcx), %ymm2, %ymm312763; AVX-NEXT: vmovaps 96(%rdx), %xmm412764; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm212765; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]12766; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12767; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112768; AVX-NEXT: vmovaps 96(%r9), %xmm312769; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12770; AVX-NEXT: vmovaps 96(%r8), %xmm212771; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]12772; AVX-NEXT: vmovaps 96(%rax), %xmm512773; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12774; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm312775; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12776; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12777; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]12778; AVX-NEXT: vbroadcastsd 104(%rcx), %ymm112779; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12780; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm112781; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12782; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12783; AVX-NEXT: vmovaps 96(%rsi), %ymm112784; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12785; AVX-NEXT: vmovaps 112(%rdi), %xmm012786; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12787; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12788; AVX-NEXT: vmovaps 112(%rax), %xmm112789; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12790; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12791; AVX-NEXT: vmovaps 96(%r9), %ymm112792; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12793; AVX-NEXT: vmovaps 112(%r8), %xmm012794; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12795; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12796; AVX-NEXT: vmovaps 112(%rcx), %xmm112797; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12798; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12799; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12800; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12801; AVX-NEXT: vmovaps 128(%r9), %xmm112802; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12803; AVX-NEXT: vmovaps 128(%r8), %xmm012804; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]12805; AVX-NEXT: vmovaps 128(%rdi), %xmm212806; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12807; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm212808; AVX-NEXT: vmovaps 128(%rax), %xmm312809; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12810; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm112811; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]12812; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12813; AVX-NEXT: vmovaps 128(%rdx), %ymm112814; AVX-NEXT: vbroadcastsd 136(%rcx), %ymm212815; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]12816; AVX-NEXT: vmovaps 128(%rsi), %xmm312817; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12818; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]12819; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]12820; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012821; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]12822; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12823; AVX-NEXT: vmovaps 128(%rsi), %ymm212824; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12825; AVX-NEXT: vmovaps 144(%rdi), %xmm012826; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]12827; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12828; AVX-NEXT: vmovaps 144(%rax), %xmm112829; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12830; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12831; AVX-NEXT: vmovaps 128(%r9), %ymm112832; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12833; AVX-NEXT: vmovaps 144(%r8), %xmm012834; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12835; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12836; AVX-NEXT: vmovaps 144(%rcx), %xmm112837; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12838; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12839; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12840; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12841; AVX-NEXT: vmovaps 160(%rsi), %xmm012842; AVX-NEXT: vmovaps 160(%rdi), %xmm112843; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]12844; AVX-NEXT: vinsertf128 $1, 160(%rcx), %ymm2, %ymm312845; AVX-NEXT: vmovaps 160(%rdx), %xmm412846; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm212847; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]12848; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12849; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112850; AVX-NEXT: vmovaps 160(%r9), %xmm312851; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12852; AVX-NEXT: vmovaps 160(%r8), %xmm212853; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]12854; AVX-NEXT: vmovaps 160(%rax), %xmm512855; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12856; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm312857; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12858; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12859; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]12860; AVX-NEXT: vbroadcastsd 168(%rcx), %ymm112861; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12862; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm112863; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12864; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12865; AVX-NEXT: vmovaps 160(%rsi), %ymm112866; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12867; AVX-NEXT: vmovaps 176(%rdi), %xmm012868; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12869; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12870; AVX-NEXT: vmovaps 176(%rax), %xmm112871; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12872; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12873; AVX-NEXT: vmovaps 160(%r9), %ymm112874; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12875; AVX-NEXT: vmovaps 176(%r8), %xmm012876; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12877; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12878; AVX-NEXT: vmovaps 176(%rcx), %xmm112879; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12880; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12881; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12882; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12883; AVX-NEXT: vmovaps 192(%r9), %xmm112884; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12885; AVX-NEXT: vmovaps 192(%r8), %xmm012886; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]12887; AVX-NEXT: vmovaps 192(%rdi), %xmm212888; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12889; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm212890; AVX-NEXT: vmovaps 192(%rax), %xmm312891; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12892; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm112893; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]12894; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12895; AVX-NEXT: vmovaps 192(%rdx), %ymm112896; AVX-NEXT: vbroadcastsd 200(%rcx), %ymm212897; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]12898; AVX-NEXT: vmovaps 192(%rsi), %xmm312899; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12900; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]12901; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]12902; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012903; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]12904; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12905; AVX-NEXT: vmovaps 192(%rsi), %ymm212906; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12907; AVX-NEXT: vmovaps 208(%rdi), %xmm012908; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]12909; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12910; AVX-NEXT: vmovaps 208(%rax), %xmm112911; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12912; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12913; AVX-NEXT: vmovaps 192(%r9), %ymm112914; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12915; AVX-NEXT: vmovaps 208(%r8), %xmm012916; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12917; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12918; AVX-NEXT: vmovaps 208(%rcx), %xmm112919; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12920; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12921; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12922; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12923; AVX-NEXT: vmovaps 224(%rsi), %xmm012924; AVX-NEXT: vmovaps 224(%rdi), %xmm112925; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]12926; AVX-NEXT: vinsertf128 $1, 224(%rcx), %ymm2, %ymm312927; AVX-NEXT: vmovaps 224(%rdx), %xmm412928; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm212929; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]12930; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12931; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112932; AVX-NEXT: vmovaps 224(%r9), %xmm312933; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12934; AVX-NEXT: vmovaps 224(%r8), %xmm212935; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]12936; AVX-NEXT: vmovaps 224(%rax), %xmm512937; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12938; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm312939; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12940; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12941; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]12942; AVX-NEXT: vbroadcastsd 232(%rcx), %ymm112943; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12944; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm112945; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12946; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12947; AVX-NEXT: vmovaps 224(%rsi), %ymm112948; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12949; AVX-NEXT: vmovaps 240(%rdi), %xmm012950; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12951; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12952; AVX-NEXT: vmovaps 240(%rax), %xmm112953; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12954; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12955; AVX-NEXT: vmovaps 224(%r9), %ymm112956; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12957; AVX-NEXT: vmovaps 240(%r8), %xmm012958; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12959; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12960; AVX-NEXT: vmovaps 240(%rcx), %xmm112961; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12962; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]12963; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12964; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12965; AVX-NEXT: vmovaps 256(%r9), %xmm112966; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12967; AVX-NEXT: vmovaps 256(%r8), %xmm012968; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]12969; AVX-NEXT: vmovaps 256(%rdi), %xmm212970; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12971; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm212972; AVX-NEXT: vmovaps 256(%rax), %xmm312973; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12974; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm112975; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]12976; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12977; AVX-NEXT: vmovaps 256(%rdx), %ymm112978; AVX-NEXT: vbroadcastsd 264(%rcx), %ymm212979; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]12980; AVX-NEXT: vmovaps 256(%rsi), %xmm312981; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12982; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]12983; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]12984; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012985; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]12986; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12987; AVX-NEXT: vmovaps 256(%rsi), %ymm212988; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12989; AVX-NEXT: vmovaps 272(%rdi), %xmm012990; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]12991; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12992; AVX-NEXT: vmovaps 272(%rax), %xmm112993; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]12994; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12995; AVX-NEXT: vmovaps 256(%r9), %ymm112996; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12997; AVX-NEXT: vmovaps 272(%r8), %xmm012998; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12999; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13000; AVX-NEXT: vmovaps 272(%rcx), %xmm113001; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13002; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]13003; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13004; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13005; AVX-NEXT: vmovaps 288(%rsi), %xmm013006; AVX-NEXT: vmovaps 288(%rdi), %xmm113007; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13008; AVX-NEXT: vinsertf128 $1, 288(%rcx), %ymm2, %ymm313009; AVX-NEXT: vmovaps 288(%rdx), %xmm413010; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm213011; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]13012; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13013; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm113014; AVX-NEXT: vmovaps 288(%r9), %xmm313015; AVX-NEXT: vmovaps %xmm3, (%rsp) # 16-byte Spill13016; AVX-NEXT: vmovaps 288(%r8), %xmm213017; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]13018; AVX-NEXT: vmovaps 288(%rax), %xmm513019; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13020; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm313021; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]13022; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13023; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]13024; AVX-NEXT: vbroadcastsd 296(%rcx), %ymm113025; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]13026; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm113027; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13028; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13029; AVX-NEXT: vmovaps 288(%rsi), %ymm113030; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13031; AVX-NEXT: vmovaps 304(%rdi), %xmm013032; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]13033; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13034; AVX-NEXT: vmovaps 304(%rax), %xmm113035; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13036; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13037; AVX-NEXT: vmovaps 288(%r9), %ymm113038; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13039; AVX-NEXT: vmovaps 304(%r8), %xmm013040; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]13041; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13042; AVX-NEXT: vmovaps 304(%rcx), %xmm113043; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13044; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]13045; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13046; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13047; AVX-NEXT: vmovaps 320(%r9), %xmm113048; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13049; AVX-NEXT: vmovaps 320(%r8), %xmm013050; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0]13051; AVX-NEXT: vmovaps 320(%rdi), %xmm213052; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13053; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm213054; AVX-NEXT: vmovaps 320(%rax), %xmm313055; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13056; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm113057; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]13058; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13059; AVX-NEXT: vmovaps 320(%rdx), %ymm113060; AVX-NEXT: vbroadcastsd 328(%rcx), %ymm213061; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]13062; AVX-NEXT: vmovaps 320(%rsi), %xmm313063; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13064; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]13065; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]13066; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013067; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]13068; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13069; AVX-NEXT: vmovaps 320(%rsi), %ymm213070; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13071; AVX-NEXT: vmovaps 336(%rdi), %xmm013072; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]13073; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13074; AVX-NEXT: vmovaps 336(%rax), %xmm113075; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13076; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13077; AVX-NEXT: vmovaps 320(%r9), %ymm113078; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13079; AVX-NEXT: vmovaps 336(%r8), %xmm013080; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]13081; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13082; AVX-NEXT: vmovaps 336(%rcx), %xmm113083; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13084; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]13085; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13086; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13087; AVX-NEXT: vmovaps 352(%rsi), %xmm013088; AVX-NEXT: vmovaps 352(%rdi), %xmm113089; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]13090; AVX-NEXT: vinsertf128 $1, 352(%rcx), %ymm2, %ymm313091; AVX-NEXT: vmovaps 352(%rdx), %xmm413092; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm213093; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2],ymm3[2]13094; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13095; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm113096; AVX-NEXT: vmovaps 352(%r9), %xmm313097; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13098; AVX-NEXT: vmovaps 352(%r8), %xmm213099; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm3[0]13100; AVX-NEXT: vmovaps 352(%rax), %xmm513101; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13102; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm313103; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]13104; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13105; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]13106; AVX-NEXT: vbroadcastsd 360(%rcx), %ymm113107; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]13108; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm113109; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13110; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13111; AVX-NEXT: vmovaps 352(%rsi), %ymm1513112; AVX-NEXT: vmovaps 368(%rdi), %xmm013113; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm0[1],ymm15[3],ymm0[3]13114; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13115; AVX-NEXT: vmovaps 368(%rax), %xmm113116; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13117; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13118; AVX-NEXT: vmovaps 352(%r9), %ymm1413119; AVX-NEXT: vmovaps 368(%r8), %xmm013120; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm14[1],ymm0[1],ymm14[3],ymm0[3]13121; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13122; AVX-NEXT: vmovaps 368(%rcx), %xmm1213123; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm12[2,3,2,3]13124; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13125; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13126; AVX-NEXT: vmovaps 384(%r9), %xmm1313127; AVX-NEXT: vmovaps 384(%r8), %xmm013128; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm13[0]13129; AVX-NEXT: vmovaps 384(%rdi), %xmm213130; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13131; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm213132; AVX-NEXT: vmovaps 384(%rax), %xmm1113133; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm1, %ymm113134; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]13135; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13136; AVX-NEXT: vmovaps 384(%rdx), %ymm113137; AVX-NEXT: vbroadcastsd 392(%rcx), %ymm213138; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]13139; AVX-NEXT: vmovaps 384(%rsi), %xmm313140; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13141; AVX-NEXT: vshufps {{.*#+}} xmm3 = xmm3[2,3,2,3]13142; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]13143; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013144; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]13145; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13146; AVX-NEXT: vmovaps 384(%rsi), %ymm1013147; AVX-NEXT: vmovaps 400(%rdi), %xmm013148; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm0[1],ymm10[3],ymm0[3]13149; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13150; AVX-NEXT: vmovaps 400(%rax), %xmm113151; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13152; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13153; AVX-NEXT: vmovaps 384(%r9), %ymm913154; AVX-NEXT: vmovaps 400(%r8), %xmm013155; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm0[1],ymm9[3],ymm0[3]13156; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13157; AVX-NEXT: vmovaps 400(%rcx), %xmm813158; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm8[2,3,2,3]13159; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13160; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13161; AVX-NEXT: vmovaps 416(%rsi), %xmm513162; AVX-NEXT: vmovaps 416(%rdi), %xmm013163; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm5[0]13164; AVX-NEXT: vinsertf128 $1, 416(%rcx), %ymm1, %ymm613165; AVX-NEXT: vmovaps 416(%rdx), %xmm213166; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm113167; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm6[1],ymm1[2],ymm6[2]13168; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13169; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm613170; AVX-NEXT: vmovapd 416(%r9), %xmm713171; AVX-NEXT: vmovapd 416(%r8), %xmm013172; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],xmm7[0]13173; AVX-NEXT: vmovapd 416(%rax), %xmm413174; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm113175; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm6[6,7]13176; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13177; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm2[1]13178; AVX-NEXT: vbroadcastsd 424(%rcx), %ymm213179; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13180; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013181; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13182; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13183; AVX-NEXT: vmovaps 448(%rsi), %xmm013184; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13185; AVX-NEXT: vshufps {{.*#+}} xmm0 = xmm0[2,3,2,3]13186; AVX-NEXT: vbroadcastsd 456(%rcx), %ymm113187; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]13188; AVX-NEXT: vmovapd 448(%rdx), %ymm513189; AVX-NEXT: vinsertf128 $1, 448(%r8), %ymm5, %ymm113190; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]13191; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13192; AVX-NEXT: vmovaps 480(%rsi), %xmm213193; AVX-NEXT: vmovaps 480(%rdi), %xmm613194; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm6[0],xmm2[0]13195; AVX-NEXT: vinsertf128 $1, 480(%rcx), %ymm1, %ymm313196; AVX-NEXT: vmovaps 480(%rdx), %xmm013197; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm113198; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2],ymm3[2]13199; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13200; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm2[2,3,2,3]13201; AVX-NEXT: vbroadcastsd 488(%rcx), %ymm213202; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13203; AVX-NEXT: vinsertf128 $1, 480(%r8), %ymm0, %ymm013204; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]13205; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13206; AVX-NEXT: vmovaps (%rdi), %ymm013207; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13208; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13209; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13210; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13211; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13212; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13213; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13214; AVX-NEXT: vmovaps (%r8), %ymm013215; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13216; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13217; AVX-NEXT: vmovaps 16(%rdx), %xmm113218; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13219; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13220; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13221; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13222; AVX-NEXT: vmovaps 32(%rdi), %ymm013223; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13224; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13225; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13226; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13227; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13228; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13229; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13230; AVX-NEXT: vmovaps 32(%r8), %ymm013231; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13232; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13233; AVX-NEXT: vmovaps 48(%rdx), %xmm113234; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13235; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13236; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13237; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13238; AVX-NEXT: vmovaps 64(%rdi), %ymm013239; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13240; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13241; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13242; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13243; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13244; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13245; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13246; AVX-NEXT: vmovaps 64(%r8), %ymm013247; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13248; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13249; AVX-NEXT: vmovaps 80(%rdx), %xmm113250; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13251; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13252; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13253; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13254; AVX-NEXT: vmovaps 96(%rdi), %ymm013255; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13256; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13257; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13258; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13259; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13260; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13261; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13262; AVX-NEXT: vmovaps 96(%r8), %ymm013263; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13264; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13265; AVX-NEXT: vmovaps 112(%rdx), %xmm113266; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13267; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13268; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13269; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13270; AVX-NEXT: vmovaps 128(%rdi), %ymm013271; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13272; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13273; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13274; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13275; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13276; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13277; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13278; AVX-NEXT: vmovaps 128(%r8), %ymm013279; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13280; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13281; AVX-NEXT: vmovaps 144(%rdx), %xmm113282; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13283; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13284; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13285; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13286; AVX-NEXT: vmovaps 160(%rdi), %ymm013287; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13288; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13289; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13290; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13291; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13292; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13293; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13294; AVX-NEXT: vmovaps 160(%r8), %ymm013295; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13296; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13297; AVX-NEXT: vmovaps 176(%rdx), %xmm113298; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13299; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13300; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13301; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13302; AVX-NEXT: vmovaps 192(%rdi), %ymm013303; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13304; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13305; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13306; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13307; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13308; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13309; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13310; AVX-NEXT: vmovaps 192(%r8), %ymm013311; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13312; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13313; AVX-NEXT: vmovaps 208(%rdx), %xmm113314; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13315; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13316; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13317; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13318; AVX-NEXT: vmovaps 224(%rdi), %ymm013319; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13320; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13321; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13322; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13323; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13324; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13325; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13326; AVX-NEXT: vmovaps 224(%r8), %ymm013327; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13328; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13329; AVX-NEXT: vmovaps 240(%rdx), %xmm113330; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13331; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13332; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13333; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13334; AVX-NEXT: vmovaps 256(%rdi), %ymm013335; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13336; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13337; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13338; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13339; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13340; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13341; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13342; AVX-NEXT: vmovaps 256(%r8), %ymm013343; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13344; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13345; AVX-NEXT: vmovaps 272(%rdx), %xmm113346; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13347; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13348; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13349; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13350; AVX-NEXT: vmovaps 288(%rdi), %ymm013351; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13352; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13353; AVX-NEXT: vmovaps (%rsp), %xmm1 # 16-byte Reload13354; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13355; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13356; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13357; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13358; AVX-NEXT: vmovaps 288(%r8), %ymm013359; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13360; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13361; AVX-NEXT: vmovaps 304(%rdx), %xmm113362; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13363; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13364; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13365; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13366; AVX-NEXT: vmovaps 320(%rdi), %ymm013367; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13368; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13369; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13370; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13371; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13372; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13373; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13374; AVX-NEXT: vmovaps 320(%r8), %ymm013375; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13376; AVX-NEXT: # ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13377; AVX-NEXT: vmovaps 336(%rdx), %xmm113378; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13379; AVX-NEXT: # xmm1 = xmm1[0],mem[0]13380; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13381; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13382; AVX-NEXT: vmovaps 352(%rdi), %ymm013383; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm15[0],ymm0[2],ymm15[2]13384; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13385; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13386; AVX-NEXT: # xmm1 = xmm1[1],mem[1]13387; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13388; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13389; AVX-NEXT: vmovaps 352(%r8), %ymm013390; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm14[0],ymm0[2],ymm14[2]13391; AVX-NEXT: vmovaps 368(%rdx), %xmm113392; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm12[0]13393; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13394; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13395; AVX-NEXT: vmovaps 384(%rdi), %ymm013396; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]13397; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm13[1],xmm11[1]13398; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13399; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13400; AVX-NEXT: vmovaps 384(%r8), %ymm013401; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm9[0],ymm0[2],ymm9[2]13402; AVX-NEXT: vmovaps 400(%rdx), %xmm113403; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm8[0]13404; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13405; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13406; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm4[1]13407; AVX-NEXT: vmovapd 416(%rdi), %ymm113408; AVX-NEXT: vmovapd 416(%rsi), %ymm213409; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]13410; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13411; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13412; AVX-NEXT: vmovapd 416(%r8), %ymm013413; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]13414; AVX-NEXT: vmovapd 432(%rcx), %xmm113415; AVX-NEXT: vmovapd 432(%rdx), %xmm313416; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],xmm1[0]13417; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3]13418; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13419; AVX-NEXT: vmovapd 432(%rdi), %xmm013420; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2,3]13421; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm2[0,0,3,2]13422; AVX-NEXT: vmovapd 416(%rax), %ymm213423; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm2[2,3],ymm3[2,3]13424; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0],ymm0[1],ymm3[2],ymm0[3]13425; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13426; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]13427; AVX-NEXT: vmovaps 448(%rdi), %xmm413428; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm313429; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3],ymm3[4,5,6,7]13430; AVX-NEXT: vmovapd 448(%r8), %ymm313431; AVX-NEXT: vinsertf128 $1, 448(%rax), %ymm3, %ymm713432; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3],ymm7[4,5],ymm0[6,7]13433; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13434; AVX-NEXT: vmovapd 448(%rdi), %ymm013435; AVX-NEXT: vmovapd 448(%rsi), %ymm713436; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]13437; AVX-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]13438; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm8[0,1],ymm0[2,3]13439; AVX-NEXT: vmovapd 464(%rdi), %xmm813440; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3]13441; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0,0,3,2]13442; AVX-NEXT: vmovapd 448(%rax), %ymm1013443; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm10[2,3],ymm7[2,3]13444; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm7[0],ymm5[1],ymm7[2],ymm5[3]13445; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13446; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm513447; AVX-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]13448; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm6[2,3],ymm5[4,5,6,7]13449; AVX-NEXT: vmovapd 480(%r8), %ymm1313450; AVX-NEXT: vinsertf128 $1, 480(%rax), %ymm13, %ymm613451; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3],ymm6[4,5],ymm5[6,7]13452; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13453; AVX-NEXT: vmovapd 480(%rdi), %ymm513454; AVX-NEXT: vmovapd 480(%rsi), %ymm613455; AVX-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]13456; AVX-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]13457; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm7[0,1],ymm5[2,3]13458; AVX-NEXT: vmovapd 496(%rdi), %xmm713459; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1],mem[2,3]13460; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0,0,3,2]13461; AVX-NEXT: vmovapd 480(%rax), %ymm1513462; AVX-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm15[2,3],ymm6[2,3]13463; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2],ymm7[3]13464; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13465; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]13466; AVX-NEXT: vbroadcastsd 440(%r9), %ymm613467; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm6[2,3]13468; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm2[3]13469; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13470; AVX-NEXT: vmovapd 464(%rcx), %xmm113471; AVX-NEXT: vmovapd 464(%rdx), %xmm213472; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],xmm1[0]13473; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3]13474; AVX-NEXT: vbroadcastsd 464(%r9), %ymm313475; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1,2],ymm3[3]13476; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13477; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]13478; AVX-NEXT: vbroadcastsd 472(%r9), %ymm213479; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]13480; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm10[1],ymm0[2,3]13481; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13482; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm10[3]13483; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13484; AVX-NEXT: vmovapd 496(%rcx), %xmm013485; AVX-NEXT: vmovapd 496(%rdx), %xmm113486; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]13487; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm13[2,3]13488; AVX-NEXT: vbroadcastsd 496(%r9), %ymm213489; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm2[3]13490; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13491; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]13492; AVX-NEXT: vbroadcastsd 504(%r9), %ymm113493; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13494; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm5[0],ymm15[1],ymm5[2,3]13495; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13496; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3]13497; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13498; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13499; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload13500; AVX-NEXT: # xmm7 = xmm0[0],mem[0]13501; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13502; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload13503; AVX-NEXT: # xmm6 = xmm0[0],mem[0]13504; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13505; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload13506; AVX-NEXT: # xmm5 = xmm0[0],mem[0]13507; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13508; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload13509; AVX-NEXT: # xmm3 = xmm0[0],mem[0]13510; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13511; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13512; AVX-NEXT: # xmm2 = xmm0[0],mem[0]13513; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm4 # 16-byte Folded Reload13514; AVX-NEXT: # xmm4 = xmm4[0],mem[0]13515; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13516; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload13517; AVX-NEXT: # xmm1 = xmm0[0],mem[0]13518; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13519; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13520; AVX-NEXT: # xmm0 = xmm0[0],mem[0]13521; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax13522; AVX-NEXT: vmovaps 256(%rdx), %xmm1413523; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm14[0],mem[0]13524; AVX-NEXT: vmovaps 128(%rdx), %xmm1013525; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]13526; AVX-NEXT: vmovaps 64(%rdx), %xmm1213527; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]13528; AVX-NEXT: vmovaps 192(%rdx), %xmm1313529; AVX-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]13530; AVX-NEXT: vmovaps 320(%rdx), %xmm1513531; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]13532; AVX-NEXT: vmovaps 448(%rdx), %xmm1113533; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]13534; AVX-NEXT: vmovaps 384(%rdx), %xmm913535; AVX-NEXT: vunpcklpd {{.*#+}} xmm9 = xmm9[0],mem[0]13536; AVX-NEXT: vmovaps (%rdx), %xmm813537; AVX-NEXT: vunpcklpd {{.*#+}} xmm8 = xmm8[0],mem[0]13538; AVX-NEXT: vmovaps %xmm8, 16(%rax)13539; AVX-NEXT: vmovaps %xmm0, (%rax)13540; AVX-NEXT: vmovaps %xmm9, 2704(%rax)13541; AVX-NEXT: vmovaps %xmm1, 2688(%rax)13542; AVX-NEXT: vmovaps %xmm11, 3152(%rax)13543; AVX-NEXT: vmovaps %xmm4, 3136(%rax)13544; AVX-NEXT: vmovaps %xmm15, 2256(%rax)13545; AVX-NEXT: vmovaps %xmm2, 2240(%rax)13546; AVX-NEXT: vmovaps %xmm13, 1360(%rax)13547; AVX-NEXT: vmovaps %xmm3, 1344(%rax)13548; AVX-NEXT: vmovaps %xmm12, 464(%rax)13549; AVX-NEXT: vmovaps %xmm5, 448(%rax)13550; AVX-NEXT: vmovaps %xmm10, 912(%rax)13551; AVX-NEXT: vmovaps %xmm6, 896(%rax)13552; AVX-NEXT: vmovaps %xmm14, 1808(%rax)13553; AVX-NEXT: vmovaps %xmm7, 1792(%rax)13554; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13555; AVX-NEXT: vmovaps %ymm0, 3520(%rax)13556; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13557; AVX-NEXT: vmovaps %ymm0, 3456(%rax)13558; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13559; AVX-NEXT: vmovaps %ymm0, 3392(%rax)13560; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13561; AVX-NEXT: vmovaps %ymm0, 3296(%rax)13562; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13563; AVX-NEXT: vmovaps %ymm0, 3232(%rax)13564; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13565; AVX-NEXT: vmovaps %ymm0, 3168(%rax)13566; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13567; AVX-NEXT: vmovaps %ymm0, 3072(%rax)13568; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13569; AVX-NEXT: vmovaps %ymm0, 3040(%rax)13570; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13571; AVX-NEXT: vmovaps %ymm0, 3008(%rax)13572; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13573; AVX-NEXT: vmovaps %ymm0, 2816(%rax)13574; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13575; AVX-NEXT: vmovaps %ymm0, 2784(%rax)13576; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13577; AVX-NEXT: vmovaps %ymm0, 2592(%rax)13578; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13579; AVX-NEXT: vmovaps %ymm0, 2560(%rax)13580; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13581; AVX-NEXT: vmovaps %ymm0, 2368(%rax)13582; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13583; AVX-NEXT: vmovaps %ymm0, 2336(%rax)13584; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13585; AVX-NEXT: vmovaps %ymm0, 2144(%rax)13586; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13587; AVX-NEXT: vmovaps %ymm0, 2112(%rax)13588; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13589; AVX-NEXT: vmovaps %ymm0, 1920(%rax)13590; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13591; AVX-NEXT: vmovaps %ymm0, 1888(%rax)13592; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13593; AVX-NEXT: vmovaps %ymm0, 1696(%rax)13594; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13595; AVX-NEXT: vmovaps %ymm0, 1664(%rax)13596; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13597; AVX-NEXT: vmovaps %ymm0, 1472(%rax)13598; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13599; AVX-NEXT: vmovaps %ymm0, 1440(%rax)13600; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13601; AVX-NEXT: vmovaps %ymm0, 1248(%rax)13602; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13603; AVX-NEXT: vmovaps %ymm0, 1216(%rax)13604; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13605; AVX-NEXT: vmovaps %ymm0, 1024(%rax)13606; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13607; AVX-NEXT: vmovaps %ymm0, 992(%rax)13608; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13609; AVX-NEXT: vmovaps %ymm0, 800(%rax)13610; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13611; AVX-NEXT: vmovaps %ymm0, 768(%rax)13612; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13613; AVX-NEXT: vmovaps %ymm0, 576(%rax)13614; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13615; AVX-NEXT: vmovaps %ymm0, 544(%rax)13616; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13617; AVX-NEXT: vmovaps %ymm0, 352(%rax)13618; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13619; AVX-NEXT: vmovaps %ymm0, 320(%rax)13620; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13621; AVX-NEXT: vmovaps %ymm0, 128(%rax)13622; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13623; AVX-NEXT: vmovaps %ymm0, 96(%rax)13624; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13625; AVX-NEXT: vmovaps %ymm0, 3552(%rax)13626; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13627; AVX-NEXT: vmovaps %ymm0, 3488(%rax)13628; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13629; AVX-NEXT: vmovaps %ymm0, 3424(%rax)13630; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13631; AVX-NEXT: vmovaps %ymm0, 3360(%rax)13632; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13633; AVX-NEXT: vmovaps %ymm0, 3328(%rax)13634; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13635; AVX-NEXT: vmovaps %ymm0, 3264(%rax)13636; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13637; AVX-NEXT: vmovaps %ymm0, 3200(%rax)13638; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13639; AVX-NEXT: vmovaps %ymm0, 3104(%rax)13640; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13641; AVX-NEXT: vmovaps %ymm0, 2976(%rax)13642; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13643; AVX-NEXT: vmovaps %ymm0, 2944(%rax)13644; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13645; AVX-NEXT: vmovaps %ymm0, 2912(%rax)13646; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13647; AVX-NEXT: vmovaps %ymm0, 2880(%rax)13648; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13649; AVX-NEXT: vmovaps %ymm0, 2848(%rax)13650; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13651; AVX-NEXT: vmovaps %ymm0, 2752(%rax)13652; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13653; AVX-NEXT: vmovaps %ymm0, 2720(%rax)13654; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13655; AVX-NEXT: vmovaps %ymm0, 2656(%rax)13656; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13657; AVX-NEXT: vmovaps %ymm0, 2624(%rax)13658; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13659; AVX-NEXT: vmovaps %ymm0, 2528(%rax)13660; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13661; AVX-NEXT: vmovaps %ymm0, 2496(%rax)13662; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13663; AVX-NEXT: vmovaps %ymm0, 2464(%rax)13664; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13665; AVX-NEXT: vmovaps %ymm0, 2432(%rax)13666; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13667; AVX-NEXT: vmovaps %ymm0, 2400(%rax)13668; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13669; AVX-NEXT: vmovaps %ymm0, 2304(%rax)13670; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13671; AVX-NEXT: vmovaps %ymm0, 2272(%rax)13672; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13673; AVX-NEXT: vmovaps %ymm0, 2208(%rax)13674; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13675; AVX-NEXT: vmovaps %ymm0, 2176(%rax)13676; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13677; AVX-NEXT: vmovaps %ymm0, 2080(%rax)13678; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13679; AVX-NEXT: vmovaps %ymm0, 2048(%rax)13680; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13681; AVX-NEXT: vmovaps %ymm0, 2016(%rax)13682; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13683; AVX-NEXT: vmovaps %ymm0, 1984(%rax)13684; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13685; AVX-NEXT: vmovaps %ymm0, 1952(%rax)13686; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13687; AVX-NEXT: vmovaps %ymm0, 1856(%rax)13688; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13689; AVX-NEXT: vmovaps %ymm0, 1824(%rax)13690; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13691; AVX-NEXT: vmovaps %ymm0, 1760(%rax)13692; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13693; AVX-NEXT: vmovaps %ymm0, 1728(%rax)13694; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13695; AVX-NEXT: vmovaps %ymm0, 1632(%rax)13696; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13697; AVX-NEXT: vmovaps %ymm0, 1600(%rax)13698; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13699; AVX-NEXT: vmovaps %ymm0, 1568(%rax)13700; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13701; AVX-NEXT: vmovaps %ymm0, 1536(%rax)13702; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13703; AVX-NEXT: vmovaps %ymm0, 1504(%rax)13704; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13705; AVX-NEXT: vmovaps %ymm0, 1408(%rax)13706; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13707; AVX-NEXT: vmovaps %ymm0, 1376(%rax)13708; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13709; AVX-NEXT: vmovaps %ymm0, 1312(%rax)13710; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13711; AVX-NEXT: vmovaps %ymm0, 1280(%rax)13712; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13713; AVX-NEXT: vmovaps %ymm0, 1184(%rax)13714; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13715; AVX-NEXT: vmovaps %ymm0, 1152(%rax)13716; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13717; AVX-NEXT: vmovaps %ymm0, 1120(%rax)13718; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13719; AVX-NEXT: vmovaps %ymm0, 1088(%rax)13720; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13721; AVX-NEXT: vmovaps %ymm0, 1056(%rax)13722; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13723; AVX-NEXT: vmovaps %ymm0, 960(%rax)13724; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13725; AVX-NEXT: vmovaps %ymm0, 928(%rax)13726; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13727; AVX-NEXT: vmovaps %ymm0, 864(%rax)13728; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13729; AVX-NEXT: vmovaps %ymm0, 832(%rax)13730; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13731; AVX-NEXT: vmovaps %ymm0, 736(%rax)13732; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13733; AVX-NEXT: vmovaps %ymm0, 704(%rax)13734; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13735; AVX-NEXT: vmovaps %ymm0, 672(%rax)13736; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13737; AVX-NEXT: vmovaps %ymm0, 640(%rax)13738; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13739; AVX-NEXT: vmovaps %ymm0, 608(%rax)13740; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13741; AVX-NEXT: vmovaps %ymm0, 512(%rax)13742; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13743; AVX-NEXT: vmovaps %ymm0, 480(%rax)13744; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13745; AVX-NEXT: vmovaps %ymm0, 416(%rax)13746; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13747; AVX-NEXT: vmovaps %ymm0, 384(%rax)13748; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13749; AVX-NEXT: vmovaps %ymm0, 288(%rax)13750; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13751; AVX-NEXT: vmovaps %ymm0, 256(%rax)13752; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13753; AVX-NEXT: vmovaps %ymm0, 224(%rax)13754; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13755; AVX-NEXT: vmovaps %ymm0, 192(%rax)13756; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13757; AVX-NEXT: vmovaps %ymm0, 160(%rax)13758; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13759; AVX-NEXT: vmovaps %ymm0, 64(%rax)13760; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13761; AVX-NEXT: vmovaps %ymm0, 32(%rax)13762; AVX-NEXT: addq $3816, %rsp # imm = 0xEE813763; AVX-NEXT: vzeroupper13764; AVX-NEXT: retq13765;13766; AVX2-LABEL: store_i64_stride7_vf64:13767; AVX2: # %bb.0:13768; AVX2-NEXT: subq $3880, %rsp # imm = 0xF2813769; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax13770; AVX2-NEXT: vmovaps (%rdi), %ymm013771; AVX2-NEXT: vmovaps (%rsi), %ymm113772; AVX2-NEXT: vmovaps (%rdx), %ymm213773; AVX2-NEXT: vmovaps (%r8), %ymm513774; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13775; AVX2-NEXT: vmovaps (%r9), %ymm613776; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13777; AVX2-NEXT: vmovaps (%rsi), %xmm313778; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm313779; AVX2-NEXT: vmovaps (%rdi), %xmm413780; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13781; AVX2-NEXT: vmovaps 32(%rdi), %xmm713782; AVX2-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13783; AVX2-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm413784; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]13785; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13786; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]13787; AVX2-NEXT: vbroadcastsd 8(%rcx), %ymm413788; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]13789; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3,4,5,6,7]13790; AVX2-NEXT: vmovaps (%r8), %xmm413791; AVX2-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13792; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413793; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13794; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13795; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13796; AVX2-NEXT: vmovaps (%rax), %xmm813797; AVX2-NEXT: vmovaps %xmm8, (%rsp) # 16-byte Spill13798; AVX2-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]13799; AVX2-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm8[1]13800; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]13801; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13802; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]13803; AVX2-NEXT: vmovaps 16(%rdx), %xmm413804; AVX2-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]13805; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]13806; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13807; AVX2-NEXT: vmovaps 16(%rax), %xmm313808; AVX2-NEXT: vmovaps 32(%rax), %xmm413809; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13810; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]13811; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]13812; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3,4,5,6,7]13813; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13814; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm013815; AVX2-NEXT: vmovaps 32(%r8), %xmm113816; AVX2-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm1[0],mem[0]13817; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm213818; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]13819; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13820; AVX2-NEXT: vmovaps 32(%rdx), %xmm213821; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13822; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]13823; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]13824; AVX2-NEXT: vbroadcastsd 40(%rcx), %ymm213825; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13826; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm113827; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13828; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13829; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]13830; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]13831; AVX2-NEXT: vmovaps 32(%rdi), %ymm113832; AVX2-NEXT: vmovaps 32(%rsi), %ymm213833; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]13834; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13835; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13836; AVX2-NEXT: vmovaps 32(%rdx), %ymm013837; AVX2-NEXT: vmovaps 32(%r8), %ymm413838; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13839; AVX2-NEXT: vmovaps 32(%r9), %ymm313840; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13841; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]13842; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]13843; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]13844; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13845; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]13846; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]13847; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13848; AVX2-NEXT: vmovaps 48(%rax), %xmm113849; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13850; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13851; AVX2-NEXT: vmovaps 64(%rsi), %xmm013852; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm013853; AVX2-NEXT: vmovaps 64(%rdi), %xmm113854; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13855; AVX2-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm113856; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]13857; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13858; AVX2-NEXT: vmovaps 64(%rdx), %ymm013859; AVX2-NEXT: vbroadcastsd 72(%rcx), %ymm113860; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]13861; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]13862; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]13863; AVX2-NEXT: vmovaps 64(%r8), %xmm213864; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13865; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm213866; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]13867; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13868; AVX2-NEXT: vmovaps 64(%rax), %xmm213869; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13870; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]13871; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]13872; AVX2-NEXT: vmovaps 64(%rdi), %ymm213873; AVX2-NEXT: vmovaps 64(%rsi), %ymm313874; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]13875; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]13876; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13877; AVX2-NEXT: vmovaps 64(%r8), %ymm413878; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13879; AVX2-NEXT: vmovaps 64(%r9), %ymm113880; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13881; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]13882; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]13883; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]13884; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13885; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]13886; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]13887; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13888; AVX2-NEXT: vmovaps 80(%rax), %xmm113889; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13890; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13891; AVX2-NEXT: vmovaps 96(%r8), %xmm013892; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]13893; AVX2-NEXT: vmovaps 96(%rax), %xmm213894; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm113895; AVX2-NEXT: vmovaps 96(%rdi), %xmm313896; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13897; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm313898; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]13899; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13900; AVX2-NEXT: vmovaps 96(%rdx), %xmm313901; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13902; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]13903; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]13904; AVX2-NEXT: vbroadcastsd 104(%rcx), %ymm313905; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]13906; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013907; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13908; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13909; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]13910; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]13911; AVX2-NEXT: vmovaps 96(%rdi), %ymm113912; AVX2-NEXT: vmovaps 96(%rsi), %ymm213913; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]13914; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13915; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13916; AVX2-NEXT: vmovaps 96(%rdx), %ymm013917; AVX2-NEXT: vmovaps 96(%r8), %ymm413918; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13919; AVX2-NEXT: vmovaps 96(%r9), %ymm313920; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13921; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]13922; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]13923; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]13924; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13925; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]13926; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]13927; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13928; AVX2-NEXT: vmovaps 112(%rax), %xmm113929; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13930; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13931; AVX2-NEXT: vmovaps 128(%rsi), %xmm013932; AVX2-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm013933; AVX2-NEXT: vmovaps 128(%rdi), %xmm113934; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13935; AVX2-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm113936; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]13937; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13938; AVX2-NEXT: vmovaps 128(%rdx), %ymm013939; AVX2-NEXT: vbroadcastsd 136(%rcx), %ymm113940; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]13941; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]13942; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]13943; AVX2-NEXT: vmovaps 128(%r8), %xmm213944; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13945; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm213946; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]13947; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13948; AVX2-NEXT: vmovaps 128(%rax), %xmm213949; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13950; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]13951; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]13952; AVX2-NEXT: vmovaps 128(%rdi), %ymm213953; AVX2-NEXT: vmovaps 128(%rsi), %ymm313954; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]13955; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]13956; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13957; AVX2-NEXT: vmovaps 128(%r8), %ymm413958; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13959; AVX2-NEXT: vmovaps 128(%r9), %ymm113960; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13961; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]13962; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]13963; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]13964; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13965; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]13966; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]13967; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13968; AVX2-NEXT: vmovaps 144(%rax), %xmm113969; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]13970; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13971; AVX2-NEXT: vmovaps 160(%r8), %xmm013972; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]13973; AVX2-NEXT: vmovaps 160(%rax), %xmm213974; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm113975; AVX2-NEXT: vmovaps 160(%rdi), %xmm313976; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13977; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm313978; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]13979; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13980; AVX2-NEXT: vmovaps 160(%rdx), %xmm313981; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13982; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]13983; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]13984; AVX2-NEXT: vbroadcastsd 168(%rcx), %ymm313985; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]13986; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013987; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13988; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13989; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]13990; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]13991; AVX2-NEXT: vmovaps 160(%rdi), %ymm113992; AVX2-NEXT: vmovaps 160(%rsi), %ymm213993; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]13994; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]13995; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13996; AVX2-NEXT: vmovaps 160(%rdx), %ymm013997; AVX2-NEXT: vmovaps 160(%r8), %ymm413998; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13999; AVX2-NEXT: vmovaps 160(%r9), %ymm314000; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14001; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14002; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14003; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14004; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14005; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14006; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14007; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14008; AVX2-NEXT: vmovaps 176(%rax), %xmm114009; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14010; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14011; AVX2-NEXT: vmovaps 192(%rsi), %xmm014012; AVX2-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm014013; AVX2-NEXT: vmovaps 192(%rdi), %xmm114014; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14015; AVX2-NEXT: vinsertf128 $1, 192(%rdx), %ymm1, %ymm114016; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14017; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14018; AVX2-NEXT: vmovaps 192(%rdx), %ymm014019; AVX2-NEXT: vbroadcastsd 200(%rcx), %ymm114020; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14021; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14022; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14023; AVX2-NEXT: vmovaps 192(%r8), %xmm214024; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14025; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214026; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14027; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14028; AVX2-NEXT: vmovaps 192(%rax), %xmm214029; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14030; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14031; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14032; AVX2-NEXT: vmovaps 192(%rdi), %ymm214033; AVX2-NEXT: vmovaps 192(%rsi), %ymm314034; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]14035; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14036; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14037; AVX2-NEXT: vmovaps 208(%rdx), %xmm114038; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]14039; AVX2-NEXT: vmovaps 192(%r8), %ymm514040; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14041; AVX2-NEXT: vmovaps 192(%r9), %ymm414042; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14043; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]14044; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14045; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14046; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]14047; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14048; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14049; AVX2-NEXT: vmovaps 208(%rax), %xmm114050; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14051; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14052; AVX2-NEXT: vmovaps 224(%r8), %xmm014053; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]14054; AVX2-NEXT: vmovaps 224(%rax), %xmm214055; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm114056; AVX2-NEXT: vmovaps 224(%rdi), %xmm314057; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14058; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm314059; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14060; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14061; AVX2-NEXT: vmovaps 224(%rdx), %xmm314062; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14063; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14064; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]14065; AVX2-NEXT: vbroadcastsd 232(%rcx), %ymm314066; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14067; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014068; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14069; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14070; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14071; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14072; AVX2-NEXT: vmovaps 224(%rdi), %ymm114073; AVX2-NEXT: vmovaps 224(%rsi), %ymm214074; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14075; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14076; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14077; AVX2-NEXT: vmovaps 224(%rdx), %ymm014078; AVX2-NEXT: vmovaps 224(%r8), %ymm414079; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14080; AVX2-NEXT: vmovaps 224(%r9), %ymm314081; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14082; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14083; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14084; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14085; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14086; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14087; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14088; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14089; AVX2-NEXT: vmovaps 240(%rax), %xmm114090; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14091; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14092; AVX2-NEXT: vmovaps 256(%rsi), %xmm014093; AVX2-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm014094; AVX2-NEXT: vmovaps 256(%rdi), %xmm114095; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14096; AVX2-NEXT: vinsertf128 $1, 256(%rdx), %ymm1, %ymm114097; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14098; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14099; AVX2-NEXT: vmovaps 256(%rdx), %ymm014100; AVX2-NEXT: vbroadcastsd 264(%rcx), %ymm114101; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14102; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14103; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14104; AVX2-NEXT: vmovaps 256(%r8), %xmm214105; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14106; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214107; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14108; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14109; AVX2-NEXT: vmovaps 256(%rax), %xmm214110; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14111; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14112; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14113; AVX2-NEXT: vmovaps 256(%rdi), %ymm214114; AVX2-NEXT: vmovaps 256(%rsi), %ymm314115; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]14116; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14117; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14118; AVX2-NEXT: vmovaps 272(%rdx), %xmm114119; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]14120; AVX2-NEXT: vmovaps 256(%r8), %ymm514121; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14122; AVX2-NEXT: vmovaps 256(%r9), %ymm414123; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14124; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]14125; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14126; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14127; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]14128; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14129; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14130; AVX2-NEXT: vmovaps 272(%rax), %xmm114131; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14132; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14133; AVX2-NEXT: vmovaps 288(%r8), %xmm014134; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]14135; AVX2-NEXT: vmovaps 288(%rax), %xmm214136; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm114137; AVX2-NEXT: vmovaps 288(%rdi), %xmm314138; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14139; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm314140; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14141; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14142; AVX2-NEXT: vmovaps 288(%rdx), %xmm314143; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14144; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14145; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]14146; AVX2-NEXT: vbroadcastsd 296(%rcx), %ymm314147; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14148; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014149; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14150; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14151; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14152; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14153; AVX2-NEXT: vmovaps 288(%rdi), %ymm114154; AVX2-NEXT: vmovaps 288(%rsi), %ymm214155; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14156; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14157; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14158; AVX2-NEXT: vmovaps 288(%rdx), %ymm014159; AVX2-NEXT: vmovaps 288(%r8), %ymm414160; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14161; AVX2-NEXT: vmovaps 288(%r9), %ymm314162; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14163; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14164; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14165; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14166; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14167; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14168; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14169; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14170; AVX2-NEXT: vmovaps 304(%rax), %xmm114171; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14172; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14173; AVX2-NEXT: vmovaps 320(%rsi), %xmm014174; AVX2-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm014175; AVX2-NEXT: vmovaps 320(%rdi), %xmm114176; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14177; AVX2-NEXT: vinsertf128 $1, 320(%rdx), %ymm1, %ymm114178; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14179; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14180; AVX2-NEXT: vmovaps 320(%rdx), %ymm014181; AVX2-NEXT: vbroadcastsd 328(%rcx), %ymm114182; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14183; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14184; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14185; AVX2-NEXT: vmovaps 320(%r8), %xmm214186; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14187; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214188; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14189; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14190; AVX2-NEXT: vmovaps 320(%rax), %xmm1014191; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14192; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm10[1]14193; AVX2-NEXT: vmovaps 320(%rdi), %ymm214194; AVX2-NEXT: vmovaps 320(%rsi), %ymm314195; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]14196; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14197; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14198; AVX2-NEXT: vmovaps 336(%rdx), %xmm114199; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]14200; AVX2-NEXT: vmovaps 320(%r8), %ymm914201; AVX2-NEXT: vmovaps 320(%r9), %ymm414202; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14203; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm9[0],ymm4[0],ymm9[2],ymm4[2]14204; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14205; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14206; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]14207; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14208; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14209; AVX2-NEXT: vmovaps 336(%rax), %xmm114210; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14211; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14212; AVX2-NEXT: vmovaps 352(%r8), %xmm014213; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]14214; AVX2-NEXT: vmovaps 352(%rax), %xmm214215; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm114216; AVX2-NEXT: vmovaps 352(%rdi), %xmm314217; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14218; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm314219; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14220; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14221; AVX2-NEXT: vmovaps 352(%rdx), %xmm714222; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14223; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm7[1]14224; AVX2-NEXT: vbroadcastsd 360(%rcx), %ymm314225; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14226; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014227; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14228; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14229; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14230; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14231; AVX2-NEXT: vmovaps 352(%rdi), %ymm114232; AVX2-NEXT: vmovaps 352(%rsi), %ymm214233; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14234; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14235; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14236; AVX2-NEXT: vmovaps 352(%rdx), %ymm014237; AVX2-NEXT: vmovaps 352(%r8), %ymm514238; AVX2-NEXT: vmovaps 352(%r9), %ymm314239; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14240; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]14241; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14242; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14243; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14244; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14245; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14246; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14247; AVX2-NEXT: vmovaps 368(%rax), %xmm114248; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14249; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14250; AVX2-NEXT: vmovaps 384(%rsi), %xmm014251; AVX2-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm014252; AVX2-NEXT: vmovaps 384(%rdi), %xmm114253; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14254; AVX2-NEXT: vinsertf128 $1, 384(%rdx), %ymm1, %ymm114255; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14256; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14257; AVX2-NEXT: vmovaps 384(%rdx), %ymm014258; AVX2-NEXT: vbroadcastsd 392(%rcx), %ymm114259; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14260; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14261; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14262; AVX2-NEXT: vmovaps 384(%r8), %xmm214263; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14264; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214265; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14266; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14267; AVX2-NEXT: vmovaps 384(%rax), %xmm214268; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14269; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14270; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14271; AVX2-NEXT: vmovaps 384(%rdi), %ymm214272; AVX2-NEXT: vmovaps 384(%rsi), %ymm314273; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]14274; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14275; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14276; AVX2-NEXT: vmovaps 400(%rdx), %xmm114277; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]14278; AVX2-NEXT: vmovaps 384(%r8), %ymm1514279; AVX2-NEXT: vmovaps 384(%r9), %ymm414280; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14281; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm15[0],ymm4[0],ymm15[2],ymm4[2]14282; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14283; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14284; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]14285; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14286; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14287; AVX2-NEXT: vmovaps 400(%rax), %xmm114288; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14289; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14290; AVX2-NEXT: vmovaps 416(%r8), %xmm014291; AVX2-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]14292; AVX2-NEXT: vmovaps 416(%rax), %xmm214293; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm114294; AVX2-NEXT: vmovaps 416(%rdi), %xmm1314295; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm314296; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14297; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14298; AVX2-NEXT: vmovaps 416(%rdx), %xmm1414299; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14300; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm14[1]14301; AVX2-NEXT: vbroadcastsd 424(%rcx), %ymm314302; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14303; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014304; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14305; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14306; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14307; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14308; AVX2-NEXT: vmovaps 416(%rdi), %ymm114309; AVX2-NEXT: vmovaps 416(%rsi), %ymm214310; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14311; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14312; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14313; AVX2-NEXT: vmovaps 416(%r8), %ymm014314; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]14315; AVX2-NEXT: vmovaps 416(%rdx), %ymm314316; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],mem[0],ymm3[2],mem[2]14317; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]14318; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14319; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14320; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14321; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]14322; AVX2-NEXT: vmovaps 432(%rax), %xmm114323; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14324; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14325; AVX2-NEXT: vmovaps 448(%rsi), %xmm014326; AVX2-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm014327; AVX2-NEXT: vmovaps 448(%rdi), %xmm114328; AVX2-NEXT: vinsertf128 $1, 448(%rdx), %ymm1, %ymm114329; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14330; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14331; AVX2-NEXT: vmovaps 448(%rdi), %ymm014332; AVX2-NEXT: vmovaps 448(%r8), %ymm1114333; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14334; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm11[0,1],ymm0[0,1]14335; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]14336; AVX2-NEXT: vbroadcastsd 448(%rax), %ymm214337; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]14338; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14339; AVX2-NEXT: vmovaps 448(%rdx), %ymm214340; AVX2-NEXT: vbroadcastsd 456(%rcx), %ymm114341; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]14342; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]14343; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]14344; AVX2-NEXT: vinsertf128 $1, 448(%r8), %ymm0, %ymm314345; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14346; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14347; AVX2-NEXT: vmovaps 448(%rsi), %ymm114348; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]14349; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14350; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]14351; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14352; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]14353; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14354; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]14355; AVX2-NEXT: vmovaps 464(%rax), %xmm114356; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14357; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14358; AVX2-NEXT: vmovaps 480(%rdi), %ymm014359; AVX2-NEXT: vmovaps 480(%r8), %ymm1214360; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14361; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm12[0,1],ymm0[0,1]14362; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]14363; AVX2-NEXT: vbroadcastsd 480(%rax), %ymm314364; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]14365; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14366; AVX2-NEXT: vmovaps 480(%rdx), %xmm814367; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14368; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm8[1]14369; AVX2-NEXT: vbroadcastsd 488(%rcx), %ymm314370; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14371; AVX2-NEXT: vinsertf128 $1, 480(%r8), %ymm0, %ymm314372; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14373; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14374; AVX2-NEXT: vmovaps 480(%rsi), %ymm114375; AVX2-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]14376; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14377; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]14378; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14379; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]14380; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14381; AVX2-NEXT: vmovaps 480(%rdx), %ymm614382; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm6[6,7]14383; AVX2-NEXT: vmovaps 496(%rax), %xmm114384; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14385; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14386; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14387; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14388; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14389; AVX2-NEXT: vbroadcastsd (%rsp), %ymm1 # 16-byte Folded Reload14390; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14391; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14392; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14393; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14394; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14395; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14396; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14397; AVX2-NEXT: vbroadcastsd 24(%rcx), %ymm114398; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14399; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14400; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14401; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14402; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14403; AVX2-NEXT: vbroadcastsd 32(%rcx), %ymm114404; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14405; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14406; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14407; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14408; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14409; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14410; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14411; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm114412; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14413; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14414; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14415; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14416; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14417; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload14418; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14419; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14420; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14421; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14422; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14423; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14424; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14425; AVX2-NEXT: vbroadcastsd 88(%rcx), %ymm114426; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14427; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14428; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14429; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14430; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14431; AVX2-NEXT: vbroadcastsd 96(%rcx), %ymm114432; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14433; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14434; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14435; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14436; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14437; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14438; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14439; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm114440; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14441; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14442; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14443; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14444; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14445; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload14446; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14447; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14448; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14449; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14450; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14451; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14452; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14453; AVX2-NEXT: vbroadcastsd 152(%rcx), %ymm114454; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14455; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14456; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14457; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14458; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14459; AVX2-NEXT: vbroadcastsd 160(%rcx), %ymm114460; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14461; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14462; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14463; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14464; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14465; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14466; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14467; AVX2-NEXT: vbroadcastsd 184(%rcx), %ymm114468; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14469; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14470; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14471; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14472; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14473; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload14474; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14475; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14476; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14477; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14478; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14479; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14480; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14481; AVX2-NEXT: vbroadcastsd 216(%rcx), %ymm114482; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14483; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14484; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14485; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14486; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14487; AVX2-NEXT: vbroadcastsd 224(%rcx), %ymm114488; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14489; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14490; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14491; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14492; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14493; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14494; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14495; AVX2-NEXT: vbroadcastsd 248(%rcx), %ymm114496; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14497; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14498; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14499; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14500; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14501; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload14502; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14503; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14504; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14505; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14506; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14507; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14508; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14509; AVX2-NEXT: vbroadcastsd 280(%rcx), %ymm114510; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14511; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14512; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14513; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14514; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14515; AVX2-NEXT: vbroadcastsd 288(%rcx), %ymm114516; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14517; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14518; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14519; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14520; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14521; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14522; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14523; AVX2-NEXT: vbroadcastsd 312(%rcx), %ymm114524; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14525; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14526; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14527; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14528; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14529; AVX2-NEXT: vbroadcastsd %xmm10, %ymm114530; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14531; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload14532; AVX2-NEXT: # ymm0 = ymm9[1],mem[1],ymm9[3],mem[3]14533; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14534; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14535; AVX2-NEXT: vbroadcastsd 344(%rcx), %ymm114536; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5,6,7]14537; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14538; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14539; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm014540; AVX2-NEXT: vbroadcastsd 352(%rcx), %ymm114541; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],ymm1[6,7]14542; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm0 # 32-byte Folded Reload14543; AVX2-NEXT: # ymm0 = ymm5[1],mem[1],ymm5[3],mem[3]14544; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14545; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14546; AVX2-NEXT: vbroadcastsd 376(%rcx), %ymm114547; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm1[0,1],ymm0[2,3,4,5,6,7]14548; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14549; AVX2-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]14550; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14551; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload14552; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]14553; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload14554; AVX2-NEXT: # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]14555; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14556; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]14557; AVX2-NEXT: vbroadcastsd 408(%rcx), %ymm1514558; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm0[2,3,4,5,6,7]14559; AVX2-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm13[0],mem[0]14560; AVX2-NEXT: vinsertf128 $1, %xmm14, %ymm15, %ymm1414561; AVX2-NEXT: vbroadcastsd 416(%rcx), %ymm1514562; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]14563; AVX2-NEXT: vbroadcastsd 440(%rcx), %ymm1514564; AVX2-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]14565; AVX2-NEXT: vbroadcastsd 440(%r9), %ymm1314566; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm13[4,5,6,7]14567; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]14568; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm11[2,3]14569; AVX2-NEXT: vbroadcastsd 464(%r9), %ymm1114570; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm11[6,7]14571; AVX2-NEXT: vbroadcastsd 472(%rcx), %ymm1114572; AVX2-NEXT: vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]14573; AVX2-NEXT: vbroadcastsd 472(%r9), %ymm1314574; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm11[0,1,2,3],ymm13[4,5,6,7]14575; AVX2-NEXT: vmovaps 448(%rax), %ymm014576; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload14577; AVX2-NEXT: # ymm11 = mem[0,1],ymm0[2,3],mem[4,5,6,7]14578; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm0[6,7]14579; AVX2-NEXT: vmovaps 480(%rdi), %xmm1314580; AVX2-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]14581; AVX2-NEXT: vinsertf128 $1, %xmm8, %ymm13, %ymm814582; AVX2-NEXT: vbroadcastsd 480(%rcx), %ymm1314583; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]14584; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],mem[0],ymm6[2],mem[2]14585; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm12[2,3]14586; AVX2-NEXT: vbroadcastsd 496(%r9), %ymm1214587; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm12[6,7]14588; AVX2-NEXT: vbroadcastsd 504(%rcx), %ymm1214589; AVX2-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]14590; AVX2-NEXT: vbroadcastsd 504(%r9), %ymm1314591; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]14592; AVX2-NEXT: vmovaps 480(%rax), %ymm1314593; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm0 # 32-byte Folded Reload14594; AVX2-NEXT: # ymm0 = mem[0,1],ymm13[2,3],mem[4,5,6,7]14595; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]14596; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx14597; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5],mem[6,7]14598; AVX2-NEXT: vmovaps %ymm12, 3552(%rcx)14599; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload14600; AVX2-NEXT: vmovaps %ymm12, 3520(%rcx)14601; AVX2-NEXT: vmovaps %ymm6, 3488(%rcx)14602; AVX2-NEXT: vmovaps %ymm0, 3456(%rcx)14603; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14604; AVX2-NEXT: vmovaps %ymm0, 3424(%rcx)14605; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14606; AVX2-NEXT: vmovaps %ymm0, 3392(%rcx)14607; AVX2-NEXT: vmovaps %ymm8, 3360(%rcx)14608; AVX2-NEXT: vmovaps %ymm1, 3328(%rcx)14609; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14610; AVX2-NEXT: vmovaps %ymm0, 3296(%rcx)14611; AVX2-NEXT: vmovaps %ymm2, 3264(%rcx)14612; AVX2-NEXT: vmovaps %ymm11, 3232(%rcx)14613; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14614; AVX2-NEXT: vmovaps %ymm0, 3200(%rcx)14615; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14616; AVX2-NEXT: vmovaps %ymm0, 3168(%rcx)14617; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14618; AVX2-NEXT: vmovaps %ymm0, 3136(%rcx)14619; AVX2-NEXT: vmovaps %ymm13, 3104(%rcx)14620; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14621; AVX2-NEXT: vmovaps %ymm0, 3072(%rcx)14622; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14623; AVX2-NEXT: vmovaps %ymm0, 3040(%rcx)14624; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14625; AVX2-NEXT: vmovaps %ymm0, 3008(%rcx)14626; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14627; AVX2-NEXT: vmovaps %ymm0, 2976(%rcx)14628; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14629; AVX2-NEXT: vmovaps %ymm0, 2944(%rcx)14630; AVX2-NEXT: vmovaps %ymm14, 2912(%rcx)14631; AVX2-NEXT: vmovaps %ymm3, 2880(%rcx)14632; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14633; AVX2-NEXT: vmovaps %ymm0, 2848(%rcx)14634; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14635; AVX2-NEXT: vmovaps %ymm0, 2816(%rcx)14636; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14637; AVX2-NEXT: vmovaps %ymm0, 2784(%rcx)14638; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14639; AVX2-NEXT: vmovaps %ymm0, 2752(%rcx)14640; AVX2-NEXT: vmovaps %ymm4, 2720(%rcx)14641; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14642; AVX2-NEXT: vmovaps %ymm0, 2688(%rcx)14643; AVX2-NEXT: vmovaps %ymm5, 2656(%rcx)14644; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14645; AVX2-NEXT: vmovaps %ymm0, 2624(%rcx)14646; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14647; AVX2-NEXT: vmovaps %ymm0, 2592(%rcx)14648; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14649; AVX2-NEXT: vmovaps %ymm0, 2560(%rcx)14650; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14651; AVX2-NEXT: vmovaps %ymm0, 2528(%rcx)14652; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14653; AVX2-NEXT: vmovaps %ymm0, 2496(%rcx)14654; AVX2-NEXT: vmovaps %ymm7, 2464(%rcx)14655; AVX2-NEXT: vmovaps %ymm9, 2432(%rcx)14656; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14657; AVX2-NEXT: vmovaps %ymm0, 2400(%rcx)14658; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14659; AVX2-NEXT: vmovaps %ymm0, 2368(%rcx)14660; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14661; AVX2-NEXT: vmovaps %ymm0, 2336(%rcx)14662; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14663; AVX2-NEXT: vmovaps %ymm0, 2304(%rcx)14664; AVX2-NEXT: vmovaps %ymm10, 2272(%rcx)14665; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14666; AVX2-NEXT: vmovaps %ymm0, 2240(%rcx)14667; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14668; AVX2-NEXT: vmovaps %ymm0, 2208(%rcx)14669; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14670; AVX2-NEXT: vmovaps %ymm0, 2176(%rcx)14671; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14672; AVX2-NEXT: vmovaps %ymm0, 2144(%rcx)14673; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14674; AVX2-NEXT: vmovaps %ymm0, 2112(%rcx)14675; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14676; AVX2-NEXT: vmovaps %ymm0, 2080(%rcx)14677; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14678; AVX2-NEXT: vmovaps %ymm0, 2048(%rcx)14679; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14680; AVX2-NEXT: vmovaps %ymm0, 2016(%rcx)14681; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14682; AVX2-NEXT: vmovaps %ymm0, 1984(%rcx)14683; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14684; AVX2-NEXT: vmovaps %ymm0, 1952(%rcx)14685; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14686; AVX2-NEXT: vmovaps %ymm0, 1920(%rcx)14687; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14688; AVX2-NEXT: vmovaps %ymm0, 1888(%rcx)14689; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14690; AVX2-NEXT: vmovaps %ymm0, 1856(%rcx)14691; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14692; AVX2-NEXT: vmovaps %ymm0, 1824(%rcx)14693; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14694; AVX2-NEXT: vmovaps %ymm0, 1792(%rcx)14695; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14696; AVX2-NEXT: vmovaps %ymm0, 1760(%rcx)14697; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14698; AVX2-NEXT: vmovaps %ymm0, 1728(%rcx)14699; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14700; AVX2-NEXT: vmovaps %ymm0, 1696(%rcx)14701; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14702; AVX2-NEXT: vmovaps %ymm0, 1664(%rcx)14703; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14704; AVX2-NEXT: vmovaps %ymm0, 1632(%rcx)14705; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14706; AVX2-NEXT: vmovaps %ymm0, 1600(%rcx)14707; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14708; AVX2-NEXT: vmovaps %ymm0, 1568(%rcx)14709; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14710; AVX2-NEXT: vmovaps %ymm0, 1536(%rcx)14711; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14712; AVX2-NEXT: vmovaps %ymm0, 1504(%rcx)14713; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14714; AVX2-NEXT: vmovaps %ymm0, 1472(%rcx)14715; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14716; AVX2-NEXT: vmovaps %ymm0, 1440(%rcx)14717; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14718; AVX2-NEXT: vmovaps %ymm0, 1408(%rcx)14719; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14720; AVX2-NEXT: vmovaps %ymm0, 1376(%rcx)14721; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14722; AVX2-NEXT: vmovaps %ymm0, 1344(%rcx)14723; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14724; AVX2-NEXT: vmovaps %ymm0, 1312(%rcx)14725; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14726; AVX2-NEXT: vmovaps %ymm0, 1280(%rcx)14727; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14728; AVX2-NEXT: vmovaps %ymm0, 1248(%rcx)14729; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14730; AVX2-NEXT: vmovaps %ymm0, 1216(%rcx)14731; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14732; AVX2-NEXT: vmovaps %ymm0, 1184(%rcx)14733; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14734; AVX2-NEXT: vmovaps %ymm0, 1152(%rcx)14735; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14736; AVX2-NEXT: vmovaps %ymm0, 1120(%rcx)14737; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14738; AVX2-NEXT: vmovaps %ymm0, 1088(%rcx)14739; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14740; AVX2-NEXT: vmovaps %ymm0, 1056(%rcx)14741; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14742; AVX2-NEXT: vmovaps %ymm0, 1024(%rcx)14743; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14744; AVX2-NEXT: vmovaps %ymm0, 992(%rcx)14745; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14746; AVX2-NEXT: vmovaps %ymm0, 960(%rcx)14747; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14748; AVX2-NEXT: vmovaps %ymm0, 928(%rcx)14749; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14750; AVX2-NEXT: vmovaps %ymm0, 896(%rcx)14751; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14752; AVX2-NEXT: vmovaps %ymm0, 864(%rcx)14753; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14754; AVX2-NEXT: vmovaps %ymm0, 832(%rcx)14755; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14756; AVX2-NEXT: vmovaps %ymm0, 800(%rcx)14757; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14758; AVX2-NEXT: vmovaps %ymm0, 768(%rcx)14759; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14760; AVX2-NEXT: vmovaps %ymm0, 736(%rcx)14761; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14762; AVX2-NEXT: vmovaps %ymm0, 704(%rcx)14763; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14764; AVX2-NEXT: vmovaps %ymm0, 672(%rcx)14765; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14766; AVX2-NEXT: vmovaps %ymm0, 640(%rcx)14767; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14768; AVX2-NEXT: vmovaps %ymm0, 608(%rcx)14769; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14770; AVX2-NEXT: vmovaps %ymm0, 576(%rcx)14771; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14772; AVX2-NEXT: vmovaps %ymm0, 544(%rcx)14773; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14774; AVX2-NEXT: vmovaps %ymm0, 512(%rcx)14775; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14776; AVX2-NEXT: vmovaps %ymm0, 480(%rcx)14777; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14778; AVX2-NEXT: vmovaps %ymm0, 448(%rcx)14779; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14780; AVX2-NEXT: vmovaps %ymm0, 416(%rcx)14781; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14782; AVX2-NEXT: vmovaps %ymm0, 384(%rcx)14783; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14784; AVX2-NEXT: vmovaps %ymm0, 352(%rcx)14785; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14786; AVX2-NEXT: vmovaps %ymm0, 320(%rcx)14787; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14788; AVX2-NEXT: vmovaps %ymm0, 288(%rcx)14789; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14790; AVX2-NEXT: vmovaps %ymm0, 256(%rcx)14791; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14792; AVX2-NEXT: vmovaps %ymm0, 224(%rcx)14793; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14794; AVX2-NEXT: vmovaps %ymm0, 192(%rcx)14795; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14796; AVX2-NEXT: vmovaps %ymm0, 160(%rcx)14797; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14798; AVX2-NEXT: vmovaps %ymm0, 128(%rcx)14799; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14800; AVX2-NEXT: vmovaps %ymm0, 96(%rcx)14801; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14802; AVX2-NEXT: vmovaps %ymm0, 64(%rcx)14803; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14804; AVX2-NEXT: vmovaps %ymm0, 32(%rcx)14805; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14806; AVX2-NEXT: vmovaps %ymm0, (%rcx)14807; AVX2-NEXT: addq $3880, %rsp # imm = 0xF2814808; AVX2-NEXT: vzeroupper14809; AVX2-NEXT: retq14810;14811; AVX2-FP-LABEL: store_i64_stride7_vf64:14812; AVX2-FP: # %bb.0:14813; AVX2-FP-NEXT: subq $3880, %rsp # imm = 0xF2814814; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax14815; AVX2-FP-NEXT: vmovaps (%rdi), %ymm014816; AVX2-FP-NEXT: vmovaps (%rsi), %ymm114817; AVX2-FP-NEXT: vmovaps (%rdx), %ymm214818; AVX2-FP-NEXT: vmovaps (%r8), %ymm514819; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14820; AVX2-FP-NEXT: vmovaps (%r9), %ymm614821; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14822; AVX2-FP-NEXT: vmovaps (%rsi), %xmm314823; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm314824; AVX2-FP-NEXT: vmovaps (%rdi), %xmm414825; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14826; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm714827; AVX2-FP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14828; AVX2-FP-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm414829; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14830; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14831; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]14832; AVX2-FP-NEXT: vbroadcastsd 8(%rcx), %ymm414833; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]14834; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3,4,5,6,7]14835; AVX2-FP-NEXT: vmovaps (%r8), %xmm414836; AVX2-FP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14837; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm414838; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]14839; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14840; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14841; AVX2-FP-NEXT: vmovaps (%rax), %xmm814842; AVX2-FP-NEXT: vmovaps %xmm8, (%rsp) # 16-byte Spill14843; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]14844; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm8[1]14845; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]14846; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14847; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]14848; AVX2-FP-NEXT: vmovaps 16(%rdx), %xmm414849; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]14850; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]14851; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14852; AVX2-FP-NEXT: vmovaps 16(%rax), %xmm314853; AVX2-FP-NEXT: vmovaps 32(%rax), %xmm414854; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]14855; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]14856; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]14857; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3,4,5,6,7]14858; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14859; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm014860; AVX2-FP-NEXT: vmovaps 32(%r8), %xmm114861; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm1[0],mem[0]14862; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm214863; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]14864; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14865; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm214866; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14867; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14868; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14869; AVX2-FP-NEXT: vbroadcastsd 40(%rcx), %ymm214870; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14871; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm114872; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14873; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14874; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14875; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]14876; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm114877; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm214878; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14879; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14880; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14881; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm014882; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm414883; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14884; AVX2-FP-NEXT: vmovaps 32(%r9), %ymm314885; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14886; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14887; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14888; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14889; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14890; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14891; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14892; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14893; AVX2-FP-NEXT: vmovaps 48(%rax), %xmm114894; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14895; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14896; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm014897; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm014898; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm114899; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14900; AVX2-FP-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm114901; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14902; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14903; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm014904; AVX2-FP-NEXT: vbroadcastsd 72(%rcx), %ymm114905; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14906; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14907; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14908; AVX2-FP-NEXT: vmovaps 64(%r8), %xmm214909; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14910; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214911; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14912; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14913; AVX2-FP-NEXT: vmovaps 64(%rax), %xmm214914; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14915; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14916; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14917; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm214918; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm314919; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]14920; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]14921; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14922; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm414923; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14924; AVX2-FP-NEXT: vmovaps 64(%r9), %ymm114925; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14926; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]14927; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14928; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]14929; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14930; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]14931; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14932; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14933; AVX2-FP-NEXT: vmovaps 80(%rax), %xmm114934; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14935; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14936; AVX2-FP-NEXT: vmovaps 96(%r8), %xmm014937; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]14938; AVX2-FP-NEXT: vmovaps 96(%rax), %xmm214939; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm114940; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm314941; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14942; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm314943; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]14944; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14945; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm314946; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14947; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14948; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]14949; AVX2-FP-NEXT: vbroadcastsd 104(%rcx), %ymm314950; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14951; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014952; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14953; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14954; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]14955; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14956; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm114957; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm214958; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]14959; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14960; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14961; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm014962; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm414963; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14964; AVX2-FP-NEXT: vmovaps 96(%r9), %ymm314965; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14966; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]14967; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]14968; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]14969; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14970; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]14971; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]14972; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14973; AVX2-FP-NEXT: vmovaps 112(%rax), %xmm114974; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]14975; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14976; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm014977; AVX2-FP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm014978; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm114979; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14980; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm114981; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14982; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14983; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm014984; AVX2-FP-NEXT: vbroadcastsd 136(%rcx), %ymm114985; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]14986; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]14987; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]14988; AVX2-FP-NEXT: vmovaps 128(%r8), %xmm214989; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14990; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm214991; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]14992; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14993; AVX2-FP-NEXT: vmovaps 128(%rax), %xmm214994; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14995; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]14996; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]14997; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm214998; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm314999; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15000; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15001; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15002; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm415003; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15004; AVX2-FP-NEXT: vmovaps 128(%r9), %ymm115005; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15006; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]15007; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15008; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]15009; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15010; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15011; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15012; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15013; AVX2-FP-NEXT: vmovaps 144(%rax), %xmm115014; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15015; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15016; AVX2-FP-NEXT: vmovaps 160(%r8), %xmm015017; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15018; AVX2-FP-NEXT: vmovaps 160(%rax), %xmm215019; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115020; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm315021; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15022; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm315023; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15024; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15025; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm315026; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15027; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15028; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]15029; AVX2-FP-NEXT: vbroadcastsd 168(%rcx), %ymm315030; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15031; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015032; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15033; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15034; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15035; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15036; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm115037; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm215038; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15039; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15040; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15041; AVX2-FP-NEXT: vmovaps 160(%rdx), %ymm015042; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm415043; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15044; AVX2-FP-NEXT: vmovaps 160(%r9), %ymm315045; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15046; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]15047; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15048; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]15049; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15050; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15051; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15052; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15053; AVX2-FP-NEXT: vmovaps 176(%rax), %xmm115054; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15055; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15056; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm015057; AVX2-FP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm015058; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm115059; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15060; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdx), %ymm1, %ymm115061; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15062; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15063; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm015064; AVX2-FP-NEXT: vbroadcastsd 200(%rcx), %ymm115065; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]15066; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]15067; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]15068; AVX2-FP-NEXT: vmovaps 192(%r8), %xmm215069; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15070; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm215071; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15072; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15073; AVX2-FP-NEXT: vmovaps 192(%rax), %xmm215074; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15075; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15076; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]15077; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm215078; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm315079; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15080; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15081; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15082; AVX2-FP-NEXT: vmovaps 208(%rdx), %xmm115083; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]15084; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm515085; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15086; AVX2-FP-NEXT: vmovaps 192(%r9), %ymm415087; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15088; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]15089; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15090; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15091; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15092; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15093; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15094; AVX2-FP-NEXT: vmovaps 208(%rax), %xmm115095; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15096; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15097; AVX2-FP-NEXT: vmovaps 224(%r8), %xmm015098; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15099; AVX2-FP-NEXT: vmovaps 224(%rax), %xmm215100; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115101; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm315102; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15103; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm315104; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15105; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15106; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm315107; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15108; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15109; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]15110; AVX2-FP-NEXT: vbroadcastsd 232(%rcx), %ymm315111; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15112; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015113; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15114; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15115; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15116; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15117; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm115118; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm215119; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15120; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15121; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15122; AVX2-FP-NEXT: vmovaps 224(%rdx), %ymm015123; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm415124; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15125; AVX2-FP-NEXT: vmovaps 224(%r9), %ymm315126; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15127; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]15128; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15129; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]15130; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15131; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15132; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15133; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15134; AVX2-FP-NEXT: vmovaps 240(%rax), %xmm115135; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15136; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15137; AVX2-FP-NEXT: vmovaps 256(%rsi), %xmm015138; AVX2-FP-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm015139; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm115140; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15141; AVX2-FP-NEXT: vinsertf128 $1, 256(%rdx), %ymm1, %ymm115142; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15143; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15144; AVX2-FP-NEXT: vmovaps 256(%rdx), %ymm015145; AVX2-FP-NEXT: vbroadcastsd 264(%rcx), %ymm115146; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]15147; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]15148; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]15149; AVX2-FP-NEXT: vmovaps 256(%r8), %xmm215150; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15151; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm215152; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15153; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15154; AVX2-FP-NEXT: vmovaps 256(%rax), %xmm215155; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15156; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15157; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]15158; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm215159; AVX2-FP-NEXT: vmovaps 256(%rsi), %ymm315160; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15161; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15162; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15163; AVX2-FP-NEXT: vmovaps 272(%rdx), %xmm115164; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]15165; AVX2-FP-NEXT: vmovaps 256(%r8), %ymm515166; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15167; AVX2-FP-NEXT: vmovaps 256(%r9), %ymm415168; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15169; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]15170; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15171; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15172; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15173; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15174; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15175; AVX2-FP-NEXT: vmovaps 272(%rax), %xmm115176; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15177; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15178; AVX2-FP-NEXT: vmovaps 288(%r8), %xmm015179; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15180; AVX2-FP-NEXT: vmovaps 288(%rax), %xmm215181; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115182; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm315183; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15184; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm315185; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15186; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15187; AVX2-FP-NEXT: vmovaps 288(%rdx), %xmm315188; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15189; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15190; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]15191; AVX2-FP-NEXT: vbroadcastsd 296(%rcx), %ymm315192; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15193; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015194; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15195; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15196; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15197; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15198; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm115199; AVX2-FP-NEXT: vmovaps 288(%rsi), %ymm215200; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15201; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15202; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15203; AVX2-FP-NEXT: vmovaps 288(%rdx), %ymm015204; AVX2-FP-NEXT: vmovaps 288(%r8), %ymm415205; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15206; AVX2-FP-NEXT: vmovaps 288(%r9), %ymm315207; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15208; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]15209; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15210; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]15211; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15212; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15213; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15214; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15215; AVX2-FP-NEXT: vmovaps 304(%rax), %xmm115216; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15217; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15218; AVX2-FP-NEXT: vmovaps 320(%rsi), %xmm015219; AVX2-FP-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm015220; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm115221; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15222; AVX2-FP-NEXT: vinsertf128 $1, 320(%rdx), %ymm1, %ymm115223; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15224; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15225; AVX2-FP-NEXT: vmovaps 320(%rdx), %ymm015226; AVX2-FP-NEXT: vbroadcastsd 328(%rcx), %ymm115227; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]15228; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]15229; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]15230; AVX2-FP-NEXT: vmovaps 320(%r8), %xmm215231; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15232; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm215233; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15234; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15235; AVX2-FP-NEXT: vmovaps 320(%rax), %xmm1015236; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15237; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm10[1]15238; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm215239; AVX2-FP-NEXT: vmovaps 320(%rsi), %ymm315240; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15241; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15242; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15243; AVX2-FP-NEXT: vmovaps 336(%rdx), %xmm115244; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]15245; AVX2-FP-NEXT: vmovaps 320(%r8), %ymm915246; AVX2-FP-NEXT: vmovaps 320(%r9), %ymm415247; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15248; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm9[0],ymm4[0],ymm9[2],ymm4[2]15249; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15250; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15251; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15252; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15253; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15254; AVX2-FP-NEXT: vmovaps 336(%rax), %xmm115255; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15256; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15257; AVX2-FP-NEXT: vmovaps 352(%r8), %xmm015258; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15259; AVX2-FP-NEXT: vmovaps 352(%rax), %xmm215260; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115261; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm315262; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15263; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm315264; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15265; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15266; AVX2-FP-NEXT: vmovaps 352(%rdx), %xmm715267; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15268; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm7[1]15269; AVX2-FP-NEXT: vbroadcastsd 360(%rcx), %ymm315270; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15271; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015272; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15273; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15274; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15275; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15276; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm115277; AVX2-FP-NEXT: vmovaps 352(%rsi), %ymm215278; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15279; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15280; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15281; AVX2-FP-NEXT: vmovaps 352(%rdx), %ymm015282; AVX2-FP-NEXT: vmovaps 352(%r8), %ymm515283; AVX2-FP-NEXT: vmovaps 352(%r9), %ymm315284; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15285; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]15286; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15287; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]15288; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15289; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15290; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15291; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15292; AVX2-FP-NEXT: vmovaps 368(%rax), %xmm115293; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15294; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15295; AVX2-FP-NEXT: vmovaps 384(%rsi), %xmm015296; AVX2-FP-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm015297; AVX2-FP-NEXT: vmovaps 384(%rdi), %xmm115298; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15299; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdx), %ymm1, %ymm115300; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15301; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15302; AVX2-FP-NEXT: vmovaps 384(%rdx), %ymm015303; AVX2-FP-NEXT: vbroadcastsd 392(%rcx), %ymm115304; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]15305; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]15306; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]15307; AVX2-FP-NEXT: vmovaps 384(%r8), %xmm215308; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15309; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm215310; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15311; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15312; AVX2-FP-NEXT: vmovaps 384(%rax), %xmm215313; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15314; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15315; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]15316; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm215317; AVX2-FP-NEXT: vmovaps 384(%rsi), %ymm315318; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15319; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15320; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15321; AVX2-FP-NEXT: vmovaps 400(%rdx), %xmm115322; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]15323; AVX2-FP-NEXT: vmovaps 384(%r8), %ymm1515324; AVX2-FP-NEXT: vmovaps 384(%r9), %ymm415325; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15326; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm15[0],ymm4[0],ymm15[2],ymm4[2]15327; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15328; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15329; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15330; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15331; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15332; AVX2-FP-NEXT: vmovaps 400(%rax), %xmm115333; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15334; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15335; AVX2-FP-NEXT: vmovaps 416(%r8), %xmm015336; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15337; AVX2-FP-NEXT: vmovaps 416(%rax), %xmm215338; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115339; AVX2-FP-NEXT: vmovaps 416(%rdi), %xmm1315340; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm315341; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15342; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15343; AVX2-FP-NEXT: vmovaps 416(%rdx), %xmm1415344; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15345; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm14[1]15346; AVX2-FP-NEXT: vbroadcastsd 424(%rcx), %ymm315347; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15348; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015349; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15350; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15351; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15352; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15353; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm115354; AVX2-FP-NEXT: vmovaps 416(%rsi), %ymm215355; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15356; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15357; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15358; AVX2-FP-NEXT: vmovaps 416(%r8), %ymm015359; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]15360; AVX2-FP-NEXT: vmovaps 416(%rdx), %ymm315361; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],mem[0],ymm3[2],mem[2]15362; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]15363; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15364; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15365; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15366; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]15367; AVX2-FP-NEXT: vmovaps 432(%rax), %xmm115368; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15369; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15370; AVX2-FP-NEXT: vmovaps 448(%rsi), %xmm015371; AVX2-FP-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm015372; AVX2-FP-NEXT: vmovaps 448(%rdi), %xmm115373; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdx), %ymm1, %ymm115374; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15375; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15376; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm015377; AVX2-FP-NEXT: vmovaps 448(%r8), %ymm1115378; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15379; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm11[0,1],ymm0[0,1]15380; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]15381; AVX2-FP-NEXT: vbroadcastsd 448(%rax), %ymm215382; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]15383; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15384; AVX2-FP-NEXT: vmovaps 448(%rdx), %ymm215385; AVX2-FP-NEXT: vbroadcastsd 456(%rcx), %ymm115386; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]15387; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]15388; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]15389; AVX2-FP-NEXT: vinsertf128 $1, 448(%r8), %ymm0, %ymm315390; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15391; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15392; AVX2-FP-NEXT: vmovaps 448(%rsi), %ymm115393; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]15394; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15395; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]15396; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15397; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15398; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15399; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]15400; AVX2-FP-NEXT: vmovaps 464(%rax), %xmm115401; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15402; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15403; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm015404; AVX2-FP-NEXT: vmovaps 480(%r8), %ymm1215405; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15406; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm12[0,1],ymm0[0,1]15407; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]15408; AVX2-FP-NEXT: vbroadcastsd 480(%rax), %ymm315409; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]15410; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15411; AVX2-FP-NEXT: vmovaps 480(%rdx), %xmm815412; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15413; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm8[1]15414; AVX2-FP-NEXT: vbroadcastsd 488(%rcx), %ymm315415; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15416; AVX2-FP-NEXT: vinsertf128 $1, 480(%r8), %ymm0, %ymm315417; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15418; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15419; AVX2-FP-NEXT: vmovaps 480(%rsi), %ymm115420; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]15421; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15422; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]15423; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15424; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15425; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15426; AVX2-FP-NEXT: vmovaps 480(%rdx), %ymm615427; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm6[6,7]15428; AVX2-FP-NEXT: vmovaps 496(%rax), %xmm115429; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15430; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15431; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15432; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15433; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15434; AVX2-FP-NEXT: vbroadcastsd (%rsp), %ymm1 # 16-byte Folded Reload15435; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15436; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15437; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15438; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15439; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15440; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15441; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15442; AVX2-FP-NEXT: vbroadcastsd 24(%rcx), %ymm115443; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15444; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15445; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15446; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15447; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15448; AVX2-FP-NEXT: vbroadcastsd 32(%rcx), %ymm115449; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15450; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15451; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15452; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15453; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15454; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15455; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15456; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm115457; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15458; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15459; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15460; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15461; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15462; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload15463; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15464; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15465; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15466; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15467; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15468; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15469; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15470; AVX2-FP-NEXT: vbroadcastsd 88(%rcx), %ymm115471; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15472; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15473; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15474; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15475; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15476; AVX2-FP-NEXT: vbroadcastsd 96(%rcx), %ymm115477; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15478; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15479; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15480; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15481; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15482; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15483; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15484; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm115485; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15486; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15487; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15488; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15489; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15490; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload15491; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15492; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15493; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15494; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15495; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15496; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15497; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15498; AVX2-FP-NEXT: vbroadcastsd 152(%rcx), %ymm115499; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15500; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15501; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15502; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15503; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15504; AVX2-FP-NEXT: vbroadcastsd 160(%rcx), %ymm115505; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15506; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15507; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15508; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15509; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15510; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15511; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15512; AVX2-FP-NEXT: vbroadcastsd 184(%rcx), %ymm115513; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15514; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15515; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15516; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15517; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15518; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload15519; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15520; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15521; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15522; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15523; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15524; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15525; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15526; AVX2-FP-NEXT: vbroadcastsd 216(%rcx), %ymm115527; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15528; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15529; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15530; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15531; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15532; AVX2-FP-NEXT: vbroadcastsd 224(%rcx), %ymm115533; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15534; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15535; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15536; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15537; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15538; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15539; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15540; AVX2-FP-NEXT: vbroadcastsd 248(%rcx), %ymm115541; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15542; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15543; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15544; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15545; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15546; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload15547; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15548; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15549; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15550; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15551; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15552; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15553; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15554; AVX2-FP-NEXT: vbroadcastsd 280(%rcx), %ymm115555; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15556; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15557; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15558; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15559; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15560; AVX2-FP-NEXT: vbroadcastsd 288(%rcx), %ymm115561; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15562; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15563; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15564; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15565; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15566; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15567; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15568; AVX2-FP-NEXT: vbroadcastsd 312(%rcx), %ymm115569; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15570; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15571; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15572; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15573; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15574; AVX2-FP-NEXT: vbroadcastsd %xmm10, %ymm115575; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15576; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload15577; AVX2-FP-NEXT: # ymm0 = ymm9[1],mem[1],ymm9[3],mem[3]15578; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15579; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15580; AVX2-FP-NEXT: vbroadcastsd 344(%rcx), %ymm115581; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5,6,7]15582; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15583; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15584; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm015585; AVX2-FP-NEXT: vbroadcastsd 352(%rcx), %ymm115586; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],ymm1[6,7]15587; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm0 # 32-byte Folded Reload15588; AVX2-FP-NEXT: # ymm0 = ymm5[1],mem[1],ymm5[3],mem[3]15589; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15590; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15591; AVX2-FP-NEXT: vbroadcastsd 376(%rcx), %ymm115592; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm1[0,1],ymm0[2,3,4,5,6,7]15593; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload15594; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]15595; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15596; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload15597; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]15598; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload15599; AVX2-FP-NEXT: # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]15600; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15601; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]15602; AVX2-FP-NEXT: vbroadcastsd 408(%rcx), %ymm1515603; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm0[2,3,4,5,6,7]15604; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm13[0],mem[0]15605; AVX2-FP-NEXT: vinsertf128 $1, %xmm14, %ymm15, %ymm1415606; AVX2-FP-NEXT: vbroadcastsd 416(%rcx), %ymm1515607; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]15608; AVX2-FP-NEXT: vbroadcastsd 440(%rcx), %ymm1515609; AVX2-FP-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]15610; AVX2-FP-NEXT: vbroadcastsd 440(%r9), %ymm1315611; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm13[4,5,6,7]15612; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]15613; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm11[2,3]15614; AVX2-FP-NEXT: vbroadcastsd 464(%r9), %ymm1115615; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm11[6,7]15616; AVX2-FP-NEXT: vbroadcastsd 472(%rcx), %ymm1115617; AVX2-FP-NEXT: vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]15618; AVX2-FP-NEXT: vbroadcastsd 472(%r9), %ymm1315619; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm11[0,1,2,3],ymm13[4,5,6,7]15620; AVX2-FP-NEXT: vmovaps 448(%rax), %ymm015621; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload15622; AVX2-FP-NEXT: # ymm11 = mem[0,1],ymm0[2,3],mem[4,5,6,7]15623; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm0[6,7]15624; AVX2-FP-NEXT: vmovaps 480(%rdi), %xmm1315625; AVX2-FP-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]15626; AVX2-FP-NEXT: vinsertf128 $1, %xmm8, %ymm13, %ymm815627; AVX2-FP-NEXT: vbroadcastsd 480(%rcx), %ymm1315628; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]15629; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],mem[0],ymm6[2],mem[2]15630; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm12[2,3]15631; AVX2-FP-NEXT: vbroadcastsd 496(%r9), %ymm1215632; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm12[6,7]15633; AVX2-FP-NEXT: vbroadcastsd 504(%rcx), %ymm1215634; AVX2-FP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]15635; AVX2-FP-NEXT: vbroadcastsd 504(%r9), %ymm1315636; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]15637; AVX2-FP-NEXT: vmovaps 480(%rax), %ymm1315638; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm0 # 32-byte Folded Reload15639; AVX2-FP-NEXT: # ymm0 = mem[0,1],ymm13[2,3],mem[4,5,6,7]15640; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]15641; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rcx15642; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5],mem[6,7]15643; AVX2-FP-NEXT: vmovaps %ymm12, 3552(%rcx)15644; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload15645; AVX2-FP-NEXT: vmovaps %ymm12, 3520(%rcx)15646; AVX2-FP-NEXT: vmovaps %ymm6, 3488(%rcx)15647; AVX2-FP-NEXT: vmovaps %ymm0, 3456(%rcx)15648; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15649; AVX2-FP-NEXT: vmovaps %ymm0, 3424(%rcx)15650; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15651; AVX2-FP-NEXT: vmovaps %ymm0, 3392(%rcx)15652; AVX2-FP-NEXT: vmovaps %ymm8, 3360(%rcx)15653; AVX2-FP-NEXT: vmovaps %ymm1, 3328(%rcx)15654; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15655; AVX2-FP-NEXT: vmovaps %ymm0, 3296(%rcx)15656; AVX2-FP-NEXT: vmovaps %ymm2, 3264(%rcx)15657; AVX2-FP-NEXT: vmovaps %ymm11, 3232(%rcx)15658; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15659; AVX2-FP-NEXT: vmovaps %ymm0, 3200(%rcx)15660; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15661; AVX2-FP-NEXT: vmovaps %ymm0, 3168(%rcx)15662; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15663; AVX2-FP-NEXT: vmovaps %ymm0, 3136(%rcx)15664; AVX2-FP-NEXT: vmovaps %ymm13, 3104(%rcx)15665; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15666; AVX2-FP-NEXT: vmovaps %ymm0, 3072(%rcx)15667; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15668; AVX2-FP-NEXT: vmovaps %ymm0, 3040(%rcx)15669; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15670; AVX2-FP-NEXT: vmovaps %ymm0, 3008(%rcx)15671; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15672; AVX2-FP-NEXT: vmovaps %ymm0, 2976(%rcx)15673; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15674; AVX2-FP-NEXT: vmovaps %ymm0, 2944(%rcx)15675; AVX2-FP-NEXT: vmovaps %ymm14, 2912(%rcx)15676; AVX2-FP-NEXT: vmovaps %ymm3, 2880(%rcx)15677; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15678; AVX2-FP-NEXT: vmovaps %ymm0, 2848(%rcx)15679; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15680; AVX2-FP-NEXT: vmovaps %ymm0, 2816(%rcx)15681; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15682; AVX2-FP-NEXT: vmovaps %ymm0, 2784(%rcx)15683; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15684; AVX2-FP-NEXT: vmovaps %ymm0, 2752(%rcx)15685; AVX2-FP-NEXT: vmovaps %ymm4, 2720(%rcx)15686; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15687; AVX2-FP-NEXT: vmovaps %ymm0, 2688(%rcx)15688; AVX2-FP-NEXT: vmovaps %ymm5, 2656(%rcx)15689; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15690; AVX2-FP-NEXT: vmovaps %ymm0, 2624(%rcx)15691; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15692; AVX2-FP-NEXT: vmovaps %ymm0, 2592(%rcx)15693; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15694; AVX2-FP-NEXT: vmovaps %ymm0, 2560(%rcx)15695; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15696; AVX2-FP-NEXT: vmovaps %ymm0, 2528(%rcx)15697; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15698; AVX2-FP-NEXT: vmovaps %ymm0, 2496(%rcx)15699; AVX2-FP-NEXT: vmovaps %ymm7, 2464(%rcx)15700; AVX2-FP-NEXT: vmovaps %ymm9, 2432(%rcx)15701; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15702; AVX2-FP-NEXT: vmovaps %ymm0, 2400(%rcx)15703; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15704; AVX2-FP-NEXT: vmovaps %ymm0, 2368(%rcx)15705; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15706; AVX2-FP-NEXT: vmovaps %ymm0, 2336(%rcx)15707; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15708; AVX2-FP-NEXT: vmovaps %ymm0, 2304(%rcx)15709; AVX2-FP-NEXT: vmovaps %ymm10, 2272(%rcx)15710; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15711; AVX2-FP-NEXT: vmovaps %ymm0, 2240(%rcx)15712; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15713; AVX2-FP-NEXT: vmovaps %ymm0, 2208(%rcx)15714; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15715; AVX2-FP-NEXT: vmovaps %ymm0, 2176(%rcx)15716; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15717; AVX2-FP-NEXT: vmovaps %ymm0, 2144(%rcx)15718; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15719; AVX2-FP-NEXT: vmovaps %ymm0, 2112(%rcx)15720; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15721; AVX2-FP-NEXT: vmovaps %ymm0, 2080(%rcx)15722; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15723; AVX2-FP-NEXT: vmovaps %ymm0, 2048(%rcx)15724; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15725; AVX2-FP-NEXT: vmovaps %ymm0, 2016(%rcx)15726; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15727; AVX2-FP-NEXT: vmovaps %ymm0, 1984(%rcx)15728; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15729; AVX2-FP-NEXT: vmovaps %ymm0, 1952(%rcx)15730; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15731; AVX2-FP-NEXT: vmovaps %ymm0, 1920(%rcx)15732; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15733; AVX2-FP-NEXT: vmovaps %ymm0, 1888(%rcx)15734; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15735; AVX2-FP-NEXT: vmovaps %ymm0, 1856(%rcx)15736; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15737; AVX2-FP-NEXT: vmovaps %ymm0, 1824(%rcx)15738; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15739; AVX2-FP-NEXT: vmovaps %ymm0, 1792(%rcx)15740; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15741; AVX2-FP-NEXT: vmovaps %ymm0, 1760(%rcx)15742; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15743; AVX2-FP-NEXT: vmovaps %ymm0, 1728(%rcx)15744; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15745; AVX2-FP-NEXT: vmovaps %ymm0, 1696(%rcx)15746; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15747; AVX2-FP-NEXT: vmovaps %ymm0, 1664(%rcx)15748; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15749; AVX2-FP-NEXT: vmovaps %ymm0, 1632(%rcx)15750; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15751; AVX2-FP-NEXT: vmovaps %ymm0, 1600(%rcx)15752; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15753; AVX2-FP-NEXT: vmovaps %ymm0, 1568(%rcx)15754; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15755; AVX2-FP-NEXT: vmovaps %ymm0, 1536(%rcx)15756; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15757; AVX2-FP-NEXT: vmovaps %ymm0, 1504(%rcx)15758; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15759; AVX2-FP-NEXT: vmovaps %ymm0, 1472(%rcx)15760; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15761; AVX2-FP-NEXT: vmovaps %ymm0, 1440(%rcx)15762; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15763; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%rcx)15764; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15765; AVX2-FP-NEXT: vmovaps %ymm0, 1376(%rcx)15766; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15767; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%rcx)15768; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15769; AVX2-FP-NEXT: vmovaps %ymm0, 1312(%rcx)15770; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15771; AVX2-FP-NEXT: vmovaps %ymm0, 1280(%rcx)15772; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15773; AVX2-FP-NEXT: vmovaps %ymm0, 1248(%rcx)15774; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15775; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%rcx)15776; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15777; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%rcx)15778; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15779; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%rcx)15780; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15781; AVX2-FP-NEXT: vmovaps %ymm0, 1120(%rcx)15782; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15783; AVX2-FP-NEXT: vmovaps %ymm0, 1088(%rcx)15784; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15785; AVX2-FP-NEXT: vmovaps %ymm0, 1056(%rcx)15786; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15787; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%rcx)15788; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15789; AVX2-FP-NEXT: vmovaps %ymm0, 992(%rcx)15790; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15791; AVX2-FP-NEXT: vmovaps %ymm0, 960(%rcx)15792; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15793; AVX2-FP-NEXT: vmovaps %ymm0, 928(%rcx)15794; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15795; AVX2-FP-NEXT: vmovaps %ymm0, 896(%rcx)15796; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15797; AVX2-FP-NEXT: vmovaps %ymm0, 864(%rcx)15798; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15799; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rcx)15800; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15801; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rcx)15802; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15803; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rcx)15804; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15805; AVX2-FP-NEXT: vmovaps %ymm0, 736(%rcx)15806; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15807; AVX2-FP-NEXT: vmovaps %ymm0, 704(%rcx)15808; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15809; AVX2-FP-NEXT: vmovaps %ymm0, 672(%rcx)15810; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15811; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rcx)15812; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15813; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rcx)15814; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15815; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rcx)15816; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15817; AVX2-FP-NEXT: vmovaps %ymm0, 544(%rcx)15818; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15819; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rcx)15820; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15821; AVX2-FP-NEXT: vmovaps %ymm0, 480(%rcx)15822; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15823; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rcx)15824; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15825; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rcx)15826; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15827; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rcx)15828; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15829; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rcx)15830; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15831; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rcx)15832; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15833; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rcx)15834; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15835; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rcx)15836; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15837; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rcx)15838; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15839; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rcx)15840; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15841; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rcx)15842; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15843; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rcx)15844; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15845; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rcx)15846; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15847; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rcx)15848; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15849; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rcx)15850; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15851; AVX2-FP-NEXT: vmovaps %ymm0, (%rcx)15852; AVX2-FP-NEXT: addq $3880, %rsp # imm = 0xF2815853; AVX2-FP-NEXT: vzeroupper15854; AVX2-FP-NEXT: retq15855;15856; AVX2-FCP-LABEL: store_i64_stride7_vf64:15857; AVX2-FCP: # %bb.0:15858; AVX2-FCP-NEXT: subq $3880, %rsp # imm = 0xF2815859; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax15860; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm015861; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm115862; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm215863; AVX2-FCP-NEXT: vmovaps (%r8), %ymm515864; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15865; AVX2-FCP-NEXT: vmovaps (%r9), %ymm615866; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15867; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm315868; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm3, %ymm315869; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm415870; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15871; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm715872; AVX2-FCP-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15873; AVX2-FCP-NEXT: vinsertf128 $1, (%rdx), %ymm4, %ymm415874; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]15875; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15876; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]15877; AVX2-FCP-NEXT: vbroadcastsd 8(%rcx), %ymm415878; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]15879; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3,4,5,6,7]15880; AVX2-FCP-NEXT: vmovaps (%r8), %xmm415881; AVX2-FCP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15882; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm415883; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]15884; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15885; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15886; AVX2-FCP-NEXT: vmovaps (%rax), %xmm815887; AVX2-FCP-NEXT: vmovaps %xmm8, (%rsp) # 16-byte Spill15888; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]15889; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm8[1]15890; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]15891; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15892; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]15893; AVX2-FCP-NEXT: vmovaps 16(%rdx), %xmm415894; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]15895; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]15896; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15897; AVX2-FCP-NEXT: vmovaps 16(%rax), %xmm315898; AVX2-FCP-NEXT: vmovaps 32(%rax), %xmm415899; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]15900; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]15901; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]15902; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3,4,5,6,7]15903; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15904; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm015905; AVX2-FCP-NEXT: vmovaps 32(%r8), %xmm115906; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm1[0],mem[0]15907; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm215908; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]15909; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15910; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm215911; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15912; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15913; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]15914; AVX2-FCP-NEXT: vbroadcastsd 40(%rcx), %ymm215915; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]15916; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm115917; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]15918; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15919; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]15920; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]15921; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm115922; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm215923; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15924; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]15925; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15926; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm015927; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm415928; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15929; AVX2-FCP-NEXT: vmovaps 32(%r9), %ymm315930; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15931; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]15932; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15933; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]15934; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15935; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]15936; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15937; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15938; AVX2-FCP-NEXT: vmovaps 48(%rax), %xmm115939; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15940; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15941; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm015942; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm015943; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm115944; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15945; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rdx), %ymm1, %ymm115946; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15947; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15948; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm015949; AVX2-FCP-NEXT: vbroadcastsd 72(%rcx), %ymm115950; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]15951; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]15952; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]15953; AVX2-FCP-NEXT: vmovaps 64(%r8), %xmm215954; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15955; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm215956; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15957; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15958; AVX2-FCP-NEXT: vmovaps 64(%rax), %xmm215959; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15960; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15961; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]15962; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm215963; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm315964; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]15965; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]15966; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15967; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm415968; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15969; AVX2-FCP-NEXT: vmovaps 64(%r9), %ymm115970; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15971; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]15972; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]15973; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]15974; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15975; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]15976; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]15977; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15978; AVX2-FCP-NEXT: vmovaps 80(%rax), %xmm115979; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]15980; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15981; AVX2-FCP-NEXT: vmovaps 96(%r8), %xmm015982; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]15983; AVX2-FCP-NEXT: vmovaps 96(%rax), %xmm215984; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm115985; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm315986; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15987; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm315988; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]15989; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15990; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm315991; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15992; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]15993; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]15994; AVX2-FCP-NEXT: vbroadcastsd 104(%rcx), %ymm315995; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]15996; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015997; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15998; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15999; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16000; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16001; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm116002; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm216003; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16004; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16005; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16006; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm016007; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm416008; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16009; AVX2-FCP-NEXT: vmovaps 96(%r9), %ymm316010; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16011; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]16012; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16013; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]16014; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16015; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16016; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16017; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16018; AVX2-FCP-NEXT: vmovaps 112(%rax), %xmm116019; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16020; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16021; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm016022; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm016023; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm116024; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16025; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdx), %ymm1, %ymm116026; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16027; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16028; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm016029; AVX2-FCP-NEXT: vbroadcastsd 136(%rcx), %ymm116030; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]16031; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]16032; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]16033; AVX2-FCP-NEXT: vmovaps 128(%r8), %xmm216034; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16035; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm216036; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]16037; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16038; AVX2-FCP-NEXT: vmovaps 128(%rax), %xmm216039; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16040; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16041; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16042; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm216043; AVX2-FCP-NEXT: vmovaps 128(%rsi), %ymm316044; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16045; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16046; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16047; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm416048; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16049; AVX2-FCP-NEXT: vmovaps 128(%r9), %ymm116050; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16051; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],ymm1[0],ymm4[2],ymm1[2]16052; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16053; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm4[2,3],ymm1[2,3]16054; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16055; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16056; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16057; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16058; AVX2-FCP-NEXT: vmovaps 144(%rax), %xmm116059; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16060; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16061; AVX2-FCP-NEXT: vmovaps 160(%r8), %xmm016062; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]16063; AVX2-FCP-NEXT: vmovaps 160(%rax), %xmm216064; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm116065; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm316066; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16067; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm316068; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16069; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16070; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm316071; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16072; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16073; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]16074; AVX2-FCP-NEXT: vbroadcastsd 168(%rcx), %ymm316075; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16076; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016077; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16078; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16079; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16080; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16081; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm116082; AVX2-FCP-NEXT: vmovaps 160(%rsi), %ymm216083; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16084; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16085; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16086; AVX2-FCP-NEXT: vmovaps 160(%rdx), %ymm016087; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm416088; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16089; AVX2-FCP-NEXT: vmovaps 160(%r9), %ymm316090; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16091; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]16092; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16093; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]16094; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16095; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16096; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16097; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16098; AVX2-FCP-NEXT: vmovaps 176(%rax), %xmm116099; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16100; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16101; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm016102; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm016103; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm116104; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16105; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdx), %ymm1, %ymm116106; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16107; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16108; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm016109; AVX2-FCP-NEXT: vbroadcastsd 200(%rcx), %ymm116110; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]16111; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]16112; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]16113; AVX2-FCP-NEXT: vmovaps 192(%r8), %xmm216114; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16115; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm216116; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]16117; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16118; AVX2-FCP-NEXT: vmovaps 192(%rax), %xmm216119; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16120; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16121; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16122; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm216123; AVX2-FCP-NEXT: vmovaps 192(%rsi), %ymm316124; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16125; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16126; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16127; AVX2-FCP-NEXT: vmovaps 208(%rdx), %xmm116128; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]16129; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm516130; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16131; AVX2-FCP-NEXT: vmovaps 192(%r9), %ymm416132; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16133; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]16134; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16135; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16136; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16137; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16138; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16139; AVX2-FCP-NEXT: vmovaps 208(%rax), %xmm116140; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16141; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16142; AVX2-FCP-NEXT: vmovaps 224(%r8), %xmm016143; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]16144; AVX2-FCP-NEXT: vmovaps 224(%rax), %xmm216145; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm116146; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm316147; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16148; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm316149; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16150; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16151; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm316152; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16153; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16154; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]16155; AVX2-FCP-NEXT: vbroadcastsd 232(%rcx), %ymm316156; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16157; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016158; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16159; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16160; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16161; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16162; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm116163; AVX2-FCP-NEXT: vmovaps 224(%rsi), %ymm216164; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16165; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16166; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16167; AVX2-FCP-NEXT: vmovaps 224(%rdx), %ymm016168; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm416169; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16170; AVX2-FCP-NEXT: vmovaps 224(%r9), %ymm316171; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16172; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]16173; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16174; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]16175; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16176; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16177; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16178; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16179; AVX2-FCP-NEXT: vmovaps 240(%rax), %xmm116180; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16181; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16182; AVX2-FCP-NEXT: vmovaps 256(%rsi), %xmm016183; AVX2-FCP-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm016184; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm116185; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16186; AVX2-FCP-NEXT: vinsertf128 $1, 256(%rdx), %ymm1, %ymm116187; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16188; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16189; AVX2-FCP-NEXT: vmovaps 256(%rdx), %ymm016190; AVX2-FCP-NEXT: vbroadcastsd 264(%rcx), %ymm116191; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]16192; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]16193; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]16194; AVX2-FCP-NEXT: vmovaps 256(%r8), %xmm216195; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16196; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm216197; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]16198; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16199; AVX2-FCP-NEXT: vmovaps 256(%rax), %xmm216200; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16201; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16202; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16203; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm216204; AVX2-FCP-NEXT: vmovaps 256(%rsi), %ymm316205; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16206; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16207; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16208; AVX2-FCP-NEXT: vmovaps 272(%rdx), %xmm116209; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]16210; AVX2-FCP-NEXT: vmovaps 256(%r8), %ymm516211; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16212; AVX2-FCP-NEXT: vmovaps 256(%r9), %ymm416213; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16214; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]16215; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16216; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16217; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16218; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16219; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16220; AVX2-FCP-NEXT: vmovaps 272(%rax), %xmm116221; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16222; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16223; AVX2-FCP-NEXT: vmovaps 288(%r8), %xmm016224; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]16225; AVX2-FCP-NEXT: vmovaps 288(%rax), %xmm216226; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm116227; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm316228; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16229; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm316230; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16231; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16232; AVX2-FCP-NEXT: vmovaps 288(%rdx), %xmm316233; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16234; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16235; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]16236; AVX2-FCP-NEXT: vbroadcastsd 296(%rcx), %ymm316237; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16238; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016239; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16240; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16241; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16242; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16243; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm116244; AVX2-FCP-NEXT: vmovaps 288(%rsi), %ymm216245; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16246; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16247; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16248; AVX2-FCP-NEXT: vmovaps 288(%rdx), %ymm016249; AVX2-FCP-NEXT: vmovaps 288(%r8), %ymm416250; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16251; AVX2-FCP-NEXT: vmovaps 288(%r9), %ymm316252; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16253; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]16254; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16255; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]16256; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16257; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16258; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16259; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16260; AVX2-FCP-NEXT: vmovaps 304(%rax), %xmm116261; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16262; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16263; AVX2-FCP-NEXT: vmovaps 320(%rsi), %xmm016264; AVX2-FCP-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm016265; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm116266; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16267; AVX2-FCP-NEXT: vinsertf128 $1, 320(%rdx), %ymm1, %ymm116268; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16269; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16270; AVX2-FCP-NEXT: vmovaps 320(%rdx), %ymm016271; AVX2-FCP-NEXT: vbroadcastsd 328(%rcx), %ymm116272; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]16273; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]16274; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]16275; AVX2-FCP-NEXT: vmovaps 320(%r8), %xmm216276; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16277; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm216278; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]16279; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16280; AVX2-FCP-NEXT: vmovaps 320(%rax), %xmm1016281; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16282; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm10[1]16283; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm216284; AVX2-FCP-NEXT: vmovaps 320(%rsi), %ymm316285; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16286; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16287; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16288; AVX2-FCP-NEXT: vmovaps 336(%rdx), %xmm116289; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]16290; AVX2-FCP-NEXT: vmovaps 320(%r8), %ymm916291; AVX2-FCP-NEXT: vmovaps 320(%r9), %ymm416292; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16293; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm9[0],ymm4[0],ymm9[2],ymm4[2]16294; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16295; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16296; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16297; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16298; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16299; AVX2-FCP-NEXT: vmovaps 336(%rax), %xmm116300; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16301; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16302; AVX2-FCP-NEXT: vmovaps 352(%r8), %xmm016303; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]16304; AVX2-FCP-NEXT: vmovaps 352(%rax), %xmm216305; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm116306; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm316307; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16308; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm316309; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16310; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16311; AVX2-FCP-NEXT: vmovaps 352(%rdx), %xmm716312; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16313; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm7[1]16314; AVX2-FCP-NEXT: vbroadcastsd 360(%rcx), %ymm316315; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16316; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016317; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16318; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16319; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16320; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16321; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm116322; AVX2-FCP-NEXT: vmovaps 352(%rsi), %ymm216323; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16324; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16325; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16326; AVX2-FCP-NEXT: vmovaps 352(%rdx), %ymm016327; AVX2-FCP-NEXT: vmovaps 352(%r8), %ymm516328; AVX2-FCP-NEXT: vmovaps 352(%r9), %ymm316329; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16330; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm5[0],ymm3[0],ymm5[2],ymm3[2]16331; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],mem[0],ymm0[2],mem[2]16332; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]16333; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16334; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16335; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16336; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16337; AVX2-FCP-NEXT: vmovaps 368(%rax), %xmm116338; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16339; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16340; AVX2-FCP-NEXT: vmovaps 384(%rsi), %xmm016341; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm016342; AVX2-FCP-NEXT: vmovaps 384(%rdi), %xmm116343; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16344; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rdx), %ymm1, %ymm116345; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16346; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16347; AVX2-FCP-NEXT: vmovaps 384(%rdx), %ymm016348; AVX2-FCP-NEXT: vbroadcastsd 392(%rcx), %ymm116349; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]16350; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]16351; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]16352; AVX2-FCP-NEXT: vmovaps 384(%r8), %xmm216353; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16354; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm216355; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]16356; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16357; AVX2-FCP-NEXT: vmovaps 384(%rax), %xmm216358; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16359; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16360; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]16361; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm216362; AVX2-FCP-NEXT: vmovaps 384(%rsi), %ymm316363; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]16364; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16365; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16366; AVX2-FCP-NEXT: vmovaps 400(%rdx), %xmm116367; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]16368; AVX2-FCP-NEXT: vmovaps 384(%r8), %ymm1516369; AVX2-FCP-NEXT: vmovaps 384(%r9), %ymm416370; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16371; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm15[0],ymm4[0],ymm15[2],ymm4[2]16372; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]16373; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16374; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]16375; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,3,3]16376; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16377; AVX2-FCP-NEXT: vmovaps 400(%rax), %xmm116378; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16379; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16380; AVX2-FCP-NEXT: vmovaps 416(%r8), %xmm016381; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]16382; AVX2-FCP-NEXT: vmovaps 416(%rax), %xmm216383; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm116384; AVX2-FCP-NEXT: vmovaps 416(%rdi), %xmm1316385; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm316386; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16387; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16388; AVX2-FCP-NEXT: vmovaps 416(%rdx), %xmm1416389; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16390; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm14[1]16391; AVX2-FCP-NEXT: vbroadcastsd 424(%rcx), %ymm316392; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16393; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016394; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16395; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16396; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]16397; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]16398; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm116399; AVX2-FCP-NEXT: vmovaps 416(%rsi), %ymm216400; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16401; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]16402; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16403; AVX2-FCP-NEXT: vmovaps 416(%r8), %ymm016404; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[2],mem[2]16405; AVX2-FCP-NEXT: vmovaps 416(%rdx), %ymm316406; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],mem[0],ymm3[2],mem[2]16407; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]16408; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16409; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16410; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16411; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]16412; AVX2-FCP-NEXT: vmovaps 432(%rax), %xmm116413; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16414; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16415; AVX2-FCP-NEXT: vmovaps 448(%rsi), %xmm016416; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm016417; AVX2-FCP-NEXT: vmovaps 448(%rdi), %xmm116418; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rdx), %ymm1, %ymm116419; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16420; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16421; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm016422; AVX2-FCP-NEXT: vmovaps 448(%r8), %ymm1116423; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16424; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm11[0,1],ymm0[0,1]16425; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]16426; AVX2-FCP-NEXT: vbroadcastsd 448(%rax), %ymm216427; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]16428; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16429; AVX2-FCP-NEXT: vmovaps 448(%rdx), %ymm216430; AVX2-FCP-NEXT: vbroadcastsd 456(%rcx), %ymm116431; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]16432; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]16433; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]16434; AVX2-FCP-NEXT: vinsertf128 $1, 448(%r8), %ymm0, %ymm316435; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16436; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16437; AVX2-FCP-NEXT: vmovaps 448(%rsi), %ymm116438; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]16439; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16440; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]16441; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16442; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16443; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16444; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]16445; AVX2-FCP-NEXT: vmovaps 464(%rax), %xmm116446; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16447; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16448; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm016449; AVX2-FCP-NEXT: vmovaps 480(%r8), %ymm1216450; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16451; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm12[0,1],ymm0[0,1]16452; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]16453; AVX2-FCP-NEXT: vbroadcastsd 480(%rax), %ymm316454; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]16455; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16456; AVX2-FCP-NEXT: vmovaps 480(%rdx), %xmm816457; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]16458; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm8[1]16459; AVX2-FCP-NEXT: vbroadcastsd 488(%rcx), %ymm316460; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]16461; AVX2-FCP-NEXT: vinsertf128 $1, 480(%r8), %ymm0, %ymm316462; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]16463; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16464; AVX2-FCP-NEXT: vmovaps 480(%rsi), %ymm116465; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]16466; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16467; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]16468; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16469; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]16470; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16471; AVX2-FCP-NEXT: vmovaps 480(%rdx), %ymm616472; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm6[6,7]16473; AVX2-FCP-NEXT: vmovaps 496(%rax), %xmm116474; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16475; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16476; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16477; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16478; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16479; AVX2-FCP-NEXT: vbroadcastsd (%rsp), %ymm1 # 16-byte Folded Reload16480; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16481; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16482; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16483; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16484; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16485; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16486; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16487; AVX2-FCP-NEXT: vbroadcastsd 24(%rcx), %ymm116488; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16489; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16490; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16491; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16492; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16493; AVX2-FCP-NEXT: vbroadcastsd 32(%rcx), %ymm116494; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16495; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16496; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16497; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16498; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16499; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16500; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16501; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm116502; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16503; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16504; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16505; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16506; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16507; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload16508; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16509; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16510; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16511; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16512; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16513; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16514; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16515; AVX2-FCP-NEXT: vbroadcastsd 88(%rcx), %ymm116516; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16517; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16518; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16519; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16520; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16521; AVX2-FCP-NEXT: vbroadcastsd 96(%rcx), %ymm116522; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16523; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16524; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16525; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16526; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16527; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16528; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16529; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm116530; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16531; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16532; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16533; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16534; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16535; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload16536; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16537; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16538; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16539; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16540; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16541; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16542; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16543; AVX2-FCP-NEXT: vbroadcastsd 152(%rcx), %ymm116544; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16545; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16546; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16547; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16548; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16549; AVX2-FCP-NEXT: vbroadcastsd 160(%rcx), %ymm116550; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16551; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16552; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16553; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16554; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16555; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16556; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16557; AVX2-FCP-NEXT: vbroadcastsd 184(%rcx), %ymm116558; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16559; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16560; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16561; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16562; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16563; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload16564; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16565; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16566; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16567; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16568; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16569; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16570; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16571; AVX2-FCP-NEXT: vbroadcastsd 216(%rcx), %ymm116572; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16573; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16574; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16575; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16576; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16577; AVX2-FCP-NEXT: vbroadcastsd 224(%rcx), %ymm116578; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16579; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16580; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16581; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16582; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16583; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16584; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16585; AVX2-FCP-NEXT: vbroadcastsd 248(%rcx), %ymm116586; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16587; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16588; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16589; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16590; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16591; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload16592; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16593; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16594; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16595; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16596; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16597; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16598; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16599; AVX2-FCP-NEXT: vbroadcastsd 280(%rcx), %ymm116600; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16601; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16602; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16603; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16604; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16605; AVX2-FCP-NEXT: vbroadcastsd 288(%rcx), %ymm116606; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]16607; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16608; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16609; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16610; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16611; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16612; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16613; AVX2-FCP-NEXT: vbroadcastsd 312(%rcx), %ymm116614; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]16615; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16616; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16617; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16618; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16619; AVX2-FCP-NEXT: vbroadcastsd %xmm10, %ymm116620; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16621; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload16622; AVX2-FCP-NEXT: # ymm0 = ymm9[1],mem[1],ymm9[3],mem[3]16623; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16624; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16625; AVX2-FCP-NEXT: vbroadcastsd 344(%rcx), %ymm116626; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5,6,7]16627; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16628; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16629; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm016630; AVX2-FCP-NEXT: vbroadcastsd 352(%rcx), %ymm116631; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3,4,5],ymm1[6,7]16632; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm0 # 32-byte Folded Reload16633; AVX2-FCP-NEXT: # ymm0 = ymm5[1],mem[1],ymm5[3],mem[3]16634; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16635; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16636; AVX2-FCP-NEXT: vbroadcastsd 376(%rcx), %ymm116637; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm1[0,1],ymm0[2,3,4,5,6,7]16638; AVX2-FCP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload16639; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]16640; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload16641; AVX2-FCP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 16-byte Folded Reload16642; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]16643; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload16644; AVX2-FCP-NEXT: # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]16645; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]16646; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]16647; AVX2-FCP-NEXT: vbroadcastsd 408(%rcx), %ymm1516648; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm15[0,1],ymm0[2,3,4,5,6,7]16649; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm13[0],mem[0]16650; AVX2-FCP-NEXT: vinsertf128 $1, %xmm14, %ymm15, %ymm1416651; AVX2-FCP-NEXT: vbroadcastsd 416(%rcx), %ymm1516652; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]16653; AVX2-FCP-NEXT: vbroadcastsd 440(%rcx), %ymm1516654; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]16655; AVX2-FCP-NEXT: vbroadcastsd 440(%r9), %ymm1316656; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm13[4,5,6,7]16657; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]16658; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm11[2,3]16659; AVX2-FCP-NEXT: vbroadcastsd 464(%r9), %ymm1116660; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm11[6,7]16661; AVX2-FCP-NEXT: vbroadcastsd 472(%rcx), %ymm1116662; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]16663; AVX2-FCP-NEXT: vbroadcastsd 472(%r9), %ymm1316664; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm11[0,1,2,3],ymm13[4,5,6,7]16665; AVX2-FCP-NEXT: vmovaps 448(%rax), %ymm016666; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload16667; AVX2-FCP-NEXT: # ymm11 = mem[0,1],ymm0[2,3],mem[4,5,6,7]16668; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm0[6,7]16669; AVX2-FCP-NEXT: vmovaps 480(%rdi), %xmm1316670; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]16671; AVX2-FCP-NEXT: vinsertf128 $1, %xmm8, %ymm13, %ymm816672; AVX2-FCP-NEXT: vbroadcastsd 480(%rcx), %ymm1316673; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]16674; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],mem[0],ymm6[2],mem[2]16675; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm6[2,3],ymm12[2,3]16676; AVX2-FCP-NEXT: vbroadcastsd 496(%r9), %ymm1216677; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm12[6,7]16678; AVX2-FCP-NEXT: vbroadcastsd 504(%rcx), %ymm1216679; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]16680; AVX2-FCP-NEXT: vbroadcastsd 504(%r9), %ymm1316681; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]16682; AVX2-FCP-NEXT: vmovaps 480(%rax), %ymm1316683; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm0 # 32-byte Folded Reload16684; AVX2-FCP-NEXT: # ymm0 = mem[0,1],ymm13[2,3],mem[4,5,6,7]16685; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]16686; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rcx16687; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5],mem[6,7]16688; AVX2-FCP-NEXT: vmovaps %ymm12, 3552(%rcx)16689; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload16690; AVX2-FCP-NEXT: vmovaps %ymm12, 3520(%rcx)16691; AVX2-FCP-NEXT: vmovaps %ymm6, 3488(%rcx)16692; AVX2-FCP-NEXT: vmovaps %ymm0, 3456(%rcx)16693; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16694; AVX2-FCP-NEXT: vmovaps %ymm0, 3424(%rcx)16695; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16696; AVX2-FCP-NEXT: vmovaps %ymm0, 3392(%rcx)16697; AVX2-FCP-NEXT: vmovaps %ymm8, 3360(%rcx)16698; AVX2-FCP-NEXT: vmovaps %ymm1, 3328(%rcx)16699; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16700; AVX2-FCP-NEXT: vmovaps %ymm0, 3296(%rcx)16701; AVX2-FCP-NEXT: vmovaps %ymm2, 3264(%rcx)16702; AVX2-FCP-NEXT: vmovaps %ymm11, 3232(%rcx)16703; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16704; AVX2-FCP-NEXT: vmovaps %ymm0, 3200(%rcx)16705; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16706; AVX2-FCP-NEXT: vmovaps %ymm0, 3168(%rcx)16707; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16708; AVX2-FCP-NEXT: vmovaps %ymm0, 3136(%rcx)16709; AVX2-FCP-NEXT: vmovaps %ymm13, 3104(%rcx)16710; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16711; AVX2-FCP-NEXT: vmovaps %ymm0, 3072(%rcx)16712; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16713; AVX2-FCP-NEXT: vmovaps %ymm0, 3040(%rcx)16714; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16715; AVX2-FCP-NEXT: vmovaps %ymm0, 3008(%rcx)16716; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16717; AVX2-FCP-NEXT: vmovaps %ymm0, 2976(%rcx)16718; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16719; AVX2-FCP-NEXT: vmovaps %ymm0, 2944(%rcx)16720; AVX2-FCP-NEXT: vmovaps %ymm14, 2912(%rcx)16721; AVX2-FCP-NEXT: vmovaps %ymm3, 2880(%rcx)16722; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16723; AVX2-FCP-NEXT: vmovaps %ymm0, 2848(%rcx)16724; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16725; AVX2-FCP-NEXT: vmovaps %ymm0, 2816(%rcx)16726; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16727; AVX2-FCP-NEXT: vmovaps %ymm0, 2784(%rcx)16728; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16729; AVX2-FCP-NEXT: vmovaps %ymm0, 2752(%rcx)16730; AVX2-FCP-NEXT: vmovaps %ymm4, 2720(%rcx)16731; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16732; AVX2-FCP-NEXT: vmovaps %ymm0, 2688(%rcx)16733; AVX2-FCP-NEXT: vmovaps %ymm5, 2656(%rcx)16734; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16735; AVX2-FCP-NEXT: vmovaps %ymm0, 2624(%rcx)16736; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16737; AVX2-FCP-NEXT: vmovaps %ymm0, 2592(%rcx)16738; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16739; AVX2-FCP-NEXT: vmovaps %ymm0, 2560(%rcx)16740; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16741; AVX2-FCP-NEXT: vmovaps %ymm0, 2528(%rcx)16742; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16743; AVX2-FCP-NEXT: vmovaps %ymm0, 2496(%rcx)16744; AVX2-FCP-NEXT: vmovaps %ymm7, 2464(%rcx)16745; AVX2-FCP-NEXT: vmovaps %ymm9, 2432(%rcx)16746; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16747; AVX2-FCP-NEXT: vmovaps %ymm0, 2400(%rcx)16748; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16749; AVX2-FCP-NEXT: vmovaps %ymm0, 2368(%rcx)16750; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16751; AVX2-FCP-NEXT: vmovaps %ymm0, 2336(%rcx)16752; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16753; AVX2-FCP-NEXT: vmovaps %ymm0, 2304(%rcx)16754; AVX2-FCP-NEXT: vmovaps %ymm10, 2272(%rcx)16755; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16756; AVX2-FCP-NEXT: vmovaps %ymm0, 2240(%rcx)16757; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16758; AVX2-FCP-NEXT: vmovaps %ymm0, 2208(%rcx)16759; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16760; AVX2-FCP-NEXT: vmovaps %ymm0, 2176(%rcx)16761; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16762; AVX2-FCP-NEXT: vmovaps %ymm0, 2144(%rcx)16763; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16764; AVX2-FCP-NEXT: vmovaps %ymm0, 2112(%rcx)16765; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16766; AVX2-FCP-NEXT: vmovaps %ymm0, 2080(%rcx)16767; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16768; AVX2-FCP-NEXT: vmovaps %ymm0, 2048(%rcx)16769; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16770; AVX2-FCP-NEXT: vmovaps %ymm0, 2016(%rcx)16771; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16772; AVX2-FCP-NEXT: vmovaps %ymm0, 1984(%rcx)16773; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16774; AVX2-FCP-NEXT: vmovaps %ymm0, 1952(%rcx)16775; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16776; AVX2-FCP-NEXT: vmovaps %ymm0, 1920(%rcx)16777; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16778; AVX2-FCP-NEXT: vmovaps %ymm0, 1888(%rcx)16779; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16780; AVX2-FCP-NEXT: vmovaps %ymm0, 1856(%rcx)16781; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16782; AVX2-FCP-NEXT: vmovaps %ymm0, 1824(%rcx)16783; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16784; AVX2-FCP-NEXT: vmovaps %ymm0, 1792(%rcx)16785; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16786; AVX2-FCP-NEXT: vmovaps %ymm0, 1760(%rcx)16787; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16788; AVX2-FCP-NEXT: vmovaps %ymm0, 1728(%rcx)16789; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16790; AVX2-FCP-NEXT: vmovaps %ymm0, 1696(%rcx)16791; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16792; AVX2-FCP-NEXT: vmovaps %ymm0, 1664(%rcx)16793; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16794; AVX2-FCP-NEXT: vmovaps %ymm0, 1632(%rcx)16795; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16796; AVX2-FCP-NEXT: vmovaps %ymm0, 1600(%rcx)16797; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16798; AVX2-FCP-NEXT: vmovaps %ymm0, 1568(%rcx)16799; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16800; AVX2-FCP-NEXT: vmovaps %ymm0, 1536(%rcx)16801; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16802; AVX2-FCP-NEXT: vmovaps %ymm0, 1504(%rcx)16803; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16804; AVX2-FCP-NEXT: vmovaps %ymm0, 1472(%rcx)16805; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16806; AVX2-FCP-NEXT: vmovaps %ymm0, 1440(%rcx)16807; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16808; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%rcx)16809; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16810; AVX2-FCP-NEXT: vmovaps %ymm0, 1376(%rcx)16811; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16812; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%rcx)16813; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16814; AVX2-FCP-NEXT: vmovaps %ymm0, 1312(%rcx)16815; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16816; AVX2-FCP-NEXT: vmovaps %ymm0, 1280(%rcx)16817; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16818; AVX2-FCP-NEXT: vmovaps %ymm0, 1248(%rcx)16819; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16820; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%rcx)16821; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16822; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%rcx)16823; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16824; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%rcx)16825; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16826; AVX2-FCP-NEXT: vmovaps %ymm0, 1120(%rcx)16827; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16828; AVX2-FCP-NEXT: vmovaps %ymm0, 1088(%rcx)16829; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16830; AVX2-FCP-NEXT: vmovaps %ymm0, 1056(%rcx)16831; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16832; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%rcx)16833; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16834; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%rcx)16835; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16836; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%rcx)16837; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16838; AVX2-FCP-NEXT: vmovaps %ymm0, 928(%rcx)16839; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16840; AVX2-FCP-NEXT: vmovaps %ymm0, 896(%rcx)16841; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16842; AVX2-FCP-NEXT: vmovaps %ymm0, 864(%rcx)16843; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16844; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rcx)16845; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16846; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rcx)16847; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16848; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rcx)16849; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16850; AVX2-FCP-NEXT: vmovaps %ymm0, 736(%rcx)16851; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16852; AVX2-FCP-NEXT: vmovaps %ymm0, 704(%rcx)16853; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16854; AVX2-FCP-NEXT: vmovaps %ymm0, 672(%rcx)16855; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16856; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rcx)16857; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16858; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rcx)16859; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16860; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rcx)16861; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16862; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%rcx)16863; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16864; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rcx)16865; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16866; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%rcx)16867; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16868; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rcx)16869; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16870; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rcx)16871; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16872; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rcx)16873; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16874; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rcx)16875; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16876; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rcx)16877; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16878; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rcx)16879; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16880; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rcx)16881; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16882; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rcx)16883; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16884; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rcx)16885; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16886; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rcx)16887; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16888; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rcx)16889; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16890; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rcx)16891; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16892; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rcx)16893; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16894; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rcx)16895; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16896; AVX2-FCP-NEXT: vmovaps %ymm0, (%rcx)16897; AVX2-FCP-NEXT: addq $3880, %rsp # imm = 0xF2816898; AVX2-FCP-NEXT: vzeroupper16899; AVX2-FCP-NEXT: retq16900;16901; AVX512-LABEL: store_i64_stride7_vf64:16902; AVX512: # %bb.0:16903; AVX512-NEXT: subq $6248, %rsp # imm = 0x186816904; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax16905; AVX512-NEXT: vmovdqa64 (%rdi), %zmm016906; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16907; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm1916908; AVX512-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16909; AVX512-NEXT: vmovdqa64 (%rsi), %zmm916910; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16911; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm1616912; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16913; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm1716914; AVX512-NEXT: vmovdqu64 %zmm17, (%rsp) # 64-byte Spill16915; AVX512-NEXT: vmovdqa64 (%rdx), %zmm316916; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16917; AVX512-NEXT: vmovdqa64 (%rcx), %zmm416918; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16919; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm1816920; AVX512-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16921; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [11,3,11,3,11,3,11,3]16922; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16923; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm31 = [2,10,0,3,2,10,0,3]16924; AVX512-NEXT: # zmm31 = mem[0,1,2,3,0,1,2,3]16925; AVX512-NEXT: movb $96, %r10b16926; AVX512-NEXT: kmovw %r10d, %k116927; AVX512-NEXT: vmovdqa64 (%r8), %zmm116928; AVX512-NEXT: vmovdqa64 (%r9), %zmm1516929; AVX512-NEXT: vmovdqa64 (%rax), %zmm516930; AVX512-NEXT: vmovdqa64 64(%rax), %zmm616931; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [15,7,15,7,15,7,15,7]16932; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16933; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16934; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [9,1,9,1,9,1,9,1]16935; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16936; AVX512-NEXT: vmovdqa64 %zmm1, %zmm216937; AVX512-NEXT: vpermt2q %zmm15, %zmm8, %zmm216938; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm24 = [4,9,0,3,4,9,0,3]16939; AVX512-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3]16940; AVX512-NEXT: vpermt2q %zmm5, %zmm24, %zmm216941; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16942; AVX512-NEXT: vpermt2q %zmm9, %zmm11, %zmm016943; AVX512-NEXT: vmovdqa64 %zmm3, %zmm216944; AVX512-NEXT: vpermt2q %zmm4, %zmm31, %zmm216945; AVX512-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}16946; AVX512-NEXT: vmovdqa (%r9), %ymm716947; AVX512-NEXT: vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16948; AVX512-NEXT: vmovdqa 64(%r9), %ymm316949; AVX512-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16950; AVX512-NEXT: vmovdqa (%r8), %ymm016951; AVX512-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16952; AVX512-NEXT: vmovdqa 64(%r8), %ymm416953; AVX512-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16954; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]16955; AVX512-NEXT: movb $28, %r10b16956; AVX512-NEXT: kmovw %r10d, %k216957; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm2 {%k2} = zmm0[2,3,2,3],zmm5[2,3,2,3]16958; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16959; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [4,12,0,5,4,12,0,5]16960; AVX512-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]16961; AVX512-NEXT: vmovdqa64 %zmm1, %zmm016962; AVX512-NEXT: vpermt2q %zmm15, %zmm28, %zmm016963; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,1,12,7,0,1,12,7]16964; AVX512-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]16965; AVX512-NEXT: vpermt2q %zmm5, %zmm30, %zmm016966; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16967; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm13 = [5,0,14,6,5,0,14,6]16968; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3]16969; AVX512-NEXT: vmovdqa64 %zmm15, %zmm016970; AVX512-NEXT: vmovdqa64 %zmm15, %zmm916971; AVX512-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16972; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm016973; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [0,13,6,7,0,13,6,7]16974; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]16975; AVX512-NEXT: vpermt2q %zmm5, %zmm15, %zmm016976; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16977; AVX512-NEXT: vpermt2q %zmm9, %zmm25, %zmm116978; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [6,13,14,7,6,13,14,7]16979; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]16980; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm516981; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16982; AVX512-NEXT: vmovdqa64 %zmm19, %zmm116983; AVX512-NEXT: vpermt2q %zmm16, %zmm11, %zmm116984; AVX512-NEXT: vmovdqa64 %zmm17, %zmm216985; AVX512-NEXT: vpermt2q %zmm18, %zmm31, %zmm216986; AVX512-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}16987; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]16988; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm2 {%k2} = zmm1[2,3,2,3],zmm6[2,3,2,3]16989; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16990; AVX512-NEXT: vmovdqa64 64(%r8), %zmm116991; AVX512-NEXT: vmovdqa64 64(%r9), %zmm1616992; AVX512-NEXT: vmovdqa64 %zmm1, %zmm316993; AVX512-NEXT: vpermt2q %zmm16, %zmm8, %zmm316994; AVX512-NEXT: vpermt2q %zmm6, %zmm24, %zmm316995; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16996; AVX512-NEXT: vmovdqa64 %zmm1, %zmm316997; AVX512-NEXT: vpermt2q %zmm16, %zmm28, %zmm316998; AVX512-NEXT: vpermt2q %zmm6, %zmm30, %zmm316999; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17000; AVX512-NEXT: vmovdqa64 %zmm16, %zmm317001; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm317002; AVX512-NEXT: vpermt2q %zmm6, %zmm15, %zmm317003; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17004; AVX512-NEXT: vmovdqa64 %zmm1, %zmm2917005; AVX512-NEXT: vpermt2q %zmm16, %zmm25, %zmm117006; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm617007; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17008; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm2717009; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm017010; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17011; AVX512-NEXT: vmovdqa64 %zmm27, %zmm117012; AVX512-NEXT: vpermt2q %zmm0, %zmm11, %zmm117013; AVX512-NEXT: vmovdqa64 %zmm11, %zmm1717014; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm2117015; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm017016; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17017; AVX512-NEXT: vmovdqa64 %zmm21, %zmm317018; AVX512-NEXT: vpermt2q %zmm0, %zmm31, %zmm317019; AVX512-NEXT: vmovdqa64 %zmm1, %zmm3 {%k1}17020; AVX512-NEXT: vmovdqa64 128(%rax), %zmm517021; AVX512-NEXT: vmovdqa 128(%r9), %ymm417022; AVX512-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17023; AVX512-NEXT: vmovdqa 128(%r8), %ymm117024; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17025; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm4[0],ymm1[2],ymm4[2]17026; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k2} = zmm1[2,3,2,3],zmm5[2,3,2,3]17027; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17028; AVX512-NEXT: vmovdqa64 128(%r8), %zmm117029; AVX512-NEXT: vmovdqa64 128(%r9), %zmm617030; AVX512-NEXT: vmovdqa64 %zmm1, %zmm317031; AVX512-NEXT: vpermt2q %zmm6, %zmm8, %zmm317032; AVX512-NEXT: vmovdqa64 %zmm8, %zmm1117033; AVX512-NEXT: vpermt2q %zmm5, %zmm24, %zmm317034; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17035; AVX512-NEXT: vmovdqa64 %zmm1, %zmm317036; AVX512-NEXT: vpermt2q %zmm6, %zmm28, %zmm317037; AVX512-NEXT: vpermt2q %zmm5, %zmm30, %zmm317038; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17039; AVX512-NEXT: vmovdqa64 %zmm6, %zmm317040; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm317041; AVX512-NEXT: vpermt2q %zmm5, %zmm15, %zmm317042; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17043; AVX512-NEXT: vmovdqa64 %zmm1, %zmm2017044; AVX512-NEXT: vpermt2q %zmm6, %zmm25, %zmm117045; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm517046; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17047; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm2617048; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm017049; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17050; AVX512-NEXT: vmovdqa64 %zmm26, %zmm117051; AVX512-NEXT: vpermt2q %zmm0, %zmm17, %zmm117052; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm1817053; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm017054; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17055; AVX512-NEXT: vmovdqa64 %zmm18, %zmm317056; AVX512-NEXT: vpermt2q %zmm0, %zmm31, %zmm317057; AVX512-NEXT: vmovdqa64 %zmm1, %zmm3 {%k1}17058; AVX512-NEXT: vmovdqa64 192(%rax), %zmm017059; AVX512-NEXT: vmovdqa 192(%r9), %ymm517060; AVX512-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17061; AVX512-NEXT: vmovdqa 192(%r8), %ymm117062; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17063; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm5[0],ymm1[2],ymm5[2]17064; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm3 {%k2} = zmm1[2,3,2,3],zmm0[2,3,2,3]17065; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17066; AVX512-NEXT: vmovdqa64 192(%r8), %zmm117067; AVX512-NEXT: vmovdqa64 192(%r9), %zmm817068; AVX512-NEXT: vmovdqa64 %zmm1, %zmm317069; AVX512-NEXT: vpermt2q %zmm8, %zmm11, %zmm317070; AVX512-NEXT: vpermt2q %zmm0, %zmm24, %zmm317071; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17072; AVX512-NEXT: vmovdqa64 %zmm1, %zmm317073; AVX512-NEXT: vpermt2q %zmm8, %zmm28, %zmm317074; AVX512-NEXT: vpermt2q %zmm0, %zmm30, %zmm317075; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17076; AVX512-NEXT: vmovdqa64 %zmm8, %zmm517077; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm517078; AVX512-NEXT: vmovdqa64 %zmm15, %zmm317079; AVX512-NEXT: vpermt2q %zmm0, %zmm15, %zmm517080; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17081; AVX512-NEXT: vmovdqa64 %zmm1, %zmm917082; AVX512-NEXT: vpermt2q %zmm8, %zmm25, %zmm117083; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm017084; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17085; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm1517086; AVX512-NEXT: vmovdqa64 256(%rsi), %zmm2217087; AVX512-NEXT: vmovdqa64 %zmm15, %zmm117088; AVX512-NEXT: vmovdqa64 %zmm17, %zmm1417089; AVX512-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17090; AVX512-NEXT: vpermt2q %zmm22, %zmm17, %zmm117091; AVX512-NEXT: vmovdqa64 256(%rdx), %zmm1217092; AVX512-NEXT: vmovdqa64 256(%rcx), %zmm2317093; AVX512-NEXT: vmovdqa64 %zmm12, %zmm517094; AVX512-NEXT: vpermt2q %zmm23, %zmm31, %zmm517095; AVX512-NEXT: vmovdqa64 %zmm1, %zmm5 {%k1}17096; AVX512-NEXT: vmovdqa64 256(%rax), %zmm017097; AVX512-NEXT: vmovdqa 256(%r9), %ymm717098; AVX512-NEXT: vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17099; AVX512-NEXT: vmovdqa 256(%r8), %ymm117100; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17101; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm1[0],ymm7[0],ymm1[2],ymm7[2]17102; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm5 {%k2} = zmm1[2,3,2,3],zmm0[2,3,2,3]17103; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17104; AVX512-NEXT: vmovdqa64 256(%r8), %zmm517105; AVX512-NEXT: vmovdqa64 256(%r9), %zmm217106; AVX512-NEXT: vmovdqa64 %zmm5, %zmm1717107; AVX512-NEXT: vmovdqa64 %zmm11, %zmm717108; AVX512-NEXT: vpermt2q %zmm2, %zmm11, %zmm1717109; AVX512-NEXT: vpermt2q %zmm0, %zmm24, %zmm1717110; AVX512-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17111; AVX512-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17112; AVX512-NEXT: vmovdqa64 %zmm5, %zmm1117113; AVX512-NEXT: vpermt2q %zmm2, %zmm28, %zmm1117114; AVX512-NEXT: vpermt2q %zmm0, %zmm30, %zmm1117115; AVX512-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17116; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17117; AVX512-NEXT: vmovdqa64 %zmm2, %zmm1117118; AVX512-NEXT: vpermt2q %zmm5, %zmm13, %zmm1117119; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm1117120; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17121; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17122; AVX512-NEXT: vmovdqa64 %zmm5, %zmm417123; AVX512-NEXT: vpermt2q %zmm2, %zmm25, %zmm517124; AVX512-NEXT: vpermt2q %zmm5, %zmm10, %zmm017125; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17126; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm1917127; AVX512-NEXT: vmovdqa64 320(%rsi), %zmm017128; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17129; AVX512-NEXT: vmovdqa64 %zmm19, %zmm517130; AVX512-NEXT: vpermt2q %zmm0, %zmm14, %zmm517131; AVX512-NEXT: vmovdqa64 320(%rdx), %zmm1117132; AVX512-NEXT: vmovdqa64 320(%rcx), %zmm1717133; AVX512-NEXT: vmovdqa64 %zmm11, %zmm1417134; AVX512-NEXT: vpermt2q %zmm17, %zmm31, %zmm1417135; AVX512-NEXT: vmovdqa64 %zmm5, %zmm14 {%k1}17136; AVX512-NEXT: vmovdqa64 320(%rax), %zmm117137; AVX512-NEXT: vmovdqa 320(%r9), %ymm517138; AVX512-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17139; AVX512-NEXT: vmovdqa 320(%r8), %ymm017140; AVX512-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill17141; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm5 = ymm0[0],ymm5[0],ymm0[2],ymm5[2]17142; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm5[2,3,2,3],zmm1[2,3,2,3]17143; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17144; AVX512-NEXT: vmovdqa64 320(%r8), %zmm517145; AVX512-NEXT: vmovdqa64 320(%r9), %zmm1417146; AVX512-NEXT: vmovdqa64 %zmm5, %zmm017147; AVX512-NEXT: vpermt2q %zmm14, %zmm7, %zmm017148; AVX512-NEXT: vpermt2q %zmm1, %zmm24, %zmm017149; AVX512-NEXT: vFile truncated to the first 1 MiB.