17113 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_stride6_vf2(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {19; SSE-LABEL: store_i64_stride6_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT: movaps (%rdi), %xmm023; SSE-NEXT: movaps (%rsi), %xmm124; SSE-NEXT: movaps (%rdx), %xmm225; SSE-NEXT: movaps (%rcx), %xmm326; SSE-NEXT: movaps (%r8), %xmm427; SSE-NEXT: movaps (%r9), %xmm528; SSE-NEXT: movaps %xmm0, %xmm629; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm1[0]30; SSE-NEXT: movaps %xmm2, %xmm731; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm3[1]32; SSE-NEXT: movaps %xmm4, %xmm833; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm5[1]34; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]35; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm5[0]36; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]37; SSE-NEXT: movaps %xmm2, 16(%rax)38; SSE-NEXT: movaps %xmm4, 32(%rax)39; SSE-NEXT: movaps %xmm0, 48(%rax)40; SSE-NEXT: movaps %xmm8, 80(%rax)41; SSE-NEXT: movaps %xmm7, 64(%rax)42; SSE-NEXT: movaps %xmm6, (%rax)43; SSE-NEXT: retq44;45; AVX-LABEL: store_i64_stride6_vf2:46; AVX: # %bb.0:47; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax48; AVX-NEXT: vmovaps (%rdi), %xmm049; AVX-NEXT: vmovaps (%rsi), %xmm150; AVX-NEXT: vmovaps (%rdx), %xmm251; AVX-NEXT: vmovaps (%rcx), %xmm352; AVX-NEXT: vmovaps (%r8), %xmm453; AVX-NEXT: vmovaps (%r9), %xmm554; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm655; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm756; AVX-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]57; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm5, %ymm158; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm4, %ymm059; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[3],ymm1[3]60; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm3, %ymm161; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm262; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]63; AVX-NEXT: vmovaps %ymm1, 64(%rax)64; AVX-NEXT: vmovapd %ymm0, 32(%rax)65; AVX-NEXT: vmovaps %ymm6, (%rax)66; AVX-NEXT: vzeroupper67; AVX-NEXT: retq68;69; AVX2-LABEL: store_i64_stride6_vf2:70; AVX2: # %bb.0:71; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax72; AVX2-NEXT: vmovaps (%rdi), %xmm073; AVX2-NEXT: vmovaps (%rdx), %xmm174; AVX2-NEXT: vmovaps (%r8), %xmm275; AVX2-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm076; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm177; AVX2-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm278; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]79; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,1,3]80; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5],ymm0[6,7]81; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]82; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]83; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]84; AVX2-NEXT: vmovaps %ymm1, 64(%rax)85; AVX2-NEXT: vmovaps %ymm0, 32(%rax)86; AVX2-NEXT: vmovaps %ymm3, (%rax)87; AVX2-NEXT: vzeroupper88; AVX2-NEXT: retq89;90; AVX2-FP-LABEL: store_i64_stride6_vf2:91; AVX2-FP: # %bb.0:92; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax93; AVX2-FP-NEXT: vmovaps (%rdi), %xmm094; AVX2-FP-NEXT: vmovaps (%rdx), %xmm195; AVX2-FP-NEXT: vmovaps (%r8), %xmm296; AVX2-FP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm097; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm198; AVX2-FP-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm299; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]100; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,1,3]101; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5],ymm0[6,7]102; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]103; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]104; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]105; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rax)106; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)107; AVX2-FP-NEXT: vmovaps %ymm3, (%rax)108; AVX2-FP-NEXT: vzeroupper109; AVX2-FP-NEXT: retq110;111; AVX2-FCP-LABEL: store_i64_stride6_vf2:112; AVX2-FCP: # %bb.0:113; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax114; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm0115; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm1116; AVX2-FCP-NEXT: vmovaps (%r8), %xmm2117; AVX2-FCP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm0118; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm1119; AVX2-FCP-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm2120; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]121; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,1,3]122; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5],ymm0[6,7]123; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]124; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]125; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,2,1,3]126; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rax)127; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)128; AVX2-FCP-NEXT: vmovaps %ymm3, (%rax)129; AVX2-FCP-NEXT: vzeroupper130; AVX2-FCP-NEXT: retq131;132; AVX512-LABEL: store_i64_stride6_vf2:133; AVX512: # %bb.0:134; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax135; AVX512-NEXT: vmovdqa (%rdi), %xmm0136; AVX512-NEXT: vmovdqa (%rdx), %xmm1137; AVX512-NEXT: vmovdqa (%r8), %xmm2138; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1139; AVX512-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0140; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0141; AVX512-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2142; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]143; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm3144; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]145; AVX512-NEXT: vpermi2q %ymm2, %ymm1, %ymm0146; AVX512-NEXT: vmovdqa %ymm0, 64(%rax)147; AVX512-NEXT: vmovdqa64 %zmm3, (%rax)148; AVX512-NEXT: vzeroupper149; AVX512-NEXT: retq150;151; AVX512-FCP-LABEL: store_i64_stride6_vf2:152; AVX512-FCP: # %bb.0:153; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax154; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm0155; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm1156; AVX512-FCP-NEXT: vmovdqa (%r8), %xmm2157; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1158; AVX512-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0159; AVX512-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0160; AVX512-FCP-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2161; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]162; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm3163; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]164; AVX512-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm0165; AVX512-FCP-NEXT: vmovdqa %ymm0, 64(%rax)166; AVX512-FCP-NEXT: vmovdqa64 %zmm3, (%rax)167; AVX512-FCP-NEXT: vzeroupper168; AVX512-FCP-NEXT: retq169;170; AVX512DQ-LABEL: store_i64_stride6_vf2:171; AVX512DQ: # %bb.0:172; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax173; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm0174; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm1175; AVX512DQ-NEXT: vmovdqa (%r8), %xmm2176; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1177; AVX512DQ-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0178; AVX512DQ-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0179; AVX512DQ-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2180; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]181; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm3182; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]183; AVX512DQ-NEXT: vpermi2q %ymm2, %ymm1, %ymm0184; AVX512DQ-NEXT: vmovdqa %ymm0, 64(%rax)185; AVX512DQ-NEXT: vmovdqa64 %zmm3, (%rax)186; AVX512DQ-NEXT: vzeroupper187; AVX512DQ-NEXT: retq188;189; AVX512DQ-FCP-LABEL: store_i64_stride6_vf2:190; AVX512DQ-FCP: # %bb.0:191; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax192; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm0193; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm1194; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %xmm2195; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1196; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0197; AVX512DQ-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0198; AVX512DQ-FCP-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2199; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]200; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm3201; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]202; AVX512DQ-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm0203; AVX512DQ-FCP-NEXT: vmovdqa %ymm0, 64(%rax)204; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, (%rax)205; AVX512DQ-FCP-NEXT: vzeroupper206; AVX512DQ-FCP-NEXT: retq207;208; AVX512BW-LABEL: store_i64_stride6_vf2:209; AVX512BW: # %bb.0:210; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax211; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0212; AVX512BW-NEXT: vmovdqa (%rdx), %xmm1213; AVX512BW-NEXT: vmovdqa (%r8), %xmm2214; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1215; AVX512BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0216; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0217; AVX512BW-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2218; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]219; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm3220; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]221; AVX512BW-NEXT: vpermi2q %ymm2, %ymm1, %ymm0222; AVX512BW-NEXT: vmovdqa %ymm0, 64(%rax)223; AVX512BW-NEXT: vmovdqa64 %zmm3, (%rax)224; AVX512BW-NEXT: vzeroupper225; AVX512BW-NEXT: retq226;227; AVX512BW-FCP-LABEL: store_i64_stride6_vf2:228; AVX512BW-FCP: # %bb.0:229; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax230; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm0231; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm1232; AVX512BW-FCP-NEXT: vmovdqa (%r8), %xmm2233; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1234; AVX512BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0235; AVX512BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0236; AVX512BW-FCP-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2237; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]238; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm3239; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]240; AVX512BW-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm0241; AVX512BW-FCP-NEXT: vmovdqa %ymm0, 64(%rax)242; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)243; AVX512BW-FCP-NEXT: vzeroupper244; AVX512BW-FCP-NEXT: retq245;246; AVX512DQ-BW-LABEL: store_i64_stride6_vf2:247; AVX512DQ-BW: # %bb.0:248; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax249; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm0250; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm1251; AVX512DQ-BW-NEXT: vmovdqa (%r8), %xmm2252; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1253; AVX512DQ-BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0254; AVX512DQ-BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0255; AVX512DQ-BW-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2256; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]257; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm3258; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]259; AVX512DQ-BW-NEXT: vpermi2q %ymm2, %ymm1, %ymm0260; AVX512DQ-BW-NEXT: vmovdqa %ymm0, 64(%rax)261; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, (%rax)262; AVX512DQ-BW-NEXT: vzeroupper263; AVX512DQ-BW-NEXT: retq264;265; AVX512DQ-BW-FCP-LABEL: store_i64_stride6_vf2:266; AVX512DQ-BW-FCP: # %bb.0:267; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax268; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm0269; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm1270; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %xmm2271; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1272; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0273; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0274; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, (%r9), %zmm2, %zmm2275; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,2,4,6,8,10,1,3]276; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm3277; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm0 = [1,3,5,7]278; AVX512DQ-BW-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm0279; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm0, 64(%rax)280; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)281; AVX512DQ-BW-FCP-NEXT: vzeroupper282; AVX512DQ-BW-FCP-NEXT: retq283 %in.vec0 = load <2 x i64>, ptr %in.vecptr0, align 64284 %in.vec1 = load <2 x i64>, ptr %in.vecptr1, align 64285 %in.vec2 = load <2 x i64>, ptr %in.vecptr2, align 64286 %in.vec3 = load <2 x i64>, ptr %in.vecptr3, align 64287 %in.vec4 = load <2 x i64>, ptr %in.vecptr4, align 64288 %in.vec5 = load <2 x i64>, ptr %in.vecptr5, align 64289 %1 = shufflevector <2 x i64> %in.vec0, <2 x i64> %in.vec1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>290 %2 = shufflevector <2 x i64> %in.vec2, <2 x i64> %in.vec3, <4 x i32> <i32 0, i32 1, i32 2, i32 3>291 %3 = shufflevector <2 x i64> %in.vec4, <2 x i64> %in.vec5, <4 x i32> <i32 0, i32 1, i32 2, i32 3>292 %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>293 %5 = shufflevector <4 x i64> %3, <4 x i64> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>294 %6 = shufflevector <8 x i64> %4, <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>295 %interleaved.vec = shufflevector <12 x i64> %6, <12 x i64> poison, <12 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11>296 store <12 x i64> %interleaved.vec, ptr %out.vec, align 64297 ret void298}299 300define void @store_i64_stride6_vf4(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {301; SSE-LABEL: store_i64_stride6_vf4:302; SSE: # %bb.0:303; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax304; SSE-NEXT: movaps (%rdi), %xmm2305; SSE-NEXT: movaps 16(%rdi), %xmm1306; SSE-NEXT: movaps (%rsi), %xmm5307; SSE-NEXT: movaps 16(%rsi), %xmm6308; SSE-NEXT: movaps (%rdx), %xmm0309; SSE-NEXT: movaps 16(%rdx), %xmm4310; SSE-NEXT: movaps (%rcx), %xmm7311; SSE-NEXT: movaps 16(%rcx), %xmm8312; SSE-NEXT: movaps (%r8), %xmm9313; SSE-NEXT: movaps 16(%r8), %xmm10314; SSE-NEXT: movaps (%r9), %xmm11315; SSE-NEXT: movaps 16(%r9), %xmm12316; SSE-NEXT: movaps %xmm1, %xmm3317; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm6[1]318; SSE-NEXT: movaps %xmm10, %xmm13319; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm12[0]320; SSE-NEXT: movaps %xmm9, %xmm14321; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm11[1]322; SSE-NEXT: movaps %xmm0, %xmm15323; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm7[1]324; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm7[0]325; SSE-NEXT: movaps %xmm2, %xmm7326; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm5[0]327; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm12[1]328; SSE-NEXT: movaps %xmm4, %xmm12329; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm8[1]330; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm8[0]331; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm6[0]332; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm5[1]333; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm11[0]334; SSE-NEXT: movaps %xmm9, 32(%rax)335; SSE-NEXT: movaps %xmm2, 48(%rax)336; SSE-NEXT: movaps %xmm1, 96(%rax)337; SSE-NEXT: movaps %xmm4, 112(%rax)338; SSE-NEXT: movaps %xmm12, 160(%rax)339; SSE-NEXT: movaps %xmm10, 176(%rax)340; SSE-NEXT: movaps %xmm7, (%rax)341; SSE-NEXT: movaps %xmm0, 16(%rax)342; SSE-NEXT: movaps %xmm15, 64(%rax)343; SSE-NEXT: movaps %xmm14, 80(%rax)344; SSE-NEXT: movaps %xmm13, 128(%rax)345; SSE-NEXT: movaps %xmm3, 144(%rax)346; SSE-NEXT: retq347;348; AVX-LABEL: store_i64_stride6_vf4:349; AVX: # %bb.0:350; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax351; AVX-NEXT: vmovapd (%rdi), %ymm0352; AVX-NEXT: vmovapd (%rsi), %ymm1353; AVX-NEXT: vmovaps (%rdx), %ymm2354; AVX-NEXT: vmovapd (%r8), %ymm3355; AVX-NEXT: vmovapd (%r9), %ymm4356; AVX-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]357; AVX-NEXT: vmovaps (%rsi), %xmm6358; AVX-NEXT: vmovaps (%rdi), %xmm7359; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm7[1],xmm6[1]360; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm8361; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm3[0,1],ymm8[2,3]362; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm8[0],ymm5[1],ymm8[2,3]363; AVX-NEXT: vmovaps (%rcx), %xmm8364; AVX-NEXT: vmovaps (%rdx), %xmm9365; AVX-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm9[1],xmm8[1]366; AVX-NEXT: vinsertf128 $1, (%r9), %ymm10, %ymm11367; AVX-NEXT: vbroadcastsd 8(%r8), %ymm12368; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm12[4,5,6,7]369; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm11[2,3],ymm10[4,5],ymm11[6,7]370; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm2[0],mem[0],ymm2[2],mem[2]371; AVX-NEXT: vmovaps 16(%rdi), %xmm11372; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]373; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm2[4,5,6,7]374; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm4[2,3],ymm1[2,3]375; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]376; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]377; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[3]378; AVX-NEXT: vmovapd 16(%rdx), %xmm1379; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]380; AVX-NEXT: vbroadcastsd 24(%r8), %ymm3381; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3]382; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm4[3]383; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm7[0],xmm6[0]384; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm9[0],xmm8[0]385; AVX-NEXT: vmovaps %xmm4, 16(%rax)386; AVX-NEXT: vmovaps %xmm3, (%rax)387; AVX-NEXT: vmovapd %ymm0, 128(%rax)388; AVX-NEXT: vmovaps %ymm2, 96(%rax)389; AVX-NEXT: vmovaps %ymm10, 64(%rax)390; AVX-NEXT: vmovapd %ymm5, 32(%rax)391; AVX-NEXT: vmovapd %ymm1, 160(%rax)392; AVX-NEXT: vzeroupper393; AVX-NEXT: retq394;395; AVX2-LABEL: store_i64_stride6_vf4:396; AVX2: # %bb.0:397; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax398; AVX2-NEXT: vmovaps (%rdi), %ymm0399; AVX2-NEXT: vmovaps (%rsi), %ymm1400; AVX2-NEXT: vmovaps (%rdx), %ymm2401; AVX2-NEXT: vmovaps (%rcx), %ymm3402; AVX2-NEXT: vmovaps (%r8), %ymm4403; AVX2-NEXT: vmovaps (%r9), %xmm5404; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = xmm5[0,0]405; AVX2-NEXT: vmovaps (%rsi), %xmm7406; AVX2-NEXT: vmovaps (%rdi), %xmm8407; AVX2-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm8[1],xmm7[1]408; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm4[0,1],ymm9[0,1]409; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm9[0,1],ymm6[2,3],ymm9[4,5,6,7]410; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm5411; AVX2-NEXT: vmovaps (%rcx), %xmm9412; AVX2-NEXT: vmovaps (%rdx), %xmm10413; AVX2-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]414; AVX2-NEXT: vbroadcastsd 8(%r8), %ymm12415; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]416; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3,4,5],ymm5[6,7]417; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm7418; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm8, %ymm8419; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]420; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]421; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]422; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm9[2,3],ymm8[2,3]423; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]424; AVX2-NEXT: vbroadcastsd 24(%r8), %ymm3425; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm3[2,3]426; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]427; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]428; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]429; AVX2-NEXT: vbroadcastsd 16(%r9), %ymm1430; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]431; AVX2-NEXT: vmovaps %ymm8, 96(%rax)432; AVX2-NEXT: vmovaps %ymm0, 128(%rax)433; AVX2-NEXT: vmovaps %ymm7, (%rax)434; AVX2-NEXT: vmovaps %ymm2, 160(%rax)435; AVX2-NEXT: vmovaps %ymm5, 64(%rax)436; AVX2-NEXT: vmovaps %ymm6, 32(%rax)437; AVX2-NEXT: vzeroupper438; AVX2-NEXT: retq439;440; AVX2-FP-LABEL: store_i64_stride6_vf4:441; AVX2-FP: # %bb.0:442; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax443; AVX2-FP-NEXT: vmovaps (%rdi), %ymm0444; AVX2-FP-NEXT: vmovaps (%rsi), %ymm1445; AVX2-FP-NEXT: vmovaps (%rdx), %ymm2446; AVX2-FP-NEXT: vmovaps (%rcx), %ymm3447; AVX2-FP-NEXT: vmovaps (%r8), %ymm4448; AVX2-FP-NEXT: vmovaps (%r9), %xmm5449; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = xmm5[0,0]450; AVX2-FP-NEXT: vmovaps (%rsi), %xmm7451; AVX2-FP-NEXT: vmovaps (%rdi), %xmm8452; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm8[1],xmm7[1]453; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm4[0,1],ymm9[0,1]454; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm9[0,1],ymm6[2,3],ymm9[4,5,6,7]455; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm5456; AVX2-FP-NEXT: vmovaps (%rcx), %xmm9457; AVX2-FP-NEXT: vmovaps (%rdx), %xmm10458; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]459; AVX2-FP-NEXT: vbroadcastsd 8(%r8), %ymm12460; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]461; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3,4,5],ymm5[6,7]462; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm7463; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm8, %ymm8464; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]465; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]466; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]467; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm9[2,3],ymm8[2,3]468; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]469; AVX2-FP-NEXT: vbroadcastsd 24(%r8), %ymm3470; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm3[2,3]471; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]472; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]473; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]474; AVX2-FP-NEXT: vbroadcastsd 16(%r9), %ymm1475; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]476; AVX2-FP-NEXT: vmovaps %ymm8, 96(%rax)477; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rax)478; AVX2-FP-NEXT: vmovaps %ymm7, (%rax)479; AVX2-FP-NEXT: vmovaps %ymm2, 160(%rax)480; AVX2-FP-NEXT: vmovaps %ymm5, 64(%rax)481; AVX2-FP-NEXT: vmovaps %ymm6, 32(%rax)482; AVX2-FP-NEXT: vzeroupper483; AVX2-FP-NEXT: retq484;485; AVX2-FCP-LABEL: store_i64_stride6_vf4:486; AVX2-FCP: # %bb.0:487; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax488; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm0489; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm1490; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm2491; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm3492; AVX2-FCP-NEXT: vmovaps (%r8), %ymm4493; AVX2-FCP-NEXT: vmovaps (%r9), %xmm5494; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = xmm5[0,0]495; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm7496; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm8497; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm8[1],xmm7[1]498; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm4[0,1],ymm9[0,1]499; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm9[0,1],ymm6[2,3],ymm9[4,5,6,7]500; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm5501; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm9502; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm10503; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm10[1],xmm9[1]504; AVX2-FCP-NEXT: vbroadcastsd 8(%r8), %ymm12505; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]506; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3,4,5],ymm5[6,7]507; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm7508; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm8, %ymm8509; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]510; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]511; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]512; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm9[2,3],ymm8[2,3]513; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]514; AVX2-FCP-NEXT: vbroadcastsd 24(%r8), %ymm3515; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm3[2,3]516; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],mem[6,7]517; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]518; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm4[2,3],ymm0[2,3]519; AVX2-FCP-NEXT: vbroadcastsd 16(%r9), %ymm1520; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]521; AVX2-FCP-NEXT: vmovaps %ymm8, 96(%rax)522; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rax)523; AVX2-FCP-NEXT: vmovaps %ymm7, (%rax)524; AVX2-FCP-NEXT: vmovaps %ymm2, 160(%rax)525; AVX2-FCP-NEXT: vmovaps %ymm5, 64(%rax)526; AVX2-FCP-NEXT: vmovaps %ymm6, 32(%rax)527; AVX2-FCP-NEXT: vzeroupper528; AVX2-FCP-NEXT: retq529;530; AVX512-LABEL: store_i64_stride6_vf4:531; AVX512: # %bb.0:532; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax533; AVX512-NEXT: vmovdqa (%rdi), %ymm0534; AVX512-NEXT: vmovdqa (%rdx), %ymm1535; AVX512-NEXT: vmovdqa (%r8), %ymm2536; AVX512-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0537; AVX512-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1538; AVX512-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2539; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]540; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm3541; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]542; AVX512-NEXT: vpermi2q %zmm2, %zmm3, %zmm4543; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]544; AVX512-NEXT: vpermi2q %zmm0, %zmm1, %zmm3545; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]546; AVX512-NEXT: vpermi2q %zmm2, %zmm3, %zmm5547; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]548; AVX512-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]549; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm3550; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]551; AVX512-NEXT: vpermi2q %zmm2, %zmm3, %zmm0552; AVX512-NEXT: vmovdqa64 %zmm0, 128(%rax)553; AVX512-NEXT: vmovdqa64 %zmm5, 64(%rax)554; AVX512-NEXT: vmovdqa64 %zmm4, (%rax)555; AVX512-NEXT: vzeroupper556; AVX512-NEXT: retq557;558; AVX512-FCP-LABEL: store_i64_stride6_vf4:559; AVX512-FCP: # %bb.0:560; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax561; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm0562; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm1563; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm2564; AVX512-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0565; AVX512-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1566; AVX512-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2567; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]568; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3569; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]570; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm4571; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]572; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3573; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]574; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm5575; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]576; AVX512-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]577; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3578; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]579; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm0580; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)581; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)582; AVX512-FCP-NEXT: vmovdqa64 %zmm4, (%rax)583; AVX512-FCP-NEXT: vzeroupper584; AVX512-FCP-NEXT: retq585;586; AVX512DQ-LABEL: store_i64_stride6_vf4:587; AVX512DQ: # %bb.0:588; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax589; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0590; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm1591; AVX512DQ-NEXT: vmovdqa (%r8), %ymm2592; AVX512DQ-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0593; AVX512DQ-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1594; AVX512DQ-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2595; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]596; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm3597; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]598; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm3, %zmm4599; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]600; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm1, %zmm3601; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]602; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm3, %zmm5603; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]604; AVX512DQ-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]605; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm3606; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]607; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm3, %zmm0608; AVX512DQ-NEXT: vmovdqa64 %zmm0, 128(%rax)609; AVX512DQ-NEXT: vmovdqa64 %zmm5, 64(%rax)610; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%rax)611; AVX512DQ-NEXT: vzeroupper612; AVX512DQ-NEXT: retq613;614; AVX512DQ-FCP-LABEL: store_i64_stride6_vf4:615; AVX512DQ-FCP: # %bb.0:616; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax617; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm0618; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm1619; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm2620; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0621; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1622; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2623; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]624; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3625; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]626; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm4627; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]628; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3629; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]630; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm5631; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]632; AVX512DQ-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]633; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3634; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]635; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm0636; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)637; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)638; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, (%rax)639; AVX512DQ-FCP-NEXT: vzeroupper640; AVX512DQ-FCP-NEXT: retq641;642; AVX512BW-LABEL: store_i64_stride6_vf4:643; AVX512BW: # %bb.0:644; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax645; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0646; AVX512BW-NEXT: vmovdqa (%rdx), %ymm1647; AVX512BW-NEXT: vmovdqa (%r8), %ymm2648; AVX512BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0649; AVX512BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1650; AVX512BW-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2651; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]652; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3653; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]654; AVX512BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm4655; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]656; AVX512BW-NEXT: vpermi2q %zmm0, %zmm1, %zmm3657; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]658; AVX512BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm5659; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]660; AVX512BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]661; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3662; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]663; AVX512BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm0664; AVX512BW-NEXT: vmovdqa64 %zmm0, 128(%rax)665; AVX512BW-NEXT: vmovdqa64 %zmm5, 64(%rax)666; AVX512BW-NEXT: vmovdqa64 %zmm4, (%rax)667; AVX512BW-NEXT: vzeroupper668; AVX512BW-NEXT: retq669;670; AVX512BW-FCP-LABEL: store_i64_stride6_vf4:671; AVX512BW-FCP: # %bb.0:672; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax673; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm0674; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm1675; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm2676; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0677; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1678; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2679; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]680; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3681; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]682; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm4683; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]684; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3685; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]686; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm5687; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]688; AVX512BW-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]689; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3690; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]691; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm0692; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)693; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)694; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)695; AVX512BW-FCP-NEXT: vzeroupper696; AVX512BW-FCP-NEXT: retq697;698; AVX512DQ-BW-LABEL: store_i64_stride6_vf4:699; AVX512DQ-BW: # %bb.0:700; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax701; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm0702; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm1703; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm2704; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0705; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1706; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2707; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]708; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3709; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]710; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm4711; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]712; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm1, %zmm3713; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]714; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm5715; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]716; AVX512DQ-BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]717; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm3718; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]719; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm0720; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 128(%rax)721; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 64(%rax)722; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, (%rax)723; AVX512DQ-BW-NEXT: vzeroupper724; AVX512DQ-BW-NEXT: retq725;726; AVX512DQ-BW-FCP-LABEL: store_i64_stride6_vf4:727; AVX512DQ-BW-FCP: # %bb.0:728; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax729; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm0730; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm1731; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm2732; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0733; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1734; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%r9), %zmm2, %zmm2735; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,4,8,12,0,0,1,5]736; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3737; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,8,12,6,7]738; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm4739; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [1,5,0,0,10,14,2,6]740; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3741; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,13,4,5,6,7]742; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm5743; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [11,15,3,7,11,15,3,7]744; AVX512DQ-BW-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]745; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm3746; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [10,14,2,3,4,5,11,15]747; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm0748; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 128(%rax)749; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rax)750; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)751; AVX512DQ-BW-FCP-NEXT: vzeroupper752; AVX512DQ-BW-FCP-NEXT: retq753 %in.vec0 = load <4 x i64>, ptr %in.vecptr0, align 64754 %in.vec1 = load <4 x i64>, ptr %in.vecptr1, align 64755 %in.vec2 = load <4 x i64>, ptr %in.vecptr2, align 64756 %in.vec3 = load <4 x i64>, ptr %in.vecptr3, align 64757 %in.vec4 = load <4 x i64>, ptr %in.vecptr4, align 64758 %in.vec5 = load <4 x i64>, ptr %in.vecptr5, align 64759 %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>760 %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>761 %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>762 %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>763 %5 = shufflevector <8 x i64> %3, <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>764 %6 = shufflevector <16 x i64> %4, <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>765 %interleaved.vec = shufflevector <24 x i64> %6, <24 x i64> poison, <24 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 3, i32 7, i32 11, i32 15, i32 19, i32 23>766 store <24 x i64> %interleaved.vec, ptr %out.vec, align 64767 ret void768}769 770define void @store_i64_stride6_vf8(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {771; SSE-LABEL: store_i64_stride6_vf8:772; SSE: # %bb.0:773; SSE-NEXT: subq $24, %rsp774; SSE-NEXT: movaps (%rdi), %xmm2775; SSE-NEXT: movaps 16(%rdi), %xmm3776; SSE-NEXT: movaps 32(%rdi), %xmm5777; SSE-NEXT: movaps (%rsi), %xmm1778; SSE-NEXT: movaps 16(%rsi), %xmm12779; SSE-NEXT: movaps 32(%rsi), %xmm14780; SSE-NEXT: movaps (%rdx), %xmm4781; SSE-NEXT: movaps 16(%rdx), %xmm6782; SSE-NEXT: movaps 32(%rdx), %xmm0783; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill784; SSE-NEXT: movaps (%rcx), %xmm10785; SSE-NEXT: movaps 16(%rcx), %xmm13786; SSE-NEXT: movaps (%r8), %xmm7787; SSE-NEXT: movaps 16(%r8), %xmm9788; SSE-NEXT: movaps (%r9), %xmm11789; SSE-NEXT: movaps 16(%r9), %xmm0790; SSE-NEXT: movaps %xmm2, %xmm8791; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm1[0]792; SSE-NEXT: movaps %xmm8, (%rsp) # 16-byte Spill793; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]794; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill795; SSE-NEXT: movaps %xmm4, %xmm2796; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm10[0]797; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill798; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm10[1]799; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill800; SSE-NEXT: movaps %xmm7, %xmm10801; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm11[0]802; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm11[1]803; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill804; SSE-NEXT: movaps %xmm3, %xmm11805; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm12[0]806; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm12[1]807; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill808; SSE-NEXT: movaps %xmm6, %xmm12809; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm13[0]810; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm13[1]811; SSE-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill812; SSE-NEXT: movaps %xmm9, %xmm13813; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]814; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]815; SSE-NEXT: movaps %xmm5, %xmm15816; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm14[0]817; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm14[1]818; SSE-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill819; SSE-NEXT: movaps 32(%rcx), %xmm0820; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload821; SSE-NEXT: movaps %xmm1, %xmm14822; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]823; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]824; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill825; SSE-NEXT: movaps 32(%r8), %xmm5826; SSE-NEXT: movaps 32(%r9), %xmm0827; SSE-NEXT: movaps %xmm5, %xmm8828; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]829; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]830; SSE-NEXT: movaps 48(%rdi), %xmm6831; SSE-NEXT: movaps 48(%rsi), %xmm1832; SSE-NEXT: movaps %xmm6, %xmm7833; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]834; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]835; SSE-NEXT: movaps 48(%rdx), %xmm1836; SSE-NEXT: movaps 48(%rcx), %xmm0837; SSE-NEXT: movaps %xmm1, %xmm4838; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]839; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]840; SSE-NEXT: movaps 48(%r8), %xmm0841; SSE-NEXT: movaps 48(%r9), %xmm3842; SSE-NEXT: movaps %xmm0, %xmm2843; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]844; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]845; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax846; SSE-NEXT: movaps %xmm0, 368(%rax)847; SSE-NEXT: movaps %xmm1, 352(%rax)848; SSE-NEXT: movaps %xmm6, 336(%rax)849; SSE-NEXT: movaps %xmm2, 320(%rax)850; SSE-NEXT: movaps %xmm4, 304(%rax)851; SSE-NEXT: movaps %xmm7, 288(%rax)852; SSE-NEXT: movaps %xmm5, 272(%rax)853; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload854; SSE-NEXT: movaps %xmm0, 256(%rax)855; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload856; SSE-NEXT: movaps %xmm0, 240(%rax)857; SSE-NEXT: movaps %xmm8, 224(%rax)858; SSE-NEXT: movaps %xmm14, 208(%rax)859; SSE-NEXT: movaps %xmm15, 192(%rax)860; SSE-NEXT: movaps %xmm9, 176(%rax)861; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload862; SSE-NEXT: movaps %xmm0, 160(%rax)863; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload864; SSE-NEXT: movaps %xmm0, 144(%rax)865; SSE-NEXT: movaps %xmm13, 128(%rax)866; SSE-NEXT: movaps %xmm12, 112(%rax)867; SSE-NEXT: movaps %xmm11, 96(%rax)868; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload869; SSE-NEXT: movaps %xmm0, 80(%rax)870; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload871; SSE-NEXT: movaps %xmm0, 64(%rax)872; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload873; SSE-NEXT: movaps %xmm0, 48(%rax)874; SSE-NEXT: movaps %xmm10, 32(%rax)875; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload876; SSE-NEXT: movaps %xmm0, 16(%rax)877; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload878; SSE-NEXT: movaps %xmm0, (%rax)879; SSE-NEXT: addq $24, %rsp880; SSE-NEXT: retq881;882; AVX-LABEL: store_i64_stride6_vf8:883; AVX: # %bb.0:884; AVX-NEXT: vmovapd 32(%rdi), %ymm13885; AVX-NEXT: vmovapd (%r8), %ymm11886; AVX-NEXT: vmovapd 32(%r8), %ymm14887; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]888; AVX-NEXT: vmovaps (%rsi), %xmm1889; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill890; AVX-NEXT: vmovaps 32(%rsi), %xmm4891; AVX-NEXT: vmovaps (%rdi), %xmm3892; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm1[1]893; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm2894; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm11[0,1],ymm2[2,3]895; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0],ymm0[1],ymm2[2,3]896; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill897; AVX-NEXT: vmovaps (%rcx), %xmm5898; AVX-NEXT: vmovaps 32(%rcx), %xmm6899; AVX-NEXT: vmovaps 32(%rdx), %xmm8900; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm6[1]901; AVX-NEXT: vinsertf128 $1, 32(%r9), %ymm2, %ymm7902; AVX-NEXT: vbroadcastsd 40(%r8), %ymm9903; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm9[4,5,6,7]904; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm7[2,3],ymm2[4,5],ymm7[6,7]905; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill906; AVX-NEXT: vmovaps (%rdx), %xmm9907; AVX-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm9[1],xmm5[1]908; AVX-NEXT: vinsertf128 $1, (%r9), %ymm7, %ymm10909; AVX-NEXT: vbroadcastsd 8(%r8), %ymm12910; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm12[4,5,6,7]911; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm10[2,3],ymm7[4,5],ymm10[6,7]912; AVX-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]913; AVX-NEXT: vmovaps 32(%rdi), %xmm12914; AVX-NEXT: vunpckhpd {{.*#+}} xmm15 = xmm12[1],xmm4[1]915; AVX-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm15916; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm14[0,1],ymm15[2,3]917; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm15[0],ymm10[1],ymm15[2,3]918; AVX-NEXT: vmovapd 32(%rsi), %ymm15919; AVX-NEXT: vunpckhpd {{.*#+}} ymm13 = ymm13[1],ymm15[1],ymm13[3],ymm15[3]920; AVX-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm14[2,3],ymm13[2,3]921; AVX-NEXT: vmovapd 32(%r9), %ymm0922; AVX-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm15[2,3]923; AVX-NEXT: vshufpd {{.*#+}} ymm13 = ymm13[0],ymm14[0],ymm13[2],ymm14[3]924; AVX-NEXT: vmovapd (%rdi), %ymm14925; AVX-NEXT: vmovapd (%rsi), %ymm15926; AVX-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]927; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]928; AVX-NEXT: vmovapd (%r9), %ymm1929; AVX-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm1[2,3],ymm15[2,3]930; AVX-NEXT: vshufpd {{.*#+}} ymm14 = ymm11[0],ymm14[0],ymm11[2],ymm14[3]931; AVX-NEXT: vmovapd 48(%rdx), %xmm11932; AVX-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm11[1],mem[1]933; AVX-NEXT: vbroadcastsd 56(%r8), %ymm15934; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm11[0,1],ymm15[2,3]935; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm11[0,1,2],ymm0[3]936; AVX-NEXT: vmovaps 48(%rdi), %xmm0937; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]938; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]939; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm15940; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm15[6,7]941; AVX-NEXT: vmovapd 16(%rdx), %xmm15942; AVX-NEXT: vunpckhpd {{.*#+}} xmm15 = xmm15[1],mem[1]943; AVX-NEXT: vbroadcastsd 24(%r8), %ymm2944; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm15[0,1],ymm2[2,3]945; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1,2],ymm1[3]946; AVX-NEXT: vmovaps 16(%rdi), %xmm2947; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]948; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]949; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm15950; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm15[6,7]951; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm12[0],xmm4[0]952; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm8[0],xmm6[0]953; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload954; AVX-NEXT: # xmm3 = xmm3[0],mem[0]955; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm9[0],xmm5[0]956; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax957; AVX-NEXT: vmovaps %xmm5, 16(%rax)958; AVX-NEXT: vmovaps %xmm3, (%rax)959; AVX-NEXT: vmovaps %xmm6, 208(%rax)960; AVX-NEXT: vmovaps %xmm4, 192(%rax)961; AVX-NEXT: vmovapd %ymm14, 128(%rax)962; AVX-NEXT: vmovapd %ymm13, 320(%rax)963; AVX-NEXT: vmovaps %ymm2, 96(%rax)964; AVX-NEXT: vmovapd %ymm1, 160(%rax)965; AVX-NEXT: vmovapd %ymm10, 224(%rax)966; AVX-NEXT: vmovaps %ymm0, 288(%rax)967; AVX-NEXT: vmovaps %ymm7, 64(%rax)968; AVX-NEXT: vmovapd %ymm11, 352(%rax)969; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload970; AVX-NEXT: vmovaps %ymm0, 256(%rax)971; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload972; AVX-NEXT: vmovaps %ymm0, 32(%rax)973; AVX-NEXT: vzeroupper974; AVX-NEXT: retq975;976; AVX2-LABEL: store_i64_stride6_vf8:977; AVX2: # %bb.0:978; AVX2-NEXT: vmovaps (%r8), %ymm1979; AVX2-NEXT: vmovaps 32(%r8), %ymm4980; AVX2-NEXT: vmovaps (%r9), %xmm3981; AVX2-NEXT: vmovaps 32(%r9), %xmm5982; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = xmm3[0,0]983; AVX2-NEXT: vmovaps (%rsi), %xmm9984; AVX2-NEXT: vmovaps 32(%rsi), %xmm7985; AVX2-NEXT: vmovaps (%rdi), %xmm6986; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm9[1]987; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[0,1],ymm2[0,1]988; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]989; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm2990; AVX2-NEXT: vmovaps (%rcx), %xmm11991; AVX2-NEXT: vmovaps 32(%rcx), %xmm12992; AVX2-NEXT: vmovaps (%rdx), %xmm13993; AVX2-NEXT: vmovaps 32(%rdx), %xmm10994; AVX2-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm10[1],xmm12[1]995; AVX2-NEXT: vbroadcastsd 40(%r8), %ymm14996; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]997; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm8[0,1,2,3,4,5],ymm2[6,7]998; AVX2-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm13[1],xmm11[1]999; AVX2-NEXT: vbroadcastsd 8(%r8), %ymm141000; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]1001; AVX2-NEXT: vmovaps 32(%rdi), %xmm141002; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm31003; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]1004; AVX2-NEXT: vmovddup {{.*#+}} xmm5 = xmm5[0,0]1005; AVX2-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm14[1],xmm7[1]1006; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm4[0,1],ymm8[0,1]1007; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]1008; AVX2-NEXT: vmovaps (%rdi), %ymm81009; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm9, %ymm91010; AVX2-NEXT: vmovaps 32(%rdi), %ymm111011; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm6, %ymm61012; AVX2-NEXT: vmovaps (%rsi), %ymm131013; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1014; AVX2-NEXT: vmovaps 32(%rsi), %ymm91015; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm7, %ymm71016; AVX2-NEXT: vmovaps 32(%rdx), %ymm121017; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm14, %ymm101018; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm10[0],ymm7[0],ymm10[2],ymm7[2]1019; AVX2-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm12[1],mem[1],ymm12[3],mem[3]1020; AVX2-NEXT: vbroadcastsd 56(%r8), %ymm141021; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm14[2,3]1022; AVX2-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]1023; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm14[2,3]1024; AVX2-NEXT: vbroadcastsd 48(%r9), %ymm141025; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm14[2,3],ymm4[4,5,6,7]1026; AVX2-NEXT: vmovaps (%rdx), %ymm141027; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]1028; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm12[2,3]1029; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm111030; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm11[6,7]1031; AVX2-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm14[1],mem[1],ymm14[3],mem[3]1032; AVX2-NEXT: vbroadcastsd 24(%r8), %ymm121033; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]1034; AVX2-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm8[1],ymm13[1],ymm8[3],ymm13[3]1035; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm12[2,3]1036; AVX2-NEXT: vbroadcastsd 16(%r9), %ymm121037; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm12[2,3],ymm1[4,5,6,7]1038; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm13[0],ymm8[2],ymm13[2]1039; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm14[2,3]1040; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm121041; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm12[6,7]1042; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1043; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]1044; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]1045; AVX2-NEXT: vmovaps %ymm8, 96(%rax)1046; AVX2-NEXT: vmovaps %ymm1, 128(%rax)1047; AVX2-NEXT: vmovaps %ymm7, 192(%rax)1048; AVX2-NEXT: vmovaps %ymm11, 160(%rax)1049; AVX2-NEXT: vmovaps %ymm9, 288(%rax)1050; AVX2-NEXT: vmovaps %ymm4, 320(%rax)1051; AVX2-NEXT: vmovaps %ymm10, 352(%rax)1052; AVX2-NEXT: vmovaps %ymm6, (%rax)1053; AVX2-NEXT: vmovaps %ymm5, 224(%rax)1054; AVX2-NEXT: vmovaps %ymm3, 64(%rax)1055; AVX2-NEXT: vmovaps %ymm2, 256(%rax)1056; AVX2-NEXT: vmovaps %ymm0, 32(%rax)1057; AVX2-NEXT: vzeroupper1058; AVX2-NEXT: retq1059;1060; AVX2-FP-LABEL: store_i64_stride6_vf8:1061; AVX2-FP: # %bb.0:1062; AVX2-FP-NEXT: vmovaps (%r8), %ymm11063; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm41064; AVX2-FP-NEXT: vmovaps (%r9), %xmm31065; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm51066; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = xmm3[0,0]1067; AVX2-FP-NEXT: vmovaps (%rsi), %xmm91068; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm71069; AVX2-FP-NEXT: vmovaps (%rdi), %xmm61070; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm9[1]1071; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[0,1],ymm2[0,1]1072; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]1073; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm21074; AVX2-FP-NEXT: vmovaps (%rcx), %xmm111075; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm121076; AVX2-FP-NEXT: vmovaps (%rdx), %xmm131077; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm101078; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm10[1],xmm12[1]1079; AVX2-FP-NEXT: vbroadcastsd 40(%r8), %ymm141080; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]1081; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm8[0,1,2,3,4,5],ymm2[6,7]1082; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm13[1],xmm11[1]1083; AVX2-FP-NEXT: vbroadcastsd 8(%r8), %ymm141084; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]1085; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm141086; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm31087; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]1088; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm5 = xmm5[0,0]1089; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm14[1],xmm7[1]1090; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm4[0,1],ymm8[0,1]1091; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]1092; AVX2-FP-NEXT: vmovaps (%rdi), %ymm81093; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm9, %ymm91094; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm111095; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm6, %ymm61096; AVX2-FP-NEXT: vmovaps (%rsi), %ymm131097; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1098; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm91099; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm7, %ymm71100; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm121101; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm14, %ymm101102; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm10[0],ymm7[0],ymm10[2],ymm7[2]1103; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm12[1],mem[1],ymm12[3],mem[3]1104; AVX2-FP-NEXT: vbroadcastsd 56(%r8), %ymm141105; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm14[2,3]1106; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]1107; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm14[2,3]1108; AVX2-FP-NEXT: vbroadcastsd 48(%r9), %ymm141109; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm14[2,3],ymm4[4,5,6,7]1110; AVX2-FP-NEXT: vmovaps (%rdx), %ymm141111; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]1112; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm12[2,3]1113; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm111114; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm11[6,7]1115; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm14[1],mem[1],ymm14[3],mem[3]1116; AVX2-FP-NEXT: vbroadcastsd 24(%r8), %ymm121117; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]1118; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm8[1],ymm13[1],ymm8[3],ymm13[3]1119; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm12[2,3]1120; AVX2-FP-NEXT: vbroadcastsd 16(%r9), %ymm121121; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm12[2,3],ymm1[4,5,6,7]1122; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm13[0],ymm8[2],ymm13[2]1123; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm14[2,3]1124; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm121125; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm12[6,7]1126; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1127; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]1128; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]1129; AVX2-FP-NEXT: vmovaps %ymm8, 96(%rax)1130; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)1131; AVX2-FP-NEXT: vmovaps %ymm7, 192(%rax)1132; AVX2-FP-NEXT: vmovaps %ymm11, 160(%rax)1133; AVX2-FP-NEXT: vmovaps %ymm9, 288(%rax)1134; AVX2-FP-NEXT: vmovaps %ymm4, 320(%rax)1135; AVX2-FP-NEXT: vmovaps %ymm10, 352(%rax)1136; AVX2-FP-NEXT: vmovaps %ymm6, (%rax)1137; AVX2-FP-NEXT: vmovaps %ymm5, 224(%rax)1138; AVX2-FP-NEXT: vmovaps %ymm3, 64(%rax)1139; AVX2-FP-NEXT: vmovaps %ymm2, 256(%rax)1140; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)1141; AVX2-FP-NEXT: vzeroupper1142; AVX2-FP-NEXT: retq1143;1144; AVX2-FCP-LABEL: store_i64_stride6_vf8:1145; AVX2-FCP: # %bb.0:1146; AVX2-FCP-NEXT: vmovaps (%r8), %ymm11147; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm41148; AVX2-FCP-NEXT: vmovaps (%r9), %xmm31149; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm51150; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = xmm3[0,0]1151; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm91152; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm71153; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm61154; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm9[1]1155; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm1[0,1],ymm2[0,1]1156; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]1157; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm21158; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm111159; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm121160; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm131161; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm101162; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm10[1],xmm12[1]1163; AVX2-FCP-NEXT: vbroadcastsd 40(%r8), %ymm141164; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]1165; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm8[0,1,2,3,4,5],ymm2[6,7]1166; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm13[1],xmm11[1]1167; AVX2-FCP-NEXT: vbroadcastsd 8(%r8), %ymm141168; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm14[4,5,6,7]1169; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm141170; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm31171; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]1172; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm5 = xmm5[0,0]1173; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm14[1],xmm7[1]1174; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm4[0,1],ymm8[0,1]1175; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]1176; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm81177; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm9, %ymm91178; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm111179; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm6, %ymm61180; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm131181; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1182; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm91183; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm7, %ymm71184; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm121185; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm14, %ymm101186; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm10[0],ymm7[0],ymm10[2],ymm7[2]1187; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm12[1],mem[1],ymm12[3],mem[3]1188; AVX2-FCP-NEXT: vbroadcastsd 56(%r8), %ymm141189; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm10[2,3],ymm14[2,3]1190; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm11[1],ymm9[1],ymm11[3],ymm9[3]1191; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm14[2,3]1192; AVX2-FCP-NEXT: vbroadcastsd 48(%r9), %ymm141193; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm14[2,3],ymm4[4,5,6,7]1194; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm141195; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm11[0],ymm9[0],ymm11[2],ymm9[2]1196; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm12[2,3]1197; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm111198; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm11[6,7]1199; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm14[1],mem[1],ymm14[3],mem[3]1200; AVX2-FCP-NEXT: vbroadcastsd 24(%r8), %ymm121201; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]1202; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm8[1],ymm13[1],ymm8[3],ymm13[3]1203; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm12[2,3]1204; AVX2-FCP-NEXT: vbroadcastsd 16(%r9), %ymm121205; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm12[2,3],ymm1[4,5,6,7]1206; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm8[0],ymm13[0],ymm8[2],ymm13[2]1207; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm14[2,3]1208; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm121209; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm12[6,7]1210; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1211; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]1212; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]1213; AVX2-FCP-NEXT: vmovaps %ymm8, 96(%rax)1214; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rax)1215; AVX2-FCP-NEXT: vmovaps %ymm7, 192(%rax)1216; AVX2-FCP-NEXT: vmovaps %ymm11, 160(%rax)1217; AVX2-FCP-NEXT: vmovaps %ymm9, 288(%rax)1218; AVX2-FCP-NEXT: vmovaps %ymm4, 320(%rax)1219; AVX2-FCP-NEXT: vmovaps %ymm10, 352(%rax)1220; AVX2-FCP-NEXT: vmovaps %ymm6, (%rax)1221; AVX2-FCP-NEXT: vmovaps %ymm5, 224(%rax)1222; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%rax)1223; AVX2-FCP-NEXT: vmovaps %ymm2, 256(%rax)1224; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)1225; AVX2-FCP-NEXT: vzeroupper1226; AVX2-FCP-NEXT: retq1227;1228; AVX512-LABEL: store_i64_stride6_vf8:1229; AVX512: # %bb.0:1230; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax1231; AVX512-NEXT: vmovdqa64 (%rdi), %zmm21232; AVX512-NEXT: vmovdqa64 (%rsi), %zmm31233; AVX512-NEXT: vmovdqa64 (%rdx), %zmm51234; AVX512-NEXT: vmovdqa64 (%rcx), %zmm61235; AVX512-NEXT: vmovdqa64 (%r8), %zmm11236; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1237; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1238; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm01239; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1240; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm41241; AVX512-NEXT: movb $12, %r10b1242; AVX512-NEXT: kmovw %r10d, %k11243; AVX512-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1244; AVX512-NEXT: movb $16, %r10b1245; AVX512-NEXT: kmovw %r10d, %k21246; AVX512-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1247; AVX512-NEXT: vmovdqa64 (%r9), %zmm41248; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1249; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1250; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm71251; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1252; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1253; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm81254; AVX512-NEXT: movb $48, %r9b1255; AVX512-NEXT: kmovw %r9d, %k21256; AVX512-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1257; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1258; AVX512-NEXT: vpermi2q %zmm1, %zmm8, %zmm91259; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1260; AVX512-NEXT: vpermi2q %zmm4, %zmm9, %zmm71261; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1262; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1263; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm81264; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1265; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1266; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm91267; AVX512-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1268; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1269; AVX512-NEXT: vpermi2q %zmm1, %zmm9, %zmm81270; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1271; AVX512-NEXT: vpermi2q %zmm4, %zmm8, %zmm91272; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1273; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1274; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1275; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1276; AVX512-NEXT: vpermi2q %zmm6, %zmm5, %zmm101277; AVX512-NEXT: vpermt2q %zmm6, %zmm8, %zmm51278; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm81279; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1280; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1281; AVX512-NEXT: vpermi2q %zmm1, %zmm5, %zmm61282; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1283; AVX512-NEXT: vpermi2q %zmm4, %zmm6, %zmm51284; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1285; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1286; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm61287; AVX512-NEXT: vmovdqa (%rdx), %xmm21288; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1289; AVX512-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21290; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1291; AVX512-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21292; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1293; AVX512-NEXT: vpermi2q %zmm4, %zmm2, %zmm31294; AVX512-NEXT: vmovdqa (%rdi), %ymm21295; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1296; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21297; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1298; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm61299; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1300; AVX512-NEXT: vpermi2q %zmm4, %zmm6, %zmm11301; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1302; AVX512-NEXT: vpermi2q %zmm4, %zmm0, %zmm21303; AVX512-NEXT: vmovdqa64 %zmm2, 192(%rax)1304; AVX512-NEXT: vmovdqa64 %zmm1, 128(%rax)1305; AVX512-NEXT: vmovdqa64 %zmm5, 320(%rax)1306; AVX512-NEXT: vmovdqa64 %zmm9, 256(%rax)1307; AVX512-NEXT: vmovdqa64 %zmm7, 64(%rax)1308; AVX512-NEXT: vmovdqa64 %zmm3, (%rax)1309; AVX512-NEXT: vzeroupper1310; AVX512-NEXT: retq1311;1312; AVX512-FCP-LABEL: store_i64_stride6_vf8:1313; AVX512-FCP: # %bb.0:1314; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1315; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm21316; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm31317; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm51318; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm61319; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm11320; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1321; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1322; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm01323; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1324; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm41325; AVX512-FCP-NEXT: movb $12, %r10b1326; AVX512-FCP-NEXT: kmovw %r10d, %k11327; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1328; AVX512-FCP-NEXT: movb $16, %r10b1329; AVX512-FCP-NEXT: kmovw %r10d, %k21330; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1331; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm41332; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1333; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1334; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71335; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1336; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1337; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm81338; AVX512-FCP-NEXT: movb $48, %r9b1339; AVX512-FCP-NEXT: kmovw %r9d, %k21340; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1341; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1342; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm91343; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1344; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm9, %zmm71345; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1346; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1347; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81348; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1349; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1350; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm91351; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1352; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1353; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm81354; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1355; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm91356; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1357; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1358; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1359; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1360; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm101361; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm51362; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81363; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1364; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1365; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm5, %zmm61366; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1367; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm51368; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1369; AVX512-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1370; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm61371; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm21372; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1373; AVX512-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21374; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1375; AVX512-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21376; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1377; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm31378; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm21379; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1380; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21381; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1382; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm61383; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1384; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm11385; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1386; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm21387; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 192(%rax)1388; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)1389; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)1390; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)1391; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)1392; AVX512-FCP-NEXT: vmovdqa64 %zmm3, (%rax)1393; AVX512-FCP-NEXT: vzeroupper1394; AVX512-FCP-NEXT: retq1395;1396; AVX512DQ-LABEL: store_i64_stride6_vf8:1397; AVX512DQ: # %bb.0:1398; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax1399; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm21400; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm31401; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm51402; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm61403; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm11404; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1405; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1406; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm01407; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1408; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm5, %zmm41409; AVX512DQ-NEXT: movb $12, %r10b1410; AVX512DQ-NEXT: kmovw %r10d, %k11411; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1412; AVX512DQ-NEXT: movb $16, %r10b1413; AVX512DQ-NEXT: kmovw %r10d, %k21414; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1415; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm41416; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1417; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1418; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm71419; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1420; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1421; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm5, %zmm81422; AVX512DQ-NEXT: movb $48, %r9b1423; AVX512DQ-NEXT: kmovw %r9d, %k21424; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1425; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1426; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm8, %zmm91427; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1428; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm9, %zmm71429; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1430; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1431; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm81432; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1433; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1434; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm5, %zmm91435; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1436; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1437; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm9, %zmm81438; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1439; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm8, %zmm91440; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1441; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1442; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1443; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1444; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm5, %zmm101445; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm8, %zmm51446; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm81447; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1448; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1449; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm5, %zmm61450; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1451; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm6, %zmm51452; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1453; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1454; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm61455; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm21456; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1457; AVX512DQ-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21458; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1459; AVX512DQ-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21460; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1461; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm2, %zmm31462; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm21463; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1464; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21465; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1466; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm61467; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1468; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm6, %zmm11469; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1470; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm0, %zmm21471; AVX512DQ-NEXT: vmovdqa64 %zmm2, 192(%rax)1472; AVX512DQ-NEXT: vmovdqa64 %zmm1, 128(%rax)1473; AVX512DQ-NEXT: vmovdqa64 %zmm5, 320(%rax)1474; AVX512DQ-NEXT: vmovdqa64 %zmm9, 256(%rax)1475; AVX512DQ-NEXT: vmovdqa64 %zmm7, 64(%rax)1476; AVX512DQ-NEXT: vmovdqa64 %zmm3, (%rax)1477; AVX512DQ-NEXT: vzeroupper1478; AVX512DQ-NEXT: retq1479;1480; AVX512DQ-FCP-LABEL: store_i64_stride6_vf8:1481; AVX512DQ-FCP: # %bb.0:1482; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1483; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm21484; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm31485; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm51486; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm61487; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm11488; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1489; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1490; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm01491; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1492; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm41493; AVX512DQ-FCP-NEXT: movb $12, %r10b1494; AVX512DQ-FCP-NEXT: kmovw %r10d, %k11495; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1496; AVX512DQ-FCP-NEXT: movb $16, %r10b1497; AVX512DQ-FCP-NEXT: kmovw %r10d, %k21498; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1499; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm41500; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1501; AVX512DQ-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1502; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71503; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1504; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1505; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm81506; AVX512DQ-FCP-NEXT: movb $48, %r9b1507; AVX512DQ-FCP-NEXT: kmovw %r9d, %k21508; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1509; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1510; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm91511; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1512; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm9, %zmm71513; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1514; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1515; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81516; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1517; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1518; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm91519; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1520; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1521; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm81522; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1523; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm91524; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1525; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1526; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1527; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1528; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm101529; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm51530; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81531; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1532; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1533; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm5, %zmm61534; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1535; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm51536; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1537; AVX512DQ-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1538; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm61539; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm21540; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1541; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21542; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1543; AVX512DQ-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21544; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1545; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm31546; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm21547; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1548; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21549; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1550; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm61551; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1552; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm11553; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1554; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm21555; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 192(%rax)1556; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)1557; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)1558; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)1559; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)1560; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, (%rax)1561; AVX512DQ-FCP-NEXT: vzeroupper1562; AVX512DQ-FCP-NEXT: retq1563;1564; AVX512BW-LABEL: store_i64_stride6_vf8:1565; AVX512BW: # %bb.0:1566; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax1567; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm21568; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm31569; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm51570; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm61571; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm11572; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1573; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1574; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm01575; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1576; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm41577; AVX512BW-NEXT: movb $12, %r10b1578; AVX512BW-NEXT: kmovd %r10d, %k11579; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1580; AVX512BW-NEXT: movb $16, %r10b1581; AVX512BW-NEXT: kmovd %r10d, %k21582; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1583; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm41584; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1585; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1586; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm71587; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1588; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1589; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm81590; AVX512BW-NEXT: movb $48, %r9b1591; AVX512BW-NEXT: kmovd %r9d, %k21592; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1593; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1594; AVX512BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm91595; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1596; AVX512BW-NEXT: vpermi2q %zmm4, %zmm9, %zmm71597; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1598; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1599; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81600; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1601; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1602; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm91603; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1604; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1605; AVX512BW-NEXT: vpermi2q %zmm1, %zmm9, %zmm81606; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1607; AVX512BW-NEXT: vpermi2q %zmm4, %zmm8, %zmm91608; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1609; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1610; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1611; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1612; AVX512BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm101613; AVX512BW-NEXT: vpermt2q %zmm6, %zmm8, %zmm51614; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81615; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1616; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1617; AVX512BW-NEXT: vpermi2q %zmm1, %zmm5, %zmm61618; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1619; AVX512BW-NEXT: vpermi2q %zmm4, %zmm6, %zmm51620; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1621; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1622; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm61623; AVX512BW-NEXT: vmovdqa (%rdx), %xmm21624; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1625; AVX512BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21626; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1627; AVX512BW-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21628; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1629; AVX512BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm31630; AVX512BW-NEXT: vmovdqa (%rdi), %ymm21631; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1632; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21633; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1634; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm61635; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1636; AVX512BW-NEXT: vpermi2q %zmm4, %zmm6, %zmm11637; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1638; AVX512BW-NEXT: vpermi2q %zmm4, %zmm0, %zmm21639; AVX512BW-NEXT: vmovdqa64 %zmm2, 192(%rax)1640; AVX512BW-NEXT: vmovdqa64 %zmm1, 128(%rax)1641; AVX512BW-NEXT: vmovdqa64 %zmm5, 320(%rax)1642; AVX512BW-NEXT: vmovdqa64 %zmm9, 256(%rax)1643; AVX512BW-NEXT: vmovdqa64 %zmm7, 64(%rax)1644; AVX512BW-NEXT: vmovdqa64 %zmm3, (%rax)1645; AVX512BW-NEXT: vzeroupper1646; AVX512BW-NEXT: retq1647;1648; AVX512BW-FCP-LABEL: store_i64_stride6_vf8:1649; AVX512BW-FCP: # %bb.0:1650; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1651; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm21652; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm31653; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm51654; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm61655; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm11656; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1657; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1658; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm01659; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1660; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm41661; AVX512BW-FCP-NEXT: movb $12, %r10b1662; AVX512BW-FCP-NEXT: kmovd %r10d, %k11663; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1664; AVX512BW-FCP-NEXT: movb $16, %r10b1665; AVX512BW-FCP-NEXT: kmovd %r10d, %k21666; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1667; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm41668; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1669; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1670; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71671; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1672; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1673; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm81674; AVX512BW-FCP-NEXT: movb $48, %r9b1675; AVX512BW-FCP-NEXT: kmovd %r9d, %k21676; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1677; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1678; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm91679; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1680; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm9, %zmm71681; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1682; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1683; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81684; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1685; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1686; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm91687; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1688; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1689; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm81690; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1691; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm91692; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1693; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1694; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1695; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1696; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm101697; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm51698; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81699; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1700; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1701; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm5, %zmm61702; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1703; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm51704; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1705; AVX512BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1706; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm61707; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm21708; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1709; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21710; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1711; AVX512BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21712; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1713; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm31714; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm21715; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1716; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21717; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1718; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm61719; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1720; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm11721; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1722; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm21723; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 192(%rax)1724; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)1725; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)1726; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)1727; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)1728; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)1729; AVX512BW-FCP-NEXT: vzeroupper1730; AVX512BW-FCP-NEXT: retq1731;1732; AVX512DQ-BW-LABEL: store_i64_stride6_vf8:1733; AVX512DQ-BW: # %bb.0:1734; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax1735; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm21736; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm31737; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm51738; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm61739; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm11740; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1741; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1742; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm01743; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1744; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm41745; AVX512DQ-BW-NEXT: movb $12, %r10b1746; AVX512DQ-BW-NEXT: kmovd %r10d, %k11747; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1748; AVX512DQ-BW-NEXT: movb $16, %r10b1749; AVX512DQ-BW-NEXT: kmovd %r10d, %k21750; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1751; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm41752; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1753; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1754; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm71755; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1756; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1757; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm81758; AVX512DQ-BW-NEXT: movb $48, %r9b1759; AVX512DQ-BW-NEXT: kmovd %r9d, %k21760; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1761; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1762; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm8, %zmm91763; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1764; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm9, %zmm71765; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1766; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1767; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81768; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1769; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1770; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm91771; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1772; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1773; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm9, %zmm81774; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1775; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm8, %zmm91776; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1777; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1778; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1779; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1780; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm5, %zmm101781; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm8, %zmm51782; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81783; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1784; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1785; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm5, %zmm61786; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1787; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm6, %zmm51788; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1789; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1790; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm61791; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm21792; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1793; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21794; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1795; AVX512DQ-BW-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21796; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1797; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm31798; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm21799; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1800; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21801; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1802; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm61803; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1804; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm6, %zmm11805; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1806; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm0, %zmm21807; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 192(%rax)1808; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 128(%rax)1809; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 320(%rax)1810; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 256(%rax)1811; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 64(%rax)1812; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, (%rax)1813; AVX512DQ-BW-NEXT: vzeroupper1814; AVX512DQ-BW-NEXT: retq1815;1816; AVX512DQ-BW-FCP-LABEL: store_i64_stride6_vf8:1817; AVX512DQ-BW-FCP: # %bb.0:1818; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1819; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm21820; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm31821; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm51822; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm61823; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm11824; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]1825; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]1826; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm01827; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm4 = [0,0,4,12]1828; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm41829; AVX512DQ-BW-FCP-NEXT: movb $12, %r10b1830; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k11831; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm0 {%k1}1832; AVX512DQ-BW-FCP-NEXT: movb $16, %r10b1833; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k21834; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}1835; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm41836; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,10,2,10,2,10,2,10]1837; AVX512DQ-BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1838; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71839; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [1,9,2,10,1,9,2,10]1840; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1841; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm81842; AVX512DQ-BW-FCP-NEXT: movb $48, %r9b1843; AVX512DQ-BW-FCP-NEXT: kmovd %r9d, %k21844; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k2}1845; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,9,0,4,5,6,7]1846; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm8, %zmm91847; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,1,2,9,4,5,6,7]1848; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm9, %zmm71849; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [6,14,6,14,6,14,6,14]1850; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1851; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81852; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [5,13,6,14,5,13,6,14]1853; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1854; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm91855; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k2}1856; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,1,13,0,4,5,6,7]1857; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm9, %zmm81858; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,1,2,13,4,5,6,7]1859; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm8, %zmm91860; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [7,15,7,15,7,15,7,15]1861; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1862; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [3,11,3,11,3,11,3,11]1863; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1864; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm5, %zmm101865; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm8, %zmm51866; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81867; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm5 = zmm8[0,1,2,3],zmm5[4,5,6,7]1868; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [14,0,2,3,4,5,15,0]1869; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm5, %zmm61870; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]1871; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm51872; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [0,8,1,9,0,8,1,9]1873; AVX512DQ-BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1874; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm61875; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm21876; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],mem[0]1877; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm21878; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm6 {%k1}1879; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm6, %zmm21880; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,2,3,4,8,6,7]1881; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm31882; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm21883; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]1884; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm10, %zmm21885; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [10,0,2,3,4,5,11,0]1886; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm61887; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,10,2,3,4,5,6,11]1888; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm6, %zmm11889; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,1,2,3,4,12,6,7]1890; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm0, %zmm21891; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 192(%rax)1892; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)1893; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 320(%rax)1894; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 256(%rax)1895; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rax)1896; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)1897; AVX512DQ-BW-FCP-NEXT: vzeroupper1898; AVX512DQ-BW-FCP-NEXT: retq1899 %in.vec0 = load <8 x i64>, ptr %in.vecptr0, align 641900 %in.vec1 = load <8 x i64>, ptr %in.vecptr1, align 641901 %in.vec2 = load <8 x i64>, ptr %in.vecptr2, align 641902 %in.vec3 = load <8 x i64>, ptr %in.vecptr3, align 641903 %in.vec4 = load <8 x i64>, ptr %in.vecptr4, align 641904 %in.vec5 = load <8 x i64>, ptr %in.vecptr5, align 641905 %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>1906 %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>1907 %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>1908 %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>1909 %5 = shufflevector <16 x i64> %3, <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>1910 %6 = shufflevector <32 x i64> %4, <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>1911 %interleaved.vec = shufflevector <48 x i64> %6, <48 x i64> poison, <48 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 7, i32 15, i32 23, i32 31, i32 39, i32 47>1912 store <48 x i64> %interleaved.vec, ptr %out.vec, align 641913 ret void1914}1915 1916define void @store_i64_stride6_vf16(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {1917; SSE-LABEL: store_i64_stride6_vf16:1918; SSE: # %bb.0:1919; SSE-NEXT: subq $408, %rsp # imm = 0x1981920; SSE-NEXT: movaps (%rdi), %xmm71921; SSE-NEXT: movaps 16(%rdi), %xmm81922; SSE-NEXT: movaps 32(%rdi), %xmm91923; SSE-NEXT: movaps (%rsi), %xmm31924; SSE-NEXT: movaps 16(%rsi), %xmm11925; SSE-NEXT: movaps 32(%rsi), %xmm01926; SSE-NEXT: movaps (%rdx), %xmm101927; SSE-NEXT: movaps 16(%rdx), %xmm111928; SSE-NEXT: movaps 32(%rdx), %xmm121929; SSE-NEXT: movaps (%rcx), %xmm51930; SSE-NEXT: movaps 16(%rcx), %xmm21931; SSE-NEXT: movaps (%r8), %xmm131932; SSE-NEXT: movaps 16(%r8), %xmm151933; SSE-NEXT: movaps (%r9), %xmm61934; SSE-NEXT: movaps 16(%r9), %xmm41935; SSE-NEXT: movaps %xmm7, %xmm141936; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm3[0]1937; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1938; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm3[1]1939; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1940; SSE-NEXT: movaps %xmm10, %xmm31941; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm5[0]1942; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1943; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm5[1]1944; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1945; SSE-NEXT: movaps %xmm13, %xmm51946; SSE-NEXT: movlhps {{.*#+}} xmm5 = xmm5[0],xmm6[0]1947; SSE-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1948; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]1949; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1950; SSE-NEXT: movaps %xmm8, %xmm31951; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm1[0]1952; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1953; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]1954; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1955; SSE-NEXT: movaps %xmm11, %xmm11956; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]1957; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1958; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm2[1]1959; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1960; SSE-NEXT: movaps %xmm15, %xmm11961; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm4[0]1962; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1963; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm4[1]1964; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1965; SSE-NEXT: movaps %xmm9, %xmm11966; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1967; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1968; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]1969; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1970; SSE-NEXT: movaps 32(%rcx), %xmm01971; SSE-NEXT: movaps %xmm12, %xmm11972; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1973; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1974; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]1975; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1976; SSE-NEXT: movaps 32(%r8), %xmm21977; SSE-NEXT: movaps 32(%r9), %xmm01978; SSE-NEXT: movaps %xmm2, %xmm11979; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1980; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1981; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1982; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1983; SSE-NEXT: movaps 48(%rdi), %xmm21984; SSE-NEXT: movaps 48(%rsi), %xmm01985; SSE-NEXT: movaps %xmm2, %xmm11986; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1987; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1988; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1989; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1990; SSE-NEXT: movaps 48(%rdx), %xmm21991; SSE-NEXT: movaps 48(%rcx), %xmm01992; SSE-NEXT: movaps %xmm2, %xmm11993; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1994; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1995; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1996; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1997; SSE-NEXT: movaps 48(%r8), %xmm21998; SSE-NEXT: movaps 48(%r9), %xmm01999; SSE-NEXT: movaps %xmm2, %xmm12000; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2001; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2002; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2003; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2004; SSE-NEXT: movaps 64(%rdi), %xmm22005; SSE-NEXT: movaps 64(%rsi), %xmm02006; SSE-NEXT: movaps %xmm2, %xmm12007; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2008; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill2009; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2010; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2011; SSE-NEXT: movaps 64(%rdx), %xmm22012; SSE-NEXT: movaps 64(%rcx), %xmm02013; SSE-NEXT: movaps %xmm2, %xmm12014; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2015; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2016; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2017; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2018; SSE-NEXT: movaps 64(%r8), %xmm22019; SSE-NEXT: movaps 64(%r9), %xmm02020; SSE-NEXT: movaps %xmm2, %xmm12021; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2022; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2023; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2024; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2025; SSE-NEXT: movaps 80(%rdi), %xmm152026; SSE-NEXT: movaps 80(%rsi), %xmm02027; SSE-NEXT: movaps %xmm15, %xmm12028; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2029; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2030; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]2031; SSE-NEXT: movaps 80(%rdx), %xmm122032; SSE-NEXT: movaps 80(%rcx), %xmm02033; SSE-NEXT: movaps %xmm12, %xmm12034; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2035; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2036; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]2037; SSE-NEXT: movaps 80(%r8), %xmm142038; SSE-NEXT: movaps 80(%r9), %xmm02039; SSE-NEXT: movaps %xmm14, %xmm12040; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2041; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2042; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]2043; SSE-NEXT: movaps 96(%rdi), %xmm92044; SSE-NEXT: movaps 96(%rsi), %xmm02045; SSE-NEXT: movaps %xmm9, %xmm132046; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]2047; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]2048; SSE-NEXT: movaps 96(%rdx), %xmm102049; SSE-NEXT: movaps 96(%rcx), %xmm02050; SSE-NEXT: movaps %xmm10, %xmm112051; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]2052; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]2053; SSE-NEXT: movaps 96(%r8), %xmm52054; SSE-NEXT: movaps 96(%r9), %xmm02055; SSE-NEXT: movaps %xmm5, %xmm82056; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]2057; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]2058; SSE-NEXT: movaps 112(%rdi), %xmm62059; SSE-NEXT: movaps 112(%rsi), %xmm12060; SSE-NEXT: movaps %xmm6, %xmm72061; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]2062; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]2063; SSE-NEXT: movaps 112(%rdx), %xmm12064; SSE-NEXT: movaps 112(%rcx), %xmm02065; SSE-NEXT: movaps %xmm1, %xmm42066; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]2067; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2068; SSE-NEXT: movaps 112(%r8), %xmm02069; SSE-NEXT: movaps 112(%r9), %xmm32070; SSE-NEXT: movaps %xmm0, %xmm22071; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]2072; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]2073; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2074; SSE-NEXT: movaps %xmm0, 752(%rax)2075; SSE-NEXT: movaps %xmm1, 736(%rax)2076; SSE-NEXT: movaps %xmm6, 720(%rax)2077; SSE-NEXT: movaps %xmm2, 704(%rax)2078; SSE-NEXT: movaps %xmm4, 688(%rax)2079; SSE-NEXT: movaps %xmm7, 672(%rax)2080; SSE-NEXT: movaps %xmm5, 656(%rax)2081; SSE-NEXT: movaps %xmm10, 640(%rax)2082; SSE-NEXT: movaps %xmm9, 624(%rax)2083; SSE-NEXT: movaps %xmm8, 608(%rax)2084; SSE-NEXT: movaps %xmm11, 592(%rax)2085; SSE-NEXT: movaps %xmm13, 576(%rax)2086; SSE-NEXT: movaps %xmm14, 560(%rax)2087; SSE-NEXT: movaps %xmm12, 544(%rax)2088; SSE-NEXT: movaps %xmm15, 528(%rax)2089; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2090; SSE-NEXT: movaps %xmm0, 512(%rax)2091; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2092; SSE-NEXT: movaps %xmm0, 496(%rax)2093; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2094; SSE-NEXT: movaps %xmm0, 480(%rax)2095; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2096; SSE-NEXT: movaps %xmm0, 464(%rax)2097; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2098; SSE-NEXT: movaps %xmm0, 448(%rax)2099; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2100; SSE-NEXT: movaps %xmm0, 432(%rax)2101; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2102; SSE-NEXT: movaps %xmm0, 416(%rax)2103; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2104; SSE-NEXT: movaps %xmm0, 400(%rax)2105; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload2106; SSE-NEXT: movaps %xmm0, 384(%rax)2107; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2108; SSE-NEXT: movaps %xmm0, 368(%rax)2109; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2110; SSE-NEXT: movaps %xmm0, 352(%rax)2111; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2112; SSE-NEXT: movaps %xmm0, 336(%rax)2113; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2114; SSE-NEXT: movaps %xmm0, 320(%rax)2115; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2116; SSE-NEXT: movaps %xmm0, 304(%rax)2117; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2118; SSE-NEXT: movaps %xmm0, 288(%rax)2119; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2120; SSE-NEXT: movaps %xmm0, 272(%rax)2121; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2122; SSE-NEXT: movaps %xmm0, 256(%rax)2123; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2124; SSE-NEXT: movaps %xmm0, 240(%rax)2125; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2126; SSE-NEXT: movaps %xmm0, 224(%rax)2127; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2128; SSE-NEXT: movaps %xmm0, 208(%rax)2129; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2130; SSE-NEXT: movaps %xmm0, 192(%rax)2131; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2132; SSE-NEXT: movaps %xmm0, 176(%rax)2133; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2134; SSE-NEXT: movaps %xmm0, 160(%rax)2135; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2136; SSE-NEXT: movaps %xmm0, 144(%rax)2137; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2138; SSE-NEXT: movaps %xmm0, 128(%rax)2139; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2140; SSE-NEXT: movaps %xmm0, 112(%rax)2141; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2142; SSE-NEXT: movaps %xmm0, 96(%rax)2143; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2144; SSE-NEXT: movaps %xmm0, 80(%rax)2145; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2146; SSE-NEXT: movaps %xmm0, 64(%rax)2147; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2148; SSE-NEXT: movaps %xmm0, 48(%rax)2149; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2150; SSE-NEXT: movaps %xmm0, 32(%rax)2151; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2152; SSE-NEXT: movaps %xmm0, 16(%rax)2153; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2154; SSE-NEXT: movaps %xmm0, (%rax)2155; SSE-NEXT: addq $408, %rsp # imm = 0x1982156; SSE-NEXT: retq2157;2158; AVX-LABEL: store_i64_stride6_vf16:2159; AVX: # %bb.0:2160; AVX-NEXT: subq $440, %rsp # imm = 0x1B82161; AVX-NEXT: vmovapd (%r8), %ymm112162; AVX-NEXT: vmovapd 32(%r8), %ymm02163; AVX-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]2164; AVX-NEXT: vmovaps (%rsi), %xmm32165; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2166; AVX-NEXT: vmovaps 32(%rsi), %xmm42167; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2168; AVX-NEXT: vmovaps 64(%rsi), %xmm52169; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2170; AVX-NEXT: vmovaps (%rdi), %xmm22171; AVX-NEXT: vmovaps %xmm2, (%rsp) # 16-byte Spill2172; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]2173; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm22174; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm11[0,1],ymm2[2,3]2175; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0],ymm1[1],ymm2[2,3]2176; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2177; AVX-NEXT: vmovaps (%rcx), %xmm22178; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2179; AVX-NEXT: vmovaps 32(%rcx), %xmm62180; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2181; AVX-NEXT: vmovaps (%rdx), %xmm12182; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2183; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]2184; AVX-NEXT: vinsertf128 $1, (%r9), %ymm1, %ymm22185; AVX-NEXT: vbroadcastsd 8(%r8), %ymm32186; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]2187; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5],ymm2[6,7]2188; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2189; AVX-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]2190; AVX-NEXT: vmovaps 32(%rdi), %xmm22191; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2192; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]2193; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm22194; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm0[0,1],ymm2[2,3]2195; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0],ymm1[1],ymm2[2,3]2196; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2197; AVX-NEXT: vmovaps 32(%rdx), %xmm12198; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2199; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm6[1]2200; AVX-NEXT: vbroadcastsd 40(%r8), %ymm22201; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]2202; AVX-NEXT: vinsertf128 $1, 32(%r9), %ymm1, %ymm12203; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5],ymm1[6,7]2204; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2205; AVX-NEXT: vmovaps 64(%rdi), %xmm152206; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm15[1],xmm5[1]2207; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12208; AVX-NEXT: vmovapd 64(%r8), %ymm52209; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm5[0,1],ymm1[2,3]2210; AVX-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]2211; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm2[1],ymm1[2,3]2212; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2213; AVX-NEXT: vmovaps 64(%rcx), %xmm102214; AVX-NEXT: vmovaps 64(%rdx), %xmm92215; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm9[1],xmm10[1]2216; AVX-NEXT: vbroadcastsd 72(%r8), %ymm22217; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm2[4,5,6,7]2218; AVX-NEXT: vinsertf128 $1, 64(%r9), %ymm1, %ymm12219; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5],ymm1[6,7]2220; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2221; AVX-NEXT: vmovaps 96(%rsi), %xmm82222; AVX-NEXT: vmovaps 96(%rdi), %xmm72223; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm8[1]2224; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm22225; AVX-NEXT: vmovapd 96(%r8), %ymm12226; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm1[0,1],ymm2[2,3]2227; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]2228; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2,3]2229; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2230; AVX-NEXT: vmovaps 96(%rcx), %xmm62231; AVX-NEXT: vmovaps 96(%rdx), %xmm32232; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm6[1]2233; AVX-NEXT: vbroadcastsd 104(%r8), %ymm42234; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]2235; AVX-NEXT: vinsertf128 $1, 96(%r9), %ymm2, %ymm22236; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]2237; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2238; AVX-NEXT: vmovapd (%rdi), %ymm22239; AVX-NEXT: vmovapd (%rsi), %ymm122240; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm12[1],ymm2[3],ymm12[3]2241; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm11[2,3],ymm2[2,3]2242; AVX-NEXT: vmovapd (%r9), %ymm42243; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm4[2,3],ymm12[2,3]2244; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm11[0],ymm2[2],ymm11[3]2245; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2246; AVX-NEXT: vmovapd 32(%rdi), %ymm22247; AVX-NEXT: vmovapd 32(%rsi), %ymm112248; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm11[1],ymm2[3],ymm11[3]2249; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]2250; AVX-NEXT: vmovapd 32(%r9), %ymm22251; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm2[2,3],ymm11[2,3]2252; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[3]2253; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2254; AVX-NEXT: vmovapd 64(%rdi), %ymm02255; AVX-NEXT: vmovapd 64(%rsi), %ymm112256; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]2257; AVX-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm5[2,3],ymm0[2,3]2258; AVX-NEXT: vmovapd 64(%r9), %ymm02259; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm0[2,3],ymm11[2,3]2260; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm11[0],ymm5[2],ymm11[3]2261; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2262; AVX-NEXT: vmovapd 96(%rdi), %ymm52263; AVX-NEXT: vmovapd 96(%rsi), %ymm112264; AVX-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm11[1],ymm5[3],ymm11[3]2265; AVX-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm1[2,3],ymm5[2,3]2266; AVX-NEXT: vmovapd 96(%r9), %ymm12267; AVX-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm1[2,3],ymm11[2,3]2268; AVX-NEXT: vshufpd {{.*#+}} ymm11 = ymm5[0],ymm11[0],ymm5[2],ymm11[3]2269; AVX-NEXT: vmovaps 16(%rdi), %xmm52270; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]2271; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],mem[4,5,6,7]2272; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm122273; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm12[6,7]2274; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2275; AVX-NEXT: vmovapd 16(%rdx), %xmm52276; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm5[1],mem[1]2277; AVX-NEXT: vbroadcastsd 24(%r8), %ymm122278; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm12[2,3]2279; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1,2],ymm4[3]2280; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2281; AVX-NEXT: vmovaps 48(%rdi), %xmm42282; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]2283; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]2284; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm52285; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm4[0,1,2,3,4,5],ymm5[6,7]2286; AVX-NEXT: vmovapd 48(%rdx), %xmm42287; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],mem[1]2288; AVX-NEXT: vbroadcastsd 56(%r8), %ymm142289; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm14[2,3]2290; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1,2],ymm2[3]2291; AVX-NEXT: vmovaps 80(%rdi), %xmm22292; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]2293; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]2294; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm142295; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm14[6,7]2296; AVX-NEXT: vmovapd 80(%rdx), %xmm142297; AVX-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm14[1],mem[1]2298; AVX-NEXT: vbroadcastsd 88(%r8), %ymm132299; AVX-NEXT: vblendpd {{.*#+}} ymm13 = ymm14[0,1],ymm13[2,3]2300; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm13[0,1,2],ymm0[3]2301; AVX-NEXT: vmovaps 112(%rdi), %xmm132302; AVX-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]2303; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],mem[4,5,6,7]2304; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm142305; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm14[6,7]2306; AVX-NEXT: vmovapd 112(%rdx), %xmm142307; AVX-NEXT: vunpckhpd {{.*#+}} xmm14 = xmm14[1],mem[1]2308; AVX-NEXT: vbroadcastsd 120(%r8), %ymm122309; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm14[0,1],ymm12[2,3]2310; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm12[0,1,2],ymm1[3]2311; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm12 # 16-byte Folded Reload2312; AVX-NEXT: # xmm12 = xmm15[0],mem[0]2313; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm9[0],xmm10[0]2314; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload2315; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload2316; AVX-NEXT: # xmm10 = xmm10[0],mem[0]2317; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload2318; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload2319; AVX-NEXT: # xmm14 = xmm14[0],mem[0]2320; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm7[0],xmm8[0]2321; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm3[0],xmm6[0]2322; AVX-NEXT: vmovaps (%rsp), %xmm6 # 16-byte Reload2323; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload2324; AVX-NEXT: # xmm6 = xmm6[0],mem[0]2325; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload2326; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm8 # 16-byte Folded Reload2327; AVX-NEXT: # xmm8 = xmm8[0],mem[0]2328; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax2329; AVX-NEXT: vmovaps %xmm8, 16(%rax)2330; AVX-NEXT: vmovaps %xmm6, (%rax)2331; AVX-NEXT: vmovaps %xmm3, 592(%rax)2332; AVX-NEXT: vmovaps %xmm7, 576(%rax)2333; AVX-NEXT: vmovaps %xmm14, 208(%rax)2334; AVX-NEXT: vmovaps %xmm10, 192(%rax)2335; AVX-NEXT: vmovaps %xmm9, 400(%rax)2336; AVX-NEXT: vmovaps %xmm12, 384(%rax)2337; AVX-NEXT: vmovapd %ymm11, 704(%rax)2338; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload2339; AVX-NEXT: vmovaps %ymm3, 512(%rax)2340; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload2341; AVX-NEXT: vmovaps %ymm3, 320(%rax)2342; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload2343; AVX-NEXT: vmovaps %ymm3, 128(%rax)2344; AVX-NEXT: vmovapd %ymm1, 736(%rax)2345; AVX-NEXT: vmovaps %ymm13, 672(%rax)2346; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2347; AVX-NEXT: vmovaps %ymm1, 640(%rax)2348; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2349; AVX-NEXT: vmovaps %ymm1, 608(%rax)2350; AVX-NEXT: vmovapd %ymm0, 544(%rax)2351; AVX-NEXT: vmovaps %ymm2, 480(%rax)2352; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2353; AVX-NEXT: vmovaps %ymm0, 448(%rax)2354; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2355; AVX-NEXT: vmovaps %ymm0, 416(%rax)2356; AVX-NEXT: vmovapd %ymm4, 352(%rax)2357; AVX-NEXT: vmovaps %ymm5, 288(%rax)2358; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2359; AVX-NEXT: vmovaps %ymm0, 256(%rax)2360; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2361; AVX-NEXT: vmovaps %ymm0, 224(%rax)2362; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2363; AVX-NEXT: vmovaps %ymm0, 160(%rax)2364; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2365; AVX-NEXT: vmovaps %ymm0, 96(%rax)2366; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2367; AVX-NEXT: vmovaps %ymm0, 64(%rax)2368; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2369; AVX-NEXT: vmovaps %ymm0, 32(%rax)2370; AVX-NEXT: addq $440, %rsp # imm = 0x1B82371; AVX-NEXT: vzeroupper2372; AVX-NEXT: retq2373;2374; AVX2-LABEL: store_i64_stride6_vf16:2375; AVX2: # %bb.0:2376; AVX2-NEXT: subq $360, %rsp # imm = 0x1682377; AVX2-NEXT: vmovaps (%r8), %ymm52378; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2379; AVX2-NEXT: vmovaps 32(%r8), %ymm42380; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2381; AVX2-NEXT: vmovaps (%r9), %xmm12382; AVX2-NEXT: vmovaps 32(%r9), %xmm02383; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2384; AVX2-NEXT: vmovaps (%rsi), %xmm32385; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2386; AVX2-NEXT: vmovaps 32(%rsi), %xmm62387; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2388; AVX2-NEXT: vmovaps (%rdi), %xmm152389; AVX2-NEXT: vmovaps 32(%rdi), %xmm72390; AVX2-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2391; AVX2-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm15[1],xmm3[1]2392; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]2393; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2394; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2395; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12396; AVX2-NEXT: vmovaps (%rcx), %xmm92397; AVX2-NEXT: vmovaps 32(%rcx), %xmm132398; AVX2-NEXT: vmovaps (%rdx), %xmm82399; AVX2-NEXT: vmovaps 32(%rdx), %xmm112400; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm9[1]2401; AVX2-NEXT: vbroadcastsd 8(%r8), %ymm32402; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]2403; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2404; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2405; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]2406; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]2407; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]2408; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2409; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2410; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm11[1],xmm13[1]2411; AVX2-NEXT: vbroadcastsd 40(%r8), %ymm22412; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]2413; AVX2-NEXT: vmovaps 64(%r8), %ymm22414; AVX2-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill2415; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02416; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2417; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2418; AVX2-NEXT: vmovaps 64(%rsi), %xmm62419; AVX2-NEXT: vmovaps 64(%rdi), %xmm72420; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]2421; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]2422; AVX2-NEXT: vmovaps 64(%r9), %xmm12423; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2424; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2425; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2426; AVX2-NEXT: vmovaps 64(%rcx), %xmm42427; AVX2-NEXT: vmovaps 64(%rdx), %xmm52428; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]2429; AVX2-NEXT: vbroadcastsd 72(%r8), %ymm122430; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5,6,7]2431; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12432; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2433; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2434; AVX2-NEXT: vmovaps 96(%r8), %ymm02435; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2436; AVX2-NEXT: vmovaps 96(%rsi), %xmm22437; AVX2-NEXT: vmovaps 96(%rdi), %xmm32438; AVX2-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm3[1],xmm2[1]2439; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[0,1],ymm10[0,1]2440; AVX2-NEXT: vmovaps 96(%r9), %xmm02441; AVX2-NEXT: vmovddup {{.*#+}} xmm12 = xmm0[0,0]2442; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1],ymm12[2,3],ymm10[4,5,6,7]2443; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2444; AVX2-NEXT: vmovaps 96(%rcx), %xmm102445; AVX2-NEXT: vmovaps 96(%rdx), %xmm122446; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm12[1],xmm10[1]2447; AVX2-NEXT: vbroadcastsd 104(%r8), %ymm142448; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]2449; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02450; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2451; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2452; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2453; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm02454; AVX2-NEXT: vinsertf128 $1, %xmm8, %ymm15, %ymm12455; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2456; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2457; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2458; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm02459; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2460; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm1, %ymm12461; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2462; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2463; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm6, %ymm02464; AVX2-NEXT: vinsertf128 $1, %xmm5, %ymm7, %ymm12465; AVX2-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2466; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm2, %ymm02467; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm3, %ymm12468; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2469; AVX2-NEXT: vmovaps (%rdi), %ymm12470; AVX2-NEXT: vmovaps (%rsi), %ymm22471; AVX2-NEXT: vmovaps (%rdx), %ymm32472; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]2473; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm3[2,3]2474; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm52475; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5],ymm5[6,7]2476; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]2477; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload2478; AVX2-NEXT: # ymm1 = mem[2,3],ymm1[2,3]2479; AVX2-NEXT: vbroadcastsd 16(%r9), %ymm22480; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]2481; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],mem[1],ymm3[3],mem[3]2482; AVX2-NEXT: vbroadcastsd 24(%r8), %ymm32483; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm2[2,3],ymm3[2,3]2484; AVX2-NEXT: vmovaps 32(%rdi), %ymm32485; AVX2-NEXT: vmovaps 32(%rsi), %ymm52486; AVX2-NEXT: vmovaps 32(%rdx), %ymm62487; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]2488; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm6[2,3]2489; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm72490; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]2491; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]2492; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload2493; AVX2-NEXT: # ymm3 = mem[2,3],ymm3[2,3]2494; AVX2-NEXT: vbroadcastsd 48(%r9), %ymm52495; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm5[2,3],ymm3[4,5,6,7]2496; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],mem[1],ymm6[3],mem[3]2497; AVX2-NEXT: vbroadcastsd 56(%r8), %ymm62498; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm5[2,3],ymm6[2,3]2499; AVX2-NEXT: vmovaps 64(%rdi), %ymm72500; AVX2-NEXT: vmovaps 64(%rsi), %ymm92501; AVX2-NEXT: vmovaps 64(%rdx), %ymm102502; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm9[0],ymm7[2],ymm9[2]2503; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm5[2,3],ymm10[2,3]2504; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm112505; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm11[6,7]2506; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm9[1],ymm7[3],ymm9[3]2507; AVX2-NEXT: vperm2f128 $19, (%rsp), %ymm7, %ymm7 # 32-byte Folded Reload2508; AVX2-NEXT: # ymm7 = mem[2,3],ymm7[2,3]2509; AVX2-NEXT: vbroadcastsd 80(%r9), %ymm92510; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm9[2,3],ymm7[4,5,6,7]2511; AVX2-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],mem[1],ymm10[3],mem[3]2512; AVX2-NEXT: vbroadcastsd 88(%r8), %ymm102513; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm10[2,3]2514; AVX2-NEXT: vmovaps 96(%rdi), %ymm102515; AVX2-NEXT: vmovaps 96(%rsi), %ymm112516; AVX2-NEXT: vmovaps 96(%rdx), %ymm122517; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]2518; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm12[2,3]2519; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm132520; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]2521; AVX2-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]2522; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload2523; AVX2-NEXT: # ymm10 = mem[2,3],ymm10[2,3]2524; AVX2-NEXT: vbroadcastsd 112(%r9), %ymm112525; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm11[2,3],ymm10[4,5,6,7]2526; AVX2-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm12[1],mem[1],ymm12[3],mem[3]2527; AVX2-NEXT: vbroadcastsd 120(%r8), %ymm122528; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]2529; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax2530; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]2531; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]2532; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]2533; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]2534; AVX2-NEXT: vmovaps %ymm11, 736(%rax)2535; AVX2-NEXT: vmovaps %ymm10, 704(%rax)2536; AVX2-NEXT: vmovaps %ymm8, 672(%rax)2537; AVX2-NEXT: vmovaps %ymm0, 576(%rax)2538; AVX2-NEXT: vmovaps %ymm9, 544(%rax)2539; AVX2-NEXT: vmovaps %ymm7, 512(%rax)2540; AVX2-NEXT: vmovaps %ymm5, 480(%rax)2541; AVX2-NEXT: vmovaps %ymm14, 384(%rax)2542; AVX2-NEXT: vmovaps %ymm6, 352(%rax)2543; AVX2-NEXT: vmovaps %ymm3, 320(%rax)2544; AVX2-NEXT: vmovaps %ymm2, 288(%rax)2545; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2546; AVX2-NEXT: vmovaps %ymm0, 192(%rax)2547; AVX2-NEXT: vmovaps %ymm4, 160(%rax)2548; AVX2-NEXT: vmovaps %ymm1, 128(%rax)2549; AVX2-NEXT: vmovaps %ymm15, 96(%rax)2550; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2551; AVX2-NEXT: vmovaps %ymm0, (%rax)2552; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2553; AVX2-NEXT: vmovaps %ymm0, 640(%rax)2554; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2555; AVX2-NEXT: vmovaps %ymm0, 608(%rax)2556; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2557; AVX2-NEXT: vmovaps %ymm0, 448(%rax)2558; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2559; AVX2-NEXT: vmovaps %ymm0, 416(%rax)2560; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2561; AVX2-NEXT: vmovaps %ymm0, 256(%rax)2562; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2563; AVX2-NEXT: vmovaps %ymm0, 224(%rax)2564; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2565; AVX2-NEXT: vmovaps %ymm0, 64(%rax)2566; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2567; AVX2-NEXT: vmovaps %ymm0, 32(%rax)2568; AVX2-NEXT: addq $360, %rsp # imm = 0x1682569; AVX2-NEXT: vzeroupper2570; AVX2-NEXT: retq2571;2572; AVX2-FP-LABEL: store_i64_stride6_vf16:2573; AVX2-FP: # %bb.0:2574; AVX2-FP-NEXT: subq $360, %rsp # imm = 0x1682575; AVX2-FP-NEXT: vmovaps (%r8), %ymm52576; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2577; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm42578; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2579; AVX2-FP-NEXT: vmovaps (%r9), %xmm12580; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm02581; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2582; AVX2-FP-NEXT: vmovaps (%rsi), %xmm32583; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2584; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm62585; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2586; AVX2-FP-NEXT: vmovaps (%rdi), %xmm152587; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm72588; AVX2-FP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2589; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm15[1],xmm3[1]2590; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]2591; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2592; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2593; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12594; AVX2-FP-NEXT: vmovaps (%rcx), %xmm92595; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm132596; AVX2-FP-NEXT: vmovaps (%rdx), %xmm82597; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm112598; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm9[1]2599; AVX2-FP-NEXT: vbroadcastsd 8(%r8), %ymm32600; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]2601; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2602; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2603; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]2604; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]2605; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]2606; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2607; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2608; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm11[1],xmm13[1]2609; AVX2-FP-NEXT: vbroadcastsd 40(%r8), %ymm22610; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]2611; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm22612; AVX2-FP-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill2613; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02614; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2615; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2616; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm62617; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm72618; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]2619; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]2620; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm12621; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2622; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2623; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2624; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm42625; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm52626; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]2627; AVX2-FP-NEXT: vbroadcastsd 72(%r8), %ymm122628; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5,6,7]2629; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12630; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2631; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2632; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm02633; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2634; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm22635; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm32636; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm3[1],xmm2[1]2637; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[0,1],ymm10[0,1]2638; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm02639; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm12 = xmm0[0,0]2640; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1],ymm12[2,3],ymm10[4,5,6,7]2641; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2642; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm102643; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm122644; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm12[1],xmm10[1]2645; AVX2-FP-NEXT: vbroadcastsd 104(%r8), %ymm142646; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]2647; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02648; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2649; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2650; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2651; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm02652; AVX2-FP-NEXT: vinsertf128 $1, %xmm8, %ymm15, %ymm12653; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2654; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2655; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2656; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm02657; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2658; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm1, %ymm12659; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2660; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2661; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm6, %ymm02662; AVX2-FP-NEXT: vinsertf128 $1, %xmm5, %ymm7, %ymm12663; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2664; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm2, %ymm02665; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm3, %ymm12666; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2667; AVX2-FP-NEXT: vmovaps (%rdi), %ymm12668; AVX2-FP-NEXT: vmovaps (%rsi), %ymm22669; AVX2-FP-NEXT: vmovaps (%rdx), %ymm32670; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]2671; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm3[2,3]2672; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm52673; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5],ymm5[6,7]2674; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]2675; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload2676; AVX2-FP-NEXT: # ymm1 = mem[2,3],ymm1[2,3]2677; AVX2-FP-NEXT: vbroadcastsd 16(%r9), %ymm22678; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]2679; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],mem[1],ymm3[3],mem[3]2680; AVX2-FP-NEXT: vbroadcastsd 24(%r8), %ymm32681; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm2[2,3],ymm3[2,3]2682; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm32683; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm52684; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm62685; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]2686; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm6[2,3]2687; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm72688; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]2689; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]2690; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload2691; AVX2-FP-NEXT: # ymm3 = mem[2,3],ymm3[2,3]2692; AVX2-FP-NEXT: vbroadcastsd 48(%r9), %ymm52693; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm5[2,3],ymm3[4,5,6,7]2694; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],mem[1],ymm6[3],mem[3]2695; AVX2-FP-NEXT: vbroadcastsd 56(%r8), %ymm62696; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm5[2,3],ymm6[2,3]2697; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm72698; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm92699; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm102700; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm9[0],ymm7[2],ymm9[2]2701; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm5[2,3],ymm10[2,3]2702; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm112703; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm11[6,7]2704; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm9[1],ymm7[3],ymm9[3]2705; AVX2-FP-NEXT: vperm2f128 $19, (%rsp), %ymm7, %ymm7 # 32-byte Folded Reload2706; AVX2-FP-NEXT: # ymm7 = mem[2,3],ymm7[2,3]2707; AVX2-FP-NEXT: vbroadcastsd 80(%r9), %ymm92708; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm9[2,3],ymm7[4,5,6,7]2709; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],mem[1],ymm10[3],mem[3]2710; AVX2-FP-NEXT: vbroadcastsd 88(%r8), %ymm102711; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm10[2,3]2712; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm102713; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm112714; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm122715; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]2716; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm12[2,3]2717; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm132718; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]2719; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]2720; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload2721; AVX2-FP-NEXT: # ymm10 = mem[2,3],ymm10[2,3]2722; AVX2-FP-NEXT: vbroadcastsd 112(%r9), %ymm112723; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm11[2,3],ymm10[4,5,6,7]2724; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm12[1],mem[1],ymm12[3],mem[3]2725; AVX2-FP-NEXT: vbroadcastsd 120(%r8), %ymm122726; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]2727; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax2728; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]2729; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]2730; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]2731; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]2732; AVX2-FP-NEXT: vmovaps %ymm11, 736(%rax)2733; AVX2-FP-NEXT: vmovaps %ymm10, 704(%rax)2734; AVX2-FP-NEXT: vmovaps %ymm8, 672(%rax)2735; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rax)2736; AVX2-FP-NEXT: vmovaps %ymm9, 544(%rax)2737; AVX2-FP-NEXT: vmovaps %ymm7, 512(%rax)2738; AVX2-FP-NEXT: vmovaps %ymm5, 480(%rax)2739; AVX2-FP-NEXT: vmovaps %ymm14, 384(%rax)2740; AVX2-FP-NEXT: vmovaps %ymm6, 352(%rax)2741; AVX2-FP-NEXT: vmovaps %ymm3, 320(%rax)2742; AVX2-FP-NEXT: vmovaps %ymm2, 288(%rax)2743; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2744; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rax)2745; AVX2-FP-NEXT: vmovaps %ymm4, 160(%rax)2746; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)2747; AVX2-FP-NEXT: vmovaps %ymm15, 96(%rax)2748; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2749; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)2750; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2751; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rax)2752; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2753; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rax)2754; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2755; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rax)2756; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2757; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rax)2758; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2759; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rax)2760; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2761; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rax)2762; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2763; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)2764; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2765; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)2766; AVX2-FP-NEXT: addq $360, %rsp # imm = 0x1682767; AVX2-FP-NEXT: vzeroupper2768; AVX2-FP-NEXT: retq2769;2770; AVX2-FCP-LABEL: store_i64_stride6_vf16:2771; AVX2-FCP: # %bb.0:2772; AVX2-FCP-NEXT: subq $360, %rsp # imm = 0x1682773; AVX2-FCP-NEXT: vmovaps (%r8), %ymm52774; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2775; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm42776; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2777; AVX2-FCP-NEXT: vmovaps (%r9), %xmm12778; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm02779; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2780; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm32781; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2782; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm62783; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2784; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm152785; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm72786; AVX2-FCP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2787; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm15[1],xmm3[1]2788; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]2789; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2790; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2791; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12792; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm92793; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm132794; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm82795; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm112796; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm9[1]2797; AVX2-FCP-NEXT: vbroadcastsd 8(%r8), %ymm32798; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]2799; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2800; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2801; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]2802; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]2803; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]2804; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2805; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2806; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm11[1],xmm13[1]2807; AVX2-FCP-NEXT: vbroadcastsd 40(%r8), %ymm22808; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]2809; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm22810; AVX2-FCP-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill2811; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02812; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2813; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2814; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm62815; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm72816; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]2817; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]2818; AVX2-FCP-NEXT: vmovaps 64(%r9), %xmm12819; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]2820; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2821; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2822; AVX2-FCP-NEXT: vmovaps 64(%rcx), %xmm42823; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm52824; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]2825; AVX2-FCP-NEXT: vbroadcastsd 72(%r8), %ymm122826; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5,6,7]2827; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12828; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2829; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2830; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm02831; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2832; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm22833; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm32834; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm3[1],xmm2[1]2835; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[0,1],ymm10[0,1]2836; AVX2-FCP-NEXT: vmovaps 96(%r9), %xmm02837; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm12 = xmm0[0,0]2838; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1],ymm12[2,3],ymm10[4,5,6,7]2839; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2840; AVX2-FCP-NEXT: vmovaps 96(%rcx), %xmm102841; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm122842; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm12[1],xmm10[1]2843; AVX2-FCP-NEXT: vbroadcastsd 104(%r8), %ymm142844; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]2845; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02846; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2847; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2848; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2849; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm02850; AVX2-FCP-NEXT: vinsertf128 $1, %xmm8, %ymm15, %ymm12851; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2852; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2853; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2854; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm02855; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2856; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm1, %ymm12857; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2858; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2859; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm6, %ymm02860; AVX2-FCP-NEXT: vinsertf128 $1, %xmm5, %ymm7, %ymm12861; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2862; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm2, %ymm02863; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm3, %ymm12864; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2865; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm12866; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm22867; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm32868; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]2869; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm3[2,3]2870; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm52871; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5],ymm5[6,7]2872; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]2873; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload2874; AVX2-FCP-NEXT: # ymm1 = mem[2,3],ymm1[2,3]2875; AVX2-FCP-NEXT: vbroadcastsd 16(%r9), %ymm22876; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]2877; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],mem[1],ymm3[3],mem[3]2878; AVX2-FCP-NEXT: vbroadcastsd 24(%r8), %ymm32879; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm2[2,3],ymm3[2,3]2880; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm32881; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm52882; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm62883; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]2884; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm6[2,3]2885; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm72886; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm7[6,7]2887; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]2888; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload2889; AVX2-FCP-NEXT: # ymm3 = mem[2,3],ymm3[2,3]2890; AVX2-FCP-NEXT: vbroadcastsd 48(%r9), %ymm52891; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm5[2,3],ymm3[4,5,6,7]2892; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],mem[1],ymm6[3],mem[3]2893; AVX2-FCP-NEXT: vbroadcastsd 56(%r8), %ymm62894; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm5[2,3],ymm6[2,3]2895; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm72896; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm92897; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm102898; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm7[0],ymm9[0],ymm7[2],ymm9[2]2899; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm5[2,3],ymm10[2,3]2900; AVX2-FCP-NEXT: vbroadcastsd 80(%rcx), %ymm112901; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm11[6,7]2902; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm9[1],ymm7[3],ymm9[3]2903; AVX2-FCP-NEXT: vperm2f128 $19, (%rsp), %ymm7, %ymm7 # 32-byte Folded Reload2904; AVX2-FCP-NEXT: # ymm7 = mem[2,3],ymm7[2,3]2905; AVX2-FCP-NEXT: vbroadcastsd 80(%r9), %ymm92906; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm9[2,3],ymm7[4,5,6,7]2907; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm10[1],mem[1],ymm10[3],mem[3]2908; AVX2-FCP-NEXT: vbroadcastsd 88(%r8), %ymm102909; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm10[2,3]2910; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm102911; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm112912; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm122913; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]2914; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm12[2,3]2915; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm132916; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm13[6,7]2917; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]2918; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload2919; AVX2-FCP-NEXT: # ymm10 = mem[2,3],ymm10[2,3]2920; AVX2-FCP-NEXT: vbroadcastsd 112(%r9), %ymm112921; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1],ymm11[2,3],ymm10[4,5,6,7]2922; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm12[1],mem[1],ymm12[3],mem[3]2923; AVX2-FCP-NEXT: vbroadcastsd 120(%r8), %ymm122924; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm12[2,3]2925; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2926; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],mem[6,7]2927; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]2928; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]2929; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],mem[6,7]2930; AVX2-FCP-NEXT: vmovaps %ymm11, 736(%rax)2931; AVX2-FCP-NEXT: vmovaps %ymm10, 704(%rax)2932; AVX2-FCP-NEXT: vmovaps %ymm8, 672(%rax)2933; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rax)2934; AVX2-FCP-NEXT: vmovaps %ymm9, 544(%rax)2935; AVX2-FCP-NEXT: vmovaps %ymm7, 512(%rax)2936; AVX2-FCP-NEXT: vmovaps %ymm5, 480(%rax)2937; AVX2-FCP-NEXT: vmovaps %ymm14, 384(%rax)2938; AVX2-FCP-NEXT: vmovaps %ymm6, 352(%rax)2939; AVX2-FCP-NEXT: vmovaps %ymm3, 320(%rax)2940; AVX2-FCP-NEXT: vmovaps %ymm2, 288(%rax)2941; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2942; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rax)2943; AVX2-FCP-NEXT: vmovaps %ymm4, 160(%rax)2944; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rax)2945; AVX2-FCP-NEXT: vmovaps %ymm15, 96(%rax)2946; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2947; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)2948; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2949; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rax)2950; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2951; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rax)2952; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2953; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rax)2954; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2955; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rax)2956; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2957; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rax)2958; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2959; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rax)2960; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2961; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)2962; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2963; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)2964; AVX2-FCP-NEXT: addq $360, %rsp # imm = 0x1682965; AVX2-FCP-NEXT: vzeroupper2966; AVX2-FCP-NEXT: retq2967;2968; AVX512-LABEL: store_i64_stride6_vf16:2969; AVX512: # %bb.0:2970; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax2971; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm82972; AVX512-NEXT: vmovdqa64 (%rdi), %zmm122973; AVX512-NEXT: vmovdqa64 (%rsi), %zmm152974; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm112975; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm52976; AVX512-NEXT: vmovdqa64 (%rdx), %zmm22977; AVX512-NEXT: vmovdqa64 (%rcx), %zmm42978; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm72979; AVX512-NEXT: vmovdqa64 (%r8), %zmm32980; AVX512-NEXT: vmovdqa64 64(%r8), %zmm62981; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]2982; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]2983; AVX512-NEXT: vmovdqa64 %zmm12, %zmm12984; AVX512-NEXT: vpermt2q %zmm15, %zmm0, %zmm12985; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]2986; AVX512-NEXT: vmovdqa64 %zmm2, %zmm102987; AVX512-NEXT: vpermt2q %zmm4, %zmm9, %zmm102988; AVX512-NEXT: movb $12, %r10b2989; AVX512-NEXT: kmovw %r10d, %k12990; AVX512-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}2991; AVX512-NEXT: movb $16, %r10b2992; AVX512-NEXT: kmovw %r10d, %k22993; AVX512-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}2994; AVX512-NEXT: vpermi2q %zmm11, %zmm8, %zmm02995; AVX512-NEXT: vpermi2q %zmm7, %zmm5, %zmm92996; AVX512-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}2997; AVX512-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}2998; AVX512-NEXT: vmovdqa64 (%r9), %zmm102999; AVX512-NEXT: vmovdqa64 64(%r9), %zmm143000; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3001; AVX512-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3002; AVX512-NEXT: vmovdqa64 %zmm5, %zmm93003; AVX512-NEXT: vpermt2q %zmm7, %zmm19, %zmm93004; AVX512-NEXT: vmovdqa64 %zmm8, %zmm133005; AVX512-NEXT: vpermt2q %zmm11, %zmm19, %zmm133006; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3007; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3008; AVX512-NEXT: vpermt2q %zmm6, %zmm20, %zmm93009; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3010; AVX512-NEXT: vpermt2q %zmm14, %zmm21, %zmm93011; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3012; AVX512-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3013; AVX512-NEXT: vmovdqa64 %zmm8, %zmm173014; AVX512-NEXT: vpermt2q %zmm11, %zmm22, %zmm173015; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3016; AVX512-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3017; AVX512-NEXT: vmovdqa64 %zmm5, %zmm133018; AVX512-NEXT: vpermt2q %zmm7, %zmm16, %zmm133019; AVX512-NEXT: movb $48, %r9b3020; AVX512-NEXT: kmovw %r9d, %k23021; AVX512-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3022; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3023; AVX512-NEXT: vpermt2q %zmm6, %zmm23, %zmm133024; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3025; AVX512-NEXT: vpermt2q %zmm14, %zmm24, %zmm133026; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3027; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3028; AVX512-NEXT: vmovdqa64 %zmm8, %zmm263029; AVX512-NEXT: vpermt2q %zmm11, %zmm25, %zmm263030; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3031; AVX512-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3032; AVX512-NEXT: vmovdqa64 %zmm5, %zmm173033; AVX512-NEXT: vpermt2q %zmm7, %zmm18, %zmm173034; AVX512-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3035; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3036; AVX512-NEXT: vpermt2q %zmm6, %zmm26, %zmm173037; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3038; AVX512-NEXT: vpermt2q %zmm14, %zmm27, %zmm173039; AVX512-NEXT: vmovdqa64 %zmm2, %zmm283040; AVX512-NEXT: vpermt2q %zmm4, %zmm19, %zmm283041; AVX512-NEXT: vpermi2q %zmm15, %zmm12, %zmm193042; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3043; AVX512-NEXT: vpermt2q %zmm3, %zmm20, %zmm193044; AVX512-NEXT: vpermt2q %zmm10, %zmm21, %zmm193045; AVX512-NEXT: vpermi2q %zmm15, %zmm12, %zmm223046; AVX512-NEXT: vpermi2q %zmm4, %zmm2, %zmm163047; AVX512-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3048; AVX512-NEXT: vpermt2q %zmm3, %zmm23, %zmm163049; AVX512-NEXT: vpermt2q %zmm10, %zmm24, %zmm163050; AVX512-NEXT: vpermi2q %zmm15, %zmm12, %zmm253051; AVX512-NEXT: vpermi2q %zmm4, %zmm2, %zmm183052; AVX512-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3053; AVX512-NEXT: vpermt2q %zmm3, %zmm26, %zmm183054; AVX512-NEXT: vpermt2q %zmm10, %zmm27, %zmm183055; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3056; AVX512-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3057; AVX512-NEXT: vpermt2q %zmm15, %zmm20, %zmm123058; AVX512-NEXT: vmovdqa (%rdx), %xmm153059; AVX512-NEXT: vmovdqa64 64(%rdx), %xmm213060; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3061; AVX512-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153062; AVX512-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3063; AVX512-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123064; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3065; AVX512-NEXT: vpermt2q %zmm10, %zmm15, %zmm123066; AVX512-NEXT: vpermt2q %zmm11, %zmm20, %zmm83067; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3068; AVX512-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113069; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3070; AVX512-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83071; AVX512-NEXT: vpermt2q %zmm14, %zmm15, %zmm83072; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3073; AVX512-NEXT: vpermt2q %zmm14, %zmm11, %zmm03074; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3075; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3076; AVX512-NEXT: vpermt2q %zmm7, %zmm15, %zmm53077; AVX512-NEXT: vmovdqa (%rdi), %ymm73078; AVX512-NEXT: vmovdqa64 64(%rdi), %ymm203079; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3080; AVX512-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53081; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3082; AVX512-NEXT: vpermt2q %zmm6, %zmm20, %zmm53083; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3084; AVX512-NEXT: vpermt2q %zmm14, %zmm6, %zmm53085; AVX512-NEXT: vpermt2q %zmm10, %zmm11, %zmm13086; AVX512-NEXT: vpermt2q %zmm4, %zmm15, %zmm23087; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3088; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23089; AVX512-NEXT: vpermt2q %zmm3, %zmm20, %zmm23090; AVX512-NEXT: vpermt2q %zmm10, %zmm6, %zmm23091; AVX512-NEXT: vmovdqa64 %zmm18, 64(%rax)3092; AVX512-NEXT: vmovdqa64 %zmm2, 128(%rax)3093; AVX512-NEXT: vmovdqa64 %zmm1, 192(%rax)3094; AVX512-NEXT: vmovdqa64 %zmm16, 256(%rax)3095; AVX512-NEXT: vmovdqa64 %zmm19, 320(%rax)3096; AVX512-NEXT: vmovdqa64 %zmm17, 448(%rax)3097; AVX512-NEXT: vmovdqa64 %zmm5, 512(%rax)3098; AVX512-NEXT: vmovdqa64 %zmm0, 576(%rax)3099; AVX512-NEXT: vmovdqa64 %zmm13, 640(%rax)3100; AVX512-NEXT: vmovdqa64 %zmm9, 704(%rax)3101; AVX512-NEXT: vmovdqa64 %zmm8, 384(%rax)3102; AVX512-NEXT: vmovdqa64 %zmm12, (%rax)3103; AVX512-NEXT: vzeroupper3104; AVX512-NEXT: retq3105;3106; AVX512-FCP-LABEL: store_i64_stride6_vf16:3107; AVX512-FCP: # %bb.0:3108; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3109; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm83110; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm123111; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm153112; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm113113; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm53114; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm23115; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm43116; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm73117; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm33118; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm63119; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3120; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3121; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm13122; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm13123; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3124; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm103125; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm103126; AVX512-FCP-NEXT: movb $12, %r10b3127; AVX512-FCP-NEXT: kmovw %r10d, %k13128; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3129; AVX512-FCP-NEXT: movb $16, %r10b3130; AVX512-FCP-NEXT: kmovw %r10d, %k23131; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3132; AVX512-FCP-NEXT: vpermi2q %zmm11, %zmm8, %zmm03133; AVX512-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm93134; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3135; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3136; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm103137; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm143138; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3139; AVX512-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3140; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm93141; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm93142; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm133143; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm133144; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3145; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3146; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm93147; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3148; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm93149; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3150; AVX512-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3151; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm173152; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm22, %zmm173153; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3154; AVX512-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3155; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm133156; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm16, %zmm133157; AVX512-FCP-NEXT: movb $48, %r9b3158; AVX512-FCP-NEXT: kmovw %r9d, %k23159; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3160; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3161; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm23, %zmm133162; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3163; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm24, %zmm133164; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3165; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3166; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm263167; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm263168; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3169; AVX512-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3170; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm173171; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm173172; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3173; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3174; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm173175; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3176; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm173177; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm283178; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm283179; AVX512-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm193180; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3181; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm193182; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm193183; AVX512-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm223184; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm163185; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3186; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm163187; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm163188; AVX512-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm253189; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm183190; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3191; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm26, %zmm183192; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm183193; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3194; AVX512-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3195; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm123196; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm153197; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %xmm213198; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3199; AVX512-FCP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153200; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3201; AVX512-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123202; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3203; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm15, %zmm123204; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm83205; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3206; AVX512-FCP-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113207; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3208; AVX512-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83209; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm15, %zmm83210; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3211; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm11, %zmm03212; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3213; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3214; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm15, %zmm53215; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm73216; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %ymm203217; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3218; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53219; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3220; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm53221; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3222; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm53223; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm11, %zmm13224; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm15, %zmm23225; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3226; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23227; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm23228; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm23229; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 64(%rax)3230; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 128(%rax)3231; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)3232; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 256(%rax)3233; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 320(%rax)3234; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)3235; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 512(%rax)3236; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 576(%rax)3237; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 640(%rax)3238; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 704(%rax)3239; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 384(%rax)3240; AVX512-FCP-NEXT: vmovdqa64 %zmm12, (%rax)3241; AVX512-FCP-NEXT: vzeroupper3242; AVX512-FCP-NEXT: retq3243;3244; AVX512DQ-LABEL: store_i64_stride6_vf16:3245; AVX512DQ: # %bb.0:3246; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax3247; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm83248; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm123249; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm153250; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm113251; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm53252; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm23253; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm43254; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm73255; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm33256; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm63257; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3258; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3259; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm13260; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm0, %zmm13261; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3262; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm103263; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm9, %zmm103264; AVX512DQ-NEXT: movb $12, %r10b3265; AVX512DQ-NEXT: kmovw %r10d, %k13266; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3267; AVX512DQ-NEXT: movb $16, %r10b3268; AVX512DQ-NEXT: kmovw %r10d, %k23269; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3270; AVX512DQ-NEXT: vpermi2q %zmm11, %zmm8, %zmm03271; AVX512DQ-NEXT: vpermi2q %zmm7, %zmm5, %zmm93272; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3273; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3274; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm103275; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm143276; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3277; AVX512DQ-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3278; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm93279; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm19, %zmm93280; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm133281; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm19, %zmm133282; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3283; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3284; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm20, %zmm93285; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3286; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm21, %zmm93287; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3288; AVX512DQ-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3289; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm173290; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm22, %zmm173291; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3292; AVX512DQ-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3293; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm133294; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm16, %zmm133295; AVX512DQ-NEXT: movb $48, %r9b3296; AVX512DQ-NEXT: kmovw %r9d, %k23297; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3298; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3299; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm23, %zmm133300; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3301; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm24, %zmm133302; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3303; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3304; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm263305; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm25, %zmm263306; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3307; AVX512DQ-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3308; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm173309; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm18, %zmm173310; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3311; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3312; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm26, %zmm173313; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3314; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm27, %zmm173315; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm283316; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm19, %zmm283317; AVX512DQ-NEXT: vpermi2q %zmm15, %zmm12, %zmm193318; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3319; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm20, %zmm193320; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm21, %zmm193321; AVX512DQ-NEXT: vpermi2q %zmm15, %zmm12, %zmm223322; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm2, %zmm163323; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3324; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm23, %zmm163325; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm24, %zmm163326; AVX512DQ-NEXT: vpermi2q %zmm15, %zmm12, %zmm253327; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm2, %zmm183328; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3329; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm26, %zmm183330; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm27, %zmm183331; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3332; AVX512DQ-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3333; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm20, %zmm123334; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm153335; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %xmm213336; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3337; AVX512DQ-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153338; AVX512DQ-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3339; AVX512DQ-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123340; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3341; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm15, %zmm123342; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm20, %zmm83343; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3344; AVX512DQ-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113345; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3346; AVX512DQ-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83347; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm15, %zmm83348; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3349; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm11, %zmm03350; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3351; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3352; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm15, %zmm53353; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm73354; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %ymm203355; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3356; AVX512DQ-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53357; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3358; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm20, %zmm53359; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3360; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm6, %zmm53361; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm11, %zmm13362; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm15, %zmm23363; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3364; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23365; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm20, %zmm23366; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm6, %zmm23367; AVX512DQ-NEXT: vmovdqa64 %zmm18, 64(%rax)3368; AVX512DQ-NEXT: vmovdqa64 %zmm2, 128(%rax)3369; AVX512DQ-NEXT: vmovdqa64 %zmm1, 192(%rax)3370; AVX512DQ-NEXT: vmovdqa64 %zmm16, 256(%rax)3371; AVX512DQ-NEXT: vmovdqa64 %zmm19, 320(%rax)3372; AVX512DQ-NEXT: vmovdqa64 %zmm17, 448(%rax)3373; AVX512DQ-NEXT: vmovdqa64 %zmm5, 512(%rax)3374; AVX512DQ-NEXT: vmovdqa64 %zmm0, 576(%rax)3375; AVX512DQ-NEXT: vmovdqa64 %zmm13, 640(%rax)3376; AVX512DQ-NEXT: vmovdqa64 %zmm9, 704(%rax)3377; AVX512DQ-NEXT: vmovdqa64 %zmm8, 384(%rax)3378; AVX512DQ-NEXT: vmovdqa64 %zmm12, (%rax)3379; AVX512DQ-NEXT: vzeroupper3380; AVX512DQ-NEXT: retq3381;3382; AVX512DQ-FCP-LABEL: store_i64_stride6_vf16:3383; AVX512DQ-FCP: # %bb.0:3384; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3385; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm83386; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm123387; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm153388; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm113389; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm53390; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm23391; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm43392; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm73393; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm33394; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm63395; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3396; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3397; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm13398; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm13399; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3400; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm103401; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm103402; AVX512DQ-FCP-NEXT: movb $12, %r10b3403; AVX512DQ-FCP-NEXT: kmovw %r10d, %k13404; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3405; AVX512DQ-FCP-NEXT: movb $16, %r10b3406; AVX512DQ-FCP-NEXT: kmovw %r10d, %k23407; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3408; AVX512DQ-FCP-NEXT: vpermi2q %zmm11, %zmm8, %zmm03409; AVX512DQ-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm93410; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3411; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3412; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm103413; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm143414; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3415; AVX512DQ-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3416; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm93417; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm93418; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm133419; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm133420; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3421; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3422; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm93423; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3424; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm93425; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3426; AVX512DQ-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3427; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm173428; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm22, %zmm173429; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3430; AVX512DQ-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3431; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm133432; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm16, %zmm133433; AVX512DQ-FCP-NEXT: movb $48, %r9b3434; AVX512DQ-FCP-NEXT: kmovw %r9d, %k23435; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3436; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3437; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm23, %zmm133438; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3439; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm24, %zmm133440; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3441; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3442; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm263443; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm263444; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3445; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3446; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm173447; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm173448; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3449; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3450; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm173451; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3452; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm173453; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm283454; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm283455; AVX512DQ-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm193456; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3457; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm193458; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm193459; AVX512DQ-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm223460; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm163461; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3462; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm163463; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm163464; AVX512DQ-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm253465; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm183466; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3467; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm26, %zmm183468; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm183469; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3470; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3471; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm123472; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm153473; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %xmm213474; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3475; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153476; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3477; AVX512DQ-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123478; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3479; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm15, %zmm123480; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm83481; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3482; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113483; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3484; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83485; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm15, %zmm83486; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3487; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm11, %zmm03488; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3489; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3490; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm15, %zmm53491; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm73492; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %ymm203493; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3494; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53495; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3496; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm53497; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3498; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm53499; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm11, %zmm13500; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm15, %zmm23501; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3502; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23503; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm23504; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm23505; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 64(%rax)3506; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 128(%rax)3507; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)3508; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 256(%rax)3509; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 320(%rax)3510; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)3511; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 512(%rax)3512; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 576(%rax)3513; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 640(%rax)3514; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 704(%rax)3515; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, 384(%rax)3516; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, (%rax)3517; AVX512DQ-FCP-NEXT: vzeroupper3518; AVX512DQ-FCP-NEXT: retq3519;3520; AVX512BW-LABEL: store_i64_stride6_vf16:3521; AVX512BW: # %bb.0:3522; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax3523; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm83524; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm123525; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm153526; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm113527; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm53528; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm23529; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm43530; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm73531; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm33532; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm63533; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3534; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3535; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm13536; AVX512BW-NEXT: vpermt2q %zmm15, %zmm0, %zmm13537; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3538; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm103539; AVX512BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm103540; AVX512BW-NEXT: movb $12, %r10b3541; AVX512BW-NEXT: kmovd %r10d, %k13542; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3543; AVX512BW-NEXT: movb $16, %r10b3544; AVX512BW-NEXT: kmovd %r10d, %k23545; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3546; AVX512BW-NEXT: vpermi2q %zmm11, %zmm8, %zmm03547; AVX512BW-NEXT: vpermi2q %zmm7, %zmm5, %zmm93548; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3549; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3550; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm103551; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm143552; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3553; AVX512BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3554; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm93555; AVX512BW-NEXT: vpermt2q %zmm7, %zmm19, %zmm93556; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm133557; AVX512BW-NEXT: vpermt2q %zmm11, %zmm19, %zmm133558; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3559; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3560; AVX512BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm93561; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3562; AVX512BW-NEXT: vpermt2q %zmm14, %zmm21, %zmm93563; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3564; AVX512BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3565; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm173566; AVX512BW-NEXT: vpermt2q %zmm11, %zmm22, %zmm173567; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3568; AVX512BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3569; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm133570; AVX512BW-NEXT: vpermt2q %zmm7, %zmm16, %zmm133571; AVX512BW-NEXT: movb $48, %r9b3572; AVX512BW-NEXT: kmovd %r9d, %k23573; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3574; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3575; AVX512BW-NEXT: vpermt2q %zmm6, %zmm23, %zmm133576; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3577; AVX512BW-NEXT: vpermt2q %zmm14, %zmm24, %zmm133578; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3579; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3580; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm263581; AVX512BW-NEXT: vpermt2q %zmm11, %zmm25, %zmm263582; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3583; AVX512BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3584; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm173585; AVX512BW-NEXT: vpermt2q %zmm7, %zmm18, %zmm173586; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3587; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3588; AVX512BW-NEXT: vpermt2q %zmm6, %zmm26, %zmm173589; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3590; AVX512BW-NEXT: vpermt2q %zmm14, %zmm27, %zmm173591; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm283592; AVX512BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm283593; AVX512BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm193594; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3595; AVX512BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm193596; AVX512BW-NEXT: vpermt2q %zmm10, %zmm21, %zmm193597; AVX512BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm223598; AVX512BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm163599; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3600; AVX512BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm163601; AVX512BW-NEXT: vpermt2q %zmm10, %zmm24, %zmm163602; AVX512BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm253603; AVX512BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm183604; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3605; AVX512BW-NEXT: vpermt2q %zmm3, %zmm26, %zmm183606; AVX512BW-NEXT: vpermt2q %zmm10, %zmm27, %zmm183607; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3608; AVX512BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3609; AVX512BW-NEXT: vpermt2q %zmm15, %zmm20, %zmm123610; AVX512BW-NEXT: vmovdqa (%rdx), %xmm153611; AVX512BW-NEXT: vmovdqa64 64(%rdx), %xmm213612; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3613; AVX512BW-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153614; AVX512BW-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3615; AVX512BW-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123616; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3617; AVX512BW-NEXT: vpermt2q %zmm10, %zmm15, %zmm123618; AVX512BW-NEXT: vpermt2q %zmm11, %zmm20, %zmm83619; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3620; AVX512BW-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113621; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3622; AVX512BW-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83623; AVX512BW-NEXT: vpermt2q %zmm14, %zmm15, %zmm83624; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3625; AVX512BW-NEXT: vpermt2q %zmm14, %zmm11, %zmm03626; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3627; AVX512BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3628; AVX512BW-NEXT: vpermt2q %zmm7, %zmm15, %zmm53629; AVX512BW-NEXT: vmovdqa (%rdi), %ymm73630; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm203631; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3632; AVX512BW-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53633; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3634; AVX512BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm53635; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3636; AVX512BW-NEXT: vpermt2q %zmm14, %zmm6, %zmm53637; AVX512BW-NEXT: vpermt2q %zmm10, %zmm11, %zmm13638; AVX512BW-NEXT: vpermt2q %zmm4, %zmm15, %zmm23639; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3640; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23641; AVX512BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm23642; AVX512BW-NEXT: vpermt2q %zmm10, %zmm6, %zmm23643; AVX512BW-NEXT: vmovdqa64 %zmm18, 64(%rax)3644; AVX512BW-NEXT: vmovdqa64 %zmm2, 128(%rax)3645; AVX512BW-NEXT: vmovdqa64 %zmm1, 192(%rax)3646; AVX512BW-NEXT: vmovdqa64 %zmm16, 256(%rax)3647; AVX512BW-NEXT: vmovdqa64 %zmm19, 320(%rax)3648; AVX512BW-NEXT: vmovdqa64 %zmm17, 448(%rax)3649; AVX512BW-NEXT: vmovdqa64 %zmm5, 512(%rax)3650; AVX512BW-NEXT: vmovdqa64 %zmm0, 576(%rax)3651; AVX512BW-NEXT: vmovdqa64 %zmm13, 640(%rax)3652; AVX512BW-NEXT: vmovdqa64 %zmm9, 704(%rax)3653; AVX512BW-NEXT: vmovdqa64 %zmm8, 384(%rax)3654; AVX512BW-NEXT: vmovdqa64 %zmm12, (%rax)3655; AVX512BW-NEXT: vzeroupper3656; AVX512BW-NEXT: retq3657;3658; AVX512BW-FCP-LABEL: store_i64_stride6_vf16:3659; AVX512BW-FCP: # %bb.0:3660; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3661; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm83662; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm123663; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm153664; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm113665; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm53666; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm23667; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm43668; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm73669; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm33670; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm63671; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3672; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3673; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm13674; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm13675; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3676; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm103677; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm103678; AVX512BW-FCP-NEXT: movb $12, %r10b3679; AVX512BW-FCP-NEXT: kmovd %r10d, %k13680; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3681; AVX512BW-FCP-NEXT: movb $16, %r10b3682; AVX512BW-FCP-NEXT: kmovd %r10d, %k23683; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3684; AVX512BW-FCP-NEXT: vpermi2q %zmm11, %zmm8, %zmm03685; AVX512BW-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm93686; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3687; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3688; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm103689; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm143690; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3691; AVX512BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3692; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm93693; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm93694; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm133695; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm133696; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3697; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3698; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm93699; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3700; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm93701; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3702; AVX512BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3703; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm173704; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm22, %zmm173705; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3706; AVX512BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3707; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm133708; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm16, %zmm133709; AVX512BW-FCP-NEXT: movb $48, %r9b3710; AVX512BW-FCP-NEXT: kmovd %r9d, %k23711; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3712; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3713; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm23, %zmm133714; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3715; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm24, %zmm133716; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3717; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3718; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm263719; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm263720; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3721; AVX512BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3722; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm173723; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm173724; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3725; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3726; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm173727; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3728; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm173729; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm283730; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm283731; AVX512BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm193732; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3733; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm193734; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm193735; AVX512BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm223736; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm163737; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3738; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm163739; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm163740; AVX512BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm253741; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm183742; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3743; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm26, %zmm183744; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm183745; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3746; AVX512BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3747; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm123748; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm153749; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %xmm213750; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3751; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153752; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3753; AVX512BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123754; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3755; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm15, %zmm123756; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm83757; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3758; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113759; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3760; AVX512BW-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83761; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm15, %zmm83762; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3763; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm11, %zmm03764; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3765; AVX512BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3766; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm15, %zmm53767; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm73768; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm203769; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3770; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53771; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3772; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm53773; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3774; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm53775; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm11, %zmm13776; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm15, %zmm23777; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3778; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23779; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm23780; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm23781; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 64(%rax)3782; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 128(%rax)3783; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)3784; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 256(%rax)3785; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 320(%rax)3786; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)3787; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 512(%rax)3788; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 576(%rax)3789; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 640(%rax)3790; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 704(%rax)3791; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 384(%rax)3792; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, (%rax)3793; AVX512BW-FCP-NEXT: vzeroupper3794; AVX512BW-FCP-NEXT: retq3795;3796; AVX512DQ-BW-LABEL: store_i64_stride6_vf16:3797; AVX512DQ-BW: # %bb.0:3798; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax3799; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm83800; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm123801; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm153802; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm113803; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm53804; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm23805; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm43806; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm73807; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm33808; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm63809; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3810; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3811; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm13812; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm0, %zmm13813; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3814; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm103815; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm103816; AVX512DQ-BW-NEXT: movb $12, %r10b3817; AVX512DQ-BW-NEXT: kmovd %r10d, %k13818; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3819; AVX512DQ-BW-NEXT: movb $16, %r10b3820; AVX512DQ-BW-NEXT: kmovd %r10d, %k23821; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3822; AVX512DQ-BW-NEXT: vpermi2q %zmm11, %zmm8, %zmm03823; AVX512DQ-BW-NEXT: vpermi2q %zmm7, %zmm5, %zmm93824; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3825; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3826; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm103827; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm143828; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3829; AVX512DQ-BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3830; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm93831; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm19, %zmm93832; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm133833; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm19, %zmm133834; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3835; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3836; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm93837; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3838; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm21, %zmm93839; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3840; AVX512DQ-BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3841; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm173842; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm22, %zmm173843; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3844; AVX512DQ-BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3845; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm133846; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm16, %zmm133847; AVX512DQ-BW-NEXT: movb $48, %r9b3848; AVX512DQ-BW-NEXT: kmovd %r9d, %k23849; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3850; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3851; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm23, %zmm133852; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3853; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm24, %zmm133854; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3855; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3856; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm263857; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm25, %zmm263858; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3859; AVX512DQ-BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3860; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm173861; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm18, %zmm173862; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}3863; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]3864; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm26, %zmm173865; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]3866; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm27, %zmm173867; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm283868; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm283869; AVX512DQ-BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm193870; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]3871; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm193872; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm21, %zmm193873; AVX512DQ-BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm223874; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm163875; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}3876; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm163877; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm24, %zmm163878; AVX512DQ-BW-NEXT: vpermi2q %zmm15, %zmm12, %zmm253879; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm2, %zmm183880; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}3881; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm26, %zmm183882; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm27, %zmm183883; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]3884; AVX512DQ-BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3885; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm20, %zmm123886; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm153887; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %xmm213888; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]3889; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm153890; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}3891; AVX512DQ-BW-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm123892; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]3893; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm15, %zmm123894; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm20, %zmm83895; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]3896; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm113897; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}3898; AVX512DQ-BW-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm83899; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm15, %zmm83900; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]3901; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm11, %zmm03902; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]3903; AVX512DQ-BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3904; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm15, %zmm53905; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm73906; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm203907; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]3908; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm53909; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]3910; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm53911; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]3912; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm6, %zmm53913; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm11, %zmm13914; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm15, %zmm23915; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]3916; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm23917; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm23918; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm6, %zmm23919; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 64(%rax)3920; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 128(%rax)3921; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 192(%rax)3922; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 256(%rax)3923; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 320(%rax)3924; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 448(%rax)3925; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 512(%rax)3926; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 576(%rax)3927; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 640(%rax)3928; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 704(%rax)3929; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 384(%rax)3930; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, (%rax)3931; AVX512DQ-BW-NEXT: vzeroupper3932; AVX512DQ-BW-NEXT: retq3933;3934; AVX512DQ-BW-FCP-LABEL: store_i64_stride6_vf16:3935; AVX512DQ-BW-FCP: # %bb.0:3936; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3937; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm83938; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm123939; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm153940; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm113941; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm53942; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm23943; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm43944; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm73945; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm33946; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm63947; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [4,12,5,13,4,12,5,13]3948; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]3949; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm13950; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm13951; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,12]3952; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm103953; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm103954; AVX512DQ-BW-FCP-NEXT: movb $12, %r10b3955; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k13956; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm1 {%k1}3957; AVX512DQ-BW-FCP-NEXT: movb $16, %r10b3958; AVX512DQ-BW-FCP-NEXT: kmovd %r10d, %k23959; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1 {%k2}3960; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm11, %zmm8, %zmm03961; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm7, %zmm5, %zmm93962; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm0 {%k1}3963; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k2}3964; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm103965; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm143966; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [7,15,7,15,7,15,7,15]3967; AVX512DQ-BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3968; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm93969; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm19, %zmm93970; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm133971; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm133972; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 = zmm13[0,1,2,3],zmm9[4,5,6,7]3973; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [14,0,2,3,4,5,15,0]3974; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm93975; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,14,2,3,4,5,6,15]3976; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm93977; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [6,14,6,14,6,14,6,14]3978; AVX512DQ-BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3979; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm173980; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm22, %zmm173981; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm16 = [5,13,6,14,5,13,6,14]3982; AVX512DQ-BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3]3983; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm133984; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm16, %zmm133985; AVX512DQ-BW-FCP-NEXT: movb $48, %r9b3986; AVX512DQ-BW-FCP-NEXT: kmovd %r9d, %k23987; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm13 {%k2}3988; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm23 = [0,1,13,0,4,5,6,7]3989; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm23, %zmm133990; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [0,1,2,13,4,5,6,7]3991; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm24, %zmm133992; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm25 = [2,10,2,10,2,10,2,10]3993; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3994; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm263995; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm263996; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [1,9,2,10,1,9,2,10]3997; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3998; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm173999; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm18, %zmm174000; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm17 {%k2}4001; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,1,9,0,4,5,6,7]4002; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm174003; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm27 = [0,1,2,9,4,5,6,7]4004; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm174005; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm284006; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm284007; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm194008; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm28[4,5,6,7]4009; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm194010; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm194011; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm224012; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm164013; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k2}4014; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm164015; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm164016; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm15, %zmm12, %zmm254017; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm2, %zmm184018; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm18 {%k2}4019; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm26, %zmm184020; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm184021; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [0,8,1,9,0,8,1,9]4022; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4023; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm20, %zmm124024; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm154025; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %xmm214026; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm15 = xmm15[0],mem[0]4027; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm154028; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm0, %zmm12 {%k1}4029; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm12, %zmm124030; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,1,2,3,4,8,6,7]4031; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm15, %zmm124032; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm84033; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm11 = xmm21[0],mem[0]4034; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm114035; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm8 {%k1}4036; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm8, %zmm84037; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm15, %zmm84038; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,12,6,7]4039; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm11, %zmm04040; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [3,11,3,11,3,11,3,11]4041; AVX512DQ-BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4042; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm15, %zmm54043; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm74044; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm204045; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm20 = ymm20[1],mem[1],ymm20[3],mem[3]4046; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm20, %zmm5, %zmm54047; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [10,0,2,3,4,5,11,0]4048; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm54049; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,10,2,3,4,5,6,11]4050; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm54051; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm11, %zmm14052; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm15, %zmm24053; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm7[1],mem[1],ymm7[3],mem[3]4054; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm24055; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm24056; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm24057; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 64(%rax)4058; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 128(%rax)4059; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rax)4060; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 256(%rax)4061; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 320(%rax)4062; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 448(%rax)4063; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 512(%rax)4064; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 576(%rax)4065; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 640(%rax)4066; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 704(%rax)4067; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, 384(%rax)4068; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, (%rax)4069; AVX512DQ-BW-FCP-NEXT: vzeroupper4070; AVX512DQ-BW-FCP-NEXT: retq4071 %in.vec0 = load <16 x i64>, ptr %in.vecptr0, align 644072 %in.vec1 = load <16 x i64>, ptr %in.vecptr1, align 644073 %in.vec2 = load <16 x i64>, ptr %in.vecptr2, align 644074 %in.vec3 = load <16 x i64>, ptr %in.vecptr3, align 644075 %in.vec4 = load <16 x i64>, ptr %in.vecptr4, align 644076 %in.vec5 = load <16 x i64>, ptr %in.vecptr5, align 644077 %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>4078 %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>4079 %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>4080 %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>4081 %5 = shufflevector <32 x i64> %3, <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>4082 %6 = shufflevector <64 x i64> %4, <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>4083 %interleaved.vec = shufflevector <96 x i64> %6, <96 x i64> poison, <96 x i32> <i32 0, i32 16, i32 32, i32 48, i32 64, i32 80, i32 1, i32 17, i32 33, i32 49, i32 65, i32 81, i32 2, i32 18, i32 34, i32 50, i32 66, i32 82, i32 3, i32 19, i32 35, i32 51, i32 67, i32 83, i32 4, i32 20, i32 36, i32 52, i32 68, i32 84, i32 5, i32 21, i32 37, i32 53, i32 69, i32 85, i32 6, i32 22, i32 38, i32 54, i32 70, i32 86, i32 7, i32 23, i32 39, i32 55, i32 71, i32 87, i32 8, i32 24, i32 40, i32 56, i32 72, i32 88, i32 9, i32 25, i32 41, i32 57, i32 73, i32 89, i32 10, i32 26, i32 42, i32 58, i32 74, i32 90, i32 11, i32 27, i32 43, i32 59, i32 75, i32 91, i32 12, i32 28, i32 44, i32 60, i32 76, i32 92, i32 13, i32 29, i32 45, i32 61, i32 77, i32 93, i32 14, i32 30, i32 46, i32 62, i32 78, i32 94, i32 15, i32 31, i32 47, i32 63, i32 79, i32 95>4084 store <96 x i64> %interleaved.vec, ptr %out.vec, align 644085 ret void4086}4087 4088define void @store_i64_stride6_vf32(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {4089; SSE-LABEL: store_i64_stride6_vf32:4090; SSE: # %bb.0:4091; SSE-NEXT: subq $1176, %rsp # imm = 0x4984092; SSE-NEXT: movaps (%rdi), %xmm74093; SSE-NEXT: movaps 16(%rdi), %xmm84094; SSE-NEXT: movaps 32(%rdi), %xmm94095; SSE-NEXT: movaps (%rsi), %xmm24096; SSE-NEXT: movaps 16(%rsi), %xmm14097; SSE-NEXT: movaps 32(%rsi), %xmm04098; SSE-NEXT: movaps (%rdx), %xmm104099; SSE-NEXT: movaps 16(%rdx), %xmm114100; SSE-NEXT: movaps 32(%rdx), %xmm124101; SSE-NEXT: movaps (%rcx), %xmm44102; SSE-NEXT: movaps 16(%rcx), %xmm34103; SSE-NEXT: movaps (%r8), %xmm134104; SSE-NEXT: movaps 16(%r8), %xmm144105; SSE-NEXT: movaps (%r9), %xmm64106; SSE-NEXT: movaps 16(%r9), %xmm54107; SSE-NEXT: movaps %xmm7, %xmm154108; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm2[0]4109; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4110; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]4111; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4112; SSE-NEXT: movaps %xmm10, %xmm24113; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm4[0]4114; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4115; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm4[1]4116; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4117; SSE-NEXT: movaps %xmm13, %xmm44118; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm6[0]4119; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4120; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]4121; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4122; SSE-NEXT: movaps %xmm8, %xmm24123; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]4124; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4125; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]4126; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4127; SSE-NEXT: movaps %xmm11, %xmm14128; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]4129; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4130; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm3[1]4131; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4132; SSE-NEXT: movaps %xmm14, %xmm14133; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm5[0]4134; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4135; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm5[1]4136; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4137; SSE-NEXT: movaps %xmm9, %xmm14138; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4139; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4140; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]4141; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4142; SSE-NEXT: movaps 32(%rcx), %xmm04143; SSE-NEXT: movaps %xmm12, %xmm14144; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4145; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4146; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]4147; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4148; SSE-NEXT: movaps 32(%r8), %xmm24149; SSE-NEXT: movaps 32(%r9), %xmm04150; SSE-NEXT: movaps %xmm2, %xmm14151; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4152; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4153; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4154; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4155; SSE-NEXT: movaps 48(%rdi), %xmm24156; SSE-NEXT: movaps 48(%rsi), %xmm04157; SSE-NEXT: movaps %xmm2, %xmm14158; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4159; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4160; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4161; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4162; SSE-NEXT: movaps 48(%rdx), %xmm24163; SSE-NEXT: movaps 48(%rcx), %xmm04164; SSE-NEXT: movaps %xmm2, %xmm14165; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4166; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4167; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4168; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4169; SSE-NEXT: movaps 48(%r8), %xmm24170; SSE-NEXT: movaps 48(%r9), %xmm04171; SSE-NEXT: movaps %xmm2, %xmm14172; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4173; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4174; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4175; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4176; SSE-NEXT: movaps 64(%rdi), %xmm24177; SSE-NEXT: movaps 64(%rsi), %xmm04178; SSE-NEXT: movaps %xmm2, %xmm14179; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4180; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4181; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4182; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4183; SSE-NEXT: movaps 64(%rdx), %xmm24184; SSE-NEXT: movaps 64(%rcx), %xmm04185; SSE-NEXT: movaps %xmm2, %xmm14186; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4187; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4188; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4189; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4190; SSE-NEXT: movaps 64(%r8), %xmm24191; SSE-NEXT: movaps 64(%r9), %xmm04192; SSE-NEXT: movaps %xmm2, %xmm14193; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4194; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4195; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4196; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4197; SSE-NEXT: movaps 80(%rdi), %xmm24198; SSE-NEXT: movaps 80(%rsi), %xmm04199; SSE-NEXT: movaps %xmm2, %xmm14200; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4201; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4202; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4203; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4204; SSE-NEXT: movaps 80(%rdx), %xmm24205; SSE-NEXT: movaps 80(%rcx), %xmm04206; SSE-NEXT: movaps %xmm2, %xmm14207; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4208; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4209; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4210; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4211; SSE-NEXT: movaps 80(%r8), %xmm24212; SSE-NEXT: movaps 80(%r9), %xmm04213; SSE-NEXT: movaps %xmm2, %xmm14214; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4215; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4216; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4217; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4218; SSE-NEXT: movaps 96(%rdi), %xmm24219; SSE-NEXT: movaps 96(%rsi), %xmm04220; SSE-NEXT: movaps %xmm2, %xmm14221; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4222; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4223; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4224; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4225; SSE-NEXT: movaps 96(%rdx), %xmm24226; SSE-NEXT: movaps 96(%rcx), %xmm04227; SSE-NEXT: movaps %xmm2, %xmm14228; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4229; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4230; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4231; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4232; SSE-NEXT: movaps 96(%r8), %xmm24233; SSE-NEXT: movaps 96(%r9), %xmm04234; SSE-NEXT: movaps %xmm2, %xmm14235; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4236; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4237; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4238; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4239; SSE-NEXT: movaps 112(%rdi), %xmm24240; SSE-NEXT: movaps 112(%rsi), %xmm04241; SSE-NEXT: movaps %xmm2, %xmm14242; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4243; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4244; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4245; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4246; SSE-NEXT: movaps 112(%rdx), %xmm24247; SSE-NEXT: movaps 112(%rcx), %xmm04248; SSE-NEXT: movaps %xmm2, %xmm14249; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4250; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4251; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4252; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4253; SSE-NEXT: movaps 112(%r8), %xmm24254; SSE-NEXT: movaps 112(%r9), %xmm04255; SSE-NEXT: movaps %xmm2, %xmm14256; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4257; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4258; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4259; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4260; SSE-NEXT: movaps 128(%rdi), %xmm24261; SSE-NEXT: movaps 128(%rsi), %xmm04262; SSE-NEXT: movaps %xmm2, %xmm14263; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4264; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4265; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4266; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4267; SSE-NEXT: movaps 128(%rdx), %xmm24268; SSE-NEXT: movaps 128(%rcx), %xmm04269; SSE-NEXT: movaps %xmm2, %xmm14270; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4271; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4272; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4273; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4274; SSE-NEXT: movaps 128(%r8), %xmm24275; SSE-NEXT: movaps 128(%r9), %xmm04276; SSE-NEXT: movaps %xmm2, %xmm14277; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4278; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4279; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4280; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4281; SSE-NEXT: movaps 144(%rdi), %xmm24282; SSE-NEXT: movaps 144(%rsi), %xmm04283; SSE-NEXT: movaps %xmm2, %xmm14284; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4285; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4286; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4287; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4288; SSE-NEXT: movaps 144(%rdx), %xmm24289; SSE-NEXT: movaps 144(%rcx), %xmm04290; SSE-NEXT: movaps %xmm2, %xmm14291; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4292; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4293; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4294; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4295; SSE-NEXT: movaps 144(%r8), %xmm24296; SSE-NEXT: movaps 144(%r9), %xmm04297; SSE-NEXT: movaps %xmm2, %xmm14298; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4299; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4300; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4301; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4302; SSE-NEXT: movaps 160(%rdi), %xmm24303; SSE-NEXT: movaps 160(%rsi), %xmm04304; SSE-NEXT: movaps %xmm2, %xmm14305; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4306; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4307; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4308; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4309; SSE-NEXT: movaps 160(%rdx), %xmm24310; SSE-NEXT: movaps 160(%rcx), %xmm04311; SSE-NEXT: movaps %xmm2, %xmm14312; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4313; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4314; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4315; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4316; SSE-NEXT: movaps 160(%r8), %xmm24317; SSE-NEXT: movaps 160(%r9), %xmm04318; SSE-NEXT: movaps %xmm2, %xmm14319; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4320; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4321; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4322; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4323; SSE-NEXT: movaps 176(%rdi), %xmm24324; SSE-NEXT: movaps 176(%rsi), %xmm04325; SSE-NEXT: movaps %xmm2, %xmm14326; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4327; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4328; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4329; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4330; SSE-NEXT: movaps 176(%rdx), %xmm24331; SSE-NEXT: movaps 176(%rcx), %xmm04332; SSE-NEXT: movaps %xmm2, %xmm14333; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4334; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4335; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4336; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4337; SSE-NEXT: movaps 176(%r8), %xmm24338; SSE-NEXT: movaps 176(%r9), %xmm04339; SSE-NEXT: movaps %xmm2, %xmm14340; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4341; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4342; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4343; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4344; SSE-NEXT: movaps 192(%rdi), %xmm24345; SSE-NEXT: movaps 192(%rsi), %xmm04346; SSE-NEXT: movaps %xmm2, %xmm14347; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4348; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill4349; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4350; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4351; SSE-NEXT: movaps 192(%rdx), %xmm24352; SSE-NEXT: movaps 192(%rcx), %xmm04353; SSE-NEXT: movaps %xmm2, %xmm14354; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4355; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4356; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4357; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4358; SSE-NEXT: movaps 192(%r8), %xmm24359; SSE-NEXT: movaps 192(%r9), %xmm04360; SSE-NEXT: movaps %xmm2, %xmm14361; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4362; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4363; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]4364; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4365; SSE-NEXT: movaps 208(%rdi), %xmm154366; SSE-NEXT: movaps 208(%rsi), %xmm04367; SSE-NEXT: movaps %xmm15, %xmm14368; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4369; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4370; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]4371; SSE-NEXT: movaps 208(%rdx), %xmm124372; SSE-NEXT: movaps 208(%rcx), %xmm04373; SSE-NEXT: movaps %xmm12, %xmm14374; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4375; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4376; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]4377; SSE-NEXT: movaps 208(%r8), %xmm114378; SSE-NEXT: movaps 208(%r9), %xmm04379; SSE-NEXT: movaps %xmm11, %xmm14380; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]4381; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4382; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]4383; SSE-NEXT: movaps 224(%rdi), %xmm134384; SSE-NEXT: movaps 224(%rsi), %xmm04385; SSE-NEXT: movaps %xmm13, %xmm144386; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]4387; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]4388; SSE-NEXT: movaps 224(%rdx), %xmm94389; SSE-NEXT: movaps 224(%rcx), %xmm04390; SSE-NEXT: movaps %xmm9, %xmm104391; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]4392; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]4393; SSE-NEXT: movaps 224(%r8), %xmm54394; SSE-NEXT: movaps 224(%r9), %xmm04395; SSE-NEXT: movaps %xmm5, %xmm84396; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]4397; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]4398; SSE-NEXT: movaps 240(%rdi), %xmm64399; SSE-NEXT: movaps 240(%rsi), %xmm14400; SSE-NEXT: movaps %xmm6, %xmm74401; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]4402; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]4403; SSE-NEXT: movaps 240(%rdx), %xmm14404; SSE-NEXT: movaps 240(%rcx), %xmm04405; SSE-NEXT: movaps %xmm1, %xmm44406; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]4407; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4408; SSE-NEXT: movaps 240(%r8), %xmm04409; SSE-NEXT: movaps 240(%r9), %xmm34410; SSE-NEXT: movaps %xmm0, %xmm24411; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]4412; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]4413; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax4414; SSE-NEXT: movaps %xmm0, 1520(%rax)4415; SSE-NEXT: movaps %xmm1, 1504(%rax)4416; SSE-NEXT: movaps %xmm6, 1488(%rax)4417; SSE-NEXT: movaps %xmm2, 1472(%rax)4418; SSE-NEXT: movaps %xmm4, 1456(%rax)4419; SSE-NEXT: movaps %xmm7, 1440(%rax)4420; SSE-NEXT: movaps %xmm5, 1424(%rax)4421; SSE-NEXT: movaps %xmm9, 1408(%rax)4422; SSE-NEXT: movaps %xmm13, 1392(%rax)4423; SSE-NEXT: movaps %xmm8, 1376(%rax)4424; SSE-NEXT: movaps %xmm10, 1360(%rax)4425; SSE-NEXT: movaps %xmm14, 1344(%rax)4426; SSE-NEXT: movaps %xmm11, 1328(%rax)4427; SSE-NEXT: movaps %xmm12, 1312(%rax)4428; SSE-NEXT: movaps %xmm15, 1296(%rax)4429; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4430; SSE-NEXT: movaps %xmm0, 1280(%rax)4431; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4432; SSE-NEXT: movaps %xmm0, 1264(%rax)4433; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4434; SSE-NEXT: movaps %xmm0, 1248(%rax)4435; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4436; SSE-NEXT: movaps %xmm0, 1232(%rax)4437; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4438; SSE-NEXT: movaps %xmm0, 1216(%rax)4439; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4440; SSE-NEXT: movaps %xmm0, 1200(%rax)4441; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4442; SSE-NEXT: movaps %xmm0, 1184(%rax)4443; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4444; SSE-NEXT: movaps %xmm0, 1168(%rax)4445; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload4446; SSE-NEXT: movaps %xmm0, 1152(%rax)4447; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4448; SSE-NEXT: movaps %xmm0, 1136(%rax)4449; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4450; SSE-NEXT: movaps %xmm0, 1120(%rax)4451; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4452; SSE-NEXT: movaps %xmm0, 1104(%rax)4453; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4454; SSE-NEXT: movaps %xmm0, 1088(%rax)4455; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4456; SSE-NEXT: movaps %xmm0, 1072(%rax)4457; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4458; SSE-NEXT: movaps %xmm0, 1056(%rax)4459; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4460; SSE-NEXT: movaps %xmm0, 1040(%rax)4461; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4462; SSE-NEXT: movaps %xmm0, 1024(%rax)4463; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4464; SSE-NEXT: movaps %xmm0, 1008(%rax)4465; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4466; SSE-NEXT: movaps %xmm0, 992(%rax)4467; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4468; SSE-NEXT: movaps %xmm0, 976(%rax)4469; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4470; SSE-NEXT: movaps %xmm0, 960(%rax)4471; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4472; SSE-NEXT: movaps %xmm0, 944(%rax)4473; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4474; SSE-NEXT: movaps %xmm0, 928(%rax)4475; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4476; SSE-NEXT: movaps %xmm0, 912(%rax)4477; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4478; SSE-NEXT: movaps %xmm0, 896(%rax)4479; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4480; SSE-NEXT: movaps %xmm0, 880(%rax)4481; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4482; SSE-NEXT: movaps %xmm0, 864(%rax)4483; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4484; SSE-NEXT: movaps %xmm0, 848(%rax)4485; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4486; SSE-NEXT: movaps %xmm0, 832(%rax)4487; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4488; SSE-NEXT: movaps %xmm0, 816(%rax)4489; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4490; SSE-NEXT: movaps %xmm0, 800(%rax)4491; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4492; SSE-NEXT: movaps %xmm0, 784(%rax)4493; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4494; SSE-NEXT: movaps %xmm0, 768(%rax)4495; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4496; SSE-NEXT: movaps %xmm0, 752(%rax)4497; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4498; SSE-NEXT: movaps %xmm0, 736(%rax)4499; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4500; SSE-NEXT: movaps %xmm0, 720(%rax)4501; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4502; SSE-NEXT: movaps %xmm0, 704(%rax)4503; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4504; SSE-NEXT: movaps %xmm0, 688(%rax)4505; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4506; SSE-NEXT: movaps %xmm0, 672(%rax)4507; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4508; SSE-NEXT: movaps %xmm0, 656(%rax)4509; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4510; SSE-NEXT: movaps %xmm0, 640(%rax)4511; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4512; SSE-NEXT: movaps %xmm0, 624(%rax)4513; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4514; SSE-NEXT: movaps %xmm0, 608(%rax)4515; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4516; SSE-NEXT: movaps %xmm0, 592(%rax)4517; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4518; SSE-NEXT: movaps %xmm0, 576(%rax)4519; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4520; SSE-NEXT: movaps %xmm0, 560(%rax)4521; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4522; SSE-NEXT: movaps %xmm0, 544(%rax)4523; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4524; SSE-NEXT: movaps %xmm0, 528(%rax)4525; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4526; SSE-NEXT: movaps %xmm0, 512(%rax)4527; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4528; SSE-NEXT: movaps %xmm0, 496(%rax)4529; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4530; SSE-NEXT: movaps %xmm0, 480(%rax)4531; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4532; SSE-NEXT: movaps %xmm0, 464(%rax)4533; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4534; SSE-NEXT: movaps %xmm0, 448(%rax)4535; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4536; SSE-NEXT: movaps %xmm0, 432(%rax)4537; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4538; SSE-NEXT: movaps %xmm0, 416(%rax)4539; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4540; SSE-NEXT: movaps %xmm0, 400(%rax)4541; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4542; SSE-NEXT: movaps %xmm0, 384(%rax)4543; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4544; SSE-NEXT: movaps %xmm0, 368(%rax)4545; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4546; SSE-NEXT: movaps %xmm0, 352(%rax)4547; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4548; SSE-NEXT: movaps %xmm0, 336(%rax)4549; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4550; SSE-NEXT: movaps %xmm0, 320(%rax)4551; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4552; SSE-NEXT: movaps %xmm0, 304(%rax)4553; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4554; SSE-NEXT: movaps %xmm0, 288(%rax)4555; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4556; SSE-NEXT: movaps %xmm0, 272(%rax)4557; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4558; SSE-NEXT: movaps %xmm0, 256(%rax)4559; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4560; SSE-NEXT: movaps %xmm0, 240(%rax)4561; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4562; SSE-NEXT: movaps %xmm0, 224(%rax)4563; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4564; SSE-NEXT: movaps %xmm0, 208(%rax)4565; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4566; SSE-NEXT: movaps %xmm0, 192(%rax)4567; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4568; SSE-NEXT: movaps %xmm0, 176(%rax)4569; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4570; SSE-NEXT: movaps %xmm0, 160(%rax)4571; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4572; SSE-NEXT: movaps %xmm0, 144(%rax)4573; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4574; SSE-NEXT: movaps %xmm0, 128(%rax)4575; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4576; SSE-NEXT: movaps %xmm0, 112(%rax)4577; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4578; SSE-NEXT: movaps %xmm0, 96(%rax)4579; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4580; SSE-NEXT: movaps %xmm0, 80(%rax)4581; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4582; SSE-NEXT: movaps %xmm0, 64(%rax)4583; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4584; SSE-NEXT: movaps %xmm0, 48(%rax)4585; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4586; SSE-NEXT: movaps %xmm0, 32(%rax)4587; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4588; SSE-NEXT: movaps %xmm0, 16(%rax)4589; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4590; SSE-NEXT: movaps %xmm0, (%rax)4591; SSE-NEXT: addq $1176, %rsp # imm = 0x4984592; SSE-NEXT: retq4593;4594; AVX-LABEL: store_i64_stride6_vf32:4595; AVX: # %bb.0:4596; AVX-NEXT: subq $1608, %rsp # imm = 0x6484597; AVX-NEXT: vmovapd (%r8), %ymm04598; AVX-NEXT: vmovapd 32(%r8), %ymm14599; AVX-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]4600; AVX-NEXT: vmovaps (%rsi), %xmm44601; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4602; AVX-NEXT: vmovaps 32(%rsi), %xmm104603; AVX-NEXT: vmovaps 64(%rsi), %xmm114604; AVX-NEXT: vmovaps (%rdi), %xmm34605; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4606; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]4607; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm34608; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm0[0,1],ymm3[2,3]4609; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0],ymm2[1],ymm3[2,3]4610; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4611; AVX-NEXT: vmovaps (%rcx), %xmm34612; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4613; AVX-NEXT: vmovaps 32(%rcx), %xmm54614; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4615; AVX-NEXT: vmovaps (%rdx), %xmm24616; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4617; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]4618; AVX-NEXT: vinsertf128 $1, (%r9), %ymm2, %ymm34619; AVX-NEXT: vbroadcastsd 8(%r8), %ymm44620; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]4621; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]4622; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4623; AVX-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]4624; AVX-NEXT: vmovaps 32(%rdi), %xmm34625; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4626; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm10[1]4627; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm34628; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm1[0,1],ymm3[2,3]4629; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0],ymm2[1],ymm3[2,3]4630; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4631; AVX-NEXT: vmovaps 32(%rdx), %xmm24632; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4633; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm5[1]4634; AVX-NEXT: vbroadcastsd 40(%r8), %ymm34635; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3],ymm3[4,5,6,7]4636; AVX-NEXT: vinsertf128 $1, 32(%r9), %ymm2, %ymm24637; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]4638; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4639; AVX-NEXT: vmovaps 64(%rdi), %xmm134640; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm13[1],xmm11[1]4641; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm24642; AVX-NEXT: vmovapd 64(%r8), %ymm34643; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3]4644; AVX-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]4645; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2,3]4646; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4647; AVX-NEXT: vmovaps 64(%rcx), %xmm44648; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4649; AVX-NEXT: vmovaps 64(%rdx), %xmm24650; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4651; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]4652; AVX-NEXT: vbroadcastsd 72(%r8), %ymm44653; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]4654; AVX-NEXT: vinsertf128 $1, 64(%r9), %ymm2, %ymm24655; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]4656; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4657; AVX-NEXT: vmovaps 96(%rsi), %xmm44658; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4659; AVX-NEXT: vmovaps 96(%rdi), %xmm24660; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4661; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]4662; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm24663; AVX-NEXT: vmovapd 96(%r8), %ymm54664; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm5[0,1],ymm2[2,3]4665; AVX-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]4666; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2,3]4667; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4668; AVX-NEXT: vmovaps 96(%rcx), %xmm44669; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4670; AVX-NEXT: vmovaps 96(%rdx), %xmm24671; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4672; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]4673; AVX-NEXT: vbroadcastsd 104(%r8), %ymm44674; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]4675; AVX-NEXT: vinsertf128 $1, 96(%r9), %ymm2, %ymm24676; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]4677; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4678; AVX-NEXT: vmovaps 128(%rsi), %xmm144679; AVX-NEXT: vmovaps 128(%rdi), %xmm24680; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4681; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm14[1]4682; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm24683; AVX-NEXT: vmovapd 128(%r8), %ymm84684; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm8[0,1],ymm2[2,3]4685; AVX-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]4686; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2,3]4687; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4688; AVX-NEXT: vmovaps 128(%rcx), %xmm44689; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4690; AVX-NEXT: vmovaps 128(%rdx), %xmm24691; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4692; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]4693; AVX-NEXT: vbroadcastsd 136(%r8), %ymm44694; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5,6,7]4695; AVX-NEXT: vinsertf128 $1, 128(%r9), %ymm2, %ymm24696; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]4697; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4698; AVX-NEXT: vmovaps 160(%rsi), %xmm44699; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4700; AVX-NEXT: vmovaps 160(%rdi), %xmm24701; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4702; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]4703; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm44704; AVX-NEXT: vmovapd 160(%r8), %ymm24705; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm2[0,1],ymm4[2,3]4706; AVX-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]4707; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0],ymm6[1],ymm4[2,3]4708; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4709; AVX-NEXT: vmovaps 160(%rcx), %xmm64710; AVX-NEXT: vmovaps %xmm6, (%rsp) # 16-byte Spill4711; AVX-NEXT: vmovaps 160(%rdx), %xmm44712; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4713; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]4714; AVX-NEXT: vbroadcastsd 168(%r8), %ymm64715; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm4[0,1,2,3],ymm6[4,5,6,7]4716; AVX-NEXT: vinsertf128 $1, 160(%r9), %ymm4, %ymm44717; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1],ymm4[2,3],ymm6[4,5],ymm4[6,7]4718; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4719; AVX-NEXT: vmovaps 192(%rsi), %xmm64720; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4721; AVX-NEXT: vmovaps 192(%rdi), %xmm44722; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4723; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]4724; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm64725; AVX-NEXT: vmovapd 192(%r8), %ymm44726; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm4[0,1],ymm6[2,3]4727; AVX-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]4728; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2,3]4729; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4730; AVX-NEXT: vmovaps 192(%rcx), %xmm74731; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4732; AVX-NEXT: vmovaps 192(%rdx), %xmm64733; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4734; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm7[1]4735; AVX-NEXT: vbroadcastsd 200(%r8), %ymm74736; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm6[0,1,2,3],ymm7[4,5,6,7]4737; AVX-NEXT: vinsertf128 $1, 192(%r9), %ymm6, %ymm64738; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5],ymm6[6,7]4739; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4740; AVX-NEXT: vmovaps 224(%rsi), %xmm74741; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4742; AVX-NEXT: vmovaps 224(%rdi), %xmm64743; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4744; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm7[1]4745; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm64746; AVX-NEXT: vmovapd 224(%r8), %ymm94747; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm9[0,1],ymm6[2,3]4748; AVX-NEXT: vmovddup {{.*#+}} xmm7 = mem[0,0]4749; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0],ymm7[1],ymm6[2,3]4750; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4751; AVX-NEXT: vmovaps 224(%rcx), %xmm74752; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4753; AVX-NEXT: vmovaps 224(%rdx), %xmm64754; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4755; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm6[1],xmm7[1]4756; AVX-NEXT: vbroadcastsd 232(%r8), %ymm74757; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm6[0,1,2,3],ymm7[4,5,6,7]4758; AVX-NEXT: vinsertf128 $1, 224(%r9), %ymm6, %ymm64759; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5],ymm6[6,7]4760; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4761; AVX-NEXT: vmovapd (%rdi), %ymm64762; AVX-NEXT: vmovapd (%rsi), %ymm74763; AVX-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]4764; AVX-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm6[2,3]4765; AVX-NEXT: vmovapd (%r9), %ymm04766; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm0[2,3],ymm7[2,3]4767; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm7[0],ymm6[2],ymm7[3]4768; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4769; AVX-NEXT: vmovapd 32(%rdi), %ymm64770; AVX-NEXT: vmovapd 32(%rsi), %ymm74771; AVX-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]4772; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm6[2,3]4773; AVX-NEXT: vmovapd 32(%r9), %ymm124774; AVX-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm12[2,3],ymm7[2,3]4775; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm6[0],ymm1[2],ymm6[3]4776; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4777; AVX-NEXT: vmovapd 64(%rdi), %ymm14778; AVX-NEXT: vmovapd 64(%rsi), %ymm74779; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm7[1],ymm1[3],ymm7[3]4780; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]4781; AVX-NEXT: vmovapd 64(%r9), %ymm64782; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm6[2,3],ymm7[2,3]4783; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm3[0],ymm1[2],ymm3[3]4784; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4785; AVX-NEXT: vmovapd 96(%rdi), %ymm14786; AVX-NEXT: vmovapd 96(%rsi), %ymm34787; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]4788; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]4789; AVX-NEXT: vmovapd 96(%r9), %ymm54790; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]4791; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm3[0],ymm1[2],ymm3[3]4792; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4793; AVX-NEXT: vmovapd 128(%rdi), %ymm14794; AVX-NEXT: vmovapd 128(%rsi), %ymm74795; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm7[1],ymm1[3],ymm7[3]4796; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]4797; AVX-NEXT: vmovapd 128(%r9), %ymm34798; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm3[2,3],ymm7[2,3]4799; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm7[0],ymm1[2],ymm7[3]4800; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4801; AVX-NEXT: vmovapd 160(%rdi), %ymm14802; AVX-NEXT: vmovapd 160(%rsi), %ymm74803; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm7[1],ymm1[3],ymm7[3]4804; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm1[2,3]4805; AVX-NEXT: vmovapd 160(%r9), %ymm14806; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm1[2,3],ymm7[2,3]4807; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm7[0],ymm2[2],ymm7[3]4808; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4809; AVX-NEXT: vmovapd 192(%rdi), %ymm24810; AVX-NEXT: vmovapd 192(%rsi), %ymm74811; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm7[1],ymm2[3],ymm7[3]4812; AVX-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]4813; AVX-NEXT: vmovapd 192(%r9), %ymm24814; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm2[2,3],ymm7[2,3]4815; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm7[0],ymm4[2],ymm7[3]4816; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4817; AVX-NEXT: vmovapd 224(%rdi), %ymm44818; AVX-NEXT: vmovapd 224(%rsi), %ymm74819; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]4820; AVX-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm9[2,3],ymm4[2,3]4821; AVX-NEXT: vmovapd 224(%r9), %ymm44822; AVX-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm4[2,3],ymm7[2,3]4823; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm8[0],ymm7[0],ymm8[2],ymm7[3]4824; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4825; AVX-NEXT: vmovaps 16(%rdi), %xmm74826; AVX-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]4827; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]4828; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm84829; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm8[6,7]4830; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4831; AVX-NEXT: vmovapd 16(%rdx), %xmm74832; AVX-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm7[1],mem[1]4833; AVX-NEXT: vbroadcastsd 24(%r8), %ymm84834; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1],ymm8[2,3]4835; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1,2],ymm0[3]4836; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4837; AVX-NEXT: vmovaps 48(%rdi), %xmm04838; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4839; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4840; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm74841; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm7[6,7]4842; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4843; AVX-NEXT: vmovapd 48(%rdx), %xmm04844; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4845; AVX-NEXT: vbroadcastsd 56(%r8), %ymm74846; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3]4847; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm12[3]4848; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4849; AVX-NEXT: vmovaps 80(%rdi), %xmm04850; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4851; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4852; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm74853; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm7[6,7]4854; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4855; AVX-NEXT: vmovapd 80(%rdx), %xmm04856; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4857; AVX-NEXT: vbroadcastsd 88(%r8), %ymm74858; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3]4859; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm6[3]4860; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4861; AVX-NEXT: vmovaps 112(%rdi), %xmm04862; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4863; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4864; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm64865; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm6[6,7]4866; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4867; AVX-NEXT: vmovapd 112(%rdx), %xmm04868; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4869; AVX-NEXT: vbroadcastsd 120(%r8), %ymm64870; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm6[2,3]4871; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm5[3]4872; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4873; AVX-NEXT: vmovaps 144(%rdi), %xmm04874; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4875; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4876; AVX-NEXT: vbroadcastsd 144(%rcx), %ymm54877; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]4878; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4879; AVX-NEXT: vmovapd 144(%rdx), %xmm04880; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4881; AVX-NEXT: vbroadcastsd 152(%r8), %ymm54882; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3]4883; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm3[3]4884; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4885; AVX-NEXT: vmovaps 176(%rdi), %xmm04886; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4887; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4888; AVX-NEXT: vbroadcastsd 176(%rcx), %ymm34889; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]4890; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4891; AVX-NEXT: vmovapd 176(%rdx), %xmm04892; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4893; AVX-NEXT: vbroadcastsd 184(%r8), %ymm34894; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2,3]4895; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]4896; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4897; AVX-NEXT: vmovaps 208(%rdi), %xmm04898; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4899; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4900; AVX-NEXT: vbroadcastsd 208(%rcx), %ymm14901; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4902; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4903; AVX-NEXT: vmovapd 208(%rdx), %xmm04904; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]4905; AVX-NEXT: vbroadcastsd 216(%r8), %ymm154906; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3]4907; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm2[3]4908; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4909; AVX-NEXT: vmovaps 240(%rdi), %xmm04910; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]4911; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]4912; AVX-NEXT: vbroadcastsd 240(%rcx), %ymm154913; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm15[6,7]4914; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4915; AVX-NEXT: vmovapd 240(%rdx), %xmm154916; AVX-NEXT: vunpckhpd {{.*#+}} xmm15 = xmm15[1],mem[1]4917; AVX-NEXT: vbroadcastsd 248(%r8), %ymm124918; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm15[0,1],ymm12[2,3]4919; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm12[0,1,2],ymm4[3]4920; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4921; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4922; AVX-NEXT: vmovlhps {{.*#+}} xmm14 = xmm0[0],xmm14[0]4923; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4924; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm15 # 16-byte Folded Reload4925; AVX-NEXT: # xmm15 = xmm0[0],mem[0]4926; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm13[0],xmm11[0]4927; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4928; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload4929; AVX-NEXT: # xmm12 = xmm0[0],mem[0]4930; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4931; AVX-NEXT: vmovlhps {{.*#+}} xmm11 = xmm0[0],xmm10[0]4932; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4933; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm10 # 16-byte Folded Reload4934; AVX-NEXT: # xmm10 = xmm0[0],mem[0]4935; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4936; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload4937; AVX-NEXT: # xmm9 = xmm0[0],mem[0]4938; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4939; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm8 # 16-byte Folded Reload4940; AVX-NEXT: # xmm8 = xmm0[0],mem[0]4941; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4942; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload4943; AVX-NEXT: # xmm7 = xmm0[0],mem[0]4944; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4945; AVX-NEXT: vunpcklpd (%rsp), %xmm0, %xmm6 # 16-byte Folded Reload4946; AVX-NEXT: # xmm6 = xmm0[0],mem[0]4947; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4948; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload4949; AVX-NEXT: # xmm5 = xmm0[0],mem[0]4950; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4951; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload4952; AVX-NEXT: # xmm4 = xmm0[0],mem[0]4953; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4954; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload4955; AVX-NEXT: # xmm3 = xmm0[0],mem[0]4956; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4957; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload4958; AVX-NEXT: # xmm2 = xmm0[0],mem[0]4959; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4960; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload4961; AVX-NEXT: # xmm1 = xmm0[0],mem[0]4962; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4963; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload4964; AVX-NEXT: # xmm0 = xmm0[0],mem[0]4965; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax4966; AVX-NEXT: vmovaps %xmm0, 16(%rax)4967; AVX-NEXT: vmovaps %xmm1, (%rax)4968; AVX-NEXT: vmovaps %xmm2, 1168(%rax)4969; AVX-NEXT: vmovaps %xmm3, 1152(%rax)4970; AVX-NEXT: vmovaps %xmm4, 1360(%rax)4971; AVX-NEXT: vmovaps %xmm5, 1344(%rax)4972; AVX-NEXT: vmovaps %xmm6, 976(%rax)4973; AVX-NEXT: vmovaps %xmm7, 960(%rax)4974; AVX-NEXT: vmovaps %xmm8, 592(%rax)4975; AVX-NEXT: vmovaps %xmm9, 576(%rax)4976; AVX-NEXT: vmovaps %xmm10, 208(%rax)4977; AVX-NEXT: vmovaps %xmm11, 192(%rax)4978; AVX-NEXT: vmovaps %xmm12, 400(%rax)4979; AVX-NEXT: vmovaps %xmm13, 384(%rax)4980; AVX-NEXT: vmovaps %xmm15, 784(%rax)4981; AVX-NEXT: vmovaps %xmm14, 768(%rax)4982; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4983; AVX-NEXT: vmovaps %ymm0, 1472(%rax)4984; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4985; AVX-NEXT: vmovaps %ymm0, 1280(%rax)4986; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4987; AVX-NEXT: vmovaps %ymm0, 1088(%rax)4988; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4989; AVX-NEXT: vmovaps %ymm0, 896(%rax)4990; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4991; AVX-NEXT: vmovaps %ymm0, 704(%rax)4992; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4993; AVX-NEXT: vmovaps %ymm0, 512(%rax)4994; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4995; AVX-NEXT: vmovaps %ymm0, 320(%rax)4996; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4997; AVX-NEXT: vmovaps %ymm0, 128(%rax)4998; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4999; AVX-NEXT: vmovaps %ymm0, 1504(%rax)5000; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5001; AVX-NEXT: vmovaps %ymm0, 1440(%rax)5002; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5003; AVX-NEXT: vmovaps %ymm0, 1408(%rax)5004; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5005; AVX-NEXT: vmovaps %ymm0, 1376(%rax)5006; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5007; AVX-NEXT: vmovaps %ymm0, 1312(%rax)5008; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5009; AVX-NEXT: vmovaps %ymm0, 1248(%rax)5010; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5011; AVX-NEXT: vmovaps %ymm0, 1216(%rax)5012; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5013; AVX-NEXT: vmovaps %ymm0, 1184(%rax)5014; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5015; AVX-NEXT: vmovaps %ymm0, 1120(%rax)5016; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5017; AVX-NEXT: vmovaps %ymm0, 1056(%rax)5018; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5019; AVX-NEXT: vmovaps %ymm0, 1024(%rax)5020; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5021; AVX-NEXT: vmovaps %ymm0, 992(%rax)5022; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5023; AVX-NEXT: vmovaps %ymm0, 928(%rax)5024; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5025; AVX-NEXT: vmovaps %ymm0, 864(%rax)5026; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5027; AVX-NEXT: vmovaps %ymm0, 832(%rax)5028; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5029; AVX-NEXT: vmovaps %ymm0, 800(%rax)5030; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5031; AVX-NEXT: vmovaps %ymm0, 736(%rax)5032; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5033; AVX-NEXT: vmovaps %ymm0, 672(%rax)5034; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5035; AVX-NEXT: vmovaps %ymm0, 640(%rax)5036; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5037; AVX-NEXT: vmovaps %ymm0, 608(%rax)5038; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5039; AVX-NEXT: vmovaps %ymm0, 544(%rax)5040; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5041; AVX-NEXT: vmovaps %ymm0, 480(%rax)5042; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5043; AVX-NEXT: vmovaps %ymm0, 448(%rax)5044; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5045; AVX-NEXT: vmovaps %ymm0, 416(%rax)5046; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5047; AVX-NEXT: vmovaps %ymm0, 352(%rax)5048; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5049; AVX-NEXT: vmovaps %ymm0, 288(%rax)5050; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5051; AVX-NEXT: vmovaps %ymm0, 256(%rax)5052; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5053; AVX-NEXT: vmovaps %ymm0, 224(%rax)5054; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5055; AVX-NEXT: vmovaps %ymm0, 160(%rax)5056; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5057; AVX-NEXT: vmovaps %ymm0, 96(%rax)5058; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5059; AVX-NEXT: vmovaps %ymm0, 64(%rax)5060; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5061; AVX-NEXT: vmovaps %ymm0, 32(%rax)5062; AVX-NEXT: addq $1608, %rsp # imm = 0x6485063; AVX-NEXT: vzeroupper5064; AVX-NEXT: retq5065;5066; AVX2-LABEL: store_i64_stride6_vf32:5067; AVX2: # %bb.0:5068; AVX2-NEXT: subq $1208, %rsp # imm = 0x4B85069; AVX2-NEXT: vmovaps (%r8), %ymm55070; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5071; AVX2-NEXT: vmovaps 32(%r8), %ymm45072; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5073; AVX2-NEXT: vmovaps (%r9), %xmm15074; AVX2-NEXT: vmovaps 32(%r9), %xmm05075; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5076; AVX2-NEXT: vmovaps (%rsi), %xmm85077; AVX2-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5078; AVX2-NEXT: vmovaps 32(%rsi), %xmm65079; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5080; AVX2-NEXT: vmovaps (%rdi), %xmm35081; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5082; AVX2-NEXT: vmovaps 32(%rdi), %xmm75083; AVX2-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5084; AVX2-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm8[1]5085; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]5086; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]5087; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5088; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15089; AVX2-NEXT: vmovaps (%rcx), %xmm35090; AVX2-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5091; AVX2-NEXT: vmovaps 32(%rcx), %xmm55092; AVX2-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5093; AVX2-NEXT: vmovaps (%rdx), %xmm25094; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5095; AVX2-NEXT: vmovaps 32(%rdx), %xmm85096; AVX2-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5097; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]5098; AVX2-NEXT: vbroadcastsd 8(%r8), %ymm35099; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]5100; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5101; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5102; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]5103; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]5104; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]5105; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]5106; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5107; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm5[1]5108; AVX2-NEXT: vbroadcastsd 40(%r8), %ymm25109; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]5110; AVX2-NEXT: vmovaps 64(%r8), %ymm25111; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5112; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05113; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5114; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5115; AVX2-NEXT: vmovaps 64(%rsi), %xmm15116; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5117; AVX2-NEXT: vmovaps 64(%rdi), %xmm05118; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5119; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]5120; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]5121; AVX2-NEXT: vmovaps 64(%r9), %xmm15122; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5123; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5124; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5125; AVX2-NEXT: vmovaps 64(%rcx), %xmm25126; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5127; AVX2-NEXT: vmovaps 64(%rdx), %xmm05128; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5129; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5130; AVX2-NEXT: vbroadcastsd 72(%r8), %ymm25131; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5132; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15133; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5134; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5135; AVX2-NEXT: vmovaps 96(%r8), %ymm15136; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5137; AVX2-NEXT: vmovaps 96(%rsi), %xmm25138; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5139; AVX2-NEXT: vmovaps 96(%rdi), %xmm05140; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5141; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5142; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5143; AVX2-NEXT: vmovaps 96(%r9), %xmm15144; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5145; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5146; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5147; AVX2-NEXT: vmovaps 96(%rcx), %xmm25148; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5149; AVX2-NEXT: vmovaps 96(%rdx), %xmm05150; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5151; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5152; AVX2-NEXT: vbroadcastsd 104(%r8), %ymm25153; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5154; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15155; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5156; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5157; AVX2-NEXT: vmovaps 128(%r8), %ymm15158; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5159; AVX2-NEXT: vmovaps 128(%rsi), %xmm25160; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5161; AVX2-NEXT: vmovaps 128(%rdi), %xmm05162; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5163; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5164; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5165; AVX2-NEXT: vmovaps 128(%r9), %xmm15166; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5167; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5168; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5169; AVX2-NEXT: vmovaps 128(%rcx), %xmm145170; AVX2-NEXT: vmovaps 128(%rdx), %xmm05171; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5172; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm14[1]5173; AVX2-NEXT: vbroadcastsd 136(%r8), %ymm25174; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5175; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15176; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5177; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5178; AVX2-NEXT: vmovaps 160(%r8), %ymm15179; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5180; AVX2-NEXT: vmovaps 160(%rsi), %xmm125181; AVX2-NEXT: vmovaps 160(%rdi), %xmm135182; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]5183; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5184; AVX2-NEXT: vmovaps 160(%r9), %xmm15185; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5186; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5187; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5188; AVX2-NEXT: vmovaps 160(%rcx), %xmm105189; AVX2-NEXT: vmovaps 160(%rdx), %xmm115190; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]5191; AVX2-NEXT: vbroadcastsd 168(%r8), %ymm25192; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5193; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15194; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5195; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5196; AVX2-NEXT: vmovaps 192(%r8), %ymm15197; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5198; AVX2-NEXT: vmovaps 192(%rsi), %xmm85199; AVX2-NEXT: vmovaps 192(%rdi), %xmm95200; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]5201; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5202; AVX2-NEXT: vmovaps 192(%r9), %xmm15203; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5204; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5205; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5206; AVX2-NEXT: vmovaps 192(%rcx), %xmm65207; AVX2-NEXT: vmovaps 192(%rdx), %xmm75208; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]5209; AVX2-NEXT: vbroadcastsd 200(%r8), %ymm25210; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5211; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15212; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5213; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5214; AVX2-NEXT: vmovaps 224(%r8), %ymm15215; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5216; AVX2-NEXT: vmovaps 224(%rsi), %xmm45217; AVX2-NEXT: vmovaps 224(%rdi), %xmm55218; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]5219; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]5220; AVX2-NEXT: vmovaps 224(%r9), %xmm05221; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]5222; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]5223; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5224; AVX2-NEXT: vmovaps 224(%rcx), %xmm25225; AVX2-NEXT: vmovaps 224(%rdx), %xmm35226; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]5227; AVX2-NEXT: vbroadcastsd 232(%r8), %ymm155228; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]5229; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05230; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5231; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5232; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5233; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5234; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5235; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5236; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5237; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5238; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5239; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5240; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5241; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5242; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5243; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5244; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5245; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5246; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5247; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5248; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5249; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5250; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5251; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5252; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5253; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5254; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5255; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5256; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5257; AVX2-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm05258; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5259; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5260; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5261; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5262; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm05263; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm15264; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5265; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5266; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm05267; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm15268; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5269; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5270; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm05271; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm15272; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5273; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5274; AVX2-NEXT: vmovaps (%rdi), %ymm05275; AVX2-NEXT: vmovaps (%rsi), %ymm15276; AVX2-NEXT: vmovaps (%rdx), %ymm25277; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5278; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5279; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm45280; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5281; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5282; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5283; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5284; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5285; AVX2-NEXT: vbroadcastsd 16(%r9), %ymm15286; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5287; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5288; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5289; AVX2-NEXT: vbroadcastsd 24(%r8), %ymm15290; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]5291; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5292; AVX2-NEXT: vmovaps 32(%rdi), %ymm05293; AVX2-NEXT: vmovaps 32(%rsi), %ymm15294; AVX2-NEXT: vmovaps 32(%rdx), %ymm25295; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5296; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5297; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm45298; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5299; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5300; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5301; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5302; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5303; AVX2-NEXT: vbroadcastsd 48(%r9), %ymm15304; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5305; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5306; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5307; AVX2-NEXT: vbroadcastsd 56(%r8), %ymm15308; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]5309; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5310; AVX2-NEXT: vmovaps 64(%rdi), %ymm05311; AVX2-NEXT: vmovaps 64(%rsi), %ymm15312; AVX2-NEXT: vmovaps 64(%rdx), %ymm25313; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5314; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5315; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm45316; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5317; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5318; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5319; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5320; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5321; AVX2-NEXT: vbroadcastsd 80(%r9), %ymm15322; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5323; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5324; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5325; AVX2-NEXT: vbroadcastsd 88(%r8), %ymm15326; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]5327; AVX2-NEXT: vmovaps 96(%rdi), %ymm05328; AVX2-NEXT: vmovaps 96(%rsi), %ymm15329; AVX2-NEXT: vmovaps 96(%rdx), %ymm25330; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5331; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5332; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm45333; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5334; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5335; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5336; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5337; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5338; AVX2-NEXT: vbroadcastsd 112(%r9), %ymm15339; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5340; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5341; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5342; AVX2-NEXT: vbroadcastsd 120(%r8), %ymm15343; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]5344; AVX2-NEXT: vmovaps 128(%rdi), %ymm05345; AVX2-NEXT: vmovaps 128(%rsi), %ymm15346; AVX2-NEXT: vmovaps 128(%rdx), %ymm25347; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5348; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5349; AVX2-NEXT: vbroadcastsd 144(%rcx), %ymm45350; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm3[0,1,2,3,4,5],ymm4[6,7]5351; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5352; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5353; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5354; AVX2-NEXT: vbroadcastsd 144(%r9), %ymm15355; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5356; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5357; AVX2-NEXT: vbroadcastsd 152(%r8), %ymm15358; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm1[2,3]5359; AVX2-NEXT: vmovaps 160(%rdi), %ymm05360; AVX2-NEXT: vmovaps 160(%rsi), %ymm15361; AVX2-NEXT: vmovaps 160(%rdx), %ymm25362; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5363; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]5364; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm55365; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5],ymm5[6,7]5366; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5367; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5368; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5369; AVX2-NEXT: vbroadcastsd 176(%r9), %ymm15370; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5371; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5372; AVX2-NEXT: vbroadcastsd 184(%r8), %ymm15373; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]5374; AVX2-NEXT: vmovaps 192(%rdi), %ymm15375; AVX2-NEXT: vmovaps 192(%rsi), %ymm05376; AVX2-NEXT: vmovaps 192(%rdx), %ymm25377; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5378; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]5379; AVX2-NEXT: vbroadcastsd 208(%rcx), %ymm125380; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm12[6,7]5381; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]5382; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5383; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5384; AVX2-NEXT: vbroadcastsd 208(%r9), %ymm15385; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5386; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],mem[1],ymm2[3],mem[3]5387; AVX2-NEXT: vbroadcastsd 216(%r8), %ymm25388; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]5389; AVX2-NEXT: vmovaps 224(%rdi), %ymm25390; AVX2-NEXT: vmovaps 224(%rsi), %ymm125391; AVX2-NEXT: vmovaps 224(%rdx), %ymm05392; AVX2-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm2[0],ymm12[0],ymm2[2],ymm12[2]5393; AVX2-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm0[2,3]5394; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm155395; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]5396; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm12[1],ymm2[3],ymm12[3]5397; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload5398; AVX2-NEXT: # ymm2 = mem[2,3],ymm2[2,3]5399; AVX2-NEXT: vbroadcastsd 240(%r9), %ymm125400; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm12[2,3],ymm2[4,5,6,7]5401; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5402; AVX2-NEXT: vbroadcastsd 248(%r8), %ymm125403; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm12[2,3]5404; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax5405; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5406; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],mem[6,7]5407; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload5408; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]5409; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]5410; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]5411; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]5412; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]5413; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]5414; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]5415; AVX2-NEXT: vmovaps %ymm0, 1504(%rax)5416; AVX2-NEXT: vmovaps %ymm2, 1472(%rax)5417; AVX2-NEXT: vmovaps %ymm14, 1440(%rax)5418; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5419; AVX2-NEXT: vmovaps %ymm0, 1344(%rax)5420; AVX2-NEXT: vmovaps %ymm1, 1312(%rax)5421; AVX2-NEXT: vmovaps %ymm3, 1280(%rax)5422; AVX2-NEXT: vmovaps %ymm4, 1248(%rax)5423; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5424; AVX2-NEXT: vmovaps %ymm0, 1152(%rax)5425; AVX2-NEXT: vmovaps %ymm5, 1120(%rax)5426; AVX2-NEXT: vmovaps %ymm7, 1088(%rax)5427; AVX2-NEXT: vmovaps %ymm8, 1056(%rax)5428; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5429; AVX2-NEXT: vmovaps %ymm0, 960(%rax)5430; AVX2-NEXT: vmovaps %ymm6, 928(%rax)5431; AVX2-NEXT: vmovaps %ymm10, 896(%rax)5432; AVX2-NEXT: vmovaps %ymm11, 864(%rax)5433; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5434; AVX2-NEXT: vmovaps %ymm0, 768(%rax)5435; AVX2-NEXT: vmovaps %ymm9, 736(%rax)5436; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5437; AVX2-NEXT: vmovaps %ymm0, 704(%rax)5438; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5439; AVX2-NEXT: vmovaps %ymm0, 672(%rax)5440; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5441; AVX2-NEXT: vmovaps %ymm0, 576(%rax)5442; AVX2-NEXT: vmovaps %ymm13, 544(%rax)5443; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5444; AVX2-NEXT: vmovaps %ymm0, 512(%rax)5445; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5446; AVX2-NEXT: vmovaps %ymm0, 480(%rax)5447; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5448; AVX2-NEXT: vmovaps %ymm0, 384(%rax)5449; AVX2-NEXT: vmovaps %ymm15, 352(%rax)5450; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5451; AVX2-NEXT: vmovaps %ymm0, 320(%rax)5452; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5453; AVX2-NEXT: vmovaps %ymm0, 288(%rax)5454; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5455; AVX2-NEXT: vmovaps %ymm0, 192(%rax)5456; AVX2-NEXT: vmovaps %ymm12, 160(%rax)5457; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5458; AVX2-NEXT: vmovaps %ymm0, 128(%rax)5459; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5460; AVX2-NEXT: vmovaps %ymm0, 96(%rax)5461; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5462; AVX2-NEXT: vmovaps %ymm0, (%rax)5463; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5464; AVX2-NEXT: vmovaps %ymm0, 1408(%rax)5465; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5466; AVX2-NEXT: vmovaps %ymm0, 1376(%rax)5467; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5468; AVX2-NEXT: vmovaps %ymm0, 1216(%rax)5469; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5470; AVX2-NEXT: vmovaps %ymm0, 1184(%rax)5471; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5472; AVX2-NEXT: vmovaps %ymm0, 1024(%rax)5473; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5474; AVX2-NEXT: vmovaps %ymm0, 992(%rax)5475; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5476; AVX2-NEXT: vmovaps %ymm0, 832(%rax)5477; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5478; AVX2-NEXT: vmovaps %ymm0, 800(%rax)5479; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5480; AVX2-NEXT: vmovaps %ymm0, 640(%rax)5481; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5482; AVX2-NEXT: vmovaps %ymm0, 608(%rax)5483; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5484; AVX2-NEXT: vmovaps %ymm0, 448(%rax)5485; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5486; AVX2-NEXT: vmovaps %ymm0, 416(%rax)5487; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5488; AVX2-NEXT: vmovaps %ymm0, 256(%rax)5489; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5490; AVX2-NEXT: vmovaps %ymm0, 224(%rax)5491; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5492; AVX2-NEXT: vmovaps %ymm0, 64(%rax)5493; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5494; AVX2-NEXT: vmovaps %ymm0, 32(%rax)5495; AVX2-NEXT: addq $1208, %rsp # imm = 0x4B85496; AVX2-NEXT: vzeroupper5497; AVX2-NEXT: retq5498;5499; AVX2-FP-LABEL: store_i64_stride6_vf32:5500; AVX2-FP: # %bb.0:5501; AVX2-FP-NEXT: subq $1208, %rsp # imm = 0x4B85502; AVX2-FP-NEXT: vmovaps (%r8), %ymm55503; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5504; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm45505; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5506; AVX2-FP-NEXT: vmovaps (%r9), %xmm15507; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm05508; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5509; AVX2-FP-NEXT: vmovaps (%rsi), %xmm85510; AVX2-FP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5511; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm65512; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5513; AVX2-FP-NEXT: vmovaps (%rdi), %xmm35514; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5515; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm75516; AVX2-FP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5517; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm8[1]5518; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]5519; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]5520; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5521; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15522; AVX2-FP-NEXT: vmovaps (%rcx), %xmm35523; AVX2-FP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5524; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm55525; AVX2-FP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5526; AVX2-FP-NEXT: vmovaps (%rdx), %xmm25527; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5528; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm85529; AVX2-FP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5530; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]5531; AVX2-FP-NEXT: vbroadcastsd 8(%r8), %ymm35532; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]5533; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5534; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5535; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]5536; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]5537; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]5538; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]5539; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5540; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm5[1]5541; AVX2-FP-NEXT: vbroadcastsd 40(%r8), %ymm25542; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]5543; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm25544; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5545; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05546; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5547; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5548; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm15549; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5550; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm05551; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5552; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]5553; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]5554; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm15555; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5556; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5557; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5558; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm25559; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5560; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm05561; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5562; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5563; AVX2-FP-NEXT: vbroadcastsd 72(%r8), %ymm25564; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5565; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15566; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5567; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5568; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm15569; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5570; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm25571; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5572; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm05573; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5574; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5575; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5576; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm15577; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5578; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5579; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5580; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm25581; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5582; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm05583; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5584; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5585; AVX2-FP-NEXT: vbroadcastsd 104(%r8), %ymm25586; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5587; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15588; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5589; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5590; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm15591; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5592; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm25593; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5594; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm05595; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5596; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5597; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5598; AVX2-FP-NEXT: vmovaps 128(%r9), %xmm15599; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5600; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5601; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5602; AVX2-FP-NEXT: vmovaps 128(%rcx), %xmm145603; AVX2-FP-NEXT: vmovaps 128(%rdx), %xmm05604; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5605; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm14[1]5606; AVX2-FP-NEXT: vbroadcastsd 136(%r8), %ymm25607; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5608; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15609; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5610; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5611; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm15612; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5613; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm125614; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm135615; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]5616; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5617; AVX2-FP-NEXT: vmovaps 160(%r9), %xmm15618; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5619; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5620; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5621; AVX2-FP-NEXT: vmovaps 160(%rcx), %xmm105622; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm115623; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]5624; AVX2-FP-NEXT: vbroadcastsd 168(%r8), %ymm25625; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5626; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15627; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5628; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5629; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm15630; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5631; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm85632; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm95633; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]5634; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]5635; AVX2-FP-NEXT: vmovaps 192(%r9), %xmm15636; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5637; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5638; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5639; AVX2-FP-NEXT: vmovaps 192(%rcx), %xmm65640; AVX2-FP-NEXT: vmovaps 192(%rdx), %xmm75641; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]5642; AVX2-FP-NEXT: vbroadcastsd 200(%r8), %ymm25643; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5644; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15645; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5646; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5647; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm15648; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5649; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm45650; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm55651; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]5652; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]5653; AVX2-FP-NEXT: vmovaps 224(%r9), %xmm05654; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]5655; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]5656; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5657; AVX2-FP-NEXT: vmovaps 224(%rcx), %xmm25658; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm35659; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]5660; AVX2-FP-NEXT: vbroadcastsd 232(%r8), %ymm155661; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]5662; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05663; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5664; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5665; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5666; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5667; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5668; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5669; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5670; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5671; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5672; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5673; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5674; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5675; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5676; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5677; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5678; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5679; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5680; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5681; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5682; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5683; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5684; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload5685; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5686; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5687; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5688; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5689; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5690; AVX2-FP-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm05691; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5692; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload5693; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5694; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5695; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm05696; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm15697; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5698; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5699; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm05700; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm15701; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5702; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5703; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm05704; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm15705; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5706; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5707; AVX2-FP-NEXT: vmovaps (%rdi), %ymm05708; AVX2-FP-NEXT: vmovaps (%rsi), %ymm15709; AVX2-FP-NEXT: vmovaps (%rdx), %ymm25710; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5711; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5712; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm45713; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5714; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5715; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5716; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5717; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5718; AVX2-FP-NEXT: vbroadcastsd 16(%r9), %ymm15719; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5720; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5721; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5722; AVX2-FP-NEXT: vbroadcastsd 24(%r8), %ymm15723; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]5724; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5725; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm05726; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm15727; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm25728; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5729; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5730; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm45731; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5732; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5733; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5734; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5735; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5736; AVX2-FP-NEXT: vbroadcastsd 48(%r9), %ymm15737; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5738; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5739; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5740; AVX2-FP-NEXT: vbroadcastsd 56(%r8), %ymm15741; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]5742; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5743; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm05744; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm15745; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm25746; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5747; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5748; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm45749; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5750; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5751; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5752; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5753; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5754; AVX2-FP-NEXT: vbroadcastsd 80(%r9), %ymm15755; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5756; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5757; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5758; AVX2-FP-NEXT: vbroadcastsd 88(%r8), %ymm15759; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]5760; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm05761; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm15762; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm25763; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5764; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5765; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm45766; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]5767; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5768; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5769; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5770; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5771; AVX2-FP-NEXT: vbroadcastsd 112(%r9), %ymm15772; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5773; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5774; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5775; AVX2-FP-NEXT: vbroadcastsd 120(%r8), %ymm15776; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]5777; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm05778; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm15779; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm25780; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5781; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]5782; AVX2-FP-NEXT: vbroadcastsd 144(%rcx), %ymm45783; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm3[0,1,2,3,4,5],ymm4[6,7]5784; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5785; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5786; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5787; AVX2-FP-NEXT: vbroadcastsd 144(%r9), %ymm15788; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5789; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5790; AVX2-FP-NEXT: vbroadcastsd 152(%r8), %ymm15791; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm1[2,3]5792; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm05793; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm15794; AVX2-FP-NEXT: vmovaps 160(%rdx), %ymm25795; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5796; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]5797; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm55798; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5],ymm5[6,7]5799; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]5800; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5801; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5802; AVX2-FP-NEXT: vbroadcastsd 176(%r9), %ymm15803; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5804; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]5805; AVX2-FP-NEXT: vbroadcastsd 184(%r8), %ymm15806; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]5807; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm15808; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm05809; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm25810; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5811; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]5812; AVX2-FP-NEXT: vbroadcastsd 208(%rcx), %ymm125813; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm12[6,7]5814; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]5815; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5816; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]5817; AVX2-FP-NEXT: vbroadcastsd 208(%r9), %ymm15818; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]5819; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],mem[1],ymm2[3],mem[3]5820; AVX2-FP-NEXT: vbroadcastsd 216(%r8), %ymm25821; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]5822; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm25823; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm125824; AVX2-FP-NEXT: vmovaps 224(%rdx), %ymm05825; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm2[0],ymm12[0],ymm2[2],ymm12[2]5826; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm0[2,3]5827; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm155828; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]5829; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm12[1],ymm2[3],ymm12[3]5830; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload5831; AVX2-FP-NEXT: # ymm2 = mem[2,3],ymm2[2,3]5832; AVX2-FP-NEXT: vbroadcastsd 240(%r9), %ymm125833; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm12[2,3],ymm2[4,5,6,7]5834; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5835; AVX2-FP-NEXT: vbroadcastsd 248(%r8), %ymm125836; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm12[2,3]5837; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax5838; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5839; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],mem[6,7]5840; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload5841; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]5842; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]5843; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]5844; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]5845; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]5846; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]5847; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]5848; AVX2-FP-NEXT: vmovaps %ymm0, 1504(%rax)5849; AVX2-FP-NEXT: vmovaps %ymm2, 1472(%rax)5850; AVX2-FP-NEXT: vmovaps %ymm14, 1440(%rax)5851; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5852; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%rax)5853; AVX2-FP-NEXT: vmovaps %ymm1, 1312(%rax)5854; AVX2-FP-NEXT: vmovaps %ymm3, 1280(%rax)5855; AVX2-FP-NEXT: vmovaps %ymm4, 1248(%rax)5856; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5857; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%rax)5858; AVX2-FP-NEXT: vmovaps %ymm5, 1120(%rax)5859; AVX2-FP-NEXT: vmovaps %ymm7, 1088(%rax)5860; AVX2-FP-NEXT: vmovaps %ymm8, 1056(%rax)5861; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5862; AVX2-FP-NEXT: vmovaps %ymm0, 960(%rax)5863; AVX2-FP-NEXT: vmovaps %ymm6, 928(%rax)5864; AVX2-FP-NEXT: vmovaps %ymm10, 896(%rax)5865; AVX2-FP-NEXT: vmovaps %ymm11, 864(%rax)5866; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5867; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rax)5868; AVX2-FP-NEXT: vmovaps %ymm9, 736(%rax)5869; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5870; AVX2-FP-NEXT: vmovaps %ymm0, 704(%rax)5871; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5872; AVX2-FP-NEXT: vmovaps %ymm0, 672(%rax)5873; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5874; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rax)5875; AVX2-FP-NEXT: vmovaps %ymm13, 544(%rax)5876; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5877; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rax)5878; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5879; AVX2-FP-NEXT: vmovaps %ymm0, 480(%rax)5880; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5881; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rax)5882; AVX2-FP-NEXT: vmovaps %ymm15, 352(%rax)5883; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5884; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rax)5885; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5886; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rax)5887; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5888; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rax)5889; AVX2-FP-NEXT: vmovaps %ymm12, 160(%rax)5890; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5891; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rax)5892; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5893; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rax)5894; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5895; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)5896; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5897; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%rax)5898; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5899; AVX2-FP-NEXT: vmovaps %ymm0, 1376(%rax)5900; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5901; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%rax)5902; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5903; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%rax)5904; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5905; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%rax)5906; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5907; AVX2-FP-NEXT: vmovaps %ymm0, 992(%rax)5908; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5909; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rax)5910; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5911; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rax)5912; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5913; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rax)5914; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5915; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rax)5916; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5917; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rax)5918; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5919; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rax)5920; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5921; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rax)5922; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5923; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rax)5924; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5925; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)5926; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5927; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)5928; AVX2-FP-NEXT: addq $1208, %rsp # imm = 0x4B85929; AVX2-FP-NEXT: vzeroupper5930; AVX2-FP-NEXT: retq5931;5932; AVX2-FCP-LABEL: store_i64_stride6_vf32:5933; AVX2-FCP: # %bb.0:5934; AVX2-FCP-NEXT: subq $1208, %rsp # imm = 0x4B85935; AVX2-FCP-NEXT: vmovaps (%r8), %ymm55936; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5937; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm45938; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5939; AVX2-FCP-NEXT: vmovaps (%r9), %xmm15940; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm05941; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5942; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm85943; AVX2-FCP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5944; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm65945; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5946; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm35947; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5948; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm75949; AVX2-FCP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5950; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm8[1]5951; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm5[0,1],ymm3[0,1]5952; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]5953; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5954; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15955; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm35956; AVX2-FCP-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5957; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm55958; AVX2-FCP-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5959; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm25960; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5961; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm85962; AVX2-FCP-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5963; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]5964; AVX2-FCP-NEXT: vbroadcastsd 8(%r8), %ymm35965; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]5966; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5967; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5968; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]5969; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm7[1],xmm6[1]5970; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]5971; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]5972; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5973; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm5[1]5974; AVX2-FCP-NEXT: vbroadcastsd 40(%r8), %ymm25975; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]5976; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm25977; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5978; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05979; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5980; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5981; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm15982; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5983; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm05984; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5985; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]5986; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]5987; AVX2-FCP-NEXT: vmovaps 64(%r9), %xmm15988; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]5989; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]5990; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5991; AVX2-FCP-NEXT: vmovaps 64(%rcx), %xmm25992; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5993; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm05994; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5995; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5996; AVX2-FCP-NEXT: vbroadcastsd 72(%r8), %ymm25997; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]5998; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15999; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6000; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6001; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm16002; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6003; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm26004; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6005; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm06006; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6007; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6008; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]6009; AVX2-FCP-NEXT: vmovaps 96(%r9), %xmm16010; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]6011; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]6012; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6013; AVX2-FCP-NEXT: vmovaps 96(%rcx), %xmm26014; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6015; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm06016; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6017; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6018; AVX2-FCP-NEXT: vbroadcastsd 104(%r8), %ymm26019; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6020; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16021; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6022; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6023; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm16024; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6025; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm26026; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6027; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm06028; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6029; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6030; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]6031; AVX2-FCP-NEXT: vmovaps 128(%r9), %xmm16032; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]6033; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]6034; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6035; AVX2-FCP-NEXT: vmovaps 128(%rcx), %xmm146036; AVX2-FCP-NEXT: vmovaps 128(%rdx), %xmm06037; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6038; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm14[1]6039; AVX2-FCP-NEXT: vbroadcastsd 136(%r8), %ymm26040; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6041; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16042; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6043; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6044; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm16045; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6046; AVX2-FCP-NEXT: vmovaps 160(%rsi), %xmm126047; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm136048; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]6049; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]6050; AVX2-FCP-NEXT: vmovaps 160(%r9), %xmm16051; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]6052; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]6053; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6054; AVX2-FCP-NEXT: vmovaps 160(%rcx), %xmm106055; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm116056; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]6057; AVX2-FCP-NEXT: vbroadcastsd 168(%r8), %ymm26058; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6059; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16060; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6061; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6062; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm16063; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6064; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm86065; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm96066; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]6067; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]6068; AVX2-FCP-NEXT: vmovaps 192(%r9), %xmm16069; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]6070; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]6071; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6072; AVX2-FCP-NEXT: vmovaps 192(%rcx), %xmm66073; AVX2-FCP-NEXT: vmovaps 192(%rdx), %xmm76074; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]6075; AVX2-FCP-NEXT: vbroadcastsd 200(%r8), %ymm26076; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6077; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16078; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6079; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6080; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm16081; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6082; AVX2-FCP-NEXT: vmovaps 224(%rsi), %xmm46083; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm56084; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]6085; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]6086; AVX2-FCP-NEXT: vmovaps 224(%r9), %xmm06087; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]6088; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]6089; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6090; AVX2-FCP-NEXT: vmovaps 224(%rcx), %xmm26091; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm36092; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]6093; AVX2-FCP-NEXT: vbroadcastsd 232(%r8), %ymm156094; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]6095; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm06096; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6097; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6098; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6099; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload6100; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6101; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload6102; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6103; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6104; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6105; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload6106; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6107; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload6108; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6109; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6110; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6111; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload6112; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6113; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload6114; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6115; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6116; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6117; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload6118; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6119; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload6120; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6121; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6122; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6123; AVX2-FCP-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm06124; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6125; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload6126; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6127; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6128; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm06129; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm16130; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6131; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6132; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm06133; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm16134; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6135; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6136; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm06137; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm16138; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6139; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6140; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm06141; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm16142; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm26143; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6144; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]6145; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm46146; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]6147; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6148; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6149; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6150; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6151; AVX2-FCP-NEXT: vbroadcastsd 16(%r9), %ymm16152; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6153; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6154; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6155; AVX2-FCP-NEXT: vbroadcastsd 24(%r8), %ymm16156; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]6157; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6158; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm06159; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm16160; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm26161; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6162; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]6163; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm46164; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]6165; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6166; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6167; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6168; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6169; AVX2-FCP-NEXT: vbroadcastsd 48(%r9), %ymm16170; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6171; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6172; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6173; AVX2-FCP-NEXT: vbroadcastsd 56(%r8), %ymm16174; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]6175; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6176; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm06177; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm16178; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm26179; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6180; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]6181; AVX2-FCP-NEXT: vbroadcastsd 80(%rcx), %ymm46182; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]6183; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6184; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6185; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6186; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6187; AVX2-FCP-NEXT: vbroadcastsd 80(%r9), %ymm16188; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6189; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6190; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6191; AVX2-FCP-NEXT: vbroadcastsd 88(%r8), %ymm16192; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]6193; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm06194; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm16195; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm26196; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6197; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]6198; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm46199; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]6200; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6201; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6202; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6203; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6204; AVX2-FCP-NEXT: vbroadcastsd 112(%r9), %ymm16205; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6206; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6207; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6208; AVX2-FCP-NEXT: vbroadcastsd 120(%r8), %ymm16209; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm0[2,3],ymm1[2,3]6210; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm06211; AVX2-FCP-NEXT: vmovaps 128(%rsi), %ymm16212; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm26213; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6214; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]6215; AVX2-FCP-NEXT: vbroadcastsd 144(%rcx), %ymm46216; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm3[0,1,2,3,4,5],ymm4[6,7]6217; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6218; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6219; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6220; AVX2-FCP-NEXT: vbroadcastsd 144(%r9), %ymm16221; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6222; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6223; AVX2-FCP-NEXT: vbroadcastsd 152(%r8), %ymm16224; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm1[2,3]6225; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm06226; AVX2-FCP-NEXT: vmovaps 160(%rsi), %ymm16227; AVX2-FCP-NEXT: vmovaps 160(%rdx), %ymm26228; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6229; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]6230; AVX2-FCP-NEXT: vbroadcastsd 176(%rcx), %ymm56231; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5],ymm5[6,7]6232; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6233; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6234; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6235; AVX2-FCP-NEXT: vbroadcastsd 176(%r9), %ymm16236; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6237; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]6238; AVX2-FCP-NEXT: vbroadcastsd 184(%r8), %ymm16239; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm0[2,3],ymm1[2,3]6240; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm16241; AVX2-FCP-NEXT: vmovaps 192(%rsi), %ymm06242; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm26243; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6244; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]6245; AVX2-FCP-NEXT: vbroadcastsd 208(%rcx), %ymm126246; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm12[6,7]6247; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6248; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6249; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]6250; AVX2-FCP-NEXT: vbroadcastsd 208(%r9), %ymm16251; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]6252; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],mem[1],ymm2[3],mem[3]6253; AVX2-FCP-NEXT: vbroadcastsd 216(%r8), %ymm26254; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6255; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm26256; AVX2-FCP-NEXT: vmovaps 224(%rsi), %ymm126257; AVX2-FCP-NEXT: vmovaps 224(%rdx), %ymm06258; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm2[0],ymm12[0],ymm2[2],ymm12[2]6259; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm14[2,3],ymm0[2,3]6260; AVX2-FCP-NEXT: vbroadcastsd 240(%rcx), %ymm156261; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]6262; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm12[1],ymm2[3],ymm12[3]6263; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload6264; AVX2-FCP-NEXT: # ymm2 = mem[2,3],ymm2[2,3]6265; AVX2-FCP-NEXT: vbroadcastsd 240(%r9), %ymm126266; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm12[2,3],ymm2[4,5,6,7]6267; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6268; AVX2-FCP-NEXT: vbroadcastsd 248(%r8), %ymm126269; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm12[2,3]6270; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax6271; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload6272; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],mem[6,7]6273; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload6274; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]6275; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],mem[6,7]6276; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],mem[6,7]6277; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]6278; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],mem[6,7]6279; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]6280; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]6281; AVX2-FCP-NEXT: vmovaps %ymm0, 1504(%rax)6282; AVX2-FCP-NEXT: vmovaps %ymm2, 1472(%rax)6283; AVX2-FCP-NEXT: vmovaps %ymm14, 1440(%rax)6284; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6285; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%rax)6286; AVX2-FCP-NEXT: vmovaps %ymm1, 1312(%rax)6287; AVX2-FCP-NEXT: vmovaps %ymm3, 1280(%rax)6288; AVX2-FCP-NEXT: vmovaps %ymm4, 1248(%rax)6289; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6290; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%rax)6291; AVX2-FCP-NEXT: vmovaps %ymm5, 1120(%rax)6292; AVX2-FCP-NEXT: vmovaps %ymm7, 1088(%rax)6293; AVX2-FCP-NEXT: vmovaps %ymm8, 1056(%rax)6294; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6295; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%rax)6296; AVX2-FCP-NEXT: vmovaps %ymm6, 928(%rax)6297; AVX2-FCP-NEXT: vmovaps %ymm10, 896(%rax)6298; AVX2-FCP-NEXT: vmovaps %ymm11, 864(%rax)6299; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6300; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rax)6301; AVX2-FCP-NEXT: vmovaps %ymm9, 736(%rax)6302; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6303; AVX2-FCP-NEXT: vmovaps %ymm0, 704(%rax)6304; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6305; AVX2-FCP-NEXT: vmovaps %ymm0, 672(%rax)6306; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6307; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rax)6308; AVX2-FCP-NEXT: vmovaps %ymm13, 544(%rax)6309; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6310; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rax)6311; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6312; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%rax)6313; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6314; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rax)6315; AVX2-FCP-NEXT: vmovaps %ymm15, 352(%rax)6316; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6317; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rax)6318; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6319; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rax)6320; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6321; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rax)6322; AVX2-FCP-NEXT: vmovaps %ymm12, 160(%rax)6323; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6324; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rax)6325; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6326; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rax)6327; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6328; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)6329; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6330; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%rax)6331; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6332; AVX2-FCP-NEXT: vmovaps %ymm0, 1376(%rax)6333; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6334; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%rax)6335; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6336; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%rax)6337; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6338; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%rax)6339; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6340; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%rax)6341; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6342; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rax)6343; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6344; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rax)6345; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6346; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rax)6347; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6348; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rax)6349; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6350; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rax)6351; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6352; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rax)6353; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6354; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rax)6355; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6356; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rax)6357; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6358; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)6359; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6360; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)6361; AVX2-FCP-NEXT: addq $1208, %rsp # imm = 0x4B86362; AVX2-FCP-NEXT: vzeroupper6363; AVX2-FCP-NEXT: retq6364;6365; AVX512-LABEL: store_i64_stride6_vf32:6366; AVX512: # %bb.0:6367; AVX512-NEXT: subq $648, %rsp # imm = 0x2886368; AVX512-NEXT: vmovdqa64 (%rdi), %zmm116369; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm56370; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm16371; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm196372; AVX512-NEXT: vmovdqa64 (%rsi), %zmm296373; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm256374; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm236375; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm206376; AVX512-NEXT: vmovdqa64 (%rdx), %zmm246377; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm46378; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm76379; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm216380; AVX512-NEXT: vmovdqa64 (%rcx), %zmm186381; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm136382; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm126383; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]6384; AVX512-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]6385; AVX512-NEXT: vmovdqa64 %zmm19, %zmm06386; AVX512-NEXT: vpermt2q %zmm20, %zmm27, %zmm06387; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6388; AVX512-NEXT: vmovdqa64 %zmm1, %zmm06389; AVX512-NEXT: vpermt2q %zmm23, %zmm27, %zmm06390; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6391; AVX512-NEXT: vmovdqa64 %zmm5, %zmm06392; AVX512-NEXT: vpermt2q %zmm25, %zmm27, %zmm06393; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6394; AVX512-NEXT: vpermi2q %zmm29, %zmm11, %zmm276395; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]6396; AVX512-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6397; AVX512-NEXT: vmovdqa64 %zmm11, %zmm06398; AVX512-NEXT: vpermt2q %zmm29, %zmm14, %zmm06399; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6400; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]6401; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6402; AVX512-NEXT: vmovdqa64 %zmm11, %zmm06403; AVX512-NEXT: vpermt2q %zmm29, %zmm15, %zmm06404; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6405; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]6406; AVX512-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6407; AVX512-NEXT: vmovdqa64 %zmm24, %zmm06408; AVX512-NEXT: vpermt2q %zmm18, %zmm16, %zmm06409; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6410; AVX512-NEXT: vmovdqa64 %zmm11, %zmm06411; AVX512-NEXT: vpermt2q %zmm29, %zmm16, %zmm06412; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6413; AVX512-NEXT: vmovdqa64 %zmm5, %zmm06414; AVX512-NEXT: vpermt2q %zmm25, %zmm14, %zmm06415; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6416; AVX512-NEXT: vmovdqa64 %zmm5, %zmm06417; AVX512-NEXT: vpermt2q %zmm25, %zmm15, %zmm06418; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6419; AVX512-NEXT: vmovdqa64 %zmm4, %zmm266420; AVX512-NEXT: vpermt2q %zmm13, %zmm16, %zmm266421; AVX512-NEXT: vmovdqa64 %zmm5, %zmm226422; AVX512-NEXT: vpermt2q %zmm25, %zmm16, %zmm226423; AVX512-NEXT: vmovdqa64 %zmm1, %zmm06424; AVX512-NEXT: vmovdqa64 %zmm1, %zmm306425; AVX512-NEXT: vpermt2q %zmm23, %zmm14, %zmm306426; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]6427; AVX512-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]6428; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm116429; AVX512-NEXT: vmovdqa64 %zmm0, %zmm86430; AVX512-NEXT: vpermt2q %zmm23, %zmm15, %zmm86431; AVX512-NEXT: vpermt2q %zmm25, %zmm1, %zmm56432; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6433; AVX512-NEXT: vmovdqa64 %zmm0, %zmm286434; AVX512-NEXT: vpermt2q %zmm23, %zmm16, %zmm286435; AVX512-NEXT: vpermt2q %zmm23, %zmm1, %zmm06436; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6437; AVX512-NEXT: vmovdqa64 %zmm7, %zmm176438; AVX512-NEXT: vpermt2q %zmm12, %zmm16, %zmm176439; AVX512-NEXT: vpermi2q %zmm20, %zmm19, %zmm146440; AVX512-NEXT: vpermi2q %zmm20, %zmm19, %zmm156441; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm26442; AVX512-NEXT: vmovdqa64 %zmm21, %zmm106443; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm106444; AVX512-NEXT: vpermi2q %zmm20, %zmm19, %zmm166445; AVX512-NEXT: vpermt2q %zmm20, %zmm1, %zmm196446; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]6447; AVX512-NEXT: vmovdqa64 %zmm21, %zmm66448; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm66449; AVX512-NEXT: vmovdqa64 %zmm7, %zmm56450; AVX512-NEXT: vpermt2q %zmm12, %zmm1, %zmm56451; AVX512-NEXT: vmovdqa64 %zmm4, %zmm36452; AVX512-NEXT: vpermt2q %zmm13, %zmm1, %zmm36453; AVX512-NEXT: vpermi2q %zmm18, %zmm24, %zmm16454; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]6455; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]6456; AVX512-NEXT: vmovdqa64 %zmm24, %zmm206457; AVX512-NEXT: vpermt2q %zmm18, %zmm25, %zmm206458; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]6459; AVX512-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]6460; AVX512-NEXT: vmovdqa64 %zmm24, %zmm236461; AVX512-NEXT: vmovdqa64 %zmm24, %zmm96462; AVX512-NEXT: vpermt2q %zmm18, %zmm29, %zmm236463; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]6464; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6465; AVX512-NEXT: vpermt2q %zmm18, %zmm0, %zmm96466; AVX512-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill6467; AVX512-NEXT: vmovdqa64 %zmm4, %zmm186468; AVX512-NEXT: vpermt2q %zmm13, %zmm25, %zmm186469; AVX512-NEXT: vmovdqa64 %zmm4, %zmm316470; AVX512-NEXT: vmovdqa64 %zmm4, %zmm246471; AVX512-NEXT: vpermt2q %zmm13, %zmm29, %zmm316472; AVX512-NEXT: vpermt2q %zmm13, %zmm0, %zmm246473; AVX512-NEXT: vmovdqa64 %zmm7, %zmm136474; AVX512-NEXT: vpermt2q %zmm12, %zmm25, %zmm136475; AVX512-NEXT: vmovdqa64 %zmm7, %zmm46476; AVX512-NEXT: vpermt2q %zmm12, %zmm29, %zmm46477; AVX512-NEXT: vpermt2q %zmm12, %zmm0, %zmm76478; AVX512-NEXT: vpermi2q %zmm2, %zmm21, %zmm256479; AVX512-NEXT: vpermi2q %zmm2, %zmm21, %zmm296480; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm216481; AVX512-NEXT: movb $12, %al6482; AVX512-NEXT: kmovw %eax, %k16483; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6484; AVX512-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}6485; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6486; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6487; AVX512-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}6488; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6489; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload6490; AVX512-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}6491; AVX512-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}6492; AVX512-NEXT: movb $48, %al6493; AVX512-NEXT: kmovw %eax, %k26494; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6495; AVX512-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}6496; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6497; AVX512-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}6498; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6499; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload6500; AVX512-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]6501; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6502; AVX512-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}6503; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6504; AVX512-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}6505; AVX512-NEXT: vmovdqa64 (%r8), %zmm06506; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]6507; AVX512-NEXT: vmovdqa64 64(%r8), %zmm16508; AVX512-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}6509; AVX512-NEXT: vmovdqa64 128(%r8), %zmm26510; AVX512-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}6511; AVX512-NEXT: vmovdqa64 192(%r8), %zmm266512; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]6513; AVX512-NEXT: vmovdqa64 (%r9), %zmm86514; AVX512-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}6515; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]6516; AVX512-NEXT: vpermt2q %zmm0, %zmm5, %zmm206517; AVX512-NEXT: vpermt2q %zmm1, %zmm5, %zmm186518; AVX512-NEXT: vpermt2q %zmm2, %zmm5, %zmm136519; AVX512-NEXT: vpermt2q %zmm26, %zmm5, %zmm256520; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]6521; AVX512-NEXT: vpermt2q %zmm8, %zmm5, %zmm206522; AVX512-NEXT: vmovdqa64 64(%r9), %zmm176523; AVX512-NEXT: vpermt2q %zmm17, %zmm5, %zmm186524; AVX512-NEXT: vmovdqa64 128(%r9), %zmm306525; AVX512-NEXT: vpermt2q %zmm30, %zmm5, %zmm136526; AVX512-NEXT: vmovdqa64 192(%r9), %zmm146527; AVX512-NEXT: vpermt2q %zmm14, %zmm5, %zmm256528; AVX512-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}6529; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]6530; AVX512-NEXT: vpermt2q %zmm0, %zmm5, %zmm236531; AVX512-NEXT: vpermt2q %zmm1, %zmm5, %zmm316532; AVX512-NEXT: vpermt2q %zmm2, %zmm5, %zmm46533; AVX512-NEXT: vpermt2q %zmm26, %zmm5, %zmm296534; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]6535; AVX512-NEXT: vpermt2q %zmm8, %zmm5, %zmm236536; AVX512-NEXT: vpermt2q %zmm17, %zmm5, %zmm316537; AVX512-NEXT: vpermt2q %zmm30, %zmm5, %zmm46538; AVX512-NEXT: vpermt2q %zmm14, %zmm5, %zmm296539; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]6540; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]6541; AVX512-NEXT: vpermt2q %zmm0, %zmm5, %zmm126542; AVX512-NEXT: vpermt2q %zmm1, %zmm5, %zmm226543; AVX512-NEXT: vpermt2q %zmm2, %zmm5, %zmm36544; AVX512-NEXT: vpermt2q %zmm26, %zmm5, %zmm156545; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]6546; AVX512-NEXT: vpermt2q %zmm8, %zmm5, %zmm126547; AVX512-NEXT: vpermt2q %zmm17, %zmm5, %zmm226548; AVX512-NEXT: vpermt2q %zmm30, %zmm5, %zmm36549; AVX512-NEXT: vpermt2q %zmm14, %zmm5, %zmm156550; AVX512-NEXT: vmovdqa (%rdx), %xmm56551; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6552; AVX512-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56553; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}6554; AVX512-NEXT: vmovdqa 64(%rdx), %xmm56555; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6556; AVX512-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56557; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload6558; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}6559; AVX512-NEXT: vmovdqa 128(%rdx), %xmm56560; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6561; AVX512-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56562; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload6563; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}6564; AVX512-NEXT: vmovdqa 192(%rdx), %xmm56565; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6566; AVX512-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56567; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}6568; AVX512-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm56569; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]6570; AVX512-NEXT: vpermt2q %zmm8, %zmm6, %zmm56571; AVX512-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm106572; AVX512-NEXT: vpermt2q %zmm17, %zmm6, %zmm106573; AVX512-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm116574; AVX512-NEXT: vpermt2q %zmm30, %zmm6, %zmm116575; AVX512-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm166576; AVX512-NEXT: vpermt2q %zmm14, %zmm6, %zmm166577; AVX512-NEXT: vmovdqa (%rdi), %ymm66578; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]6579; AVX512-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload6580; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm66581; AVX512-NEXT: movb $16, %al6582; AVX512-NEXT: kmovw %eax, %k16583; AVX512-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}6584; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]6585; AVX512-NEXT: vpermt2q %zmm0, %zmm19, %zmm66586; AVX512-NEXT: vmovdqa 64(%rdi), %ymm06587; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6588; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm06589; AVX512-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}6590; AVX512-NEXT: vpermt2q %zmm1, %zmm19, %zmm06591; AVX512-NEXT: vmovdqa 128(%rdi), %ymm16592; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]6593; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm16594; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload6595; AVX512-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}6596; AVX512-NEXT: vpermt2q %zmm2, %zmm19, %zmm16597; AVX512-NEXT: vmovdqa 192(%rdi), %ymm26598; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]6599; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm26600; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload6601; AVX512-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}6602; AVX512-NEXT: vpermt2q %zmm26, %zmm19, %zmm26603; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]6604; AVX512-NEXT: vpermt2q %zmm8, %zmm19, %zmm66605; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]6606; AVX512-NEXT: vpermt2q %zmm8, %zmm21, %zmm276607; AVX512-NEXT: vpermt2q %zmm17, %zmm19, %zmm06608; AVX512-NEXT: vpermt2q %zmm17, %zmm21, %zmm96609; AVX512-NEXT: vpermt2q %zmm30, %zmm19, %zmm16610; AVX512-NEXT: vpermt2q %zmm30, %zmm21, %zmm286611; AVX512-NEXT: vpermt2q %zmm14, %zmm19, %zmm26612; AVX512-NEXT: vpermt2q %zmm14, %zmm21, %zmm246613; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax6614; AVX512-NEXT: vmovdqa64 %zmm15, 1472(%rax)6615; AVX512-NEXT: vmovdqa64 %zmm29, 1408(%rax)6616; AVX512-NEXT: vmovdqa64 %zmm24, 1344(%rax)6617; AVX512-NEXT: vmovdqa64 %zmm2, 1280(%rax)6618; AVX512-NEXT: vmovdqa64 %zmm25, 1216(%rax)6619; AVX512-NEXT: vmovdqa64 %zmm3, 1088(%rax)6620; AVX512-NEXT: vmovdqa64 %zmm4, 1024(%rax)6621; AVX512-NEXT: vmovdqa64 %zmm28, 960(%rax)6622; AVX512-NEXT: vmovdqa64 %zmm1, 896(%rax)6623; AVX512-NEXT: vmovdqa64 %zmm13, 832(%rax)6624; AVX512-NEXT: vmovdqa64 %zmm22, 704(%rax)6625; AVX512-NEXT: vmovdqa64 %zmm31, 640(%rax)6626; AVX512-NEXT: vmovdqa64 %zmm9, 576(%rax)6627; AVX512-NEXT: vmovdqa64 %zmm0, 512(%rax)6628; AVX512-NEXT: vmovdqa64 %zmm18, 448(%rax)6629; AVX512-NEXT: vmovdqa64 %zmm12, 320(%rax)6630; AVX512-NEXT: vmovdqa64 %zmm23, 256(%rax)6631; AVX512-NEXT: vmovdqa64 %zmm27, 192(%rax)6632; AVX512-NEXT: vmovdqa64 %zmm6, 128(%rax)6633; AVX512-NEXT: vmovdqa64 %zmm20, 64(%rax)6634; AVX512-NEXT: vmovdqa64 %zmm16, 1152(%rax)6635; AVX512-NEXT: vmovdqa64 %zmm11, 768(%rax)6636; AVX512-NEXT: vmovdqa64 %zmm10, 384(%rax)6637; AVX512-NEXT: vmovdqa64 %zmm5, (%rax)6638; AVX512-NEXT: addq $648, %rsp # imm = 0x2886639; AVX512-NEXT: vzeroupper6640; AVX512-NEXT: retq6641;6642; AVX512-FCP-LABEL: store_i64_stride6_vf32:6643; AVX512-FCP: # %bb.0:6644; AVX512-FCP-NEXT: subq $648, %rsp # imm = 0x2886645; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm116646; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm56647; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm16648; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm196649; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm296650; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm256651; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm236652; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm206653; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm246654; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm46655; AVX512-FCP-NEXT: vmovdqa64 128(%rdx), %zmm76656; AVX512-FCP-NEXT: vmovdqa64 192(%rdx), %zmm216657; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm186658; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm136659; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm126660; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]6661; AVX512-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]6662; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm06663; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm06664; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6665; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm06666; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm06667; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6668; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm06669; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm27, %zmm06670; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6671; AVX512-FCP-NEXT: vpermi2q %zmm29, %zmm11, %zmm276672; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]6673; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6674; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm06675; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm06676; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6677; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]6678; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6679; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm06680; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm15, %zmm06681; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6682; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]6683; AVX512-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6684; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm06685; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm16, %zmm06686; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6687; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm06688; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm16, %zmm06689; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6690; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm06691; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm14, %zmm06692; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6693; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm06694; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm06695; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6696; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm266697; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm16, %zmm266698; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm226699; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm16, %zmm226700; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm06701; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm306702; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm14, %zmm306703; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]6704; AVX512-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]6705; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm116706; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm86707; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm15, %zmm86708; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm1, %zmm56709; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6710; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm286711; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm16, %zmm286712; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm1, %zmm06713; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6714; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm176715; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm16, %zmm176716; AVX512-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm146717; AVX512-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm156718; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm26719; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm106720; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm106721; AVX512-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm166722; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm1, %zmm196723; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]6724; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm66725; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm66726; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm56727; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm1, %zmm56728; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm36729; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm1, %zmm36730; AVX512-FCP-NEXT: vpermi2q %zmm18, %zmm24, %zmm16731; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]6732; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]6733; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm206734; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm206735; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]6736; AVX512-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]6737; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm236738; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm96739; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm29, %zmm236740; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]6741; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6742; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm96743; AVX512-FCP-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill6744; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm186745; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm186746; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm316747; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm246748; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm29, %zmm316749; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm246750; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm136751; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm25, %zmm136752; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm46753; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm29, %zmm46754; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm76755; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm256756; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm296757; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm216758; AVX512-FCP-NEXT: movb $12, %al6759; AVX512-FCP-NEXT: kmovw %eax, %k16760; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6761; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}6762; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6763; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6764; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}6765; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6766; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload6767; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}6768; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}6769; AVX512-FCP-NEXT: movb $48, %al6770; AVX512-FCP-NEXT: kmovw %eax, %k26771; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6772; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}6773; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6774; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}6775; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6776; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload6777; AVX512-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]6778; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6779; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}6780; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6781; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}6782; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm06783; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]6784; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm16785; AVX512-FCP-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}6786; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm26787; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}6788; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm266789; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]6790; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm86791; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}6792; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]6793; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm206794; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm186795; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm136796; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm256797; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]6798; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm206799; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm176800; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm186801; AVX512-FCP-NEXT: vmovdqa64 128(%r9), %zmm306802; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm136803; AVX512-FCP-NEXT: vmovdqa64 192(%r9), %zmm146804; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm256805; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}6806; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]6807; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm236808; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm316809; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm46810; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm296811; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]6812; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm236813; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm316814; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm46815; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm296816; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]6817; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]6818; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm126819; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm226820; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm36821; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm156822; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]6823; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm126824; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm226825; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm36826; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm156827; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm56828; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6829; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56830; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}6831; AVX512-FCP-NEXT: vmovdqa 64(%rdx), %xmm56832; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6833; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56834; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload6835; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}6836; AVX512-FCP-NEXT: vmovdqa 128(%rdx), %xmm56837; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6838; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56839; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload6840; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}6841; AVX512-FCP-NEXT: vmovdqa 192(%rdx), %xmm56842; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]6843; AVX512-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm56844; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}6845; AVX512-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm56846; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]6847; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm56848; AVX512-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm106849; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm6, %zmm106850; AVX512-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm116851; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm116852; AVX512-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm166853; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm166854; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm66855; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]6856; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload6857; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm66858; AVX512-FCP-NEXT: movb $16, %al6859; AVX512-FCP-NEXT: kmovw %eax, %k16860; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}6861; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]6862; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm19, %zmm66863; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm06864; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6865; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm06866; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}6867; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm06868; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm16869; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]6870; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm16871; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload6872; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}6873; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm16874; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm26875; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]6876; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm26877; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload6878; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}6879; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm26880; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]6881; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm19, %zmm66882; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]6883; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm276884; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm19, %zmm06885; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm21, %zmm96886; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm16887; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm286888; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm19, %zmm26889; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm246890; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax6891; AVX512-FCP-NEXT: vmovdqa64 %zmm15, 1472(%rax)6892; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 1408(%rax)6893; AVX512-FCP-NEXT: vmovdqa64 %zmm24, 1344(%rax)6894; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 1280(%rax)6895; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 1216(%rax)6896; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 1088(%rax)6897; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 1024(%rax)6898; AVX512-FCP-NEXT: vmovdqa64 %zmm28, 960(%rax)6899; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 896(%rax)6900; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 832(%rax)6901; AVX512-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)6902; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 640(%rax)6903; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)6904; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 512(%rax)6905; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 448(%rax)6906; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 320(%rax)6907; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 256(%rax)6908; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 192(%rax)6909; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)6910; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 64(%rax)6911; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 1152(%rax)6912; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 768(%rax)6913; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)6914; AVX512-FCP-NEXT: vmovdqa64 %zmm5, (%rax)6915; AVX512-FCP-NEXT: addq $648, %rsp # imm = 0x2886916; AVX512-FCP-NEXT: vzeroupper6917; AVX512-FCP-NEXT: retq6918;6919; AVX512DQ-LABEL: store_i64_stride6_vf32:6920; AVX512DQ: # %bb.0:6921; AVX512DQ-NEXT: subq $648, %rsp # imm = 0x2886922; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm116923; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm56924; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm16925; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm196926; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm296927; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm256928; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm236929; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm206930; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm246931; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm46932; AVX512DQ-NEXT: vmovdqa64 128(%rdx), %zmm76933; AVX512DQ-NEXT: vmovdqa64 192(%rdx), %zmm216934; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm186935; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm136936; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm126937; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]6938; AVX512DQ-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]6939; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm06940; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm27, %zmm06941; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6942; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm06943; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm27, %zmm06944; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6945; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm06946; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm27, %zmm06947; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6948; AVX512DQ-NEXT: vpermi2q %zmm29, %zmm11, %zmm276949; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]6950; AVX512DQ-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6951; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm06952; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm14, %zmm06953; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6954; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]6955; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6956; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm06957; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm15, %zmm06958; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6959; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]6960; AVX512DQ-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6961; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm06962; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm16, %zmm06963; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6964; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm06965; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm16, %zmm06966; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6967; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm06968; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm14, %zmm06969; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6970; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm06971; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm15, %zmm06972; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6973; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm266974; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm16, %zmm266975; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm226976; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm16, %zmm226977; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm06978; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm306979; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm14, %zmm306980; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]6981; AVX512DQ-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]6982; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm116983; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm86984; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm15, %zmm86985; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm1, %zmm56986; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6987; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm286988; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm16, %zmm286989; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm1, %zmm06990; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6991; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm176992; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm16, %zmm176993; AVX512DQ-NEXT: vpermi2q %zmm20, %zmm19, %zmm146994; AVX512DQ-NEXT: vpermi2q %zmm20, %zmm19, %zmm156995; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm26996; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm106997; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm106998; AVX512DQ-NEXT: vpermi2q %zmm20, %zmm19, %zmm166999; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm1, %zmm197000; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]7001; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm67002; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm67003; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm57004; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm1, %zmm57005; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm37006; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm1, %zmm37007; AVX512DQ-NEXT: vpermi2q %zmm18, %zmm24, %zmm17008; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]7009; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]7010; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm207011; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm25, %zmm207012; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]7013; AVX512DQ-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]7014; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm237015; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm97016; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm29, %zmm237017; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]7018; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7019; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm0, %zmm97020; AVX512DQ-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill7021; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm187022; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm25, %zmm187023; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm317024; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm247025; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm29, %zmm317026; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm0, %zmm247027; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm137028; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm25, %zmm137029; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm47030; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm29, %zmm47031; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm0, %zmm77032; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm21, %zmm257033; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm21, %zmm297034; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm217035; AVX512DQ-NEXT: movb $12, %al7036; AVX512DQ-NEXT: kmovw %eax, %k17037; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7038; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}7039; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7040; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7041; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}7042; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7043; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload7044; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}7045; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}7046; AVX512DQ-NEXT: movb $48, %al7047; AVX512DQ-NEXT: kmovw %eax, %k27048; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7049; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}7050; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7051; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}7052; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7053; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload7054; AVX512DQ-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]7055; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7056; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}7057; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7058; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}7059; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm07060; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]7061; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm17062; AVX512DQ-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}7063; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm27064; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}7065; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm267066; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]7067; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm87068; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}7069; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]7070; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm5, %zmm207071; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm5, %zmm187072; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm5, %zmm137073; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm5, %zmm257074; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]7075; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm5, %zmm207076; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm177077; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm5, %zmm187078; AVX512DQ-NEXT: vmovdqa64 128(%r9), %zmm307079; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm5, %zmm137080; AVX512DQ-NEXT: vmovdqa64 192(%r9), %zmm147081; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm5, %zmm257082; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}7083; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]7084; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm5, %zmm237085; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm5, %zmm317086; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm5, %zmm47087; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm5, %zmm297088; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]7089; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm5, %zmm237090; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm5, %zmm317091; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm5, %zmm47092; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm5, %zmm297093; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]7094; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]7095; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm5, %zmm127096; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm5, %zmm227097; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm5, %zmm37098; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm5, %zmm157099; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]7100; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm5, %zmm127101; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm5, %zmm227102; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm5, %zmm37103; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm5, %zmm157104; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm57105; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7106; AVX512DQ-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57107; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}7108; AVX512DQ-NEXT: vmovdqa 64(%rdx), %xmm57109; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7110; AVX512DQ-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57111; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload7112; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}7113; AVX512DQ-NEXT: vmovdqa 128(%rdx), %xmm57114; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7115; AVX512DQ-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57116; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload7117; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}7118; AVX512DQ-NEXT: vmovdqa 192(%rdx), %xmm57119; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7120; AVX512DQ-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57121; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}7122; AVX512DQ-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm57123; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]7124; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm6, %zmm57125; AVX512DQ-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm107126; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm6, %zmm107127; AVX512DQ-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm117128; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm6, %zmm117129; AVX512DQ-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm167130; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm6, %zmm167131; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm67132; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]7133; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload7134; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm67135; AVX512DQ-NEXT: movb $16, %al7136; AVX512DQ-NEXT: kmovw %eax, %k17137; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}7138; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]7139; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm19, %zmm67140; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm07141; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7142; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm07143; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}7144; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm19, %zmm07145; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm17146; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]7147; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm17148; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload7149; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}7150; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm19, %zmm17151; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm27152; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]7153; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm27154; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload7155; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}7156; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm19, %zmm27157; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]7158; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm19, %zmm67159; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]7160; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm21, %zmm277161; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm19, %zmm07162; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm21, %zmm97163; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm19, %zmm17164; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm21, %zmm287165; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm19, %zmm27166; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm21, %zmm247167; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax7168; AVX512DQ-NEXT: vmovdqa64 %zmm15, 1472(%rax)7169; AVX512DQ-NEXT: vmovdqa64 %zmm29, 1408(%rax)7170; AVX512DQ-NEXT: vmovdqa64 %zmm24, 1344(%rax)7171; AVX512DQ-NEXT: vmovdqa64 %zmm2, 1280(%rax)7172; AVX512DQ-NEXT: vmovdqa64 %zmm25, 1216(%rax)7173; AVX512DQ-NEXT: vmovdqa64 %zmm3, 1088(%rax)7174; AVX512DQ-NEXT: vmovdqa64 %zmm4, 1024(%rax)7175; AVX512DQ-NEXT: vmovdqa64 %zmm28, 960(%rax)7176; AVX512DQ-NEXT: vmovdqa64 %zmm1, 896(%rax)7177; AVX512DQ-NEXT: vmovdqa64 %zmm13, 832(%rax)7178; AVX512DQ-NEXT: vmovdqa64 %zmm22, 704(%rax)7179; AVX512DQ-NEXT: vmovdqa64 %zmm31, 640(%rax)7180; AVX512DQ-NEXT: vmovdqa64 %zmm9, 576(%rax)7181; AVX512DQ-NEXT: vmovdqa64 %zmm0, 512(%rax)7182; AVX512DQ-NEXT: vmovdqa64 %zmm18, 448(%rax)7183; AVX512DQ-NEXT: vmovdqa64 %zmm12, 320(%rax)7184; AVX512DQ-NEXT: vmovdqa64 %zmm23, 256(%rax)7185; AVX512DQ-NEXT: vmovdqa64 %zmm27, 192(%rax)7186; AVX512DQ-NEXT: vmovdqa64 %zmm6, 128(%rax)7187; AVX512DQ-NEXT: vmovdqa64 %zmm20, 64(%rax)7188; AVX512DQ-NEXT: vmovdqa64 %zmm16, 1152(%rax)7189; AVX512DQ-NEXT: vmovdqa64 %zmm11, 768(%rax)7190; AVX512DQ-NEXT: vmovdqa64 %zmm10, 384(%rax)7191; AVX512DQ-NEXT: vmovdqa64 %zmm5, (%rax)7192; AVX512DQ-NEXT: addq $648, %rsp # imm = 0x2887193; AVX512DQ-NEXT: vzeroupper7194; AVX512DQ-NEXT: retq7195;7196; AVX512DQ-FCP-LABEL: store_i64_stride6_vf32:7197; AVX512DQ-FCP: # %bb.0:7198; AVX512DQ-FCP-NEXT: subq $648, %rsp # imm = 0x2887199; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm117200; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm57201; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm17202; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm197203; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm297204; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm257205; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm237206; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm207207; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm247208; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm47209; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdx), %zmm77210; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdx), %zmm217211; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm187212; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm137213; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm127214; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]7215; AVX512DQ-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]7216; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm07217; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm07218; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7219; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm07220; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm07221; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7222; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm07223; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm27, %zmm07224; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7225; AVX512DQ-FCP-NEXT: vpermi2q %zmm29, %zmm11, %zmm277226; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]7227; AVX512DQ-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7228; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm07229; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm07230; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7231; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]7232; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7233; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm07234; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm15, %zmm07235; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7236; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]7237; AVX512DQ-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7238; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm07239; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm16, %zmm07240; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7241; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm07242; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm16, %zmm07243; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7244; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm07245; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm14, %zmm07246; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7247; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm07248; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm07249; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7250; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm267251; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm16, %zmm267252; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm227253; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm16, %zmm227254; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm07255; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm307256; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm14, %zmm307257; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]7258; AVX512DQ-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]7259; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm117260; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm87261; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm15, %zmm87262; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm1, %zmm57263; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7264; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm287265; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm16, %zmm287266; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm1, %zmm07267; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7268; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm177269; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm16, %zmm177270; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm147271; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm157272; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm27273; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm107274; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm107275; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm167276; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm1, %zmm197277; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]7278; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm67279; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm67280; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm57281; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm1, %zmm57282; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm37283; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm1, %zmm37284; AVX512DQ-FCP-NEXT: vpermi2q %zmm18, %zmm24, %zmm17285; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]7286; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]7287; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm207288; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm207289; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]7290; AVX512DQ-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]7291; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm237292; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm97293; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm29, %zmm237294; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]7295; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7296; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm97297; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill7298; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm187299; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm187300; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm317301; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm247302; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm29, %zmm317303; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm247304; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm137305; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm25, %zmm137306; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm47307; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm29, %zmm47308; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm77309; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm257310; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm297311; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm217312; AVX512DQ-FCP-NEXT: movb $12, %al7313; AVX512DQ-FCP-NEXT: kmovw %eax, %k17314; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7315; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}7316; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7317; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7318; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}7319; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7320; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload7321; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}7322; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}7323; AVX512DQ-FCP-NEXT: movb $48, %al7324; AVX512DQ-FCP-NEXT: kmovw %eax, %k27325; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7326; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}7327; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7328; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}7329; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7330; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload7331; AVX512DQ-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]7332; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7333; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}7334; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7335; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}7336; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm07337; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]7338; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm17339; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}7340; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm27341; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}7342; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm267343; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]7344; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm87345; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}7346; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]7347; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm207348; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm187349; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm137350; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm257351; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]7352; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm207353; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm177354; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm187355; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r9), %zmm307356; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm137357; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r9), %zmm147358; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm257359; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}7360; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]7361; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm237362; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm317363; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm47364; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm297365; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]7366; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm237367; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm317368; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm47369; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm297370; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]7371; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]7372; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm127373; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm227374; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm37375; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm157376; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]7377; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm127378; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm227379; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm37380; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm157381; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm57382; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7383; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57384; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}7385; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdx), %xmm57386; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7387; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57388; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload7389; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}7390; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdx), %xmm57391; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7392; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57393; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload7394; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}7395; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdx), %xmm57396; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7397; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57398; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}7399; AVX512DQ-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm57400; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]7401; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm57402; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm107403; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm6, %zmm107404; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm117405; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm117406; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm167407; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm167408; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm67409; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]7410; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload7411; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm67412; AVX512DQ-FCP-NEXT: movb $16, %al7413; AVX512DQ-FCP-NEXT: kmovw %eax, %k17414; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}7415; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]7416; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm19, %zmm67417; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm07418; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7419; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm07420; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}7421; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm07422; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm17423; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]7424; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm17425; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload7426; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}7427; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm17428; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm27429; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]7430; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm27431; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload7432; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}7433; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm27434; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]7435; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm19, %zmm67436; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]7437; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm277438; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm19, %zmm07439; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm21, %zmm97440; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm17441; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm287442; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm19, %zmm27443; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm247444; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7445; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, 1472(%rax)7446; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 1408(%rax)7447; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, 1344(%rax)7448; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 1280(%rax)7449; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 1216(%rax)7450; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 1088(%rax)7451; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 1024(%rax)7452; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 960(%rax)7453; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 896(%rax)7454; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 832(%rax)7455; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)7456; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 640(%rax)7457; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)7458; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 512(%rax)7459; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 448(%rax)7460; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 320(%rax)7461; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 256(%rax)7462; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 192(%rax)7463; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)7464; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 64(%rax)7465; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 1152(%rax)7466; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 768(%rax)7467; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)7468; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, (%rax)7469; AVX512DQ-FCP-NEXT: addq $648, %rsp # imm = 0x2887470; AVX512DQ-FCP-NEXT: vzeroupper7471; AVX512DQ-FCP-NEXT: retq7472;7473; AVX512BW-LABEL: store_i64_stride6_vf32:7474; AVX512BW: # %bb.0:7475; AVX512BW-NEXT: subq $648, %rsp # imm = 0x2887476; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm117477; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm57478; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm17479; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm197480; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm297481; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm257482; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm237483; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm207484; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm247485; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm47486; AVX512BW-NEXT: vmovdqa64 128(%rdx), %zmm77487; AVX512BW-NEXT: vmovdqa64 192(%rdx), %zmm217488; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm187489; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm137490; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm127491; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]7492; AVX512BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]7493; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm07494; AVX512BW-NEXT: vpermt2q %zmm20, %zmm27, %zmm07495; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7496; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm07497; AVX512BW-NEXT: vpermt2q %zmm23, %zmm27, %zmm07498; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7499; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm07500; AVX512BW-NEXT: vpermt2q %zmm25, %zmm27, %zmm07501; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7502; AVX512BW-NEXT: vpermi2q %zmm29, %zmm11, %zmm277503; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]7504; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7505; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm07506; AVX512BW-NEXT: vpermt2q %zmm29, %zmm14, %zmm07507; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7508; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]7509; AVX512BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7510; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm07511; AVX512BW-NEXT: vpermt2q %zmm29, %zmm15, %zmm07512; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7513; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]7514; AVX512BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7515; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm07516; AVX512BW-NEXT: vpermt2q %zmm18, %zmm16, %zmm07517; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7518; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm07519; AVX512BW-NEXT: vpermt2q %zmm29, %zmm16, %zmm07520; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7521; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm07522; AVX512BW-NEXT: vpermt2q %zmm25, %zmm14, %zmm07523; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7524; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm07525; AVX512BW-NEXT: vpermt2q %zmm25, %zmm15, %zmm07526; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7527; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm267528; AVX512BW-NEXT: vpermt2q %zmm13, %zmm16, %zmm267529; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm227530; AVX512BW-NEXT: vpermt2q %zmm25, %zmm16, %zmm227531; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm07532; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm307533; AVX512BW-NEXT: vpermt2q %zmm23, %zmm14, %zmm307534; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]7535; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]7536; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm117537; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm87538; AVX512BW-NEXT: vpermt2q %zmm23, %zmm15, %zmm87539; AVX512BW-NEXT: vpermt2q %zmm25, %zmm1, %zmm57540; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7541; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm287542; AVX512BW-NEXT: vpermt2q %zmm23, %zmm16, %zmm287543; AVX512BW-NEXT: vpermt2q %zmm23, %zmm1, %zmm07544; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7545; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm177546; AVX512BW-NEXT: vpermt2q %zmm12, %zmm16, %zmm177547; AVX512BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm147548; AVX512BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm157549; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm27550; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm107551; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm107552; AVX512BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm167553; AVX512BW-NEXT: vpermt2q %zmm20, %zmm1, %zmm197554; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]7555; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm67556; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm67557; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm57558; AVX512BW-NEXT: vpermt2q %zmm12, %zmm1, %zmm57559; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm37560; AVX512BW-NEXT: vpermt2q %zmm13, %zmm1, %zmm37561; AVX512BW-NEXT: vpermi2q %zmm18, %zmm24, %zmm17562; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]7563; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]7564; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm207565; AVX512BW-NEXT: vpermt2q %zmm18, %zmm25, %zmm207566; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]7567; AVX512BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]7568; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm237569; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm97570; AVX512BW-NEXT: vpermt2q %zmm18, %zmm29, %zmm237571; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]7572; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7573; AVX512BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm97574; AVX512BW-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill7575; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm187576; AVX512BW-NEXT: vpermt2q %zmm13, %zmm25, %zmm187577; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm317578; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm247579; AVX512BW-NEXT: vpermt2q %zmm13, %zmm29, %zmm317580; AVX512BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm247581; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm137582; AVX512BW-NEXT: vpermt2q %zmm12, %zmm25, %zmm137583; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm47584; AVX512BW-NEXT: vpermt2q %zmm12, %zmm29, %zmm47585; AVX512BW-NEXT: vpermt2q %zmm12, %zmm0, %zmm77586; AVX512BW-NEXT: vpermi2q %zmm2, %zmm21, %zmm257587; AVX512BW-NEXT: vpermi2q %zmm2, %zmm21, %zmm297588; AVX512BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm217589; AVX512BW-NEXT: movb $12, %al7590; AVX512BW-NEXT: kmovd %eax, %k17591; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7592; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}7593; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7594; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7595; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}7596; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7597; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload7598; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}7599; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}7600; AVX512BW-NEXT: movb $48, %al7601; AVX512BW-NEXT: kmovd %eax, %k27602; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7603; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}7604; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7605; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}7606; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7607; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload7608; AVX512BW-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]7609; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7610; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}7611; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7612; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}7613; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm07614; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]7615; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm17616; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}7617; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm27618; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}7619; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm267620; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]7621; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm87622; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}7623; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]7624; AVX512BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm207625; AVX512BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm187626; AVX512BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm137627; AVX512BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm257628; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]7629; AVX512BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm207630; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm177631; AVX512BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm187632; AVX512BW-NEXT: vmovdqa64 128(%r9), %zmm307633; AVX512BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm137634; AVX512BW-NEXT: vmovdqa64 192(%r9), %zmm147635; AVX512BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm257636; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}7637; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]7638; AVX512BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm237639; AVX512BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm317640; AVX512BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm47641; AVX512BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm297642; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]7643; AVX512BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm237644; AVX512BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm317645; AVX512BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm47646; AVX512BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm297647; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]7648; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]7649; AVX512BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm127650; AVX512BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm227651; AVX512BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm37652; AVX512BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm157653; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]7654; AVX512BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm127655; AVX512BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm227656; AVX512BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm37657; AVX512BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm157658; AVX512BW-NEXT: vmovdqa (%rdx), %xmm57659; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7660; AVX512BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57661; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}7662; AVX512BW-NEXT: vmovdqa 64(%rdx), %xmm57663; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7664; AVX512BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57665; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload7666; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}7667; AVX512BW-NEXT: vmovdqa 128(%rdx), %xmm57668; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7669; AVX512BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57670; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload7671; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}7672; AVX512BW-NEXT: vmovdqa 192(%rdx), %xmm57673; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7674; AVX512BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57675; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}7676; AVX512BW-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm57677; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]7678; AVX512BW-NEXT: vpermt2q %zmm8, %zmm6, %zmm57679; AVX512BW-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm107680; AVX512BW-NEXT: vpermt2q %zmm17, %zmm6, %zmm107681; AVX512BW-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm117682; AVX512BW-NEXT: vpermt2q %zmm30, %zmm6, %zmm117683; AVX512BW-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm167684; AVX512BW-NEXT: vpermt2q %zmm14, %zmm6, %zmm167685; AVX512BW-NEXT: vmovdqa (%rdi), %ymm67686; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]7687; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload7688; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm67689; AVX512BW-NEXT: movb $16, %al7690; AVX512BW-NEXT: kmovd %eax, %k17691; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}7692; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]7693; AVX512BW-NEXT: vpermt2q %zmm0, %zmm19, %zmm67694; AVX512BW-NEXT: vmovdqa 64(%rdi), %ymm07695; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7696; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm07697; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}7698; AVX512BW-NEXT: vpermt2q %zmm1, %zmm19, %zmm07699; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm17700; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]7701; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm17702; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload7703; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}7704; AVX512BW-NEXT: vpermt2q %zmm2, %zmm19, %zmm17705; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm27706; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]7707; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm27708; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload7709; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}7710; AVX512BW-NEXT: vpermt2q %zmm26, %zmm19, %zmm27711; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]7712; AVX512BW-NEXT: vpermt2q %zmm8, %zmm19, %zmm67713; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]7714; AVX512BW-NEXT: vpermt2q %zmm8, %zmm21, %zmm277715; AVX512BW-NEXT: vpermt2q %zmm17, %zmm19, %zmm07716; AVX512BW-NEXT: vpermt2q %zmm17, %zmm21, %zmm97717; AVX512BW-NEXT: vpermt2q %zmm30, %zmm19, %zmm17718; AVX512BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm287719; AVX512BW-NEXT: vpermt2q %zmm14, %zmm19, %zmm27720; AVX512BW-NEXT: vpermt2q %zmm14, %zmm21, %zmm247721; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax7722; AVX512BW-NEXT: vmovdqa64 %zmm15, 1472(%rax)7723; AVX512BW-NEXT: vmovdqa64 %zmm29, 1408(%rax)7724; AVX512BW-NEXT: vmovdqa64 %zmm24, 1344(%rax)7725; AVX512BW-NEXT: vmovdqa64 %zmm2, 1280(%rax)7726; AVX512BW-NEXT: vmovdqa64 %zmm25, 1216(%rax)7727; AVX512BW-NEXT: vmovdqa64 %zmm3, 1088(%rax)7728; AVX512BW-NEXT: vmovdqa64 %zmm4, 1024(%rax)7729; AVX512BW-NEXT: vmovdqa64 %zmm28, 960(%rax)7730; AVX512BW-NEXT: vmovdqa64 %zmm1, 896(%rax)7731; AVX512BW-NEXT: vmovdqa64 %zmm13, 832(%rax)7732; AVX512BW-NEXT: vmovdqa64 %zmm22, 704(%rax)7733; AVX512BW-NEXT: vmovdqa64 %zmm31, 640(%rax)7734; AVX512BW-NEXT: vmovdqa64 %zmm9, 576(%rax)7735; AVX512BW-NEXT: vmovdqa64 %zmm0, 512(%rax)7736; AVX512BW-NEXT: vmovdqa64 %zmm18, 448(%rax)7737; AVX512BW-NEXT: vmovdqa64 %zmm12, 320(%rax)7738; AVX512BW-NEXT: vmovdqa64 %zmm23, 256(%rax)7739; AVX512BW-NEXT: vmovdqa64 %zmm27, 192(%rax)7740; AVX512BW-NEXT: vmovdqa64 %zmm6, 128(%rax)7741; AVX512BW-NEXT: vmovdqa64 %zmm20, 64(%rax)7742; AVX512BW-NEXT: vmovdqa64 %zmm16, 1152(%rax)7743; AVX512BW-NEXT: vmovdqa64 %zmm11, 768(%rax)7744; AVX512BW-NEXT: vmovdqa64 %zmm10, 384(%rax)7745; AVX512BW-NEXT: vmovdqa64 %zmm5, (%rax)7746; AVX512BW-NEXT: addq $648, %rsp # imm = 0x2887747; AVX512BW-NEXT: vzeroupper7748; AVX512BW-NEXT: retq7749;7750; AVX512BW-FCP-LABEL: store_i64_stride6_vf32:7751; AVX512BW-FCP: # %bb.0:7752; AVX512BW-FCP-NEXT: subq $648, %rsp # imm = 0x2887753; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm117754; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm57755; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm17756; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm197757; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm297758; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm257759; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm237760; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm207761; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm247762; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm47763; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm77764; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm217765; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm187766; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm137767; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm127768; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]7769; AVX512BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]7770; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm07771; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm07772; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7773; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm07774; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm07775; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7776; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm07777; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm27, %zmm07778; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7779; AVX512BW-FCP-NEXT: vpermi2q %zmm29, %zmm11, %zmm277780; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]7781; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7782; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm07783; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm07784; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7785; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]7786; AVX512BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7787; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm07788; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm15, %zmm07789; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7790; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]7791; AVX512BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7792; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm07793; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm16, %zmm07794; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7795; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm07796; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm16, %zmm07797; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7798; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm07799; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm14, %zmm07800; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7801; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm07802; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm07803; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7804; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm267805; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm16, %zmm267806; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm227807; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm16, %zmm227808; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm07809; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm307810; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm14, %zmm307811; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]7812; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]7813; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm117814; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm87815; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm15, %zmm87816; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm1, %zmm57817; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7818; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm287819; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm16, %zmm287820; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm1, %zmm07821; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7822; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm177823; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm16, %zmm177824; AVX512BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm147825; AVX512BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm157826; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm27827; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm107828; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm107829; AVX512BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm167830; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm1, %zmm197831; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]7832; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm67833; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm67834; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm57835; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm1, %zmm57836; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm37837; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm1, %zmm37838; AVX512BW-FCP-NEXT: vpermi2q %zmm18, %zmm24, %zmm17839; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]7840; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]7841; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm207842; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm207843; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]7844; AVX512BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]7845; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm237846; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm97847; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm29, %zmm237848; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]7849; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7850; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm97851; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill7852; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm187853; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm187854; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm317855; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm247856; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm29, %zmm317857; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm247858; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm137859; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm25, %zmm137860; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm47861; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm29, %zmm47862; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm77863; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm257864; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm297865; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm217866; AVX512BW-FCP-NEXT: movb $12, %al7867; AVX512BW-FCP-NEXT: kmovd %eax, %k17868; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7869; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}7870; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7871; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7872; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}7873; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7874; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload7875; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}7876; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}7877; AVX512BW-FCP-NEXT: movb $48, %al7878; AVX512BW-FCP-NEXT: kmovd %eax, %k27879; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7880; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}7881; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7882; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}7883; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7884; AVX512BW-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload7885; AVX512BW-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]7886; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7887; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}7888; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7889; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}7890; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm07891; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]7892; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm17893; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}7894; AVX512BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm27895; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}7896; AVX512BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm267897; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]7898; AVX512BW-FCP-NEXT: vmovdqa64 (%r9), %zmm87899; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}7900; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]7901; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm207902; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm187903; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm137904; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm257905; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]7906; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm207907; AVX512BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm177908; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm187909; AVX512BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm307910; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm137911; AVX512BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm147912; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm257913; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}7914; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]7915; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm237916; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm317917; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm47918; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm297919; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]7920; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm237921; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm317922; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm47923; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm297924; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]7925; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]7926; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm127927; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm227928; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm37929; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm157930; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]7931; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm127932; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm227933; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm37934; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm157935; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm57936; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7937; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57938; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}7939; AVX512BW-FCP-NEXT: vmovdqa 64(%rdx), %xmm57940; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7941; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57942; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload7943; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}7944; AVX512BW-FCP-NEXT: vmovdqa 128(%rdx), %xmm57945; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7946; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57947; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload7948; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}7949; AVX512BW-FCP-NEXT: vmovdqa 192(%rdx), %xmm57950; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]7951; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm57952; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}7953; AVX512BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm57954; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]7955; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm57956; AVX512BW-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm107957; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm6, %zmm107958; AVX512BW-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm117959; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm117960; AVX512BW-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm167961; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm167962; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm67963; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]7964; AVX512BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload7965; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm67966; AVX512BW-FCP-NEXT: movb $16, %al7967; AVX512BW-FCP-NEXT: kmovd %eax, %k17968; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}7969; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]7970; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm19, %zmm67971; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm07972; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7973; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm07974; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}7975; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm07976; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm17977; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]7978; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm17979; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload7980; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}7981; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm17982; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm27983; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]7984; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm27985; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload7986; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}7987; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm27988; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]7989; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm19, %zmm67990; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]7991; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm277992; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm19, %zmm07993; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm21, %zmm97994; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm17995; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm287996; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm19, %zmm27997; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm247998; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7999; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, 1472(%rax)8000; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, 1408(%rax)8001; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, 1344(%rax)8002; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 1280(%rax)8003; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 1216(%rax)8004; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 1088(%rax)8005; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 1024(%rax)8006; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, 960(%rax)8007; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 896(%rax)8008; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 832(%rax)8009; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)8010; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, 640(%rax)8011; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)8012; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 512(%rax)8013; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 448(%rax)8014; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, 320(%rax)8015; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, 256(%rax)8016; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 192(%rax)8017; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)8018; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 64(%rax)8019; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 1152(%rax)8020; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 768(%rax)8021; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)8022; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, (%rax)8023; AVX512BW-FCP-NEXT: addq $648, %rsp # imm = 0x2888024; AVX512BW-FCP-NEXT: vzeroupper8025; AVX512BW-FCP-NEXT: retq8026;8027; AVX512DQ-BW-LABEL: store_i64_stride6_vf32:8028; AVX512DQ-BW: # %bb.0:8029; AVX512DQ-BW-NEXT: subq $648, %rsp # imm = 0x2888030; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm118031; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm58032; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm18033; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm198034; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm298035; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm258036; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %zmm238037; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %zmm208038; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm248039; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm48040; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdx), %zmm78041; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdx), %zmm218042; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm188043; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm138044; AVX512DQ-BW-NEXT: vmovdqa64 128(%rcx), %zmm128045; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]8046; AVX512DQ-BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]8047; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm08048; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm27, %zmm08049; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8050; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm08051; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm27, %zmm08052; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8053; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm08054; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm27, %zmm08055; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8056; AVX512DQ-BW-NEXT: vpermi2q %zmm29, %zmm11, %zmm278057; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]8058; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8059; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm08060; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm14, %zmm08061; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8062; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]8063; AVX512DQ-BW-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8064; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm08065; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm15, %zmm08066; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8067; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]8068; AVX512DQ-BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8069; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm08070; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm16, %zmm08071; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8072; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm08073; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm16, %zmm08074; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8075; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm08076; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm14, %zmm08077; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8078; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm08079; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm15, %zmm08080; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8081; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm268082; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm16, %zmm268083; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm228084; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm16, %zmm228085; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm08086; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm308087; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm14, %zmm308088; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]8089; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]8090; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm118091; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm88092; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm15, %zmm88093; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm1, %zmm58094; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8095; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm288096; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm16, %zmm288097; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm1, %zmm08098; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8099; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm178100; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm16, %zmm178101; AVX512DQ-BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm148102; AVX512DQ-BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm158103; AVX512DQ-BW-NEXT: vmovdqa64 192(%rcx), %zmm28104; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm108105; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm108106; AVX512DQ-BW-NEXT: vpermi2q %zmm20, %zmm19, %zmm168107; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm1, %zmm198108; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]8109; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm68110; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm68111; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm58112; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm1, %zmm58113; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm38114; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm1, %zmm38115; AVX512DQ-BW-NEXT: vpermi2q %zmm18, %zmm24, %zmm18116; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]8117; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]8118; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm208119; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm25, %zmm208120; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]8121; AVX512DQ-BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]8122; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm238123; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm98124; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm29, %zmm238125; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]8126; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8127; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm98128; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill8129; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm188130; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm25, %zmm188131; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm318132; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm248133; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm29, %zmm318134; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm248135; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm138136; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm25, %zmm138137; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm48138; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm29, %zmm48139; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm0, %zmm78140; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm21, %zmm258141; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm21, %zmm298142; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm218143; AVX512DQ-BW-NEXT: movb $12, %al8144; AVX512DQ-BW-NEXT: kmovd %eax, %k18145; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8146; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}8147; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8148; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8149; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}8150; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8151; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8152; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}8153; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}8154; AVX512DQ-BW-NEXT: movb $48, %al8155; AVX512DQ-BW-NEXT: kmovd %eax, %k28156; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8157; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}8158; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8159; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}8160; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8161; AVX512DQ-BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload8162; AVX512DQ-BW-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]8163; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8164; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}8165; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8166; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}8167; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm08168; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]8169; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm18170; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}8171; AVX512DQ-BW-NEXT: vmovdqa64 128(%r8), %zmm28172; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}8173; AVX512DQ-BW-NEXT: vmovdqa64 192(%r8), %zmm268174; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]8175; AVX512DQ-BW-NEXT: vmovdqa64 (%r9), %zmm88176; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}8177; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]8178; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm208179; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm188180; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm138181; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm258182; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]8183; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm208184; AVX512DQ-BW-NEXT: vmovdqa64 64(%r9), %zmm178185; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm188186; AVX512DQ-BW-NEXT: vmovdqa64 128(%r9), %zmm308187; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm138188; AVX512DQ-BW-NEXT: vmovdqa64 192(%r9), %zmm148189; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm258190; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}8191; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]8192; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm238193; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm318194; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm48195; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm298196; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]8197; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm238198; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm318199; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm48200; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm298201; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]8202; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]8203; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm5, %zmm128204; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm5, %zmm228205; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm5, %zmm38206; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm5, %zmm158207; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]8208; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm5, %zmm128209; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm5, %zmm228210; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm5, %zmm38211; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm5, %zmm158212; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm58213; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8214; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58215; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}8216; AVX512DQ-BW-NEXT: vmovdqa 64(%rdx), %xmm58217; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8218; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58219; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8220; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}8221; AVX512DQ-BW-NEXT: vmovdqa 128(%rdx), %xmm58222; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8223; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58224; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload8225; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}8226; AVX512DQ-BW-NEXT: vmovdqa 192(%rdx), %xmm58227; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8228; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58229; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}8230; AVX512DQ-BW-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm58231; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]8232; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm6, %zmm58233; AVX512DQ-BW-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm108234; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm6, %zmm108235; AVX512DQ-BW-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm118236; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm6, %zmm118237; AVX512DQ-BW-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm168238; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm6, %zmm168239; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm68240; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]8241; AVX512DQ-BW-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload8242; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm68243; AVX512DQ-BW-NEXT: movb $16, %al8244; AVX512DQ-BW-NEXT: kmovd %eax, %k18245; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}8246; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]8247; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm19, %zmm68248; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %ymm08249; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8250; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm08251; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}8252; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm19, %zmm08253; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm18254; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]8255; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm18256; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload8257; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}8258; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm19, %zmm18259; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm28260; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]8261; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm28262; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload8263; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}8264; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm19, %zmm28265; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]8266; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm19, %zmm68267; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]8268; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm21, %zmm278269; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm19, %zmm08270; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm21, %zmm98271; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm19, %zmm18272; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm288273; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm19, %zmm28274; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm21, %zmm248275; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax8276; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, 1472(%rax)8277; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, 1408(%rax)8278; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, 1344(%rax)8279; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 1280(%rax)8280; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 1216(%rax)8281; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 1088(%rax)8282; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 1024(%rax)8283; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 960(%rax)8284; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 896(%rax)8285; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 832(%rax)8286; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 704(%rax)8287; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 640(%rax)8288; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 576(%rax)8289; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 512(%rax)8290; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 448(%rax)8291; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, 320(%rax)8292; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 256(%rax)8293; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, 192(%rax)8294; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 128(%rax)8295; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, 64(%rax)8296; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 1152(%rax)8297; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 768(%rax)8298; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, 384(%rax)8299; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, (%rax)8300; AVX512DQ-BW-NEXT: addq $648, %rsp # imm = 0x2888301; AVX512DQ-BW-NEXT: vzeroupper8302; AVX512DQ-BW-NEXT: retq8303;8304; AVX512DQ-BW-FCP-LABEL: store_i64_stride6_vf32:8305; AVX512DQ-BW-FCP: # %bb.0:8306; AVX512DQ-BW-FCP-NEXT: subq $648, %rsp # imm = 0x2888307; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm118308; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm58309; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm18310; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm198311; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm298312; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm258313; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm238314; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm208315; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm248316; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm48317; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm78318; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm218319; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm188320; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm138321; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm128322; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [4,12,5,13,4,12,5,13]8323; AVX512DQ-BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]8324; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm08325; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm27, %zmm08326; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8327; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm08328; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm27, %zmm08329; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8330; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm08331; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm27, %zmm08332; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8333; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm29, %zmm11, %zmm278334; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [2,10,2,10,2,10,2,10]8335; AVX512DQ-BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8336; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm08337; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm14, %zmm08338; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8339; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [6,14,6,14,6,14,6,14]8340; AVX512DQ-BW-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8341; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm08342; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm15, %zmm08343; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8344; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [7,15,7,15,7,15,7,15]8345; AVX512DQ-BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8346; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm08347; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm16, %zmm08348; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8349; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm08350; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm16, %zmm08351; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8352; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm08353; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm14, %zmm08354; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8355; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm08356; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm08357; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8358; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm268359; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm16, %zmm268360; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm228361; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm16, %zmm228362; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm08363; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm308364; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm14, %zmm308365; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,8,1,9,0,8,1,9]8366; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]8367; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm118368; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm88369; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm15, %zmm88370; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm1, %zmm58371; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8372; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm288373; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm16, %zmm288374; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm1, %zmm08375; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8376; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm178377; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm16, %zmm178378; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm148379; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm158380; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm28381; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm108382; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm108383; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm19, %zmm168384; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm1, %zmm198385; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]8386; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm68387; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm68388; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm58389; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm1, %zmm58390; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm38391; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm1, %zmm38392; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm18, %zmm24, %zmm18393; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [1,9,2,10,1,9,2,10]8394; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]8395; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm208396; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm25, %zmm208397; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm29 = [5,13,6,14,5,13,6,14]8398; AVX512DQ-BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3]8399; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm238400; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm98401; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm29, %zmm238402; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]8403; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8404; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm98405; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, (%rsp) # 64-byte Spill8406; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm188407; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm188408; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm318409; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm248410; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm29, %zmm318411; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm248412; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm138413; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm25, %zmm138414; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm48415; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm29, %zmm48416; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm78417; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm258418; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm21, %zmm298419; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm218420; AVX512DQ-BW-FCP-NEXT: movb $12, %al8421; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k18422; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8423; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm0 {%k1}8424; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8425; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8426; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm0 {%k1}8427; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8428; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8429; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm9 {%k1}8430; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}8431; AVX512DQ-BW-FCP-NEXT: movb $48, %al8432; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k28433; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8434; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k2}8435; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8436; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}8437; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8438; AVX512DQ-BW-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload8439; AVX512DQ-BW-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]8440; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8441; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}8442; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8443; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k2}8444; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm08445; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm22 = zmm22[0,1,2,3],zmm26[4,5,6,7]8446; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm18447; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm13 {%k2}8448; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm28449; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm4 {%k2}8450; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm268451; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm3 = zmm28[0,1,2,3],zmm17[4,5,6,7]8452; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r9), %zmm88453; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm25 {%k2}8454; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,9,0,4,5,6,7]8455; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm208456; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm188457; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm138458; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm258459; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,9,4,5,6,7]8460; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm208461; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r9), %zmm178462; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm188463; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r9), %zmm308464; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm138465; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r9), %zmm148466; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm258467; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm29 {%k2}8468; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,13,0,4,5,6,7]8469; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm238470; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm318471; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm48472; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm298473; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,13,4,5,6,7]8474; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm238475; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm318476; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm48477; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm298478; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm15 = zmm16[0,1,2,3],zmm10[4,5,6,7]8479; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [14,0,2,3,4,5,15,0]8480; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm5, %zmm128481; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm5, %zmm228482; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm5, %zmm38483; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm5, %zmm158484; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,14,2,3,4,5,6,15]8485; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm5, %zmm128486; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm5, %zmm228487; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm38488; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm5, %zmm158489; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm58490; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8491; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58492; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm11 {%k1}8493; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdx), %xmm58494; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8495; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58496; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8497; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm10 {%k1}8498; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdx), %xmm58499; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8500; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58501; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload8502; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm16 {%k1}8503; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdx), %xmm58504; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],mem[0]8505; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm58506; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm0, %zmm19 {%k1}8507; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm11, %zmm58508; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,4,8,6,7]8509; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm58510; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm10, %zmm108511; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm6, %zmm108512; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm16, %zmm118513; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm6, %zmm118514; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm19, %zmm168515; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm6, %zmm168516; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm68517; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],mem[1],ymm6[3],mem[3]8518; AVX512DQ-BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm19 # 64-byte Reload8519; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm19, %zmm68520; AVX512DQ-BW-FCP-NEXT: movb $16, %al8521; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k18522; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}8523; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [10,0,2,3,4,5,11,0]8524; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm19, %zmm68525; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm08526; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8527; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm24, %zmm08528; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm9 {%k1}8529; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm19, %zmm08530; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm18531; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]8532; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm7, %zmm18533; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload8534; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm28 {%k1}8535; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm19, %zmm18536; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm28537; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]8538; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm21, %zmm28539; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload8540; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm24 {%k1}8541; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm19, %zmm28542; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,10,2,3,4,5,6,11]8543; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm19, %zmm68544; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,4,12,6,7]8545; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm21, %zmm278546; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm19, %zmm08547; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm21, %zmm98548; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm18549; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm288550; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm19, %zmm28551; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm248552; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8553; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, 1472(%rax)8554; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 1408(%rax)8555; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, 1344(%rax)8556; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 1280(%rax)8557; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 1216(%rax)8558; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 1088(%rax)8559; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 1024(%rax)8560; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 960(%rax)8561; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 896(%rax)8562; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 832(%rax)8563; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 704(%rax)8564; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 640(%rax)8565; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)8566; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 512(%rax)8567; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 448(%rax)8568; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, 320(%rax)8569; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, 256(%rax)8570; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 192(%rax)8571; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 128(%rax)8572; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, 64(%rax)8573; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 1152(%rax)8574; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 768(%rax)8575; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, 384(%rax)8576; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, (%rax)8577; AVX512DQ-BW-FCP-NEXT: addq $648, %rsp # imm = 0x2888578; AVX512DQ-BW-FCP-NEXT: vzeroupper8579; AVX512DQ-BW-FCP-NEXT: retq8580 %in.vec0 = load <32 x i64>, ptr %in.vecptr0, align 648581 %in.vec1 = load <32 x i64>, ptr %in.vecptr1, align 648582 %in.vec2 = load <32 x i64>, ptr %in.vecptr2, align 648583 %in.vec3 = load <32 x i64>, ptr %in.vecptr3, align 648584 %in.vec4 = load <32 x i64>, ptr %in.vecptr4, align 648585 %in.vec5 = load <32 x i64>, ptr %in.vecptr5, align 648586 %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>8587 %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>8588 %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>8589 %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>8590 %5 = shufflevector <64 x i64> %3, <64 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 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, 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>8591 %6 = shufflevector <128 x i64> %4, <128 x i64> %5, <192 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>8592 %interleaved.vec = shufflevector <192 x i64> %6, <192 x i64> poison, <192 x i32> <i32 0, i32 32, i32 64, i32 96, i32 128, i32 160, i32 1, i32 33, i32 65, i32 97, i32 129, i32 161, i32 2, i32 34, i32 66, i32 98, i32 130, i32 162, i32 3, i32 35, i32 67, i32 99, i32 131, i32 163, i32 4, i32 36, i32 68, i32 100, i32 132, i32 164, i32 5, i32 37, i32 69, i32 101, i32 133, i32 165, i32 6, i32 38, i32 70, i32 102, i32 134, i32 166, i32 7, i32 39, i32 71, i32 103, i32 135, i32 167, i32 8, i32 40, i32 72, i32 104, i32 136, i32 168, i32 9, i32 41, i32 73, i32 105, i32 137, i32 169, i32 10, i32 42, i32 74, i32 106, i32 138, i32 170, i32 11, i32 43, i32 75, i32 107, i32 139, i32 171, i32 12, i32 44, i32 76, i32 108, i32 140, i32 172, i32 13, i32 45, i32 77, i32 109, i32 141, i32 173, i32 14, i32 46, i32 78, i32 110, i32 142, i32 174, i32 15, i32 47, i32 79, i32 111, i32 143, i32 175, i32 16, i32 48, i32 80, i32 112, i32 144, i32 176, i32 17, i32 49, i32 81, i32 113, i32 145, i32 177, i32 18, i32 50, i32 82, i32 114, i32 146, i32 178, i32 19, i32 51, i32 83, i32 115, i32 147, i32 179, i32 20, i32 52, i32 84, i32 116, i32 148, i32 180, i32 21, i32 53, i32 85, i32 117, i32 149, i32 181, i32 22, i32 54, i32 86, i32 118, i32 150, i32 182, i32 23, i32 55, i32 87, i32 119, i32 151, i32 183, i32 24, i32 56, i32 88, i32 120, i32 152, i32 184, i32 25, i32 57, i32 89, i32 121, i32 153, i32 185, i32 26, i32 58, i32 90, i32 122, i32 154, i32 186, i32 27, i32 59, i32 91, i32 123, i32 155, i32 187, i32 28, i32 60, i32 92, i32 124, i32 156, i32 188, i32 29, i32 61, i32 93, i32 125, i32 157, i32 189, i32 30, i32 62, i32 94, i32 126, i32 158, i32 190, i32 31, i32 63, i32 95, i32 127, i32 159, i32 191>8593 store <192 x i64> %interleaved.vec, ptr %out.vec, align 648594 ret void8595}8596 8597define void @store_i64_stride6_vf64(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %in.vecptr5, ptr %out.vec) nounwind {8598; SSE-LABEL: store_i64_stride6_vf64:8599; SSE: # %bb.0:8600; SSE-NEXT: subq $2712, %rsp # imm = 0xA988601; SSE-NEXT: movaps (%rdi), %xmm78602; SSE-NEXT: movaps 16(%rdi), %xmm88603; SSE-NEXT: movaps 32(%rdi), %xmm98604; SSE-NEXT: movaps (%rsi), %xmm28605; SSE-NEXT: movaps 16(%rsi), %xmm18606; SSE-NEXT: movaps 32(%rsi), %xmm08607; SSE-NEXT: movaps (%rdx), %xmm108608; SSE-NEXT: movaps 16(%rdx), %xmm118609; SSE-NEXT: movaps 32(%rdx), %xmm128610; SSE-NEXT: movaps (%rcx), %xmm48611; SSE-NEXT: movaps 16(%rcx), %xmm38612; SSE-NEXT: movaps 16(%r8), %xmm148613; SSE-NEXT: movaps (%r8), %xmm138614; SSE-NEXT: movaps 16(%r9), %xmm58615; SSE-NEXT: movaps (%r9), %xmm68616; SSE-NEXT: movaps %xmm7, %xmm158617; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm2[0]8618; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8619; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm2[1]8620; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8621; SSE-NEXT: movaps %xmm10, %xmm28622; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm4[0]8623; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8624; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm4[1]8625; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8626; SSE-NEXT: movaps %xmm13, %xmm28627; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm6[0]8628; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8629; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]8630; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8631; SSE-NEXT: movaps %xmm8, %xmm28632; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]8633; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8634; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]8635; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8636; SSE-NEXT: movaps %xmm11, %xmm18637; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]8638; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8639; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm3[1]8640; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8641; SSE-NEXT: movaps %xmm14, %xmm18642; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm5[0]8643; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8644; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm5[1]8645; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8646; SSE-NEXT: movaps %xmm9, %xmm18647; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8648; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8649; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]8650; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8651; SSE-NEXT: movaps 32(%rcx), %xmm08652; SSE-NEXT: movaps %xmm12, %xmm18653; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8654; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8655; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]8656; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8657; SSE-NEXT: movaps 32(%r8), %xmm28658; SSE-NEXT: movaps 32(%r9), %xmm08659; SSE-NEXT: movaps %xmm2, %xmm18660; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8661; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8662; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8663; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8664; SSE-NEXT: movaps 48(%rdi), %xmm28665; SSE-NEXT: movaps 48(%rsi), %xmm08666; SSE-NEXT: movaps %xmm2, %xmm18667; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8668; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8669; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8670; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8671; SSE-NEXT: movaps 48(%rdx), %xmm28672; SSE-NEXT: movaps 48(%rcx), %xmm08673; SSE-NEXT: movaps %xmm2, %xmm18674; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8675; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8676; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8677; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8678; SSE-NEXT: movaps 48(%r8), %xmm28679; SSE-NEXT: movaps 48(%r9), %xmm08680; SSE-NEXT: movaps %xmm2, %xmm18681; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8682; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8683; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8684; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8685; SSE-NEXT: movaps 64(%rdi), %xmm28686; SSE-NEXT: movaps 64(%rsi), %xmm08687; SSE-NEXT: movaps %xmm2, %xmm18688; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8689; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8690; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8691; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8692; SSE-NEXT: movaps 64(%rdx), %xmm28693; SSE-NEXT: movaps 64(%rcx), %xmm08694; SSE-NEXT: movaps %xmm2, %xmm18695; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8696; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8697; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8698; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8699; SSE-NEXT: movaps 64(%r8), %xmm28700; SSE-NEXT: movaps 64(%r9), %xmm08701; SSE-NEXT: movaps %xmm2, %xmm18702; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8703; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8704; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8705; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8706; SSE-NEXT: movaps 80(%rdi), %xmm28707; SSE-NEXT: movaps 80(%rsi), %xmm08708; SSE-NEXT: movaps %xmm2, %xmm18709; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8710; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8711; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8712; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8713; SSE-NEXT: movaps 80(%rdx), %xmm28714; SSE-NEXT: movaps 80(%rcx), %xmm08715; SSE-NEXT: movaps %xmm2, %xmm18716; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8717; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8718; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8719; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8720; SSE-NEXT: movaps 80(%r8), %xmm28721; SSE-NEXT: movaps 80(%r9), %xmm08722; SSE-NEXT: movaps %xmm2, %xmm18723; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8724; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8725; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8726; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8727; SSE-NEXT: movaps 96(%rdi), %xmm28728; SSE-NEXT: movaps 96(%rsi), %xmm08729; SSE-NEXT: movaps %xmm2, %xmm18730; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8731; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8732; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8733; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8734; SSE-NEXT: movaps 96(%rdx), %xmm28735; SSE-NEXT: movaps 96(%rcx), %xmm08736; SSE-NEXT: movaps %xmm2, %xmm18737; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8738; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8739; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8740; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8741; SSE-NEXT: movaps 96(%r8), %xmm28742; SSE-NEXT: movaps 96(%r9), %xmm08743; SSE-NEXT: movaps %xmm2, %xmm18744; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8745; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8746; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8747; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8748; SSE-NEXT: movaps 112(%rdi), %xmm28749; SSE-NEXT: movaps 112(%rsi), %xmm08750; SSE-NEXT: movaps %xmm2, %xmm18751; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8752; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8753; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8754; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8755; SSE-NEXT: movaps 112(%rdx), %xmm28756; SSE-NEXT: movaps 112(%rcx), %xmm08757; SSE-NEXT: movaps %xmm2, %xmm18758; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8759; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8760; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8761; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8762; SSE-NEXT: movaps 112(%r8), %xmm28763; SSE-NEXT: movaps 112(%r9), %xmm08764; SSE-NEXT: movaps %xmm2, %xmm18765; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8766; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8767; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8768; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8769; SSE-NEXT: movaps 128(%rdi), %xmm28770; SSE-NEXT: movaps 128(%rsi), %xmm08771; SSE-NEXT: movaps %xmm2, %xmm18772; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8773; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8774; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8775; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8776; SSE-NEXT: movaps 128(%rdx), %xmm28777; SSE-NEXT: movaps 128(%rcx), %xmm08778; SSE-NEXT: movaps %xmm2, %xmm18779; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8780; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8781; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8782; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8783; SSE-NEXT: movaps 128(%r8), %xmm28784; SSE-NEXT: movaps 128(%r9), %xmm08785; SSE-NEXT: movaps %xmm2, %xmm18786; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8787; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8788; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8789; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8790; SSE-NEXT: movaps 144(%rdi), %xmm28791; SSE-NEXT: movaps 144(%rsi), %xmm08792; SSE-NEXT: movaps %xmm2, %xmm18793; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8794; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8795; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8796; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8797; SSE-NEXT: movaps 144(%rdx), %xmm28798; SSE-NEXT: movaps 144(%rcx), %xmm08799; SSE-NEXT: movaps %xmm2, %xmm18800; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8801; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8802; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8803; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8804; SSE-NEXT: movaps 144(%r8), %xmm28805; SSE-NEXT: movaps 144(%r9), %xmm08806; SSE-NEXT: movaps %xmm2, %xmm18807; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8808; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8809; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8810; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8811; SSE-NEXT: movaps 160(%rdi), %xmm28812; SSE-NEXT: movaps 160(%rsi), %xmm08813; SSE-NEXT: movaps %xmm2, %xmm18814; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8815; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8816; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8817; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8818; SSE-NEXT: movaps 160(%rdx), %xmm28819; SSE-NEXT: movaps 160(%rcx), %xmm08820; SSE-NEXT: movaps %xmm2, %xmm18821; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8822; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8823; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8824; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8825; SSE-NEXT: movaps 160(%r8), %xmm28826; SSE-NEXT: movaps 160(%r9), %xmm08827; SSE-NEXT: movaps %xmm2, %xmm18828; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8829; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8830; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8831; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8832; SSE-NEXT: movaps 176(%rdi), %xmm28833; SSE-NEXT: movaps 176(%rsi), %xmm08834; SSE-NEXT: movaps %xmm2, %xmm18835; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8836; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8837; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8838; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8839; SSE-NEXT: movaps 176(%rdx), %xmm28840; SSE-NEXT: movaps 176(%rcx), %xmm08841; SSE-NEXT: movaps %xmm2, %xmm18842; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8843; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8844; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8845; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8846; SSE-NEXT: movaps 176(%r8), %xmm28847; SSE-NEXT: movaps 176(%r9), %xmm08848; SSE-NEXT: movaps %xmm2, %xmm18849; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8850; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8851; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8852; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8853; SSE-NEXT: movaps 192(%rdi), %xmm28854; SSE-NEXT: movaps 192(%rsi), %xmm08855; SSE-NEXT: movaps %xmm2, %xmm18856; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8857; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8858; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8859; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8860; SSE-NEXT: movaps 192(%rdx), %xmm28861; SSE-NEXT: movaps 192(%rcx), %xmm08862; SSE-NEXT: movaps %xmm2, %xmm18863; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8864; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8865; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8866; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8867; SSE-NEXT: movaps 192(%r8), %xmm28868; SSE-NEXT: movaps 192(%r9), %xmm08869; SSE-NEXT: movaps %xmm2, %xmm18870; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8871; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8872; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8873; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8874; SSE-NEXT: movaps 208(%rdi), %xmm28875; SSE-NEXT: movaps 208(%rsi), %xmm08876; SSE-NEXT: movaps %xmm2, %xmm18877; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8878; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8879; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8880; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8881; SSE-NEXT: movaps 208(%rdx), %xmm28882; SSE-NEXT: movaps 208(%rcx), %xmm08883; SSE-NEXT: movaps %xmm2, %xmm18884; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8885; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8886; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8887; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8888; SSE-NEXT: movaps 208(%r8), %xmm28889; SSE-NEXT: movaps 208(%r9), %xmm08890; SSE-NEXT: movaps %xmm2, %xmm18891; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8892; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8893; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8894; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8895; SSE-NEXT: movaps 224(%rdi), %xmm28896; SSE-NEXT: movaps 224(%rsi), %xmm08897; SSE-NEXT: movaps %xmm2, %xmm18898; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8899; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8900; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8901; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8902; SSE-NEXT: movaps 224(%rdx), %xmm28903; SSE-NEXT: movaps 224(%rcx), %xmm08904; SSE-NEXT: movaps %xmm2, %xmm18905; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8906; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8907; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8908; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8909; SSE-NEXT: movaps 224(%r8), %xmm28910; SSE-NEXT: movaps 224(%r9), %xmm08911; SSE-NEXT: movaps %xmm2, %xmm18912; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8913; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8914; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8915; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8916; SSE-NEXT: movaps 240(%rdi), %xmm28917; SSE-NEXT: movaps 240(%rsi), %xmm08918; SSE-NEXT: movaps %xmm2, %xmm18919; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8920; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8921; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8922; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8923; SSE-NEXT: movaps 240(%rdx), %xmm28924; SSE-NEXT: movaps 240(%rcx), %xmm08925; SSE-NEXT: movaps %xmm2, %xmm18926; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8927; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8928; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8929; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8930; SSE-NEXT: movaps 240(%r8), %xmm28931; SSE-NEXT: movaps 240(%r9), %xmm08932; SSE-NEXT: movaps %xmm2, %xmm18933; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8934; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8935; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8936; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8937; SSE-NEXT: movaps 256(%rdi), %xmm28938; SSE-NEXT: movaps 256(%rsi), %xmm08939; SSE-NEXT: movaps %xmm2, %xmm18940; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8941; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8942; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8943; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8944; SSE-NEXT: movaps 256(%rdx), %xmm28945; SSE-NEXT: movaps 256(%rcx), %xmm08946; SSE-NEXT: movaps %xmm2, %xmm18947; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8948; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8949; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8950; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8951; SSE-NEXT: movaps 256(%r8), %xmm28952; SSE-NEXT: movaps 256(%r9), %xmm08953; SSE-NEXT: movaps %xmm2, %xmm18954; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8955; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8956; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8957; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8958; SSE-NEXT: movaps 272(%rdi), %xmm28959; SSE-NEXT: movaps 272(%rsi), %xmm08960; SSE-NEXT: movaps %xmm2, %xmm18961; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8962; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8963; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8964; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8965; SSE-NEXT: movaps 272(%rdx), %xmm28966; SSE-NEXT: movaps 272(%rcx), %xmm08967; SSE-NEXT: movaps %xmm2, %xmm18968; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8969; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8970; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8971; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8972; SSE-NEXT: movaps 272(%r8), %xmm28973; SSE-NEXT: movaps 272(%r9), %xmm08974; SSE-NEXT: movaps %xmm2, %xmm18975; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8976; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8977; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8978; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8979; SSE-NEXT: movaps 288(%rdi), %xmm28980; SSE-NEXT: movaps 288(%rsi), %xmm08981; SSE-NEXT: movaps %xmm2, %xmm18982; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8983; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8984; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8985; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8986; SSE-NEXT: movaps 288(%rdx), %xmm28987; SSE-NEXT: movaps 288(%rcx), %xmm08988; SSE-NEXT: movaps %xmm2, %xmm18989; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8990; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8991; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8992; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8993; SSE-NEXT: movaps 288(%r8), %xmm28994; SSE-NEXT: movaps 288(%r9), %xmm08995; SSE-NEXT: movaps %xmm2, %xmm18996; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]8997; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8998; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]8999; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9000; SSE-NEXT: movaps 304(%rdi), %xmm29001; SSE-NEXT: movaps 304(%rsi), %xmm09002; SSE-NEXT: movaps %xmm2, %xmm19003; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9004; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9005; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9006; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9007; SSE-NEXT: movaps 304(%rdx), %xmm29008; SSE-NEXT: movaps 304(%rcx), %xmm09009; SSE-NEXT: movaps %xmm2, %xmm19010; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9011; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9012; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9013; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9014; SSE-NEXT: movaps 304(%r8), %xmm29015; SSE-NEXT: movaps 304(%r9), %xmm09016; SSE-NEXT: movaps %xmm2, %xmm19017; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9018; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9019; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9020; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9021; SSE-NEXT: movaps 320(%rdi), %xmm29022; SSE-NEXT: movaps 320(%rsi), %xmm09023; SSE-NEXT: movaps %xmm2, %xmm19024; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9025; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9026; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9027; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9028; SSE-NEXT: movaps 320(%rdx), %xmm29029; SSE-NEXT: movaps 320(%rcx), %xmm09030; SSE-NEXT: movaps %xmm2, %xmm19031; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9032; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9033; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9034; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9035; SSE-NEXT: movaps 320(%r8), %xmm29036; SSE-NEXT: movaps 320(%r9), %xmm09037; SSE-NEXT: movaps %xmm2, %xmm19038; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9039; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9040; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9041; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9042; SSE-NEXT: movaps 336(%rdi), %xmm29043; SSE-NEXT: movaps 336(%rsi), %xmm09044; SSE-NEXT: movaps %xmm2, %xmm19045; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9046; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9047; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9048; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9049; SSE-NEXT: movaps 336(%rdx), %xmm29050; SSE-NEXT: movaps 336(%rcx), %xmm09051; SSE-NEXT: movaps %xmm2, %xmm19052; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9053; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9054; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9055; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9056; SSE-NEXT: movaps 336(%r8), %xmm29057; SSE-NEXT: movaps 336(%r9), %xmm09058; SSE-NEXT: movaps %xmm2, %xmm19059; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9060; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9061; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9062; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9063; SSE-NEXT: movaps 352(%rdi), %xmm29064; SSE-NEXT: movaps 352(%rsi), %xmm09065; SSE-NEXT: movaps %xmm2, %xmm19066; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9067; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9068; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9069; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9070; SSE-NEXT: movaps 352(%rdx), %xmm29071; SSE-NEXT: movaps 352(%rcx), %xmm09072; SSE-NEXT: movaps %xmm2, %xmm19073; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9074; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9075; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9076; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9077; SSE-NEXT: movaps 352(%r8), %xmm29078; SSE-NEXT: movaps 352(%r9), %xmm09079; SSE-NEXT: movaps %xmm2, %xmm19080; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9081; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9082; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9083; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9084; SSE-NEXT: movaps 368(%rdi), %xmm29085; SSE-NEXT: movaps 368(%rsi), %xmm09086; SSE-NEXT: movaps %xmm2, %xmm19087; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9088; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9089; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9090; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9091; SSE-NEXT: movaps 368(%rdx), %xmm29092; SSE-NEXT: movaps 368(%rcx), %xmm09093; SSE-NEXT: movaps %xmm2, %xmm19094; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9095; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9096; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9097; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9098; SSE-NEXT: movaps 368(%r8), %xmm29099; SSE-NEXT: movaps 368(%r9), %xmm09100; SSE-NEXT: movaps %xmm2, %xmm19101; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9102; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9103; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9104; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9105; SSE-NEXT: movaps 384(%rdi), %xmm29106; SSE-NEXT: movaps 384(%rsi), %xmm09107; SSE-NEXT: movaps %xmm2, %xmm19108; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9109; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9110; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9111; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9112; SSE-NEXT: movaps 384(%rdx), %xmm29113; SSE-NEXT: movaps 384(%rcx), %xmm09114; SSE-NEXT: movaps %xmm2, %xmm19115; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9116; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9117; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9118; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9119; SSE-NEXT: movaps 384(%r8), %xmm29120; SSE-NEXT: movaps 384(%r9), %xmm09121; SSE-NEXT: movaps %xmm2, %xmm19122; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9123; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9124; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9125; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9126; SSE-NEXT: movaps 400(%rdi), %xmm29127; SSE-NEXT: movaps 400(%rsi), %xmm09128; SSE-NEXT: movaps %xmm2, %xmm19129; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9130; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9131; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9132; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9133; SSE-NEXT: movaps 400(%rdx), %xmm29134; SSE-NEXT: movaps 400(%rcx), %xmm09135; SSE-NEXT: movaps %xmm2, %xmm19136; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9137; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9138; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9139; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9140; SSE-NEXT: movaps 400(%r8), %xmm29141; SSE-NEXT: movaps 400(%r9), %xmm09142; SSE-NEXT: movaps %xmm2, %xmm19143; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9144; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9145; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9146; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9147; SSE-NEXT: movaps 416(%rdi), %xmm29148; SSE-NEXT: movaps 416(%rsi), %xmm09149; SSE-NEXT: movaps %xmm2, %xmm19150; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9151; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9152; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9153; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9154; SSE-NEXT: movaps 416(%rdx), %xmm29155; SSE-NEXT: movaps 416(%rcx), %xmm09156; SSE-NEXT: movaps %xmm2, %xmm19157; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9158; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9159; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9160; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9161; SSE-NEXT: movaps 416(%r8), %xmm29162; SSE-NEXT: movaps 416(%r9), %xmm09163; SSE-NEXT: movaps %xmm2, %xmm19164; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9165; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9166; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9167; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9168; SSE-NEXT: movaps 432(%rdi), %xmm29169; SSE-NEXT: movaps 432(%rsi), %xmm09170; SSE-NEXT: movaps %xmm2, %xmm19171; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9172; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9173; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9174; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9175; SSE-NEXT: movaps 432(%rdx), %xmm29176; SSE-NEXT: movaps 432(%rcx), %xmm09177; SSE-NEXT: movaps %xmm2, %xmm19178; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9179; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9180; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9181; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9182; SSE-NEXT: movaps 432(%r8), %xmm29183; SSE-NEXT: movaps 432(%r9), %xmm09184; SSE-NEXT: movaps %xmm2, %xmm19185; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9186; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9187; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9188; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9189; SSE-NEXT: movaps 448(%rdi), %xmm29190; SSE-NEXT: movaps 448(%rsi), %xmm09191; SSE-NEXT: movaps %xmm2, %xmm19192; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9193; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill9194; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9195; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9196; SSE-NEXT: movaps 448(%rdx), %xmm29197; SSE-NEXT: movaps 448(%rcx), %xmm09198; SSE-NEXT: movaps %xmm2, %xmm19199; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9200; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9201; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9202; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9203; SSE-NEXT: movaps 448(%r8), %xmm29204; SSE-NEXT: movaps 448(%r9), %xmm09205; SSE-NEXT: movaps %xmm2, %xmm19206; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9207; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9208; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]9209; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9210; SSE-NEXT: movaps 464(%rdi), %xmm159211; SSE-NEXT: movaps 464(%rsi), %xmm09212; SSE-NEXT: movaps %xmm15, %xmm19213; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9214; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9215; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]9216; SSE-NEXT: movaps 464(%rdx), %xmm149217; SSE-NEXT: movaps 464(%rcx), %xmm09218; SSE-NEXT: movaps %xmm14, %xmm19219; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9220; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9221; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]9222; SSE-NEXT: movaps 464(%r8), %xmm119223; SSE-NEXT: movaps 464(%r9), %xmm09224; SSE-NEXT: movaps %xmm11, %xmm19225; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]9226; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9227; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]9228; SSE-NEXT: movaps 480(%rdi), %xmm129229; SSE-NEXT: movaps 480(%rsi), %xmm09230; SSE-NEXT: movaps %xmm12, %xmm139231; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]9232; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]9233; SSE-NEXT: movaps 480(%rdx), %xmm89234; SSE-NEXT: movaps 480(%rcx), %xmm09235; SSE-NEXT: movaps %xmm8, %xmm109236; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]9237; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]9238; SSE-NEXT: movaps 480(%r8), %xmm59239; SSE-NEXT: movaps 480(%r9), %xmm09240; SSE-NEXT: movaps %xmm5, %xmm99241; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm0[0]9242; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]9243; SSE-NEXT: movaps 496(%rdi), %xmm69244; SSE-NEXT: movaps 496(%rsi), %xmm19245; SSE-NEXT: movaps %xmm6, %xmm79246; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm1[0]9247; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]9248; SSE-NEXT: movaps 496(%rdx), %xmm19249; SSE-NEXT: movaps 496(%rcx), %xmm09250; SSE-NEXT: movaps %xmm1, %xmm49251; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]9252; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]9253; SSE-NEXT: movaps 496(%r8), %xmm09254; SSE-NEXT: movaps 496(%r9), %xmm39255; SSE-NEXT: movaps %xmm0, %xmm29256; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]9257; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]9258; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax9259; SSE-NEXT: movaps %xmm0, 3056(%rax)9260; SSE-NEXT: movaps %xmm1, 3040(%rax)9261; SSE-NEXT: movaps %xmm6, 3024(%rax)9262; SSE-NEXT: movaps %xmm2, 3008(%rax)9263; SSE-NEXT: movaps %xmm4, 2992(%rax)9264; SSE-NEXT: movaps %xmm7, 2976(%rax)9265; SSE-NEXT: movaps %xmm5, 2960(%rax)9266; SSE-NEXT: movaps %xmm8, 2944(%rax)9267; SSE-NEXT: movaps %xmm12, 2928(%rax)9268; SSE-NEXT: movaps %xmm9, 2912(%rax)9269; SSE-NEXT: movaps %xmm10, 2896(%rax)9270; SSE-NEXT: movaps %xmm13, 2880(%rax)9271; SSE-NEXT: movaps %xmm11, 2864(%rax)9272; SSE-NEXT: movaps %xmm14, 2848(%rax)9273; SSE-NEXT: movaps %xmm15, 2832(%rax)9274; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9275; SSE-NEXT: movaps %xmm0, 2816(%rax)9276; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9277; SSE-NEXT: movaps %xmm0, 2800(%rax)9278; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9279; SSE-NEXT: movaps %xmm0, 2784(%rax)9280; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9281; SSE-NEXT: movaps %xmm0, 2768(%rax)9282; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9283; SSE-NEXT: movaps %xmm0, 2752(%rax)9284; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9285; SSE-NEXT: movaps %xmm0, 2736(%rax)9286; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9287; SSE-NEXT: movaps %xmm0, 2720(%rax)9288; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9289; SSE-NEXT: movaps %xmm0, 2704(%rax)9290; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload9291; SSE-NEXT: movaps %xmm0, 2688(%rax)9292; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9293; SSE-NEXT: movaps %xmm0, 2672(%rax)9294; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9295; SSE-NEXT: movaps %xmm0, 2656(%rax)9296; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9297; SSE-NEXT: movaps %xmm0, 2640(%rax)9298; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9299; SSE-NEXT: movaps %xmm0, 2624(%rax)9300; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9301; SSE-NEXT: movaps %xmm0, 2608(%rax)9302; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9303; SSE-NEXT: movaps %xmm0, 2592(%rax)9304; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9305; SSE-NEXT: movaps %xmm0, 2576(%rax)9306; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9307; SSE-NEXT: movaps %xmm0, 2560(%rax)9308; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9309; SSE-NEXT: movaps %xmm0, 2544(%rax)9310; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9311; SSE-NEXT: movaps %xmm0, 2528(%rax)9312; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9313; SSE-NEXT: movaps %xmm0, 2512(%rax)9314; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9315; SSE-NEXT: movaps %xmm0, 2496(%rax)9316; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9317; SSE-NEXT: movaps %xmm0, 2480(%rax)9318; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9319; SSE-NEXT: movaps %xmm0, 2464(%rax)9320; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9321; SSE-NEXT: movaps %xmm0, 2448(%rax)9322; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9323; SSE-NEXT: movaps %xmm0, 2432(%rax)9324; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9325; SSE-NEXT: movaps %xmm0, 2416(%rax)9326; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9327; SSE-NEXT: movaps %xmm0, 2400(%rax)9328; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9329; SSE-NEXT: movaps %xmm0, 2384(%rax)9330; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9331; SSE-NEXT: movaps %xmm0, 2368(%rax)9332; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9333; SSE-NEXT: movaps %xmm0, 2352(%rax)9334; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9335; SSE-NEXT: movaps %xmm0, 2336(%rax)9336; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9337; SSE-NEXT: movaps %xmm0, 2320(%rax)9338; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9339; SSE-NEXT: movaps %xmm0, 2304(%rax)9340; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9341; SSE-NEXT: movaps %xmm0, 2288(%rax)9342; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9343; SSE-NEXT: movaps %xmm0, 2272(%rax)9344; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9345; SSE-NEXT: movaps %xmm0, 2256(%rax)9346; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9347; SSE-NEXT: movaps %xmm0, 2240(%rax)9348; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9349; SSE-NEXT: movaps %xmm0, 2224(%rax)9350; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9351; SSE-NEXT: movaps %xmm0, 2208(%rax)9352; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9353; SSE-NEXT: movaps %xmm0, 2192(%rax)9354; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9355; SSE-NEXT: movaps %xmm0, 2176(%rax)9356; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9357; SSE-NEXT: movaps %xmm0, 2160(%rax)9358; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9359; SSE-NEXT: movaps %xmm0, 2144(%rax)9360; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9361; SSE-NEXT: movaps %xmm0, 2128(%rax)9362; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9363; SSE-NEXT: movaps %xmm0, 2112(%rax)9364; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9365; SSE-NEXT: movaps %xmm0, 2096(%rax)9366; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9367; SSE-NEXT: movaps %xmm0, 2080(%rax)9368; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9369; SSE-NEXT: movaps %xmm0, 2064(%rax)9370; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9371; SSE-NEXT: movaps %xmm0, 2048(%rax)9372; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9373; SSE-NEXT: movaps %xmm0, 2032(%rax)9374; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9375; SSE-NEXT: movaps %xmm0, 2016(%rax)9376; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9377; SSE-NEXT: movaps %xmm0, 2000(%rax)9378; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9379; SSE-NEXT: movaps %xmm0, 1984(%rax)9380; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9381; SSE-NEXT: movaps %xmm0, 1968(%rax)9382; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9383; SSE-NEXT: movaps %xmm0, 1952(%rax)9384; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9385; SSE-NEXT: movaps %xmm0, 1936(%rax)9386; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9387; SSE-NEXT: movaps %xmm0, 1920(%rax)9388; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9389; SSE-NEXT: movaps %xmm0, 1904(%rax)9390; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9391; SSE-NEXT: movaps %xmm0, 1888(%rax)9392; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9393; SSE-NEXT: movaps %xmm0, 1872(%rax)9394; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9395; SSE-NEXT: movaps %xmm0, 1856(%rax)9396; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9397; SSE-NEXT: movaps %xmm0, 1840(%rax)9398; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9399; SSE-NEXT: movaps %xmm0, 1824(%rax)9400; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9401; SSE-NEXT: movaps %xmm0, 1808(%rax)9402; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9403; SSE-NEXT: movaps %xmm0, 1792(%rax)9404; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9405; SSE-NEXT: movaps %xmm0, 1776(%rax)9406; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9407; SSE-NEXT: movaps %xmm0, 1760(%rax)9408; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9409; SSE-NEXT: movaps %xmm0, 1744(%rax)9410; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9411; SSE-NEXT: movaps %xmm0, 1728(%rax)9412; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9413; SSE-NEXT: movaps %xmm0, 1712(%rax)9414; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9415; SSE-NEXT: movaps %xmm0, 1696(%rax)9416; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9417; SSE-NEXT: movaps %xmm0, 1680(%rax)9418; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9419; SSE-NEXT: movaps %xmm0, 1664(%rax)9420; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9421; SSE-NEXT: movaps %xmm0, 1648(%rax)9422; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9423; SSE-NEXT: movaps %xmm0, 1632(%rax)9424; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9425; SSE-NEXT: movaps %xmm0, 1616(%rax)9426; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9427; SSE-NEXT: movaps %xmm0, 1600(%rax)9428; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9429; SSE-NEXT: movaps %xmm0, 1584(%rax)9430; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9431; SSE-NEXT: movaps %xmm0, 1568(%rax)9432; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9433; SSE-NEXT: movaps %xmm0, 1552(%rax)9434; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9435; SSE-NEXT: movaps %xmm0, 1536(%rax)9436; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9437; SSE-NEXT: movaps %xmm0, 1520(%rax)9438; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9439; SSE-NEXT: movaps %xmm0, 1504(%rax)9440; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9441; SSE-NEXT: movaps %xmm0, 1488(%rax)9442; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9443; SSE-NEXT: movaps %xmm0, 1472(%rax)9444; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9445; SSE-NEXT: movaps %xmm0, 1456(%rax)9446; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9447; SSE-NEXT: movaps %xmm0, 1440(%rax)9448; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9449; SSE-NEXT: movaps %xmm0, 1424(%rax)9450; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9451; SSE-NEXT: movaps %xmm0, 1408(%rax)9452; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9453; SSE-NEXT: movaps %xmm0, 1392(%rax)9454; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9455; SSE-NEXT: movaps %xmm0, 1376(%rax)9456; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9457; SSE-NEXT: movaps %xmm0, 1360(%rax)9458; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9459; SSE-NEXT: movaps %xmm0, 1344(%rax)9460; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9461; SSE-NEXT: movaps %xmm0, 1328(%rax)9462; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9463; SSE-NEXT: movaps %xmm0, 1312(%rax)9464; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9465; SSE-NEXT: movaps %xmm0, 1296(%rax)9466; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9467; SSE-NEXT: movaps %xmm0, 1280(%rax)9468; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9469; SSE-NEXT: movaps %xmm0, 1264(%rax)9470; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9471; SSE-NEXT: movaps %xmm0, 1248(%rax)9472; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9473; SSE-NEXT: movaps %xmm0, 1232(%rax)9474; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9475; SSE-NEXT: movaps %xmm0, 1216(%rax)9476; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9477; SSE-NEXT: movaps %xmm0, 1200(%rax)9478; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9479; SSE-NEXT: movaps %xmm0, 1184(%rax)9480; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9481; SSE-NEXT: movaps %xmm0, 1168(%rax)9482; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9483; SSE-NEXT: movaps %xmm0, 1152(%rax)9484; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9485; SSE-NEXT: movaps %xmm0, 1136(%rax)9486; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9487; SSE-NEXT: movaps %xmm0, 1120(%rax)9488; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9489; SSE-NEXT: movaps %xmm0, 1104(%rax)9490; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9491; SSE-NEXT: movaps %xmm0, 1088(%rax)9492; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9493; SSE-NEXT: movaps %xmm0, 1072(%rax)9494; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9495; SSE-NEXT: movaps %xmm0, 1056(%rax)9496; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9497; SSE-NEXT: movaps %xmm0, 1040(%rax)9498; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9499; SSE-NEXT: movaps %xmm0, 1024(%rax)9500; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9501; SSE-NEXT: movaps %xmm0, 1008(%rax)9502; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9503; SSE-NEXT: movaps %xmm0, 992(%rax)9504; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9505; SSE-NEXT: movaps %xmm0, 976(%rax)9506; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9507; SSE-NEXT: movaps %xmm0, 960(%rax)9508; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9509; SSE-NEXT: movaps %xmm0, 944(%rax)9510; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9511; SSE-NEXT: movaps %xmm0, 928(%rax)9512; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9513; SSE-NEXT: movaps %xmm0, 912(%rax)9514; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9515; SSE-NEXT: movaps %xmm0, 896(%rax)9516; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9517; SSE-NEXT: movaps %xmm0, 880(%rax)9518; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9519; SSE-NEXT: movaps %xmm0, 864(%rax)9520; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9521; SSE-NEXT: movaps %xmm0, 848(%rax)9522; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9523; SSE-NEXT: movaps %xmm0, 832(%rax)9524; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9525; SSE-NEXT: movaps %xmm0, 816(%rax)9526; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9527; SSE-NEXT: movaps %xmm0, 800(%rax)9528; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9529; SSE-NEXT: movaps %xmm0, 784(%rax)9530; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9531; SSE-NEXT: movaps %xmm0, 768(%rax)9532; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9533; SSE-NEXT: movaps %xmm0, 752(%rax)9534; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9535; SSE-NEXT: movaps %xmm0, 736(%rax)9536; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9537; SSE-NEXT: movaps %xmm0, 720(%rax)9538; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9539; SSE-NEXT: movaps %xmm0, 704(%rax)9540; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9541; SSE-NEXT: movaps %xmm0, 688(%rax)9542; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9543; SSE-NEXT: movaps %xmm0, 672(%rax)9544; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9545; SSE-NEXT: movaps %xmm0, 656(%rax)9546; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9547; SSE-NEXT: movaps %xmm0, 640(%rax)9548; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9549; SSE-NEXT: movaps %xmm0, 624(%rax)9550; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9551; SSE-NEXT: movaps %xmm0, 608(%rax)9552; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9553; SSE-NEXT: movaps %xmm0, 592(%rax)9554; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9555; SSE-NEXT: movaps %xmm0, 576(%rax)9556; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9557; SSE-NEXT: movaps %xmm0, 560(%rax)9558; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9559; SSE-NEXT: movaps %xmm0, 544(%rax)9560; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9561; SSE-NEXT: movaps %xmm0, 528(%rax)9562; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9563; SSE-NEXT: movaps %xmm0, 512(%rax)9564; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9565; SSE-NEXT: movaps %xmm0, 496(%rax)9566; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9567; SSE-NEXT: movaps %xmm0, 480(%rax)9568; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9569; SSE-NEXT: movaps %xmm0, 464(%rax)9570; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9571; SSE-NEXT: movaps %xmm0, 448(%rax)9572; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9573; SSE-NEXT: movaps %xmm0, 432(%rax)9574; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9575; SSE-NEXT: movaps %xmm0, 416(%rax)9576; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9577; SSE-NEXT: movaps %xmm0, 400(%rax)9578; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9579; SSE-NEXT: movaps %xmm0, 384(%rax)9580; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9581; SSE-NEXT: movaps %xmm0, 368(%rax)9582; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9583; SSE-NEXT: movaps %xmm0, 352(%rax)9584; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9585; SSE-NEXT: movaps %xmm0, 336(%rax)9586; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9587; SSE-NEXT: movaps %xmm0, 320(%rax)9588; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9589; SSE-NEXT: movaps %xmm0, 304(%rax)9590; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9591; SSE-NEXT: movaps %xmm0, 288(%rax)9592; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9593; SSE-NEXT: movaps %xmm0, 272(%rax)9594; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9595; SSE-NEXT: movaps %xmm0, 256(%rax)9596; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9597; SSE-NEXT: movaps %xmm0, 240(%rax)9598; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9599; SSE-NEXT: movaps %xmm0, 224(%rax)9600; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9601; SSE-NEXT: movaps %xmm0, 208(%rax)9602; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9603; SSE-NEXT: movaps %xmm0, 192(%rax)9604; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9605; SSE-NEXT: movaps %xmm0, 176(%rax)9606; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9607; SSE-NEXT: movaps %xmm0, 160(%rax)9608; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9609; SSE-NEXT: movaps %xmm0, 144(%rax)9610; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9611; SSE-NEXT: movaps %xmm0, 128(%rax)9612; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9613; SSE-NEXT: movaps %xmm0, 112(%rax)9614; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9615; SSE-NEXT: movaps %xmm0, 96(%rax)9616; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9617; SSE-NEXT: movaps %xmm0, 80(%rax)9618; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9619; SSE-NEXT: movaps %xmm0, 64(%rax)9620; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9621; SSE-NEXT: movaps %xmm0, 48(%rax)9622; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9623; SSE-NEXT: movaps %xmm0, 32(%rax)9624; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9625; SSE-NEXT: movaps %xmm0, 16(%rax)9626; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9627; SSE-NEXT: movaps %xmm0, (%rax)9628; SSE-NEXT: addq $2712, %rsp # imm = 0xA989629; SSE-NEXT: retq9630;9631; AVX-LABEL: store_i64_stride6_vf64:9632; AVX: # %bb.0:9633; AVX-NEXT: subq $3464, %rsp # imm = 0xD889634; AVX-NEXT: vmovaps 32(%r8), %ymm79635; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9636; AVX-NEXT: vmovapd (%r8), %ymm09637; AVX-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]9638; AVX-NEXT: vmovaps (%rsi), %xmm29639; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9640; AVX-NEXT: vmovaps 32(%rsi), %xmm59641; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9642; AVX-NEXT: vmovaps 64(%rsi), %xmm69643; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9644; AVX-NEXT: vmovaps (%rdi), %xmm39645; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9646; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]9647; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm39648; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm0[0,1],ymm3[2,3]9649; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm3[0],ymm1[1],ymm3[2,3]9650; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9651; AVX-NEXT: vmovaps (%rcx), %xmm29652; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9653; AVX-NEXT: vmovaps (%rdx), %xmm19654; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9655; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9656; AVX-NEXT: vinsertf128 $1, (%r9), %ymm1, %ymm39657; AVX-NEXT: vbroadcastsd 8(%r8), %ymm49658; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]9659; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5],ymm3[6,7]9660; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9661; AVX-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]9662; AVX-NEXT: vmovaps 32(%rdi), %xmm29663; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9664; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm2[1],xmm5[1]9665; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm39666; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]9667; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5,6,7]9668; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9669; AVX-NEXT: vmovaps 32(%rcx), %xmm29670; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9671; AVX-NEXT: vmovaps 32(%rdx), %xmm19672; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9673; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9674; AVX-NEXT: vbroadcastsd 40(%r8), %ymm39675; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9676; AVX-NEXT: vinsertf128 $1, 32(%r9), %ymm1, %ymm19677; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9678; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9679; AVX-NEXT: vmovaps 64(%rdi), %xmm19680; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9681; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm6[1]9682; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19683; AVX-NEXT: vmovapd 64(%r8), %ymm159684; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm15[0,1],ymm1[2,3]9685; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9686; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9687; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9688; AVX-NEXT: vmovaps 64(%rcx), %xmm29689; AVX-NEXT: vmovaps %xmm2, (%rsp) # 16-byte Spill9690; AVX-NEXT: vmovaps 64(%rdx), %xmm19691; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9692; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9693; AVX-NEXT: vbroadcastsd 72(%r8), %ymm39694; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9695; AVX-NEXT: vinsertf128 $1, 64(%r9), %ymm1, %ymm19696; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9697; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9698; AVX-NEXT: vmovaps 96(%rsi), %xmm29699; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9700; AVX-NEXT: vmovaps 96(%rdi), %xmm19701; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9702; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9703; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19704; AVX-NEXT: vmovapd 96(%r8), %ymm99705; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm9[0,1],ymm1[2,3]9706; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9707; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9708; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9709; AVX-NEXT: vmovaps 96(%rcx), %xmm29710; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9711; AVX-NEXT: vmovaps 96(%rdx), %xmm19712; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9713; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9714; AVX-NEXT: vbroadcastsd 104(%r8), %ymm39715; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9716; AVX-NEXT: vinsertf128 $1, 96(%r9), %ymm1, %ymm19717; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9718; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9719; AVX-NEXT: vmovaps 128(%rsi), %xmm29720; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9721; AVX-NEXT: vmovaps 128(%rdi), %xmm19722; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9723; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9724; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19725; AVX-NEXT: vmovaps 128(%r8), %ymm29726; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9727; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9728; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9729; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5,6,7]9730; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9731; AVX-NEXT: vmovaps 128(%rcx), %xmm29732; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9733; AVX-NEXT: vmovaps 128(%rdx), %xmm19734; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9735; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9736; AVX-NEXT: vbroadcastsd 136(%r8), %ymm39737; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9738; AVX-NEXT: vinsertf128 $1, 128(%r9), %ymm1, %ymm19739; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9740; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9741; AVX-NEXT: vmovaps 160(%rsi), %xmm29742; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9743; AVX-NEXT: vmovaps 160(%rdi), %xmm19744; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9745; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9746; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19747; AVX-NEXT: vmovapd 160(%r8), %ymm89748; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm8[0,1],ymm1[2,3]9749; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9750; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9751; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9752; AVX-NEXT: vmovaps 160(%rcx), %xmm29753; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9754; AVX-NEXT: vmovaps 160(%rdx), %xmm19755; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9756; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9757; AVX-NEXT: vbroadcastsd 168(%r8), %ymm39758; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9759; AVX-NEXT: vinsertf128 $1, 160(%r9), %ymm1, %ymm19760; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9761; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9762; AVX-NEXT: vmovaps 192(%rsi), %xmm29763; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9764; AVX-NEXT: vmovaps 192(%rdi), %xmm19765; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9766; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9767; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19768; AVX-NEXT: vmovapd 192(%r8), %ymm79769; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm7[0,1],ymm1[2,3]9770; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9771; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9772; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9773; AVX-NEXT: vmovaps 192(%rcx), %xmm29774; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9775; AVX-NEXT: vmovaps 192(%rdx), %xmm19776; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9777; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9778; AVX-NEXT: vbroadcastsd 200(%r8), %ymm39779; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9780; AVX-NEXT: vinsertf128 $1, 192(%r9), %ymm1, %ymm19781; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9782; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9783; AVX-NEXT: vmovaps 224(%rsi), %xmm29784; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9785; AVX-NEXT: vmovaps 224(%rdi), %xmm19786; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9787; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9788; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19789; AVX-NEXT: vmovapd 224(%r8), %ymm119790; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm11[0,1],ymm1[2,3]9791; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9792; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9793; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9794; AVX-NEXT: vmovaps 224(%rcx), %xmm29795; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9796; AVX-NEXT: vmovaps 224(%rdx), %xmm19797; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9798; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9799; AVX-NEXT: vbroadcastsd 232(%r8), %ymm39800; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9801; AVX-NEXT: vinsertf128 $1, 224(%r9), %ymm1, %ymm19802; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9803; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9804; AVX-NEXT: vmovaps 256(%rsi), %xmm29805; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9806; AVX-NEXT: vmovaps 256(%rdi), %xmm19807; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9808; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9809; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19810; AVX-NEXT: vmovaps 256(%r8), %ymm29811; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9812; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9813; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9814; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5,6,7]9815; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9816; AVX-NEXT: vmovaps 256(%rcx), %xmm29817; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9818; AVX-NEXT: vmovaps 256(%rdx), %xmm19819; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9820; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9821; AVX-NEXT: vbroadcastsd 264(%r8), %ymm39822; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9823; AVX-NEXT: vinsertf128 $1, 256(%r9), %ymm1, %ymm19824; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9825; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9826; AVX-NEXT: vmovaps 288(%rsi), %xmm29827; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9828; AVX-NEXT: vmovaps 288(%rdi), %xmm19829; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9830; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9831; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19832; AVX-NEXT: vmovaps 288(%r8), %ymm29833; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9834; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9835; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9836; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5,6,7]9837; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9838; AVX-NEXT: vmovaps 288(%rcx), %xmm29839; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9840; AVX-NEXT: vmovaps 288(%rdx), %xmm19841; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9842; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9843; AVX-NEXT: vbroadcastsd 296(%r8), %ymm39844; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9845; AVX-NEXT: vinsertf128 $1, 288(%r9), %ymm1, %ymm19846; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9847; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9848; AVX-NEXT: vmovaps 320(%rsi), %xmm29849; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9850; AVX-NEXT: vmovaps 320(%rdi), %xmm19851; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9852; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9853; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19854; AVX-NEXT: vmovaps 320(%r8), %ymm29855; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9856; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9857; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9858; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5,6,7]9859; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9860; AVX-NEXT: vmovaps 320(%rcx), %xmm29861; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9862; AVX-NEXT: vmovaps 320(%rdx), %xmm19863; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9864; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9865; AVX-NEXT: vbroadcastsd 328(%r8), %ymm39866; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9867; AVX-NEXT: vinsertf128 $1, 320(%r9), %ymm1, %ymm19868; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9869; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9870; AVX-NEXT: vmovaps 352(%rsi), %xmm29871; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9872; AVX-NEXT: vmovaps 352(%rdi), %xmm19873; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9874; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9875; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19876; AVX-NEXT: vmovaps 352(%r8), %ymm29877; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9878; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9879; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9880; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm3[2,3],ymm1[4,5,6,7]9881; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9882; AVX-NEXT: vmovaps 352(%rcx), %xmm29883; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9884; AVX-NEXT: vmovaps 352(%rdx), %xmm19885; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9886; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9887; AVX-NEXT: vbroadcastsd 360(%r8), %ymm39888; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9889; AVX-NEXT: vinsertf128 $1, 352(%r9), %ymm1, %ymm19890; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9891; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9892; AVX-NEXT: vmovaps 384(%rsi), %xmm29893; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9894; AVX-NEXT: vmovaps 384(%rdi), %xmm19895; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9896; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9897; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19898; AVX-NEXT: vmovapd 384(%r8), %ymm129899; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm12[0,1],ymm1[2,3]9900; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9901; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9902; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9903; AVX-NEXT: vmovaps 384(%rcx), %xmm29904; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9905; AVX-NEXT: vmovaps 384(%rdx), %xmm19906; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9907; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9908; AVX-NEXT: vbroadcastsd 392(%r8), %ymm39909; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9910; AVX-NEXT: vinsertf128 $1, 384(%r9), %ymm1, %ymm19911; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9912; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9913; AVX-NEXT: vmovaps 416(%rsi), %xmm29914; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9915; AVX-NEXT: vmovaps 416(%rdi), %xmm19916; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9917; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9918; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19919; AVX-NEXT: vmovapd 416(%r8), %ymm139920; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm13[0,1],ymm1[2,3]9921; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9922; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9923; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9924; AVX-NEXT: vmovaps 416(%rcx), %xmm29925; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9926; AVX-NEXT: vmovaps 416(%rdx), %xmm19927; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9928; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9929; AVX-NEXT: vbroadcastsd 424(%r8), %ymm39930; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9931; AVX-NEXT: vinsertf128 $1, 416(%r9), %ymm1, %ymm19932; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9933; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9934; AVX-NEXT: vmovaps 448(%rsi), %xmm29935; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9936; AVX-NEXT: vmovaps 448(%rdi), %xmm19937; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9938; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9939; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm19940; AVX-NEXT: vmovapd 448(%r8), %ymm149941; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm14[0,1],ymm1[2,3]9942; AVX-NEXT: vmovddup {{.*#+}} xmm3 = mem[0,0]9943; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]9944; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9945; AVX-NEXT: vmovaps 448(%rcx), %xmm29946; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9947; AVX-NEXT: vmovaps 448(%rdx), %xmm19948; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9949; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9950; AVX-NEXT: vbroadcastsd 456(%r8), %ymm39951; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm3[4,5,6,7]9952; AVX-NEXT: vinsertf128 $1, 448(%r9), %ymm1, %ymm19953; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3],ymm3[4,5],ymm1[6,7]9954; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9955; AVX-NEXT: vmovaps 480(%rsi), %xmm29956; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9957; AVX-NEXT: vmovaps 480(%rdi), %xmm19958; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9959; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]9960; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm39961; AVX-NEXT: vmovapd 480(%r8), %ymm59962; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3]9963; AVX-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]9964; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm3[0],ymm2[1],ymm3[2,3]9965; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9966; AVX-NEXT: vmovaps 480(%rcx), %xmm19967; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9968; AVX-NEXT: vmovaps 480(%rdx), %xmm29969; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9970; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]9971; AVX-NEXT: vbroadcastsd 488(%r8), %ymm39972; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1,2,3],ymm3[4,5,6,7]9973; AVX-NEXT: vinsertf128 $1, 480(%r9), %ymm2, %ymm29974; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]9975; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9976; AVX-NEXT: vmovapd (%rdi), %ymm29977; AVX-NEXT: vmovapd (%rsi), %ymm39978; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]9979; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3],ymm2[2,3]9980; AVX-NEXT: vmovapd (%r9), %ymm49981; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]9982; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm2[0],ymm3[0],ymm2[2],ymm3[3]9983; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9984; AVX-NEXT: vmovapd 32(%rdi), %ymm29985; AVX-NEXT: vmovapd 32(%rsi), %ymm39986; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]9987; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload9988; AVX-NEXT: # ymm0 = mem[2,3],ymm2[2,3]9989; AVX-NEXT: vmovapd 32(%r9), %ymm69990; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm6[2,3],ymm3[2,3]9991; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[3]9992; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9993; AVX-NEXT: vmovapd 64(%rdi), %ymm09994; AVX-NEXT: vmovapd 64(%rsi), %ymm39995; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]9996; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]9997; AVX-NEXT: vmovapd 64(%r9), %ymm159998; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm15[2,3],ymm3[2,3]9999; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[3]10000; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10001; AVX-NEXT: vmovapd 96(%rdi), %ymm310002; AVX-NEXT: vmovapd 96(%rsi), %ymm010003; AVX-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm0[1],ymm3[3],ymm0[3]10004; AVX-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm3[2,3]10005; AVX-NEXT: vmovapd 96(%r9), %ymm310006; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]10007; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm9[0],ymm0[0],ymm9[2],ymm0[3]10008; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10009; AVX-NEXT: vmovapd 128(%rdi), %ymm910010; AVX-NEXT: vmovapd 128(%rsi), %ymm010011; AVX-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm0[1],ymm9[3],ymm0[3]10012; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm1 # 32-byte Folded Reload10013; AVX-NEXT: # ymm1 = mem[2,3],ymm9[2,3]10014; AVX-NEXT: vmovapd 128(%r9), %ymm910015; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm0[2,3]10016; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]10017; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10018; AVX-NEXT: vmovapd 160(%rdi), %ymm010019; AVX-NEXT: vmovapd 160(%rsi), %ymm110020; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10021; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm8[2,3],ymm0[2,3]10022; AVX-NEXT: vmovapd 160(%r9), %ymm810023; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]10024; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10025; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10026; AVX-NEXT: vmovapd 192(%rdi), %ymm010027; AVX-NEXT: vmovapd 192(%rsi), %ymm110028; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10029; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm0[2,3]10030; AVX-NEXT: vmovapd 192(%r9), %ymm710031; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm7[2,3],ymm1[2,3]10032; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10033; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10034; AVX-NEXT: vmovapd 224(%rdi), %ymm010035; AVX-NEXT: vmovapd 224(%rsi), %ymm110036; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10037; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]10038; AVX-NEXT: vmovapd 224(%r9), %ymm1010039; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm10[2,3],ymm1[2,3]10040; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10041; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10042; AVX-NEXT: vmovapd 256(%rdi), %ymm110043; AVX-NEXT: vmovapd 256(%rsi), %ymm010044; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]10045; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload10046; AVX-NEXT: # ymm1 = mem[2,3],ymm1[2,3]10047; AVX-NEXT: vmovapd 256(%r9), %ymm1110048; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]10049; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]10050; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10051; AVX-NEXT: vmovapd 288(%rdi), %ymm010052; AVX-NEXT: vmovapd 288(%rsi), %ymm110053; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10054; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10055; AVX-NEXT: # ymm0 = mem[2,3],ymm0[2,3]10056; AVX-NEXT: vmovapd 288(%r9), %ymm210057; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10058; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]10059; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10060; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10061; AVX-NEXT: vmovapd 320(%rdi), %ymm110062; AVX-NEXT: vmovapd 320(%rsi), %ymm010063; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]10064; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload10065; AVX-NEXT: # ymm1 = mem[2,3],ymm1[2,3]10066; AVX-NEXT: vmovapd 320(%r9), %ymm210067; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10068; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]10069; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]10070; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10071; AVX-NEXT: vmovapd 352(%rdi), %ymm010072; AVX-NEXT: vmovapd 352(%rsi), %ymm110073; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10074; AVX-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload10075; AVX-NEXT: # ymm2 = mem[2,3],ymm0[2,3]10076; AVX-NEXT: vmovapd 352(%r9), %ymm010077; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10078; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm0[2,3],ymm1[2,3]10079; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[3]10080; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10081; AVX-NEXT: vmovapd 384(%rdi), %ymm010082; AVX-NEXT: vmovapd 384(%rsi), %ymm110083; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10084; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm12[2,3],ymm0[2,3]10085; AVX-NEXT: vmovapd 384(%r9), %ymm1210086; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm12[2,3],ymm1[2,3]10087; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10088; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10089; AVX-NEXT: vmovapd 416(%rdi), %ymm010090; AVX-NEXT: vmovapd 416(%rsi), %ymm110091; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10092; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]10093; AVX-NEXT: vmovapd 416(%r9), %ymm1310094; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm13[2,3],ymm1[2,3]10095; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10096; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10097; AVX-NEXT: vmovapd 448(%rdi), %ymm010098; AVX-NEXT: vmovapd 448(%rsi), %ymm110099; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10100; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]10101; AVX-NEXT: vmovapd 448(%r9), %ymm1410102; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]10103; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10104; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10105; AVX-NEXT: vmovapd 480(%rdi), %ymm010106; AVX-NEXT: vmovapd 480(%rsi), %ymm110107; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]10108; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm0[2,3]10109; AVX-NEXT: vmovapd 480(%r9), %ymm510110; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]10111; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[3]10112; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10113; AVX-NEXT: vmovaps 16(%rdi), %xmm010114; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10115; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10116; AVX-NEXT: vbroadcastsd 16(%rcx), %ymm110117; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10118; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10119; AVX-NEXT: vmovapd 16(%rdx), %xmm010120; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10121; AVX-NEXT: vbroadcastsd 24(%r8), %ymm110122; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10123; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm4[3]10124; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10125; AVX-NEXT: vmovaps 48(%rdi), %xmm010126; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10127; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10128; AVX-NEXT: vbroadcastsd 48(%rcx), %ymm110129; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10130; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10131; AVX-NEXT: vmovapd 48(%rdx), %xmm010132; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10133; AVX-NEXT: vbroadcastsd 56(%r8), %ymm110134; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10135; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm6[3]10136; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10137; AVX-NEXT: vmovaps 80(%rdi), %xmm010138; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10139; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10140; AVX-NEXT: vbroadcastsd 80(%rcx), %ymm110141; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10142; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10143; AVX-NEXT: vmovapd 80(%rdx), %xmm010144; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10145; AVX-NEXT: vbroadcastsd 88(%r8), %ymm110146; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10147; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3]10148; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10149; AVX-NEXT: vmovaps 112(%rdi), %xmm010150; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10151; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10152; AVX-NEXT: vbroadcastsd 112(%rcx), %ymm110153; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10154; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10155; AVX-NEXT: vmovapd 112(%rdx), %xmm010156; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10157; AVX-NEXT: vbroadcastsd 120(%r8), %ymm110158; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10159; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm3[3]10160; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10161; AVX-NEXT: vmovaps 144(%rdi), %xmm010162; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10163; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10164; AVX-NEXT: vbroadcastsd 144(%rcx), %ymm110165; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10166; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10167; AVX-NEXT: vmovapd 144(%rdx), %xmm010168; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10169; AVX-NEXT: vbroadcastsd 152(%r8), %ymm110170; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10171; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm9[3]10172; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10173; AVX-NEXT: vmovaps 176(%rdi), %xmm010174; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10175; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10176; AVX-NEXT: vbroadcastsd 176(%rcx), %ymm110177; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10178; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10179; AVX-NEXT: vmovapd 176(%rdx), %xmm010180; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10181; AVX-NEXT: vbroadcastsd 184(%r8), %ymm110182; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10183; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm8[3]10184; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10185; AVX-NEXT: vmovaps 208(%rdi), %xmm010186; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10187; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10188; AVX-NEXT: vbroadcastsd 208(%rcx), %ymm110189; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10190; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10191; AVX-NEXT: vmovapd 208(%rdx), %xmm010192; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10193; AVX-NEXT: vbroadcastsd 216(%r8), %ymm110194; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10195; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm7[3]10196; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10197; AVX-NEXT: vmovaps 240(%rdi), %xmm010198; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10199; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10200; AVX-NEXT: vbroadcastsd 240(%rcx), %ymm110201; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10202; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10203; AVX-NEXT: vmovapd 240(%rdx), %xmm010204; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10205; AVX-NEXT: vbroadcastsd 248(%r8), %ymm110206; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10207; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm10[3]10208; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10209; AVX-NEXT: vmovaps 272(%rdi), %xmm010210; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10211; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10212; AVX-NEXT: vbroadcastsd 272(%rcx), %ymm110213; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10214; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10215; AVX-NEXT: vmovapd 272(%rdx), %xmm010216; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10217; AVX-NEXT: vbroadcastsd 280(%r8), %ymm110218; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10219; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm11[3]10220; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10221; AVX-NEXT: vmovaps 304(%rdi), %xmm010222; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10223; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10224; AVX-NEXT: vbroadcastsd 304(%rcx), %ymm110225; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10226; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10227; AVX-NEXT: vmovaps 304(%rdx), %xmm010228; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10229; AVX-NEXT: vbroadcastsd 312(%r8), %ymm110230; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10231; AVX-NEXT: vblendps $192, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10232; AVX-NEXT: # ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10233; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10234; AVX-NEXT: vmovaps 336(%rdi), %xmm010235; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10236; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10237; AVX-NEXT: vbroadcastsd 336(%rcx), %ymm110238; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10239; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10240; AVX-NEXT: vmovaps 336(%rdx), %xmm010241; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10242; AVX-NEXT: vbroadcastsd 344(%r8), %ymm110243; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10244; AVX-NEXT: vblendps $192, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10245; AVX-NEXT: # ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10246; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10247; AVX-NEXT: vmovaps 368(%rdi), %xmm010248; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10249; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10250; AVX-NEXT: vbroadcastsd 368(%rcx), %ymm110251; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10252; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10253; AVX-NEXT: vmovaps 368(%rdx), %xmm010254; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10255; AVX-NEXT: vbroadcastsd 376(%r8), %ymm110256; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10257; AVX-NEXT: vblendps $192, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10258; AVX-NEXT: # ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]10259; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10260; AVX-NEXT: vmovaps 400(%rdi), %xmm010261; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10262; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10263; AVX-NEXT: vbroadcastsd 400(%rcx), %ymm110264; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10265; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10266; AVX-NEXT: vmovapd 400(%rdx), %xmm010267; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10268; AVX-NEXT: vbroadcastsd 408(%r8), %ymm110269; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10270; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm12[3]10271; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10272; AVX-NEXT: vmovaps 432(%rdi), %xmm010273; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10274; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10275; AVX-NEXT: vbroadcastsd 432(%rcx), %ymm110276; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10277; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10278; AVX-NEXT: vmovapd 432(%rdx), %xmm010279; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10280; AVX-NEXT: vbroadcastsd 440(%r8), %ymm110281; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10282; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm13[3]10283; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10284; AVX-NEXT: vmovaps 464(%rdi), %xmm010285; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10286; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10287; AVX-NEXT: vbroadcastsd 464(%rcx), %ymm110288; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10289; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10290; AVX-NEXT: vmovapd 464(%rdx), %xmm010291; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10292; AVX-NEXT: vbroadcastsd 472(%r8), %ymm110293; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10294; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm14[3]10295; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10296; AVX-NEXT: vmovaps 496(%rdi), %xmm010297; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]10298; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],mem[4,5,6,7]10299; AVX-NEXT: vbroadcastsd 496(%rcx), %ymm110300; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10301; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10302; AVX-NEXT: vmovapd 496(%rdx), %xmm010303; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]10304; AVX-NEXT: vbroadcastsd 504(%r8), %ymm110305; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]10306; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm5[3]10307; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10308; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10309; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10310; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10311; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10312; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10313; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10314; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10315; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10316; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10317; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10318; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10319; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10320; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10321; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10322; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10323; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10324; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10325; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10326; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10327; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10328; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10329; AVX-NEXT: vunpcklpd (%rsp), %xmm0, %xmm0 # 16-byte Folded Reload10330; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10331; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10332; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10333; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10334; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10335; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10336; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10337; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10338; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10339; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10340; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10341; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10342; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10343; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10344; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10345; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10346; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10347; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10348; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10349; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10350; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10351; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10352; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10353; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10354; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10355; AVX-NEXT: vmovaps %xmm0, (%rsp) # 16-byte Spill10356; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10357; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10358; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10359; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10360; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10361; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10362; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10363; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10364; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10365; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10366; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10367; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10368; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10369; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10370; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10371; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10372; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10373; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm15 # 16-byte Folded Reload10374; AVX-NEXT: # xmm15 = xmm0[0],mem[0]10375; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10376; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm14 # 16-byte Folded Reload10377; AVX-NEXT: # xmm14 = xmm0[0],mem[0]10378; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10379; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm13 # 16-byte Folded Reload10380; AVX-NEXT: # xmm13 = xmm0[0],mem[0]10381; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10382; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload10383; AVX-NEXT: # xmm12 = xmm0[0],mem[0]10384; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10385; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload10386; AVX-NEXT: # xmm11 = xmm0[0],mem[0]10387; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10388; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm10 # 16-byte Folded Reload10389; AVX-NEXT: # xmm10 = xmm0[0],mem[0]10390; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10391; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload10392; AVX-NEXT: # xmm9 = xmm0[0],mem[0]10393; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10394; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm8 # 16-byte Folded Reload10395; AVX-NEXT: # xmm8 = xmm0[0],mem[0]10396; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10397; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload10398; AVX-NEXT: # xmm7 = xmm0[0],mem[0]10399; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10400; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload10401; AVX-NEXT: # xmm6 = xmm0[0],mem[0]10402; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10403; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload10404; AVX-NEXT: # xmm5 = xmm0[0],mem[0]10405; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10406; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload10407; AVX-NEXT: # xmm4 = xmm0[0],mem[0]10408; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10409; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload10410; AVX-NEXT: # xmm3 = xmm0[0],mem[0]10411; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10412; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload10413; AVX-NEXT: # xmm2 = xmm0[0],mem[0]10414; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10415; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload10416; AVX-NEXT: # xmm1 = xmm0[0],mem[0]10417; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10418; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10419; AVX-NEXT: # xmm0 = xmm0[0],mem[0]10420; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax10421; AVX-NEXT: vmovaps %xmm0, 16(%rax)10422; AVX-NEXT: vmovaps %xmm1, (%rax)10423; AVX-NEXT: vmovaps %xmm2, 2320(%rax)10424; AVX-NEXT: vmovaps %xmm3, 2304(%rax)10425; AVX-NEXT: vmovaps %xmm4, 2704(%rax)10426; AVX-NEXT: vmovaps %xmm5, 2688(%rax)10427; AVX-NEXT: vmovaps %xmm6, 2896(%rax)10428; AVX-NEXT: vmovaps %xmm7, 2880(%rax)10429; AVX-NEXT: vmovaps %xmm8, 2512(%rax)10430; AVX-NEXT: vmovaps %xmm9, 2496(%rax)10431; AVX-NEXT: vmovaps %xmm10, 1936(%rax)10432; AVX-NEXT: vmovaps %xmm11, 1920(%rax)10433; AVX-NEXT: vmovaps %xmm12, 2128(%rax)10434; AVX-NEXT: vmovaps %xmm13, 2112(%rax)10435; AVX-NEXT: vmovaps %xmm14, 1744(%rax)10436; AVX-NEXT: vmovaps %xmm15, 1728(%rax)10437; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10438; AVX-NEXT: vmovaps %xmm0, 1168(%rax)10439; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10440; AVX-NEXT: vmovaps %xmm0, 1152(%rax)10441; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10442; AVX-NEXT: vmovaps %xmm0, 1360(%rax)10443; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10444; AVX-NEXT: vmovaps %xmm0, 1344(%rax)10445; AVX-NEXT: vmovaps (%rsp), %xmm0 # 16-byte Reload10446; AVX-NEXT: vmovaps %xmm0, 976(%rax)10447; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10448; AVX-NEXT: vmovaps %xmm0, 960(%rax)10449; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10450; AVX-NEXT: vmovaps %xmm0, 592(%rax)10451; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10452; AVX-NEXT: vmovaps %xmm0, 576(%rax)10453; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10454; AVX-NEXT: vmovaps %xmm0, 208(%rax)10455; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10456; AVX-NEXT: vmovaps %xmm0, 192(%rax)10457; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10458; AVX-NEXT: vmovaps %xmm0, 400(%rax)10459; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10460; AVX-NEXT: vmovaps %xmm0, 384(%rax)10461; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10462; AVX-NEXT: vmovaps %xmm0, 784(%rax)10463; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10464; AVX-NEXT: vmovaps %xmm0, 768(%rax)10465; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10466; AVX-NEXT: vmovaps %xmm0, 1552(%rax)10467; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10468; AVX-NEXT: vmovaps %xmm0, 1536(%rax)10469; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10470; AVX-NEXT: vmovaps %ymm0, 3008(%rax)10471; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10472; AVX-NEXT: vmovaps %ymm0, 2816(%rax)10473; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10474; AVX-NEXT: vmovaps %ymm0, 2624(%rax)10475; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10476; AVX-NEXT: vmovaps %ymm0, 2432(%rax)10477; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10478; AVX-NEXT: vmovaps %ymm0, 2240(%rax)10479; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10480; AVX-NEXT: vmovaps %ymm0, 2048(%rax)10481; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10482; AVX-NEXT: vmovaps %ymm0, 1856(%rax)10483; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10484; AVX-NEXT: vmovaps %ymm0, 1664(%rax)10485; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10486; AVX-NEXT: vmovaps %ymm0, 1472(%rax)10487; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10488; AVX-NEXT: vmovaps %ymm0, 1280(%rax)10489; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10490; AVX-NEXT: vmovaps %ymm0, 1088(%rax)10491; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10492; AVX-NEXT: vmovaps %ymm0, 896(%rax)10493; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10494; AVX-NEXT: vmovaps %ymm0, 704(%rax)10495; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10496; AVX-NEXT: vmovaps %ymm0, 512(%rax)10497; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10498; AVX-NEXT: vmovaps %ymm0, 320(%rax)10499; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10500; AVX-NEXT: vmovaps %ymm0, 128(%rax)10501; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10502; AVX-NEXT: vmovaps %ymm0, 3040(%rax)10503; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10504; AVX-NEXT: vmovaps %ymm0, 2976(%rax)10505; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10506; AVX-NEXT: vmovaps %ymm0, 2944(%rax)10507; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10508; AVX-NEXT: vmovaps %ymm0, 2912(%rax)10509; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10510; AVX-NEXT: vmovaps %ymm0, 2848(%rax)10511; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10512; AVX-NEXT: vmovaps %ymm0, 2784(%rax)10513; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10514; AVX-NEXT: vmovaps %ymm0, 2752(%rax)10515; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10516; AVX-NEXT: vmovaps %ymm0, 2720(%rax)10517; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10518; AVX-NEXT: vmovaps %ymm0, 2656(%rax)10519; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10520; AVX-NEXT: vmovaps %ymm0, 2592(%rax)10521; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10522; AVX-NEXT: vmovaps %ymm0, 2560(%rax)10523; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10524; AVX-NEXT: vmovaps %ymm0, 2528(%rax)10525; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10526; AVX-NEXT: vmovaps %ymm0, 2464(%rax)10527; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10528; AVX-NEXT: vmovaps %ymm0, 2400(%rax)10529; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10530; AVX-NEXT: vmovaps %ymm0, 2368(%rax)10531; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10532; AVX-NEXT: vmovaps %ymm0, 2336(%rax)10533; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10534; AVX-NEXT: vmovaps %ymm0, 2272(%rax)10535; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10536; AVX-NEXT: vmovaps %ymm0, 2208(%rax)10537; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10538; AVX-NEXT: vmovaps %ymm0, 2176(%rax)10539; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10540; AVX-NEXT: vmovaps %ymm0, 2144(%rax)10541; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10542; AVX-NEXT: vmovaps %ymm0, 2080(%rax)10543; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10544; AVX-NEXT: vmovaps %ymm0, 2016(%rax)10545; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10546; AVX-NEXT: vmovaps %ymm0, 1984(%rax)10547; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10548; AVX-NEXT: vmovaps %ymm0, 1952(%rax)10549; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10550; AVX-NEXT: vmovaps %ymm0, 1888(%rax)10551; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10552; AVX-NEXT: vmovaps %ymm0, 1824(%rax)10553; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10554; AVX-NEXT: vmovaps %ymm0, 1792(%rax)10555; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10556; AVX-NEXT: vmovaps %ymm0, 1760(%rax)10557; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10558; AVX-NEXT: vmovaps %ymm0, 1696(%rax)10559; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10560; AVX-NEXT: vmovaps %ymm0, 1632(%rax)10561; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10562; AVX-NEXT: vmovaps %ymm0, 1600(%rax)10563; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10564; AVX-NEXT: vmovaps %ymm0, 1568(%rax)10565; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10566; AVX-NEXT: vmovaps %ymm0, 1504(%rax)10567; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10568; AVX-NEXT: vmovaps %ymm0, 1440(%rax)10569; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10570; AVX-NEXT: vmovaps %ymm0, 1408(%rax)10571; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10572; AVX-NEXT: vmovaps %ymm0, 1376(%rax)10573; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10574; AVX-NEXT: vmovaps %ymm0, 1312(%rax)10575; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10576; AVX-NEXT: vmovaps %ymm0, 1248(%rax)10577; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10578; AVX-NEXT: vmovaps %ymm0, 1216(%rax)10579; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10580; AVX-NEXT: vmovaps %ymm0, 1184(%rax)10581; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10582; AVX-NEXT: vmovaps %ymm0, 1120(%rax)10583; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10584; AVX-NEXT: vmovaps %ymm0, 1056(%rax)10585; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10586; AVX-NEXT: vmovaps %ymm0, 1024(%rax)10587; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10588; AVX-NEXT: vmovaps %ymm0, 992(%rax)10589; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10590; AVX-NEXT: vmovaps %ymm0, 928(%rax)10591; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10592; AVX-NEXT: vmovaps %ymm0, 864(%rax)10593; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10594; AVX-NEXT: vmovaps %ymm0, 832(%rax)10595; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10596; AVX-NEXT: vmovaps %ymm0, 800(%rax)10597; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10598; AVX-NEXT: vmovaps %ymm0, 736(%rax)10599; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10600; AVX-NEXT: vmovaps %ymm0, 672(%rax)10601; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10602; AVX-NEXT: vmovaps %ymm0, 640(%rax)10603; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10604; AVX-NEXT: vmovaps %ymm0, 608(%rax)10605; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10606; AVX-NEXT: vmovaps %ymm0, 544(%rax)10607; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10608; AVX-NEXT: vmovaps %ymm0, 480(%rax)10609; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10610; AVX-NEXT: vmovaps %ymm0, 448(%rax)10611; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10612; AVX-NEXT: vmovaps %ymm0, 416(%rax)10613; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10614; AVX-NEXT: vmovaps %ymm0, 352(%rax)10615; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10616; AVX-NEXT: vmovaps %ymm0, 288(%rax)10617; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10618; AVX-NEXT: vmovaps %ymm0, 256(%rax)10619; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10620; AVX-NEXT: vmovaps %ymm0, 224(%rax)10621; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10622; AVX-NEXT: vmovaps %ymm0, 160(%rax)10623; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10624; AVX-NEXT: vmovaps %ymm0, 96(%rax)10625; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10626; AVX-NEXT: vmovaps %ymm0, 64(%rax)10627; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10628; AVX-NEXT: vmovaps %ymm0, 32(%rax)10629; AVX-NEXT: addq $3464, %rsp # imm = 0xD8810630; AVX-NEXT: vzeroupper10631; AVX-NEXT: retq10632;10633; AVX2-LABEL: store_i64_stride6_vf64:10634; AVX2: # %bb.0:10635; AVX2-NEXT: subq $2968, %rsp # imm = 0xB9810636; AVX2-NEXT: vmovaps 32(%r8), %ymm310637; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10638; AVX2-NEXT: vmovaps (%r8), %ymm410639; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10640; AVX2-NEXT: vmovaps (%r9), %xmm010641; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]10642; AVX2-NEXT: vmovaps (%rsi), %xmm710643; AVX2-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10644; AVX2-NEXT: vmovaps 32(%rsi), %xmm510645; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10646; AVX2-NEXT: vmovaps (%rdi), %xmm210647; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10648; AVX2-NEXT: vmovaps 32(%rdi), %xmm610649; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10650; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm7[1]10651; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]10652; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]10653; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10654; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm010655; AVX2-NEXT: vmovaps (%rcx), %xmm210656; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10657; AVX2-NEXT: vmovaps (%rdx), %xmm110658; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10659; AVX2-NEXT: vmovaps 32(%rdx), %xmm410660; AVX2-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10661; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]10662; AVX2-NEXT: vbroadcastsd 8(%r8), %ymm210663; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]10664; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10665; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10666; AVX2-NEXT: vmovaps 32(%r9), %xmm010667; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]10668; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm5[1]10669; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[0,1],ymm2[0,1]10670; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]10671; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10672; AVX2-NEXT: vmovaps 32(%rcx), %xmm110673; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10674; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]10675; AVX2-NEXT: vbroadcastsd 40(%r8), %ymm210676; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]10677; AVX2-NEXT: vmovaps 64(%r8), %ymm210678; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10679; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm010680; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10681; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10682; AVX2-NEXT: vmovaps 64(%rsi), %xmm110683; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10684; AVX2-NEXT: vmovaps 64(%rdi), %xmm010685; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10686; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]10687; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]10688; AVX2-NEXT: vmovaps 64(%r9), %xmm110689; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10690; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10691; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10692; AVX2-NEXT: vmovaps 64(%rdx), %xmm010693; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10694; AVX2-NEXT: vmovaps 64(%rcx), %xmm210695; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10696; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10697; AVX2-NEXT: vbroadcastsd 72(%r8), %ymm210698; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10699; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110700; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10701; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10702; AVX2-NEXT: vmovaps 96(%r8), %ymm110703; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10704; AVX2-NEXT: vmovaps 96(%rsi), %xmm210705; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10706; AVX2-NEXT: vmovaps 96(%rdi), %xmm010707; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10708; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10709; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10710; AVX2-NEXT: vmovaps 96(%r9), %xmm110711; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10712; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10713; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10714; AVX2-NEXT: vmovaps 96(%rcx), %xmm210715; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10716; AVX2-NEXT: vmovaps 96(%rdx), %xmm010717; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10718; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10719; AVX2-NEXT: vbroadcastsd 104(%r8), %ymm210720; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10721; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110722; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10723; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10724; AVX2-NEXT: vmovaps 128(%r8), %ymm110725; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10726; AVX2-NEXT: vmovaps 128(%rsi), %xmm210727; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10728; AVX2-NEXT: vmovaps 128(%rdi), %xmm010729; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10730; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10731; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10732; AVX2-NEXT: vmovaps 128(%r9), %xmm110733; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10734; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10735; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10736; AVX2-NEXT: vmovaps 128(%rcx), %xmm210737; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10738; AVX2-NEXT: vmovaps 128(%rdx), %xmm010739; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10740; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10741; AVX2-NEXT: vbroadcastsd 136(%r8), %ymm210742; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10743; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110744; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10745; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10746; AVX2-NEXT: vmovaps 160(%r8), %ymm110747; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10748; AVX2-NEXT: vmovaps 160(%rsi), %xmm210749; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10750; AVX2-NEXT: vmovaps 160(%rdi), %xmm010751; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10752; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10753; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10754; AVX2-NEXT: vmovaps 160(%r9), %xmm110755; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10756; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10757; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10758; AVX2-NEXT: vmovaps 160(%rcx), %xmm210759; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10760; AVX2-NEXT: vmovaps 160(%rdx), %xmm010761; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10762; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10763; AVX2-NEXT: vbroadcastsd 168(%r8), %ymm210764; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10765; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110766; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10767; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10768; AVX2-NEXT: vmovaps 192(%r8), %ymm110769; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10770; AVX2-NEXT: vmovaps 192(%rsi), %xmm210771; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10772; AVX2-NEXT: vmovaps 192(%rdi), %xmm010773; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10774; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10775; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10776; AVX2-NEXT: vmovaps 192(%r9), %xmm110777; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10778; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10779; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10780; AVX2-NEXT: vmovaps 192(%rcx), %xmm210781; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10782; AVX2-NEXT: vmovaps 192(%rdx), %xmm010783; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10784; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10785; AVX2-NEXT: vbroadcastsd 200(%r8), %ymm210786; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10787; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110788; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10789; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10790; AVX2-NEXT: vmovaps 224(%r8), %ymm110791; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10792; AVX2-NEXT: vmovaps 224(%rsi), %xmm210793; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10794; AVX2-NEXT: vmovaps 224(%rdi), %xmm010795; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10796; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10797; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10798; AVX2-NEXT: vmovaps 224(%r9), %xmm110799; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10800; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10801; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10802; AVX2-NEXT: vmovaps 224(%rcx), %xmm210803; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10804; AVX2-NEXT: vmovaps 224(%rdx), %xmm010805; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10806; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10807; AVX2-NEXT: vbroadcastsd 232(%r8), %ymm210808; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10809; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110810; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10811; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10812; AVX2-NEXT: vmovaps 256(%r8), %ymm110813; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10814; AVX2-NEXT: vmovaps 256(%rsi), %xmm210815; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10816; AVX2-NEXT: vmovaps 256(%rdi), %xmm010817; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10818; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10819; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10820; AVX2-NEXT: vmovaps 256(%r9), %xmm110821; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10822; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10823; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10824; AVX2-NEXT: vmovaps 256(%rcx), %xmm210825; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10826; AVX2-NEXT: vmovaps 256(%rdx), %xmm010827; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10828; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10829; AVX2-NEXT: vbroadcastsd 264(%r8), %ymm210830; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10831; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110832; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10833; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10834; AVX2-NEXT: vmovaps 288(%r8), %ymm110835; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10836; AVX2-NEXT: vmovaps 288(%rsi), %xmm210837; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10838; AVX2-NEXT: vmovaps 288(%rdi), %xmm010839; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10840; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10841; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10842; AVX2-NEXT: vmovaps 288(%r9), %xmm110843; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10844; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10845; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10846; AVX2-NEXT: vmovaps 288(%rcx), %xmm210847; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10848; AVX2-NEXT: vmovaps 288(%rdx), %xmm010849; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10850; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10851; AVX2-NEXT: vbroadcastsd 296(%r8), %ymm210852; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10853; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110854; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10855; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10856; AVX2-NEXT: vmovaps 320(%r8), %ymm110857; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10858; AVX2-NEXT: vmovaps 320(%rsi), %xmm210859; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10860; AVX2-NEXT: vmovaps 320(%rdi), %xmm010861; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10862; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10863; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10864; AVX2-NEXT: vmovaps 320(%r9), %xmm110865; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10866; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10867; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10868; AVX2-NEXT: vmovaps 320(%rcx), %xmm210869; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10870; AVX2-NEXT: vmovaps 320(%rdx), %xmm010871; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10872; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10873; AVX2-NEXT: vbroadcastsd 328(%r8), %ymm210874; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10875; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110876; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10877; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10878; AVX2-NEXT: vmovaps 352(%r8), %ymm110879; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10880; AVX2-NEXT: vmovaps 352(%rsi), %xmm210881; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10882; AVX2-NEXT: vmovaps 352(%rdi), %xmm010883; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10884; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10885; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10886; AVX2-NEXT: vmovaps 352(%r9), %xmm110887; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10888; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10889; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10890; AVX2-NEXT: vmovaps 352(%rcx), %xmm210891; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10892; AVX2-NEXT: vmovaps 352(%rdx), %xmm010893; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10894; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10895; AVX2-NEXT: vbroadcastsd 360(%r8), %ymm210896; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10897; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110898; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10899; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10900; AVX2-NEXT: vmovaps 384(%r8), %ymm110901; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10902; AVX2-NEXT: vmovaps 384(%rsi), %xmm210903; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10904; AVX2-NEXT: vmovaps 384(%rdi), %xmm010905; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10906; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]10907; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10908; AVX2-NEXT: vmovaps 384(%r9), %xmm110909; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10910; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10911; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10912; AVX2-NEXT: vmovaps 384(%rcx), %xmm010913; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10914; AVX2-NEXT: vmovaps 384(%rdx), %xmm1510915; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm0[1]10916; AVX2-NEXT: vbroadcastsd 392(%r8), %ymm210917; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10918; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110919; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10920; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10921; AVX2-NEXT: vmovaps 416(%r8), %ymm110922; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10923; AVX2-NEXT: vmovaps 416(%rsi), %xmm1210924; AVX2-NEXT: vmovaps 416(%rdi), %xmm1310925; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]10926; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10927; AVX2-NEXT: vmovaps 416(%r9), %xmm110928; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10929; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10930; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10931; AVX2-NEXT: vmovaps 416(%rcx), %xmm1010932; AVX2-NEXT: vmovaps 416(%rdx), %xmm1110933; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]10934; AVX2-NEXT: vbroadcastsd 424(%r8), %ymm210935; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10936; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110937; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10938; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10939; AVX2-NEXT: vmovaps 448(%r8), %ymm110940; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10941; AVX2-NEXT: vmovaps 448(%rsi), %xmm810942; AVX2-NEXT: vmovaps 448(%rdi), %xmm910943; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]10944; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]10945; AVX2-NEXT: vmovaps 448(%r9), %xmm110946; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]10947; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]10948; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10949; AVX2-NEXT: vmovaps 448(%rcx), %xmm610950; AVX2-NEXT: vmovaps 448(%rdx), %xmm710951; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]10952; AVX2-NEXT: vbroadcastsd 456(%r8), %ymm210953; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10954; AVX2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm110955; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10956; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10957; AVX2-NEXT: vmovaps 480(%r8), %ymm110958; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10959; AVX2-NEXT: vmovaps 480(%rsi), %xmm410960; AVX2-NEXT: vmovaps 480(%rdi), %xmm510961; AVX2-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]10962; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]10963; AVX2-NEXT: vmovaps 480(%r9), %xmm010964; AVX2-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]10965; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]10966; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10967; AVX2-NEXT: vmovaps 480(%rcx), %xmm210968; AVX2-NEXT: vmovaps 480(%rdx), %xmm310969; AVX2-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]10970; AVX2-NEXT: vbroadcastsd 488(%r8), %ymm1410971; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]10972; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm010973; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10974; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10975; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10976; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload10977; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10978; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload10979; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10980; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10981; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10982; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload10983; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10984; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload10985; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10986; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10987; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10988; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload10989; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10990; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload10991; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10992; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10993; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10994; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload10995; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10996; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload10997; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10998; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10999; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11000; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11001; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11002; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11003; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11004; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11005; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11006; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11007; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11008; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11009; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11010; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11011; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11012; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11013; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11014; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11015; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11016; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11017; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11018; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11019; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11020; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11021; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11022; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11023; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11024; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11025; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11026; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11027; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11028; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11029; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11030; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11031; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11032; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11033; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11034; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11035; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11036; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11037; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11038; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11039; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11040; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11041; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11042; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11043; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11044; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11045; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11046; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11047; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11048; AVX2-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11049; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11050; AVX2-NEXT: vinsertf128 $1, %xmm15, %ymm1, %ymm111051; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11052; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11053; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm011054; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm111055; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11056; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11057; AVX2-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm011058; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm111059; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11060; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11061; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm011062; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm111063; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11064; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11065; AVX2-NEXT: vmovaps (%rdi), %ymm011066; AVX2-NEXT: vmovaps (%rsi), %ymm111067; AVX2-NEXT: vmovaps (%rdx), %ymm211068; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11069; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11070; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm411071; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11072; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11073; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11074; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11075; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11076; AVX2-NEXT: vbroadcastsd 16(%r9), %ymm111077; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11078; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11079; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11080; AVX2-NEXT: vbroadcastsd 24(%r8), %ymm111081; AVX2-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]11082; AVX2-NEXT: vmovaps 32(%rdi), %ymm011083; AVX2-NEXT: vmovaps 32(%rsi), %ymm111084; AVX2-NEXT: vmovaps 32(%rdx), %ymm211085; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11086; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11087; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm411088; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11089; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11090; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11091; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11092; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11093; AVX2-NEXT: vbroadcastsd 48(%r9), %ymm111094; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11095; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11096; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11097; AVX2-NEXT: vbroadcastsd 56(%r8), %ymm111098; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]11099; AVX2-NEXT: vmovaps 64(%rdi), %ymm011100; AVX2-NEXT: vmovaps 64(%rsi), %ymm111101; AVX2-NEXT: vmovaps 64(%rdx), %ymm211102; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11103; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11104; AVX2-NEXT: vbroadcastsd 80(%rcx), %ymm411105; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11106; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11107; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11108; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11109; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11110; AVX2-NEXT: vbroadcastsd 80(%r9), %ymm111111; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11112; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11113; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11114; AVX2-NEXT: vbroadcastsd 88(%r8), %ymm111115; AVX2-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm1[2,3]11116; AVX2-NEXT: vmovaps 96(%rdi), %ymm011117; AVX2-NEXT: vmovaps 96(%rsi), %ymm111118; AVX2-NEXT: vmovaps 96(%rdx), %ymm211119; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11120; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11121; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm411122; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11123; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11124; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11125; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11126; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11127; AVX2-NEXT: vbroadcastsd 112(%r9), %ymm111128; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11129; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11130; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11131; AVX2-NEXT: vbroadcastsd 120(%r8), %ymm111132; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11133; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11134; AVX2-NEXT: vmovaps 128(%rdi), %ymm011135; AVX2-NEXT: vmovaps 128(%rsi), %ymm111136; AVX2-NEXT: vmovaps 128(%rdx), %ymm211137; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11138; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11139; AVX2-NEXT: vbroadcastsd 144(%rcx), %ymm411140; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11141; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11142; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11143; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11144; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11145; AVX2-NEXT: vbroadcastsd 144(%r9), %ymm111146; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11147; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11148; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11149; AVX2-NEXT: vbroadcastsd 152(%r8), %ymm111150; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11151; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11152; AVX2-NEXT: vmovaps 160(%rdi), %ymm011153; AVX2-NEXT: vmovaps 160(%rsi), %ymm111154; AVX2-NEXT: vmovaps 160(%rdx), %ymm211155; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11156; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11157; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm411158; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11159; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11160; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11161; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11162; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11163; AVX2-NEXT: vbroadcastsd 176(%r9), %ymm111164; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11165; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11166; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11167; AVX2-NEXT: vbroadcastsd 184(%r8), %ymm111168; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11169; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11170; AVX2-NEXT: vmovaps 192(%rdi), %ymm011171; AVX2-NEXT: vmovaps 192(%rsi), %ymm111172; AVX2-NEXT: vmovaps 192(%rdx), %ymm211173; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11174; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11175; AVX2-NEXT: vbroadcastsd 208(%rcx), %ymm411176; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11177; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11178; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11179; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11180; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11181; AVX2-NEXT: vbroadcastsd 208(%r9), %ymm111182; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11183; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11184; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11185; AVX2-NEXT: vbroadcastsd 216(%r8), %ymm111186; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11187; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11188; AVX2-NEXT: vmovaps 224(%rdi), %ymm011189; AVX2-NEXT: vmovaps 224(%rsi), %ymm111190; AVX2-NEXT: vmovaps 224(%rdx), %ymm211191; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11192; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11193; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm411194; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11195; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11196; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11197; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11198; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11199; AVX2-NEXT: vbroadcastsd 240(%r9), %ymm111200; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11201; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11202; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11203; AVX2-NEXT: vbroadcastsd 248(%r8), %ymm111204; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11205; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11206; AVX2-NEXT: vmovaps 256(%rdi), %ymm011207; AVX2-NEXT: vmovaps 256(%rsi), %ymm111208; AVX2-NEXT: vmovaps 256(%rdx), %ymm211209; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11210; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11211; AVX2-NEXT: vbroadcastsd 272(%rcx), %ymm411212; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11213; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11214; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11215; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11216; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11217; AVX2-NEXT: vbroadcastsd 272(%r9), %ymm111218; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11219; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11220; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11221; AVX2-NEXT: vbroadcastsd 280(%r8), %ymm111222; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11223; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11224; AVX2-NEXT: vmovaps 288(%rdi), %ymm011225; AVX2-NEXT: vmovaps 288(%rsi), %ymm111226; AVX2-NEXT: vmovaps 288(%rdx), %ymm211227; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11228; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11229; AVX2-NEXT: vbroadcastsd 304(%rcx), %ymm411230; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11231; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11232; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11233; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11234; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11235; AVX2-NEXT: vbroadcastsd 304(%r9), %ymm111236; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11237; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11238; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11239; AVX2-NEXT: vbroadcastsd 312(%r8), %ymm111240; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11241; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11242; AVX2-NEXT: vmovaps 320(%rdi), %ymm011243; AVX2-NEXT: vmovaps 320(%rsi), %ymm111244; AVX2-NEXT: vmovaps 320(%rdx), %ymm211245; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11246; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11247; AVX2-NEXT: vbroadcastsd 336(%rcx), %ymm411248; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11249; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11250; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11251; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11252; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11253; AVX2-NEXT: vbroadcastsd 336(%r9), %ymm111254; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11255; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11256; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11257; AVX2-NEXT: vbroadcastsd 344(%r8), %ymm111258; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11259; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11260; AVX2-NEXT: vmovaps 352(%rdi), %ymm011261; AVX2-NEXT: vmovaps 352(%rsi), %ymm111262; AVX2-NEXT: vmovaps 352(%rdx), %ymm211263; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11264; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11265; AVX2-NEXT: vbroadcastsd 368(%rcx), %ymm411266; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11267; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11268; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11269; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11270; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11271; AVX2-NEXT: vbroadcastsd 368(%r9), %ymm111272; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11273; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11274; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11275; AVX2-NEXT: vbroadcastsd 376(%r8), %ymm111276; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]11277; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11278; AVX2-NEXT: vmovaps 384(%rdi), %ymm011279; AVX2-NEXT: vmovaps 384(%rsi), %ymm111280; AVX2-NEXT: vmovaps 384(%rdx), %ymm211281; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11282; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11283; AVX2-NEXT: vbroadcastsd 400(%rcx), %ymm411284; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11285; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11286; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11287; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11288; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11289; AVX2-NEXT: vbroadcastsd 400(%r9), %ymm111290; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11291; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11292; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11293; AVX2-NEXT: vbroadcastsd 408(%r8), %ymm111294; AVX2-NEXT: vperm2f128 {{.*#+}} ymm15 = ymm0[2,3],ymm1[2,3]11295; AVX2-NEXT: vmovaps 416(%rdi), %ymm011296; AVX2-NEXT: vmovaps 416(%rsi), %ymm111297; AVX2-NEXT: vmovaps 416(%rdx), %ymm211298; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11299; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11300; AVX2-NEXT: vbroadcastsd 432(%rcx), %ymm411301; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11302; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11303; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11304; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11305; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11306; AVX2-NEXT: vbroadcastsd 432(%r9), %ymm111307; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11308; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11309; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11310; AVX2-NEXT: vbroadcastsd 440(%r8), %ymm111311; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[2,3],ymm1[2,3]11312; AVX2-NEXT: vmovaps 448(%rdi), %ymm011313; AVX2-NEXT: vmovaps 448(%rsi), %ymm111314; AVX2-NEXT: vmovaps 448(%rdx), %ymm211315; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11316; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]11317; AVX2-NEXT: vbroadcastsd 464(%rcx), %ymm511318; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm4[0,1,2,3,4,5],ymm5[6,7]11319; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11320; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11321; AVX2-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11322; AVX2-NEXT: vbroadcastsd 464(%r9), %ymm111323; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11324; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11325; AVX2-NEXT: vbroadcastsd 472(%r8), %ymm211326; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm2[2,3]11327; AVX2-NEXT: vmovaps 480(%rdi), %ymm111328; AVX2-NEXT: vmovaps 480(%rsi), %ymm211329; AVX2-NEXT: vmovaps 480(%rdx), %ymm411330; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]11331; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm4[2,3]11332; AVX2-NEXT: vbroadcastsd 496(%rcx), %ymm811333; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm8[6,7]11334; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]11335; AVX2-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload11336; AVX2-NEXT: # ymm1 = mem[2,3],ymm1[2,3]11337; AVX2-NEXT: vbroadcastsd 496(%r9), %ymm211338; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]11339; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],mem[1],ymm4[3],mem[3]11340; AVX2-NEXT: vbroadcastsd 504(%r8), %ymm211341; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm2[2,3]11342; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax11343; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],mem[6,7]11344; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11345; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],mem[6,7]11346; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11347; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],mem[6,7]11348; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11349; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11350; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]11351; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11352; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11353; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm1[0,1,2,3,4,5],mem[6,7]11354; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11355; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5],mem[6,7]11356; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11357; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5],mem[6,7]11358; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11359; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5],mem[6,7]11360; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11361; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm1[0,1,2,3,4,5],mem[6,7]11362; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11363; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],mem[6,7]11364; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11365; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],mem[6,7]11366; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11367; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]11368; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]11369; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]11370; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]11371; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]11372; AVX2-NEXT: vmovaps %ymm0, 3040(%rax)11373; AVX2-NEXT: vmovaps %ymm3, 3008(%rax)11374; AVX2-NEXT: vmovaps %ymm5, 2976(%rax)11375; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11376; AVX2-NEXT: vmovaps %ymm0, 2880(%rax)11377; AVX2-NEXT: vmovaps %ymm6, 2848(%rax)11378; AVX2-NEXT: vmovaps %ymm9, 2816(%rax)11379; AVX2-NEXT: vmovaps %ymm11, 2784(%rax)11380; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11381; AVX2-NEXT: vmovaps %ymm0, 2688(%rax)11382; AVX2-NEXT: vmovaps %ymm10, 2656(%rax)11383; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11384; AVX2-NEXT: vmovaps %ymm0, 2624(%rax)11385; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11386; AVX2-NEXT: vmovaps %ymm0, 2592(%rax)11387; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11388; AVX2-NEXT: vmovaps %ymm0, 2496(%rax)11389; AVX2-NEXT: vmovaps %ymm15, 2464(%rax)11390; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11391; AVX2-NEXT: vmovaps %ymm0, 2432(%rax)11392; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11393; AVX2-NEXT: vmovaps %ymm0, 2400(%rax)11394; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11395; AVX2-NEXT: vmovaps %ymm0, 2304(%rax)11396; AVX2-NEXT: vmovaps %ymm1, 2272(%rax)11397; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11398; AVX2-NEXT: vmovaps %ymm0, 2240(%rax)11399; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11400; AVX2-NEXT: vmovaps %ymm0, 2208(%rax)11401; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11402; AVX2-NEXT: vmovaps %ymm0, 2112(%rax)11403; AVX2-NEXT: vmovaps %ymm2, 2080(%rax)11404; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11405; AVX2-NEXT: vmovaps %ymm0, 2048(%rax)11406; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11407; AVX2-NEXT: vmovaps %ymm0, 2016(%rax)11408; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11409; AVX2-NEXT: vmovaps %ymm0, 1920(%rax)11410; AVX2-NEXT: vmovaps %ymm4, 1888(%rax)11411; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11412; AVX2-NEXT: vmovaps %ymm0, 1856(%rax)11413; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11414; AVX2-NEXT: vmovaps %ymm0, 1824(%rax)11415; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11416; AVX2-NEXT: vmovaps %ymm0, 1728(%rax)11417; AVX2-NEXT: vmovaps %ymm7, 1696(%rax)11418; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11419; AVX2-NEXT: vmovaps %ymm0, 1664(%rax)11420; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11421; AVX2-NEXT: vmovaps %ymm0, 1632(%rax)11422; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11423; AVX2-NEXT: vmovaps %ymm0, 1536(%rax)11424; AVX2-NEXT: vmovaps %ymm8, 1504(%rax)11425; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11426; AVX2-NEXT: vmovaps %ymm0, 1472(%rax)11427; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11428; AVX2-NEXT: vmovaps %ymm0, 1440(%rax)11429; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11430; AVX2-NEXT: vmovaps %ymm0, 1344(%rax)11431; AVX2-NEXT: vmovaps %ymm12, 1312(%rax)11432; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11433; AVX2-NEXT: vmovaps %ymm0, 1280(%rax)11434; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11435; AVX2-NEXT: vmovaps %ymm0, 1248(%rax)11436; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11437; AVX2-NEXT: vmovaps %ymm0, 1152(%rax)11438; AVX2-NEXT: vmovaps %ymm13, 1120(%rax)11439; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11440; AVX2-NEXT: vmovaps %ymm0, 1088(%rax)11441; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11442; AVX2-NEXT: vmovaps %ymm0, 1056(%rax)11443; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11444; AVX2-NEXT: vmovaps %ymm0, 960(%rax)11445; AVX2-NEXT: vmovaps %ymm14, 928(%rax)11446; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11447; AVX2-NEXT: vmovaps %ymm0, 896(%rax)11448; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11449; AVX2-NEXT: vmovaps %ymm0, 864(%rax)11450; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11451; AVX2-NEXT: vmovaps %ymm0, 768(%rax)11452; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11453; AVX2-NEXT: vmovaps %ymm0, 736(%rax)11454; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11455; AVX2-NEXT: vmovaps %ymm0, 704(%rax)11456; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11457; AVX2-NEXT: vmovaps %ymm0, 672(%rax)11458; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11459; AVX2-NEXT: vmovaps %ymm0, 576(%rax)11460; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11461; AVX2-NEXT: vmovaps %ymm0, 544(%rax)11462; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11463; AVX2-NEXT: vmovaps %ymm0, 512(%rax)11464; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11465; AVX2-NEXT: vmovaps %ymm0, 480(%rax)11466; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11467; AVX2-NEXT: vmovaps %ymm0, 384(%rax)11468; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11469; AVX2-NEXT: vmovaps %ymm0, 352(%rax)11470; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11471; AVX2-NEXT: vmovaps %ymm0, 320(%rax)11472; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11473; AVX2-NEXT: vmovaps %ymm0, 288(%rax)11474; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11475; AVX2-NEXT: vmovaps %ymm0, 192(%rax)11476; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11477; AVX2-NEXT: vmovaps %ymm0, 160(%rax)11478; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11479; AVX2-NEXT: vmovaps %ymm0, 128(%rax)11480; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11481; AVX2-NEXT: vmovaps %ymm0, 96(%rax)11482; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11483; AVX2-NEXT: vmovaps %ymm0, (%rax)11484; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11485; AVX2-NEXT: vmovaps %ymm0, 2944(%rax)11486; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11487; AVX2-NEXT: vmovaps %ymm0, 2912(%rax)11488; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11489; AVX2-NEXT: vmovaps %ymm0, 2752(%rax)11490; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11491; AVX2-NEXT: vmovaps %ymm0, 2720(%rax)11492; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11493; AVX2-NEXT: vmovaps %ymm0, 2560(%rax)11494; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11495; AVX2-NEXT: vmovaps %ymm0, 2528(%rax)11496; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11497; AVX2-NEXT: vmovaps %ymm0, 2368(%rax)11498; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11499; AVX2-NEXT: vmovaps %ymm0, 2336(%rax)11500; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11501; AVX2-NEXT: vmovaps %ymm0, 2176(%rax)11502; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11503; AVX2-NEXT: vmovaps %ymm0, 2144(%rax)11504; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11505; AVX2-NEXT: vmovaps %ymm0, 1984(%rax)11506; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11507; AVX2-NEXT: vmovaps %ymm0, 1952(%rax)11508; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11509; AVX2-NEXT: vmovaps %ymm0, 1792(%rax)11510; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11511; AVX2-NEXT: vmovaps %ymm0, 1760(%rax)11512; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11513; AVX2-NEXT: vmovaps %ymm0, 1600(%rax)11514; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11515; AVX2-NEXT: vmovaps %ymm0, 1568(%rax)11516; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11517; AVX2-NEXT: vmovaps %ymm0, 1408(%rax)11518; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11519; AVX2-NEXT: vmovaps %ymm0, 1376(%rax)11520; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11521; AVX2-NEXT: vmovaps %ymm0, 1216(%rax)11522; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11523; AVX2-NEXT: vmovaps %ymm0, 1184(%rax)11524; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11525; AVX2-NEXT: vmovaps %ymm0, 1024(%rax)11526; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11527; AVX2-NEXT: vmovaps %ymm0, 992(%rax)11528; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11529; AVX2-NEXT: vmovaps %ymm0, 832(%rax)11530; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11531; AVX2-NEXT: vmovaps %ymm0, 800(%rax)11532; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11533; AVX2-NEXT: vmovaps %ymm0, 640(%rax)11534; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11535; AVX2-NEXT: vmovaps %ymm0, 608(%rax)11536; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11537; AVX2-NEXT: vmovaps %ymm0, 448(%rax)11538; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11539; AVX2-NEXT: vmovaps %ymm0, 416(%rax)11540; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11541; AVX2-NEXT: vmovaps %ymm0, 256(%rax)11542; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11543; AVX2-NEXT: vmovaps %ymm0, 224(%rax)11544; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11545; AVX2-NEXT: vmovaps %ymm0, 64(%rax)11546; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11547; AVX2-NEXT: vmovaps %ymm0, 32(%rax)11548; AVX2-NEXT: addq $2968, %rsp # imm = 0xB9811549; AVX2-NEXT: vzeroupper11550; AVX2-NEXT: retq11551;11552; AVX2-FP-LABEL: store_i64_stride6_vf64:11553; AVX2-FP: # %bb.0:11554; AVX2-FP-NEXT: subq $2968, %rsp # imm = 0xB9811555; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm311556; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11557; AVX2-FP-NEXT: vmovaps (%r8), %ymm411558; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11559; AVX2-FP-NEXT: vmovaps (%r9), %xmm011560; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]11561; AVX2-FP-NEXT: vmovaps (%rsi), %xmm711562; AVX2-FP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11563; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm511564; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11565; AVX2-FP-NEXT: vmovaps (%rdi), %xmm211566; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11567; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm611568; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11569; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm7[1]11570; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]11571; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]11572; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11573; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm011574; AVX2-FP-NEXT: vmovaps (%rcx), %xmm211575; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11576; AVX2-FP-NEXT: vmovaps (%rdx), %xmm111577; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11578; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm411579; AVX2-FP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11580; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]11581; AVX2-FP-NEXT: vbroadcastsd 8(%r8), %ymm211582; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]11583; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]11584; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11585; AVX2-FP-NEXT: vmovaps 32(%r9), %xmm011586; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]11587; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm5[1]11588; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[0,1],ymm2[0,1]11589; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]11590; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11591; AVX2-FP-NEXT: vmovaps 32(%rcx), %xmm111592; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11593; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]11594; AVX2-FP-NEXT: vbroadcastsd 40(%r8), %ymm211595; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]11596; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm211597; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11598; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm011599; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]11600; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11601; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm111602; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11603; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm011604; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11605; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]11606; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]11607; AVX2-FP-NEXT: vmovaps 64(%r9), %xmm111608; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11609; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11610; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11611; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm011612; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11613; AVX2-FP-NEXT: vmovaps 64(%rcx), %xmm211614; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11615; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11616; AVX2-FP-NEXT: vbroadcastsd 72(%r8), %ymm211617; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11618; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111619; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11620; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11621; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm111622; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11623; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm211624; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11625; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm011626; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11627; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11628; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11629; AVX2-FP-NEXT: vmovaps 96(%r9), %xmm111630; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11631; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11632; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11633; AVX2-FP-NEXT: vmovaps 96(%rcx), %xmm211634; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11635; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm011636; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11637; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11638; AVX2-FP-NEXT: vbroadcastsd 104(%r8), %ymm211639; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11640; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111641; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11642; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11643; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm111644; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11645; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm211646; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11647; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm011648; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11649; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11650; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11651; AVX2-FP-NEXT: vmovaps 128(%r9), %xmm111652; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11653; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11654; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11655; AVX2-FP-NEXT: vmovaps 128(%rcx), %xmm211656; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11657; AVX2-FP-NEXT: vmovaps 128(%rdx), %xmm011658; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11659; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11660; AVX2-FP-NEXT: vbroadcastsd 136(%r8), %ymm211661; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11662; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111663; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11664; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11665; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm111666; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11667; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm211668; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11669; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm011670; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11671; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11672; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11673; AVX2-FP-NEXT: vmovaps 160(%r9), %xmm111674; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11675; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11676; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11677; AVX2-FP-NEXT: vmovaps 160(%rcx), %xmm211678; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11679; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm011680; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11681; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11682; AVX2-FP-NEXT: vbroadcastsd 168(%r8), %ymm211683; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11684; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111685; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11686; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11687; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm111688; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11689; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm211690; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11691; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm011692; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11693; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11694; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11695; AVX2-FP-NEXT: vmovaps 192(%r9), %xmm111696; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11697; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11698; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11699; AVX2-FP-NEXT: vmovaps 192(%rcx), %xmm211700; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11701; AVX2-FP-NEXT: vmovaps 192(%rdx), %xmm011702; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11703; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11704; AVX2-FP-NEXT: vbroadcastsd 200(%r8), %ymm211705; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11706; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111707; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11708; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11709; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm111710; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11711; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm211712; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11713; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm011714; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11715; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11716; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11717; AVX2-FP-NEXT: vmovaps 224(%r9), %xmm111718; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11719; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11720; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11721; AVX2-FP-NEXT: vmovaps 224(%rcx), %xmm211722; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11723; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm011724; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11725; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11726; AVX2-FP-NEXT: vbroadcastsd 232(%r8), %ymm211727; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11728; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111729; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11730; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11731; AVX2-FP-NEXT: vmovaps 256(%r8), %ymm111732; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11733; AVX2-FP-NEXT: vmovaps 256(%rsi), %xmm211734; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11735; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm011736; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11737; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11738; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11739; AVX2-FP-NEXT: vmovaps 256(%r9), %xmm111740; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11741; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11742; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11743; AVX2-FP-NEXT: vmovaps 256(%rcx), %xmm211744; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11745; AVX2-FP-NEXT: vmovaps 256(%rdx), %xmm011746; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11747; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11748; AVX2-FP-NEXT: vbroadcastsd 264(%r8), %ymm211749; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11750; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111751; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11752; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11753; AVX2-FP-NEXT: vmovaps 288(%r8), %ymm111754; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11755; AVX2-FP-NEXT: vmovaps 288(%rsi), %xmm211756; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11757; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm011758; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11759; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11760; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11761; AVX2-FP-NEXT: vmovaps 288(%r9), %xmm111762; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11763; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11764; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11765; AVX2-FP-NEXT: vmovaps 288(%rcx), %xmm211766; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11767; AVX2-FP-NEXT: vmovaps 288(%rdx), %xmm011768; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11769; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11770; AVX2-FP-NEXT: vbroadcastsd 296(%r8), %ymm211771; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11772; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111773; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11774; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11775; AVX2-FP-NEXT: vmovaps 320(%r8), %ymm111776; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11777; AVX2-FP-NEXT: vmovaps 320(%rsi), %xmm211778; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11779; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm011780; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11781; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11782; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11783; AVX2-FP-NEXT: vmovaps 320(%r9), %xmm111784; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11785; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11786; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11787; AVX2-FP-NEXT: vmovaps 320(%rcx), %xmm211788; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11789; AVX2-FP-NEXT: vmovaps 320(%rdx), %xmm011790; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11791; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11792; AVX2-FP-NEXT: vbroadcastsd 328(%r8), %ymm211793; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11794; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111795; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11796; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11797; AVX2-FP-NEXT: vmovaps 352(%r8), %ymm111798; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11799; AVX2-FP-NEXT: vmovaps 352(%rsi), %xmm211800; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11801; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm011802; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11803; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11804; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11805; AVX2-FP-NEXT: vmovaps 352(%r9), %xmm111806; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11807; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11808; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11809; AVX2-FP-NEXT: vmovaps 352(%rcx), %xmm211810; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11811; AVX2-FP-NEXT: vmovaps 352(%rdx), %xmm011812; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11813; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11814; AVX2-FP-NEXT: vbroadcastsd 360(%r8), %ymm211815; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11816; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111817; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11818; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11819; AVX2-FP-NEXT: vmovaps 384(%r8), %ymm111820; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11821; AVX2-FP-NEXT: vmovaps 384(%rsi), %xmm211822; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11823; AVX2-FP-NEXT: vmovaps 384(%rdi), %xmm011824; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11825; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]11826; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11827; AVX2-FP-NEXT: vmovaps 384(%r9), %xmm111828; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11829; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11830; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11831; AVX2-FP-NEXT: vmovaps 384(%rcx), %xmm011832; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11833; AVX2-FP-NEXT: vmovaps 384(%rdx), %xmm1511834; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm0[1]11835; AVX2-FP-NEXT: vbroadcastsd 392(%r8), %ymm211836; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11837; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111838; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11839; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11840; AVX2-FP-NEXT: vmovaps 416(%r8), %ymm111841; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11842; AVX2-FP-NEXT: vmovaps 416(%rsi), %xmm1211843; AVX2-FP-NEXT: vmovaps 416(%rdi), %xmm1311844; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]11845; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11846; AVX2-FP-NEXT: vmovaps 416(%r9), %xmm111847; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11848; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11849; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11850; AVX2-FP-NEXT: vmovaps 416(%rcx), %xmm1011851; AVX2-FP-NEXT: vmovaps 416(%rdx), %xmm1111852; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]11853; AVX2-FP-NEXT: vbroadcastsd 424(%r8), %ymm211854; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11855; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111856; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11857; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11858; AVX2-FP-NEXT: vmovaps 448(%r8), %ymm111859; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11860; AVX2-FP-NEXT: vmovaps 448(%rsi), %xmm811861; AVX2-FP-NEXT: vmovaps 448(%rdi), %xmm911862; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]11863; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]11864; AVX2-FP-NEXT: vmovaps 448(%r9), %xmm111865; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]11866; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]11867; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11868; AVX2-FP-NEXT: vmovaps 448(%rcx), %xmm611869; AVX2-FP-NEXT: vmovaps 448(%rdx), %xmm711870; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]11871; AVX2-FP-NEXT: vbroadcastsd 456(%r8), %ymm211872; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11873; AVX2-FP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm111874; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11875; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11876; AVX2-FP-NEXT: vmovaps 480(%r8), %ymm111877; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11878; AVX2-FP-NEXT: vmovaps 480(%rsi), %xmm411879; AVX2-FP-NEXT: vmovaps 480(%rdi), %xmm511880; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]11881; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]11882; AVX2-FP-NEXT: vmovaps 480(%r9), %xmm011883; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]11884; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]11885; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11886; AVX2-FP-NEXT: vmovaps 480(%rcx), %xmm211887; AVX2-FP-NEXT: vmovaps 480(%rdx), %xmm311888; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]11889; AVX2-FP-NEXT: vbroadcastsd 488(%r8), %ymm1411890; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]11891; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm011892; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]11893; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11894; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11895; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11896; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11897; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11898; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11899; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11900; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11901; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11902; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11903; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11904; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11905; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11906; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11907; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11908; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11909; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11910; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11911; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11912; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11913; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11914; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11915; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11916; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11917; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11918; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11919; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11920; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11921; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11922; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11923; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11924; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11925; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11926; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11927; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11928; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11929; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11930; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11931; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11932; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11933; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11934; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11935; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11936; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11937; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11938; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11939; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11940; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11941; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11942; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11943; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11944; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11945; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11946; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11947; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11948; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11949; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11950; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11951; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11952; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11953; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11954; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11955; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11956; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11957; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11958; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11959; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11960; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11961; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11962; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11963; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload11964; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11965; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11966; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11967; AVX2-FP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload11968; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11969; AVX2-FP-NEXT: vinsertf128 $1, %xmm15, %ymm1, %ymm111970; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11971; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11972; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm011973; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm111974; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11975; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11976; AVX2-FP-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm011977; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm111978; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11979; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11980; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm011981; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm111982; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11983; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11984; AVX2-FP-NEXT: vmovaps (%rdi), %ymm011985; AVX2-FP-NEXT: vmovaps (%rsi), %ymm111986; AVX2-FP-NEXT: vmovaps (%rdx), %ymm211987; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]11988; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]11989; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm411990; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]11991; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11992; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]11993; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11994; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]11995; AVX2-FP-NEXT: vbroadcastsd 16(%r9), %ymm111996; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]11997; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11998; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]11999; AVX2-FP-NEXT: vbroadcastsd 24(%r8), %ymm112000; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]12001; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm012002; AVX2-FP-NEXT: vmovaps 32(%rsi), %ymm112003; AVX2-FP-NEXT: vmovaps 32(%rdx), %ymm212004; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12005; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12006; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm412007; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12008; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12009; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12010; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12011; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12012; AVX2-FP-NEXT: vbroadcastsd 48(%r9), %ymm112013; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12014; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12015; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12016; AVX2-FP-NEXT: vbroadcastsd 56(%r8), %ymm112017; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]12018; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm012019; AVX2-FP-NEXT: vmovaps 64(%rsi), %ymm112020; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm212021; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12022; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12023; AVX2-FP-NEXT: vbroadcastsd 80(%rcx), %ymm412024; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12025; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12026; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12027; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12028; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12029; AVX2-FP-NEXT: vbroadcastsd 80(%r9), %ymm112030; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12031; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12032; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12033; AVX2-FP-NEXT: vbroadcastsd 88(%r8), %ymm112034; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm1[2,3]12035; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm012036; AVX2-FP-NEXT: vmovaps 96(%rsi), %ymm112037; AVX2-FP-NEXT: vmovaps 96(%rdx), %ymm212038; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12039; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12040; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm412041; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12042; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12043; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12044; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12045; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12046; AVX2-FP-NEXT: vbroadcastsd 112(%r9), %ymm112047; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12048; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12049; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12050; AVX2-FP-NEXT: vbroadcastsd 120(%r8), %ymm112051; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12052; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12053; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm012054; AVX2-FP-NEXT: vmovaps 128(%rsi), %ymm112055; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm212056; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12057; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12058; AVX2-FP-NEXT: vbroadcastsd 144(%rcx), %ymm412059; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12060; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12061; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12062; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12063; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12064; AVX2-FP-NEXT: vbroadcastsd 144(%r9), %ymm112065; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12066; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12067; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12068; AVX2-FP-NEXT: vbroadcastsd 152(%r8), %ymm112069; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12070; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12071; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm012072; AVX2-FP-NEXT: vmovaps 160(%rsi), %ymm112073; AVX2-FP-NEXT: vmovaps 160(%rdx), %ymm212074; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12075; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12076; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm412077; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12078; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12079; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12080; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12081; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12082; AVX2-FP-NEXT: vbroadcastsd 176(%r9), %ymm112083; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12084; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12085; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12086; AVX2-FP-NEXT: vbroadcastsd 184(%r8), %ymm112087; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12088; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12089; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm012090; AVX2-FP-NEXT: vmovaps 192(%rsi), %ymm112091; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm212092; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12093; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12094; AVX2-FP-NEXT: vbroadcastsd 208(%rcx), %ymm412095; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12096; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12097; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12098; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12099; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12100; AVX2-FP-NEXT: vbroadcastsd 208(%r9), %ymm112101; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12102; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12103; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12104; AVX2-FP-NEXT: vbroadcastsd 216(%r8), %ymm112105; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12106; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12107; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm012108; AVX2-FP-NEXT: vmovaps 224(%rsi), %ymm112109; AVX2-FP-NEXT: vmovaps 224(%rdx), %ymm212110; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12111; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12112; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm412113; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12114; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12115; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12116; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12117; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12118; AVX2-FP-NEXT: vbroadcastsd 240(%r9), %ymm112119; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12120; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12121; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12122; AVX2-FP-NEXT: vbroadcastsd 248(%r8), %ymm112123; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12124; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12125; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm012126; AVX2-FP-NEXT: vmovaps 256(%rsi), %ymm112127; AVX2-FP-NEXT: vmovaps 256(%rdx), %ymm212128; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12129; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12130; AVX2-FP-NEXT: vbroadcastsd 272(%rcx), %ymm412131; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12132; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12133; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12134; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12135; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12136; AVX2-FP-NEXT: vbroadcastsd 272(%r9), %ymm112137; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12138; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12139; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12140; AVX2-FP-NEXT: vbroadcastsd 280(%r8), %ymm112141; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12142; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12143; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm012144; AVX2-FP-NEXT: vmovaps 288(%rsi), %ymm112145; AVX2-FP-NEXT: vmovaps 288(%rdx), %ymm212146; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12147; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12148; AVX2-FP-NEXT: vbroadcastsd 304(%rcx), %ymm412149; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12150; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12151; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12152; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12153; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12154; AVX2-FP-NEXT: vbroadcastsd 304(%r9), %ymm112155; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12156; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12157; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12158; AVX2-FP-NEXT: vbroadcastsd 312(%r8), %ymm112159; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12160; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12161; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm012162; AVX2-FP-NEXT: vmovaps 320(%rsi), %ymm112163; AVX2-FP-NEXT: vmovaps 320(%rdx), %ymm212164; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12165; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12166; AVX2-FP-NEXT: vbroadcastsd 336(%rcx), %ymm412167; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12168; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12169; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12170; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12171; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12172; AVX2-FP-NEXT: vbroadcastsd 336(%r9), %ymm112173; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12174; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12175; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12176; AVX2-FP-NEXT: vbroadcastsd 344(%r8), %ymm112177; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12178; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12179; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm012180; AVX2-FP-NEXT: vmovaps 352(%rsi), %ymm112181; AVX2-FP-NEXT: vmovaps 352(%rdx), %ymm212182; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12183; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12184; AVX2-FP-NEXT: vbroadcastsd 368(%rcx), %ymm412185; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12186; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12187; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12188; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12189; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12190; AVX2-FP-NEXT: vbroadcastsd 368(%r9), %ymm112191; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12192; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12193; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12194; AVX2-FP-NEXT: vbroadcastsd 376(%r8), %ymm112195; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12196; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12197; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm012198; AVX2-FP-NEXT: vmovaps 384(%rsi), %ymm112199; AVX2-FP-NEXT: vmovaps 384(%rdx), %ymm212200; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12201; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12202; AVX2-FP-NEXT: vbroadcastsd 400(%rcx), %ymm412203; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12204; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12205; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12206; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12207; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12208; AVX2-FP-NEXT: vbroadcastsd 400(%r9), %ymm112209; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12210; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12211; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12212; AVX2-FP-NEXT: vbroadcastsd 408(%r8), %ymm112213; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm15 = ymm0[2,3],ymm1[2,3]12214; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm012215; AVX2-FP-NEXT: vmovaps 416(%rsi), %ymm112216; AVX2-FP-NEXT: vmovaps 416(%rdx), %ymm212217; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12218; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12219; AVX2-FP-NEXT: vbroadcastsd 432(%rcx), %ymm412220; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12221; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12222; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12223; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12224; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12225; AVX2-FP-NEXT: vbroadcastsd 432(%r9), %ymm112226; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12227; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12228; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12229; AVX2-FP-NEXT: vbroadcastsd 440(%r8), %ymm112230; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[2,3],ymm1[2,3]12231; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm012232; AVX2-FP-NEXT: vmovaps 448(%rsi), %ymm112233; AVX2-FP-NEXT: vmovaps 448(%rdx), %ymm212234; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12235; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]12236; AVX2-FP-NEXT: vbroadcastsd 464(%rcx), %ymm512237; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm4[0,1,2,3,4,5],ymm5[6,7]12238; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12239; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12240; AVX2-FP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12241; AVX2-FP-NEXT: vbroadcastsd 464(%r9), %ymm112242; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12243; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12244; AVX2-FP-NEXT: vbroadcastsd 472(%r8), %ymm212245; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm2[2,3]12246; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm112247; AVX2-FP-NEXT: vmovaps 480(%rsi), %ymm212248; AVX2-FP-NEXT: vmovaps 480(%rdx), %ymm412249; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]12250; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm4[2,3]12251; AVX2-FP-NEXT: vbroadcastsd 496(%rcx), %ymm812252; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm8[6,7]12253; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]12254; AVX2-FP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload12255; AVX2-FP-NEXT: # ymm1 = mem[2,3],ymm1[2,3]12256; AVX2-FP-NEXT: vbroadcastsd 496(%r9), %ymm212257; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]12258; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],mem[1],ymm4[3],mem[3]12259; AVX2-FP-NEXT: vbroadcastsd 504(%r8), %ymm212260; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm2[2,3]12261; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax12262; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],mem[6,7]12263; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12264; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],mem[6,7]12265; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12266; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],mem[6,7]12267; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12268; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12269; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]12270; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12271; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12272; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm1[0,1,2,3,4,5],mem[6,7]12273; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12274; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5],mem[6,7]12275; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12276; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5],mem[6,7]12277; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12278; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5],mem[6,7]12279; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12280; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm1[0,1,2,3,4,5],mem[6,7]12281; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12282; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],mem[6,7]12283; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12284; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],mem[6,7]12285; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12286; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]12287; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]12288; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]12289; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]12290; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]12291; AVX2-FP-NEXT: vmovaps %ymm0, 3040(%rax)12292; AVX2-FP-NEXT: vmovaps %ymm3, 3008(%rax)12293; AVX2-FP-NEXT: vmovaps %ymm5, 2976(%rax)12294; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12295; AVX2-FP-NEXT: vmovaps %ymm0, 2880(%rax)12296; AVX2-FP-NEXT: vmovaps %ymm6, 2848(%rax)12297; AVX2-FP-NEXT: vmovaps %ymm9, 2816(%rax)12298; AVX2-FP-NEXT: vmovaps %ymm11, 2784(%rax)12299; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12300; AVX2-FP-NEXT: vmovaps %ymm0, 2688(%rax)12301; AVX2-FP-NEXT: vmovaps %ymm10, 2656(%rax)12302; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12303; AVX2-FP-NEXT: vmovaps %ymm0, 2624(%rax)12304; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12305; AVX2-FP-NEXT: vmovaps %ymm0, 2592(%rax)12306; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12307; AVX2-FP-NEXT: vmovaps %ymm0, 2496(%rax)12308; AVX2-FP-NEXT: vmovaps %ymm15, 2464(%rax)12309; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12310; AVX2-FP-NEXT: vmovaps %ymm0, 2432(%rax)12311; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12312; AVX2-FP-NEXT: vmovaps %ymm0, 2400(%rax)12313; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12314; AVX2-FP-NEXT: vmovaps %ymm0, 2304(%rax)12315; AVX2-FP-NEXT: vmovaps %ymm1, 2272(%rax)12316; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12317; AVX2-FP-NEXT: vmovaps %ymm0, 2240(%rax)12318; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12319; AVX2-FP-NEXT: vmovaps %ymm0, 2208(%rax)12320; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12321; AVX2-FP-NEXT: vmovaps %ymm0, 2112(%rax)12322; AVX2-FP-NEXT: vmovaps %ymm2, 2080(%rax)12323; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12324; AVX2-FP-NEXT: vmovaps %ymm0, 2048(%rax)12325; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12326; AVX2-FP-NEXT: vmovaps %ymm0, 2016(%rax)12327; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12328; AVX2-FP-NEXT: vmovaps %ymm0, 1920(%rax)12329; AVX2-FP-NEXT: vmovaps %ymm4, 1888(%rax)12330; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12331; AVX2-FP-NEXT: vmovaps %ymm0, 1856(%rax)12332; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12333; AVX2-FP-NEXT: vmovaps %ymm0, 1824(%rax)12334; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12335; AVX2-FP-NEXT: vmovaps %ymm0, 1728(%rax)12336; AVX2-FP-NEXT: vmovaps %ymm7, 1696(%rax)12337; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12338; AVX2-FP-NEXT: vmovaps %ymm0, 1664(%rax)12339; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12340; AVX2-FP-NEXT: vmovaps %ymm0, 1632(%rax)12341; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12342; AVX2-FP-NEXT: vmovaps %ymm0, 1536(%rax)12343; AVX2-FP-NEXT: vmovaps %ymm8, 1504(%rax)12344; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12345; AVX2-FP-NEXT: vmovaps %ymm0, 1472(%rax)12346; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12347; AVX2-FP-NEXT: vmovaps %ymm0, 1440(%rax)12348; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12349; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%rax)12350; AVX2-FP-NEXT: vmovaps %ymm12, 1312(%rax)12351; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12352; AVX2-FP-NEXT: vmovaps %ymm0, 1280(%rax)12353; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12354; AVX2-FP-NEXT: vmovaps %ymm0, 1248(%rax)12355; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12356; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%rax)12357; AVX2-FP-NEXT: vmovaps %ymm13, 1120(%rax)12358; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12359; AVX2-FP-NEXT: vmovaps %ymm0, 1088(%rax)12360; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12361; AVX2-FP-NEXT: vmovaps %ymm0, 1056(%rax)12362; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12363; AVX2-FP-NEXT: vmovaps %ymm0, 960(%rax)12364; AVX2-FP-NEXT: vmovaps %ymm14, 928(%rax)12365; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12366; AVX2-FP-NEXT: vmovaps %ymm0, 896(%rax)12367; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12368; AVX2-FP-NEXT: vmovaps %ymm0, 864(%rax)12369; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12370; AVX2-FP-NEXT: vmovaps %ymm0, 768(%rax)12371; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12372; AVX2-FP-NEXT: vmovaps %ymm0, 736(%rax)12373; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12374; AVX2-FP-NEXT: vmovaps %ymm0, 704(%rax)12375; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12376; AVX2-FP-NEXT: vmovaps %ymm0, 672(%rax)12377; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12378; AVX2-FP-NEXT: vmovaps %ymm0, 576(%rax)12379; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12380; AVX2-FP-NEXT: vmovaps %ymm0, 544(%rax)12381; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12382; AVX2-FP-NEXT: vmovaps %ymm0, 512(%rax)12383; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12384; AVX2-FP-NEXT: vmovaps %ymm0, 480(%rax)12385; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12386; AVX2-FP-NEXT: vmovaps %ymm0, 384(%rax)12387; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12388; AVX2-FP-NEXT: vmovaps %ymm0, 352(%rax)12389; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12390; AVX2-FP-NEXT: vmovaps %ymm0, 320(%rax)12391; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12392; AVX2-FP-NEXT: vmovaps %ymm0, 288(%rax)12393; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12394; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rax)12395; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12396; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rax)12397; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12398; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rax)12399; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12400; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rax)12401; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12402; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)12403; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12404; AVX2-FP-NEXT: vmovaps %ymm0, 2944(%rax)12405; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12406; AVX2-FP-NEXT: vmovaps %ymm0, 2912(%rax)12407; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12408; AVX2-FP-NEXT: vmovaps %ymm0, 2752(%rax)12409; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12410; AVX2-FP-NEXT: vmovaps %ymm0, 2720(%rax)12411; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12412; AVX2-FP-NEXT: vmovaps %ymm0, 2560(%rax)12413; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12414; AVX2-FP-NEXT: vmovaps %ymm0, 2528(%rax)12415; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12416; AVX2-FP-NEXT: vmovaps %ymm0, 2368(%rax)12417; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12418; AVX2-FP-NEXT: vmovaps %ymm0, 2336(%rax)12419; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12420; AVX2-FP-NEXT: vmovaps %ymm0, 2176(%rax)12421; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12422; AVX2-FP-NEXT: vmovaps %ymm0, 2144(%rax)12423; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12424; AVX2-FP-NEXT: vmovaps %ymm0, 1984(%rax)12425; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12426; AVX2-FP-NEXT: vmovaps %ymm0, 1952(%rax)12427; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12428; AVX2-FP-NEXT: vmovaps %ymm0, 1792(%rax)12429; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12430; AVX2-FP-NEXT: vmovaps %ymm0, 1760(%rax)12431; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12432; AVX2-FP-NEXT: vmovaps %ymm0, 1600(%rax)12433; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12434; AVX2-FP-NEXT: vmovaps %ymm0, 1568(%rax)12435; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12436; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%rax)12437; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12438; AVX2-FP-NEXT: vmovaps %ymm0, 1376(%rax)12439; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12440; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%rax)12441; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12442; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%rax)12443; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12444; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%rax)12445; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12446; AVX2-FP-NEXT: vmovaps %ymm0, 992(%rax)12447; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12448; AVX2-FP-NEXT: vmovaps %ymm0, 832(%rax)12449; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12450; AVX2-FP-NEXT: vmovaps %ymm0, 800(%rax)12451; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12452; AVX2-FP-NEXT: vmovaps %ymm0, 640(%rax)12453; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12454; AVX2-FP-NEXT: vmovaps %ymm0, 608(%rax)12455; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12456; AVX2-FP-NEXT: vmovaps %ymm0, 448(%rax)12457; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12458; AVX2-FP-NEXT: vmovaps %ymm0, 416(%rax)12459; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12460; AVX2-FP-NEXT: vmovaps %ymm0, 256(%rax)12461; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12462; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rax)12463; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12464; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)12465; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12466; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)12467; AVX2-FP-NEXT: addq $2968, %rsp # imm = 0xB9812468; AVX2-FP-NEXT: vzeroupper12469; AVX2-FP-NEXT: retq12470;12471; AVX2-FCP-LABEL: store_i64_stride6_vf64:12472; AVX2-FCP: # %bb.0:12473; AVX2-FCP-NEXT: subq $2968, %rsp # imm = 0xB9812474; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm312475; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12476; AVX2-FCP-NEXT: vmovaps (%r8), %ymm412477; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12478; AVX2-FCP-NEXT: vmovaps (%r9), %xmm012479; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]12480; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm712481; AVX2-FCP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12482; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm512483; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12484; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm212485; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12486; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm612487; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12488; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm7[1]12489; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm4[0,1],ymm2[0,1]12490; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]12491; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12492; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012493; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm212494; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12495; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm112496; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12497; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm412498; AVX2-FCP-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12499; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]12500; AVX2-FCP-NEXT: vbroadcastsd 8(%r8), %ymm212501; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]12502; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12503; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12504; AVX2-FCP-NEXT: vmovaps 32(%r9), %xmm012505; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = xmm0[0,0]12506; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm6[1],xmm5[1]12507; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[0,1],ymm2[0,1]12508; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]12509; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12510; AVX2-FCP-NEXT: vmovaps 32(%rcx), %xmm112511; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12512; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm1[1]12513; AVX2-FCP-NEXT: vbroadcastsd 40(%r8), %ymm212514; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]12515; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm212516; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12517; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012518; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12519; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12520; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm112521; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12522; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm012523; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12524; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]12525; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[0,1],ymm0[0,1]12526; AVX2-FCP-NEXT: vmovaps 64(%r9), %xmm112527; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12528; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12529; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12530; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm012531; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12532; AVX2-FCP-NEXT: vmovaps 64(%rcx), %xmm212533; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12534; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12535; AVX2-FCP-NEXT: vbroadcastsd 72(%r8), %ymm212536; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12537; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112538; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12539; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12540; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm112541; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12542; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm212543; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12544; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm012545; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12546; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12547; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12548; AVX2-FCP-NEXT: vmovaps 96(%r9), %xmm112549; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12550; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12551; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12552; AVX2-FCP-NEXT: vmovaps 96(%rcx), %xmm212553; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12554; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm012555; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12556; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12557; AVX2-FCP-NEXT: vbroadcastsd 104(%r8), %ymm212558; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12559; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112560; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12561; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12562; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm112563; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12564; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm212565; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12566; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm012567; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12568; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12569; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12570; AVX2-FCP-NEXT: vmovaps 128(%r9), %xmm112571; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12572; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12573; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12574; AVX2-FCP-NEXT: vmovaps 128(%rcx), %xmm212575; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12576; AVX2-FCP-NEXT: vmovaps 128(%rdx), %xmm012577; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12578; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12579; AVX2-FCP-NEXT: vbroadcastsd 136(%r8), %ymm212580; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12581; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112582; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12583; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12584; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm112585; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12586; AVX2-FCP-NEXT: vmovaps 160(%rsi), %xmm212587; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12588; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm012589; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12590; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12591; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12592; AVX2-FCP-NEXT: vmovaps 160(%r9), %xmm112593; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12594; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12595; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12596; AVX2-FCP-NEXT: vmovaps 160(%rcx), %xmm212597; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12598; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm012599; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12600; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12601; AVX2-FCP-NEXT: vbroadcastsd 168(%r8), %ymm212602; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12603; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112604; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12605; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12606; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm112607; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12608; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm212609; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12610; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm012611; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12612; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12613; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12614; AVX2-FCP-NEXT: vmovaps 192(%r9), %xmm112615; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12616; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12617; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12618; AVX2-FCP-NEXT: vmovaps 192(%rcx), %xmm212619; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12620; AVX2-FCP-NEXT: vmovaps 192(%rdx), %xmm012621; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12622; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12623; AVX2-FCP-NEXT: vbroadcastsd 200(%r8), %ymm212624; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12625; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112626; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12627; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12628; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm112629; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12630; AVX2-FCP-NEXT: vmovaps 224(%rsi), %xmm212631; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12632; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm012633; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12634; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12635; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12636; AVX2-FCP-NEXT: vmovaps 224(%r9), %xmm112637; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12638; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12639; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12640; AVX2-FCP-NEXT: vmovaps 224(%rcx), %xmm212641; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12642; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm012643; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12644; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12645; AVX2-FCP-NEXT: vbroadcastsd 232(%r8), %ymm212646; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12647; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112648; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12649; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12650; AVX2-FCP-NEXT: vmovaps 256(%r8), %ymm112651; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12652; AVX2-FCP-NEXT: vmovaps 256(%rsi), %xmm212653; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12654; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm012655; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12656; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12657; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12658; AVX2-FCP-NEXT: vmovaps 256(%r9), %xmm112659; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12660; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12661; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12662; AVX2-FCP-NEXT: vmovaps 256(%rcx), %xmm212663; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12664; AVX2-FCP-NEXT: vmovaps 256(%rdx), %xmm012665; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12666; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12667; AVX2-FCP-NEXT: vbroadcastsd 264(%r8), %ymm212668; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12669; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112670; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12671; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12672; AVX2-FCP-NEXT: vmovaps 288(%r8), %ymm112673; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12674; AVX2-FCP-NEXT: vmovaps 288(%rsi), %xmm212675; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12676; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm012677; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12678; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12679; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12680; AVX2-FCP-NEXT: vmovaps 288(%r9), %xmm112681; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12682; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12683; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12684; AVX2-FCP-NEXT: vmovaps 288(%rcx), %xmm212685; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12686; AVX2-FCP-NEXT: vmovaps 288(%rdx), %xmm012687; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12688; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12689; AVX2-FCP-NEXT: vbroadcastsd 296(%r8), %ymm212690; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12691; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112692; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12693; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12694; AVX2-FCP-NEXT: vmovaps 320(%r8), %ymm112695; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12696; AVX2-FCP-NEXT: vmovaps 320(%rsi), %xmm212697; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12698; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm012699; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12700; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12701; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12702; AVX2-FCP-NEXT: vmovaps 320(%r9), %xmm112703; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12704; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12705; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12706; AVX2-FCP-NEXT: vmovaps 320(%rcx), %xmm212707; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12708; AVX2-FCP-NEXT: vmovaps 320(%rdx), %xmm012709; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12710; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12711; AVX2-FCP-NEXT: vbroadcastsd 328(%r8), %ymm212712; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12713; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112714; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12715; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12716; AVX2-FCP-NEXT: vmovaps 352(%r8), %ymm112717; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12718; AVX2-FCP-NEXT: vmovaps 352(%rsi), %xmm212719; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12720; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm012721; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12722; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12723; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12724; AVX2-FCP-NEXT: vmovaps 352(%r9), %xmm112725; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12726; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12727; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12728; AVX2-FCP-NEXT: vmovaps 352(%rcx), %xmm212729; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12730; AVX2-FCP-NEXT: vmovaps 352(%rdx), %xmm012731; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12732; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12733; AVX2-FCP-NEXT: vbroadcastsd 360(%r8), %ymm212734; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12735; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112736; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12737; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12738; AVX2-FCP-NEXT: vmovaps 384(%r8), %ymm112739; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12740; AVX2-FCP-NEXT: vmovaps 384(%rsi), %xmm212741; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12742; AVX2-FCP-NEXT: vmovaps 384(%rdi), %xmm012743; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12744; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]12745; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12746; AVX2-FCP-NEXT: vmovaps 384(%r9), %xmm112747; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12748; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12749; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12750; AVX2-FCP-NEXT: vmovaps 384(%rcx), %xmm012751; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12752; AVX2-FCP-NEXT: vmovaps 384(%rdx), %xmm1512753; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm15[1],xmm0[1]12754; AVX2-FCP-NEXT: vbroadcastsd 392(%r8), %ymm212755; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12756; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112757; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12758; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12759; AVX2-FCP-NEXT: vmovaps 416(%r8), %ymm112760; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12761; AVX2-FCP-NEXT: vmovaps 416(%rsi), %xmm1212762; AVX2-FCP-NEXT: vmovaps 416(%rdi), %xmm1312763; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm13[1],xmm12[1]12764; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12765; AVX2-FCP-NEXT: vmovaps 416(%r9), %xmm112766; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12767; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12768; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12769; AVX2-FCP-NEXT: vmovaps 416(%rcx), %xmm1012770; AVX2-FCP-NEXT: vmovaps 416(%rdx), %xmm1112771; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm11[1],xmm10[1]12772; AVX2-FCP-NEXT: vbroadcastsd 424(%r8), %ymm212773; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12774; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112775; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12776; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12777; AVX2-FCP-NEXT: vmovaps 448(%r8), %ymm112778; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12779; AVX2-FCP-NEXT: vmovaps 448(%rsi), %xmm812780; AVX2-FCP-NEXT: vmovaps 448(%rdi), %xmm912781; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm9[1],xmm8[1]12782; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[0,1],ymm0[0,1]12783; AVX2-FCP-NEXT: vmovaps 448(%r9), %xmm112784; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm1[0,0]12785; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]12786; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12787; AVX2-FCP-NEXT: vmovaps 448(%rcx), %xmm612788; AVX2-FCP-NEXT: vmovaps 448(%rdx), %xmm712789; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]12790; AVX2-FCP-NEXT: vbroadcastsd 456(%r8), %ymm212791; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12792; AVX2-FCP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm112793; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12794; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12795; AVX2-FCP-NEXT: vmovaps 480(%r8), %ymm112796; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12797; AVX2-FCP-NEXT: vmovaps 480(%rsi), %xmm412798; AVX2-FCP-NEXT: vmovaps 480(%rdi), %xmm512799; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm5[1],xmm4[1]12800; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[0,1],ymm0[0,1]12801; AVX2-FCP-NEXT: vmovaps 480(%r9), %xmm012802; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm2 = xmm0[0,0]12803; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]12804; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12805; AVX2-FCP-NEXT: vmovaps 480(%rcx), %xmm212806; AVX2-FCP-NEXT: vmovaps 480(%rdx), %xmm312807; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]12808; AVX2-FCP-NEXT: vbroadcastsd 488(%r8), %ymm1412809; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]12810; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm012811; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12812; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12813; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12814; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12815; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12816; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12817; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12818; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12819; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12820; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12821; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12822; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12823; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12824; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12825; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12826; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12827; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12828; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12829; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12830; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12831; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12832; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12833; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12834; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12835; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12836; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12837; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12838; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12839; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12840; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12841; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12842; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12843; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12844; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12845; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12846; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12847; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12848; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12849; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12850; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12851; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12852; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12853; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12854; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12855; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12856; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12857; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12858; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12859; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12860; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12861; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12862; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12863; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12864; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12865; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12866; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12867; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12868; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12869; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12870; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12871; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12872; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12873; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12874; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12875; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12876; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12877; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12878; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12879; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12880; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12881; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12882; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 16-byte Folded Reload12883; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12884; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12885; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12886; AVX2-FCP-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload12887; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12888; AVX2-FCP-NEXT: vinsertf128 $1, %xmm15, %ymm1, %ymm112889; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12890; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12891; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm012892; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm13, %ymm112893; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12894; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12895; AVX2-FCP-NEXT: vinsertf128 $1, %xmm6, %ymm8, %ymm012896; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm112897; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12898; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12899; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm012900; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm112901; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12902; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12903; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm012904; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm112905; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm212906; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12907; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12908; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm412909; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12910; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12911; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12912; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12913; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12914; AVX2-FCP-NEXT: vbroadcastsd 16(%r9), %ymm112915; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12916; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12917; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12918; AVX2-FCP-NEXT: vbroadcastsd 24(%r8), %ymm112919; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm12 = ymm0[2,3],ymm1[2,3]12920; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm012921; AVX2-FCP-NEXT: vmovaps 32(%rsi), %ymm112922; AVX2-FCP-NEXT: vmovaps 32(%rdx), %ymm212923; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12924; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12925; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm412926; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12927; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12928; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12929; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12930; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12931; AVX2-FCP-NEXT: vbroadcastsd 48(%r9), %ymm112932; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12933; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12934; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12935; AVX2-FCP-NEXT: vbroadcastsd 56(%r8), %ymm112936; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm0[2,3],ymm1[2,3]12937; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm012938; AVX2-FCP-NEXT: vmovaps 64(%rsi), %ymm112939; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm212940; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12941; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12942; AVX2-FCP-NEXT: vbroadcastsd 80(%rcx), %ymm412943; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12944; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12945; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12946; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12947; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12948; AVX2-FCP-NEXT: vbroadcastsd 80(%r9), %ymm112949; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12950; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12951; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12952; AVX2-FCP-NEXT: vbroadcastsd 88(%r8), %ymm112953; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm14 = ymm0[2,3],ymm1[2,3]12954; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm012955; AVX2-FCP-NEXT: vmovaps 96(%rsi), %ymm112956; AVX2-FCP-NEXT: vmovaps 96(%rdx), %ymm212957; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12958; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12959; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm412960; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12961; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12962; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12963; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12964; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12965; AVX2-FCP-NEXT: vbroadcastsd 112(%r9), %ymm112966; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12967; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12968; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12969; AVX2-FCP-NEXT: vbroadcastsd 120(%r8), %ymm112970; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12971; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12972; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm012973; AVX2-FCP-NEXT: vmovaps 128(%rsi), %ymm112974; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm212975; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12976; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12977; AVX2-FCP-NEXT: vbroadcastsd 144(%rcx), %ymm412978; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12979; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12980; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12981; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload12982; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]12983; AVX2-FCP-NEXT: vbroadcastsd 144(%r9), %ymm112984; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]12985; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12986; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]12987; AVX2-FCP-NEXT: vbroadcastsd 152(%r8), %ymm112988; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]12989; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12990; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm012991; AVX2-FCP-NEXT: vmovaps 160(%rsi), %ymm112992; AVX2-FCP-NEXT: vmovaps 160(%rdx), %ymm212993; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]12994; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]12995; AVX2-FCP-NEXT: vbroadcastsd 176(%rcx), %ymm412996; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]12997; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12998; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]12999; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13000; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13001; AVX2-FCP-NEXT: vbroadcastsd 176(%r9), %ymm113002; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13003; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13004; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13005; AVX2-FCP-NEXT: vbroadcastsd 184(%r8), %ymm113006; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13007; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13008; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm013009; AVX2-FCP-NEXT: vmovaps 192(%rsi), %ymm113010; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm213011; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13012; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13013; AVX2-FCP-NEXT: vbroadcastsd 208(%rcx), %ymm413014; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13015; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13016; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13017; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13018; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13019; AVX2-FCP-NEXT: vbroadcastsd 208(%r9), %ymm113020; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13021; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13022; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13023; AVX2-FCP-NEXT: vbroadcastsd 216(%r8), %ymm113024; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13025; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13026; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm013027; AVX2-FCP-NEXT: vmovaps 224(%rsi), %ymm113028; AVX2-FCP-NEXT: vmovaps 224(%rdx), %ymm213029; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13030; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13031; AVX2-FCP-NEXT: vbroadcastsd 240(%rcx), %ymm413032; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13033; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13034; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13035; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13036; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13037; AVX2-FCP-NEXT: vbroadcastsd 240(%r9), %ymm113038; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13039; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13040; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13041; AVX2-FCP-NEXT: vbroadcastsd 248(%r8), %ymm113042; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13043; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13044; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm013045; AVX2-FCP-NEXT: vmovaps 256(%rsi), %ymm113046; AVX2-FCP-NEXT: vmovaps 256(%rdx), %ymm213047; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13048; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13049; AVX2-FCP-NEXT: vbroadcastsd 272(%rcx), %ymm413050; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13051; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13052; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13053; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13054; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13055; AVX2-FCP-NEXT: vbroadcastsd 272(%r9), %ymm113056; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13057; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13058; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13059; AVX2-FCP-NEXT: vbroadcastsd 280(%r8), %ymm113060; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13061; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13062; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm013063; AVX2-FCP-NEXT: vmovaps 288(%rsi), %ymm113064; AVX2-FCP-NEXT: vmovaps 288(%rdx), %ymm213065; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13066; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13067; AVX2-FCP-NEXT: vbroadcastsd 304(%rcx), %ymm413068; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13069; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13070; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13071; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13072; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13073; AVX2-FCP-NEXT: vbroadcastsd 304(%r9), %ymm113074; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13075; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13076; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13077; AVX2-FCP-NEXT: vbroadcastsd 312(%r8), %ymm113078; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13079; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13080; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm013081; AVX2-FCP-NEXT: vmovaps 320(%rsi), %ymm113082; AVX2-FCP-NEXT: vmovaps 320(%rdx), %ymm213083; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13084; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13085; AVX2-FCP-NEXT: vbroadcastsd 336(%rcx), %ymm413086; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13087; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13088; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13089; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13090; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13091; AVX2-FCP-NEXT: vbroadcastsd 336(%r9), %ymm113092; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13093; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13094; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13095; AVX2-FCP-NEXT: vbroadcastsd 344(%r8), %ymm113096; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13097; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13098; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm013099; AVX2-FCP-NEXT: vmovaps 352(%rsi), %ymm113100; AVX2-FCP-NEXT: vmovaps 352(%rdx), %ymm213101; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13102; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13103; AVX2-FCP-NEXT: vbroadcastsd 368(%rcx), %ymm413104; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13105; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13106; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13107; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13108; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13109; AVX2-FCP-NEXT: vbroadcastsd 368(%r9), %ymm113110; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13111; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13112; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13113; AVX2-FCP-NEXT: vbroadcastsd 376(%r8), %ymm113114; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]13115; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13116; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm013117; AVX2-FCP-NEXT: vmovaps 384(%rsi), %ymm113118; AVX2-FCP-NEXT: vmovaps 384(%rdx), %ymm213119; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13120; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13121; AVX2-FCP-NEXT: vbroadcastsd 400(%rcx), %ymm413122; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13123; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13124; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13125; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13126; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13127; AVX2-FCP-NEXT: vbroadcastsd 400(%r9), %ymm113128; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13129; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13130; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13131; AVX2-FCP-NEXT: vbroadcastsd 408(%r8), %ymm113132; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm15 = ymm0[2,3],ymm1[2,3]13133; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm013134; AVX2-FCP-NEXT: vmovaps 416(%rsi), %ymm113135; AVX2-FCP-NEXT: vmovaps 416(%rdx), %ymm213136; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13137; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm2[2,3]13138; AVX2-FCP-NEXT: vbroadcastsd 432(%rcx), %ymm413139; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]13140; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13141; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13142; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13143; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13144; AVX2-FCP-NEXT: vbroadcastsd 432(%r9), %ymm113145; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13146; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13147; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13148; AVX2-FCP-NEXT: vbroadcastsd 440(%r8), %ymm113149; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm0[2,3],ymm1[2,3]13150; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm013151; AVX2-FCP-NEXT: vmovaps 448(%rsi), %ymm113152; AVX2-FCP-NEXT: vmovaps 448(%rdx), %ymm213153; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]13154; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm2[2,3]13155; AVX2-FCP-NEXT: vbroadcastsd 464(%rcx), %ymm513156; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm4[0,1,2,3,4,5],ymm5[6,7]13157; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]13158; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13159; AVX2-FCP-NEXT: # ymm0 = mem[2,3],ymm0[2,3]13160; AVX2-FCP-NEXT: vbroadcastsd 464(%r9), %ymm113161; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]13162; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm2[1],mem[1],ymm2[3],mem[3]13163; AVX2-FCP-NEXT: vbroadcastsd 472(%r8), %ymm213164; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm0[2,3],ymm2[2,3]13165; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm113166; AVX2-FCP-NEXT: vmovaps 480(%rsi), %ymm213167; AVX2-FCP-NEXT: vmovaps 480(%rdx), %ymm413168; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]13169; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm4[2,3]13170; AVX2-FCP-NEXT: vbroadcastsd 496(%rcx), %ymm813171; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm8[6,7]13172; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]13173; AVX2-FCP-NEXT: vperm2f128 $19, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload13174; AVX2-FCP-NEXT: # ymm1 = mem[2,3],ymm1[2,3]13175; AVX2-FCP-NEXT: vbroadcastsd 496(%r9), %ymm213176; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm2[2,3],ymm1[4,5,6,7]13177; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],mem[1],ymm4[3],mem[3]13178; AVX2-FCP-NEXT: vbroadcastsd 504(%r8), %ymm213179; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm2[2,3]13180; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax13181; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],mem[6,7]13182; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13183; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],mem[6,7]13184; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13185; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],mem[6,7]13186; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13187; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13188; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]13189; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13190; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13191; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm1[0,1,2,3,4,5],mem[6,7]13192; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13193; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5],mem[6,7]13194; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13195; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5],mem[6,7]13196; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13197; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5],mem[6,7]13198; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13199; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm1[0,1,2,3,4,5],mem[6,7]13200; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13201; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],mem[6,7]13202; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13203; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],mem[6,7]13204; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13205; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],mem[6,7]13206; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3,4,5],mem[6,7]13207; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],mem[6,7]13208; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],mem[6,7]13209; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13210; AVX2-FCP-NEXT: vmovaps %ymm0, 3040(%rax)13211; AVX2-FCP-NEXT: vmovaps %ymm3, 3008(%rax)13212; AVX2-FCP-NEXT: vmovaps %ymm5, 2976(%rax)13213; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13214; AVX2-FCP-NEXT: vmovaps %ymm0, 2880(%rax)13215; AVX2-FCP-NEXT: vmovaps %ymm6, 2848(%rax)13216; AVX2-FCP-NEXT: vmovaps %ymm9, 2816(%rax)13217; AVX2-FCP-NEXT: vmovaps %ymm11, 2784(%rax)13218; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13219; AVX2-FCP-NEXT: vmovaps %ymm0, 2688(%rax)13220; AVX2-FCP-NEXT: vmovaps %ymm10, 2656(%rax)13221; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13222; AVX2-FCP-NEXT: vmovaps %ymm0, 2624(%rax)13223; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13224; AVX2-FCP-NEXT: vmovaps %ymm0, 2592(%rax)13225; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13226; AVX2-FCP-NEXT: vmovaps %ymm0, 2496(%rax)13227; AVX2-FCP-NEXT: vmovaps %ymm15, 2464(%rax)13228; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13229; AVX2-FCP-NEXT: vmovaps %ymm0, 2432(%rax)13230; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13231; AVX2-FCP-NEXT: vmovaps %ymm0, 2400(%rax)13232; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13233; AVX2-FCP-NEXT: vmovaps %ymm0, 2304(%rax)13234; AVX2-FCP-NEXT: vmovaps %ymm1, 2272(%rax)13235; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13236; AVX2-FCP-NEXT: vmovaps %ymm0, 2240(%rax)13237; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13238; AVX2-FCP-NEXT: vmovaps %ymm0, 2208(%rax)13239; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13240; AVX2-FCP-NEXT: vmovaps %ymm0, 2112(%rax)13241; AVX2-FCP-NEXT: vmovaps %ymm2, 2080(%rax)13242; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13243; AVX2-FCP-NEXT: vmovaps %ymm0, 2048(%rax)13244; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13245; AVX2-FCP-NEXT: vmovaps %ymm0, 2016(%rax)13246; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13247; AVX2-FCP-NEXT: vmovaps %ymm0, 1920(%rax)13248; AVX2-FCP-NEXT: vmovaps %ymm4, 1888(%rax)13249; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13250; AVX2-FCP-NEXT: vmovaps %ymm0, 1856(%rax)13251; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13252; AVX2-FCP-NEXT: vmovaps %ymm0, 1824(%rax)13253; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13254; AVX2-FCP-NEXT: vmovaps %ymm0, 1728(%rax)13255; AVX2-FCP-NEXT: vmovaps %ymm7, 1696(%rax)13256; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13257; AVX2-FCP-NEXT: vmovaps %ymm0, 1664(%rax)13258; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13259; AVX2-FCP-NEXT: vmovaps %ymm0, 1632(%rax)13260; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13261; AVX2-FCP-NEXT: vmovaps %ymm0, 1536(%rax)13262; AVX2-FCP-NEXT: vmovaps %ymm8, 1504(%rax)13263; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13264; AVX2-FCP-NEXT: vmovaps %ymm0, 1472(%rax)13265; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13266; AVX2-FCP-NEXT: vmovaps %ymm0, 1440(%rax)13267; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13268; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%rax)13269; AVX2-FCP-NEXT: vmovaps %ymm12, 1312(%rax)13270; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13271; AVX2-FCP-NEXT: vmovaps %ymm0, 1280(%rax)13272; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13273; AVX2-FCP-NEXT: vmovaps %ymm0, 1248(%rax)13274; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13275; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%rax)13276; AVX2-FCP-NEXT: vmovaps %ymm13, 1120(%rax)13277; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13278; AVX2-FCP-NEXT: vmovaps %ymm0, 1088(%rax)13279; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13280; AVX2-FCP-NEXT: vmovaps %ymm0, 1056(%rax)13281; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13282; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%rax)13283; AVX2-FCP-NEXT: vmovaps %ymm14, 928(%rax)13284; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13285; AVX2-FCP-NEXT: vmovaps %ymm0, 896(%rax)13286; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13287; AVX2-FCP-NEXT: vmovaps %ymm0, 864(%rax)13288; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13289; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%rax)13290; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13291; AVX2-FCP-NEXT: vmovaps %ymm0, 736(%rax)13292; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13293; AVX2-FCP-NEXT: vmovaps %ymm0, 704(%rax)13294; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13295; AVX2-FCP-NEXT: vmovaps %ymm0, 672(%rax)13296; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13297; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%rax)13298; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13299; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%rax)13300; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13301; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%rax)13302; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13303; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%rax)13304; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13305; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%rax)13306; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13307; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%rax)13308; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13309; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%rax)13310; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13311; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%rax)13312; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13313; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%rax)13314; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13315; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%rax)13316; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13317; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%rax)13318; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13319; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%rax)13320; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13321; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)13322; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13323; AVX2-FCP-NEXT: vmovaps %ymm0, 2944(%rax)13324; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13325; AVX2-FCP-NEXT: vmovaps %ymm0, 2912(%rax)13326; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13327; AVX2-FCP-NEXT: vmovaps %ymm0, 2752(%rax)13328; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13329; AVX2-FCP-NEXT: vmovaps %ymm0, 2720(%rax)13330; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13331; AVX2-FCP-NEXT: vmovaps %ymm0, 2560(%rax)13332; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13333; AVX2-FCP-NEXT: vmovaps %ymm0, 2528(%rax)13334; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13335; AVX2-FCP-NEXT: vmovaps %ymm0, 2368(%rax)13336; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13337; AVX2-FCP-NEXT: vmovaps %ymm0, 2336(%rax)13338; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13339; AVX2-FCP-NEXT: vmovaps %ymm0, 2176(%rax)13340; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13341; AVX2-FCP-NEXT: vmovaps %ymm0, 2144(%rax)13342; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13343; AVX2-FCP-NEXT: vmovaps %ymm0, 1984(%rax)13344; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13345; AVX2-FCP-NEXT: vmovaps %ymm0, 1952(%rax)13346; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13347; AVX2-FCP-NEXT: vmovaps %ymm0, 1792(%rax)13348; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13349; AVX2-FCP-NEXT: vmovaps %ymm0, 1760(%rax)13350; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13351; AVX2-FCP-NEXT: vmovaps %ymm0, 1600(%rax)13352; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13353; AVX2-FCP-NEXT: vmovaps %ymm0, 1568(%rax)13354; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13355; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%rax)13356; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13357; AVX2-FCP-NEXT: vmovaps %ymm0, 1376(%rax)13358; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13359; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%rax)13360; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13361; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%rax)13362; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13363; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%rax)13364; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13365; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%rax)13366; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13367; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%rax)13368; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13369; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%rax)13370; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13371; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%rax)13372; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13373; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%rax)13374; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13375; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%rax)13376; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13377; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%rax)13378; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13379; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%rax)13380; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13381; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rax)13382; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13383; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)13384; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13385; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)13386; AVX2-FCP-NEXT: addq $2968, %rsp # imm = 0xB9813387; AVX2-FCP-NEXT: vzeroupper13388; AVX2-FCP-NEXT: retq13389;13390; AVX512-LABEL: store_i64_stride6_vf64:13391; AVX512: # %bb.0:13392; AVX512-NEXT: subq $3720, %rsp # imm = 0xE8813393; AVX512-NEXT: vmovdqa64 (%rdi), %zmm1113394; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm1013395; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm913396; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm813397; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm713398; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm613399; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm513400; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm413401; AVX512-NEXT: vmovdqa64 (%rsi), %zmm3013402; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm2913403; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm2813404; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm2713405; AVX512-NEXT: vmovdqa64 256(%rsi), %zmm113406; AVX512-NEXT: vmovdqa64 320(%rsi), %zmm1313407; AVX512-NEXT: vmovdqa64 384(%rsi), %zmm2413408; AVX512-NEXT: vmovdqa64 448(%rsi), %zmm013409; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]13410; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]13411; AVX512-NEXT: vmovdqa64 %zmm4, %zmm2213412; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm2213413; AVX512-NEXT: vmovdqa64 %zmm5, %zmm313414; AVX512-NEXT: vpermt2q %zmm24, %zmm2, %zmm313415; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13416; AVX512-NEXT: vmovdqa64 %zmm6, %zmm313417; AVX512-NEXT: vpermt2q %zmm13, %zmm2, %zmm313418; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13419; AVX512-NEXT: vmovdqa64 %zmm7, %zmm313420; AVX512-NEXT: vpermt2q %zmm1, %zmm2, %zmm313421; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13422; AVX512-NEXT: vmovdqa64 %zmm8, %zmm313423; AVX512-NEXT: vpermt2q %zmm27, %zmm2, %zmm313424; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13425; AVX512-NEXT: vmovdqa64 %zmm9, %zmm313426; AVX512-NEXT: vpermt2q %zmm28, %zmm2, %zmm313427; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13428; AVX512-NEXT: vmovdqa64 %zmm10, %zmm313429; AVX512-NEXT: vpermt2q %zmm29, %zmm2, %zmm313430; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13431; AVX512-NEXT: vpermi2q %zmm30, %zmm11, %zmm213432; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13433; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]13434; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13435; AVX512-NEXT: vmovdqa64 %zmm11, %zmm313436; AVX512-NEXT: vpermt2q %zmm30, %zmm12, %zmm313437; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13438; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]13439; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13440; AVX512-NEXT: vmovdqa64 %zmm11, %zmm313441; AVX512-NEXT: vpermt2q %zmm30, %zmm2, %zmm313442; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13443; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]13444; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13445; AVX512-NEXT: vmovdqa64 %zmm11, %zmm313446; AVX512-NEXT: vpermt2q %zmm30, %zmm21, %zmm313447; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13448; AVX512-NEXT: vmovdqa64 %zmm10, %zmm313449; AVX512-NEXT: vpermt2q %zmm29, %zmm12, %zmm313450; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13451; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]13452; AVX512-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]13453; AVX512-NEXT: vpermt2q %zmm30, %zmm3, %zmm1113454; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13455; AVX512-NEXT: vmovdqa64 %zmm10, %zmm1113456; AVX512-NEXT: vpermt2q %zmm29, %zmm2, %zmm1113457; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13458; AVX512-NEXT: vmovdqa64 %zmm10, %zmm1113459; AVX512-NEXT: vpermt2q %zmm29, %zmm21, %zmm1113460; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13461; AVX512-NEXT: vpermt2q %zmm29, %zmm3, %zmm1013462; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13463; AVX512-NEXT: vmovdqa64 %zmm9, %zmm1013464; AVX512-NEXT: vpermt2q %zmm28, %zmm12, %zmm1013465; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13466; AVX512-NEXT: vmovdqa64 %zmm9, %zmm1013467; AVX512-NEXT: vpermt2q %zmm28, %zmm2, %zmm1013468; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13469; AVX512-NEXT: vmovdqa64 %zmm9, %zmm1013470; AVX512-NEXT: vpermt2q %zmm28, %zmm21, %zmm1013471; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13472; AVX512-NEXT: vpermt2q %zmm28, %zmm3, %zmm913473; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13474; AVX512-NEXT: vmovdqa64 %zmm8, %zmm913475; AVX512-NEXT: vpermt2q %zmm27, %zmm12, %zmm913476; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13477; AVX512-NEXT: vmovdqa64 %zmm8, %zmm913478; AVX512-NEXT: vpermt2q %zmm27, %zmm2, %zmm913479; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13480; AVX512-NEXT: vmovdqa64 %zmm8, %zmm913481; AVX512-NEXT: vpermt2q %zmm27, %zmm21, %zmm913482; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13483; AVX512-NEXT: vpermt2q %zmm27, %zmm3, %zmm813484; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13485; AVX512-NEXT: vmovdqa64 %zmm7, %zmm813486; AVX512-NEXT: vpermt2q %zmm1, %zmm12, %zmm813487; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13488; AVX512-NEXT: vmovdqa64 %zmm7, %zmm813489; AVX512-NEXT: vpermt2q %zmm1, %zmm2, %zmm813490; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13491; AVX512-NEXT: vmovdqa64 %zmm7, %zmm813492; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm813493; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13494; AVX512-NEXT: vpermt2q %zmm1, %zmm3, %zmm713495; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13496; AVX512-NEXT: vmovdqa64 %zmm6, %zmm113497; AVX512-NEXT: vpermt2q %zmm13, %zmm12, %zmm113498; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13499; AVX512-NEXT: vmovdqa64 %zmm6, %zmm113500; AVX512-NEXT: vpermt2q %zmm13, %zmm2, %zmm113501; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13502; AVX512-NEXT: vmovdqa64 %zmm6, %zmm113503; AVX512-NEXT: vpermt2q %zmm13, %zmm21, %zmm113504; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13505; AVX512-NEXT: vpermt2q %zmm13, %zmm3, %zmm613506; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13507; AVX512-NEXT: vmovdqa64 %zmm5, %zmm113508; AVX512-NEXT: vpermt2q %zmm24, %zmm12, %zmm113509; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13510; AVX512-NEXT: vmovdqa64 %zmm5, %zmm113511; AVX512-NEXT: vpermt2q %zmm24, %zmm2, %zmm113512; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13513; AVX512-NEXT: vmovdqa64 %zmm2, %zmm813514; AVX512-NEXT: vmovdqa64 %zmm5, %zmm113515; AVX512-NEXT: vpermt2q %zmm24, %zmm21, %zmm113516; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13517; AVX512-NEXT: vpermt2q %zmm24, %zmm3, %zmm513518; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13519; AVX512-NEXT: vmovdqa64 (%rdx), %zmm513520; AVX512-NEXT: vmovdqa64 (%rcx), %zmm1413521; AVX512-NEXT: vmovdqa64 %zmm5, %zmm2913522; AVX512-NEXT: vpermt2q %zmm14, %zmm21, %zmm2913523; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm113524; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm1113525; AVX512-NEXT: vmovdqa64 %zmm1, %zmm213526; AVX512-NEXT: vmovdqa64 %zmm1, %zmm2013527; AVX512-NEXT: vpermt2q %zmm11, %zmm21, %zmm213528; AVX512-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill13529; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm2313530; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm913531; AVX512-NEXT: vmovdqa64 %zmm23, %zmm113532; AVX512-NEXT: vpermt2q %zmm9, %zmm21, %zmm113533; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13534; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm1813535; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm613536; AVX512-NEXT: vmovdqa64 %zmm18, %zmm113537; AVX512-NEXT: vpermt2q %zmm6, %zmm21, %zmm113538; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13539; AVX512-NEXT: vmovdqa64 256(%rdx), %zmm1713540; AVX512-NEXT: vmovdqa64 256(%rcx), %zmm713541; AVX512-NEXT: vmovdqa64 %zmm17, %zmm113542; AVX512-NEXT: vpermt2q %zmm7, %zmm21, %zmm113543; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13544; AVX512-NEXT: vmovdqa64 320(%rdx), %zmm1513545; AVX512-NEXT: vmovdqa64 320(%rcx), %zmm1013546; AVX512-NEXT: vmovdqa64 %zmm15, %zmm113547; AVX512-NEXT: vpermt2q %zmm10, %zmm21, %zmm113548; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13549; AVX512-NEXT: vmovdqa64 384(%rdx), %zmm1313550; AVX512-NEXT: vmovdqa64 384(%rcx), %zmm213551; AVX512-NEXT: vmovdqa64 %zmm13, %zmm113552; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm113553; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13554; AVX512-NEXT: vmovdqa64 %zmm4, %zmm113555; AVX512-NEXT: vpermi2q %zmm0, %zmm4, %zmm1213556; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13557; AVX512-NEXT: vpermi2q %zmm0, %zmm4, %zmm813558; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13559; AVX512-NEXT: vmovdqa64 448(%rdx), %zmm1613560; AVX512-NEXT: vmovdqa64 448(%rcx), %zmm413561; AVX512-NEXT: vmovdqa64 %zmm16, %zmm813562; AVX512-NEXT: vpermt2q %zmm4, %zmm21, %zmm813563; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13564; AVX512-NEXT: vpermi2q %zmm0, %zmm1, %zmm2113565; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13566; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm113567; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13568; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]13569; AVX512-NEXT: vmovdqa64 %zmm16, %zmm2413570; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm2413571; AVX512-NEXT: vmovdqa64 %zmm13, %zmm1913572; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm1913573; AVX512-NEXT: vmovdqa64 %zmm15, %zmm013574; AVX512-NEXT: vpermt2q %zmm10, %zmm1, %zmm013575; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13576; AVX512-NEXT: vmovdqa64 %zmm17, %zmm3113577; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm3113578; AVX512-NEXT: vmovdqa64 %zmm18, %zmm2113579; AVX512-NEXT: vpermt2q %zmm6, %zmm1, %zmm2113580; AVX512-NEXT: vmovdqa64 %zmm23, %zmm1213581; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm1213582; AVX512-NEXT: vmovdqa64 %zmm20, %zmm313583; AVX512-NEXT: vpermt2q %zmm11, %zmm1, %zmm313584; AVX512-NEXT: vpermi2q %zmm14, %zmm5, %zmm113585; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]13586; AVX512-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]13587; AVX512-NEXT: vmovdqa64 %zmm5, %zmm013588; AVX512-NEXT: vpermt2q %zmm14, %zmm27, %zmm013589; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13590; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]13591; AVX512-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]13592; AVX512-NEXT: vmovdqa64 %zmm5, %zmm013593; AVX512-NEXT: vpermt2q %zmm14, %zmm28, %zmm013594; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13595; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]13596; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13597; AVX512-NEXT: vpermt2q %zmm14, %zmm0, %zmm513598; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13599; AVX512-NEXT: vmovdqa64 %zmm20, %zmm513600; AVX512-NEXT: vpermt2q %zmm11, %zmm27, %zmm513601; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13602; AVX512-NEXT: vmovdqa64 %zmm20, %zmm513603; AVX512-NEXT: vpermt2q %zmm11, %zmm28, %zmm513604; AVX512-NEXT: vpermt2q %zmm11, %zmm0, %zmm2013605; AVX512-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13606; AVX512-NEXT: vmovdqa64 %zmm23, %zmm813607; AVX512-NEXT: vpermt2q %zmm9, %zmm27, %zmm813608; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13609; AVX512-NEXT: vmovdqa64 %zmm23, %zmm1113610; AVX512-NEXT: vpermt2q %zmm9, %zmm28, %zmm1113611; AVX512-NEXT: vmovdqa64 %zmm11, %zmm3013612; AVX512-NEXT: vpermt2q %zmm9, %zmm0, %zmm2313613; AVX512-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13614; AVX512-NEXT: vmovdqa64 %zmm18, %zmm913615; AVX512-NEXT: vpermt2q %zmm6, %zmm27, %zmm913616; AVX512-NEXT: vmovdqa64 %zmm18, %zmm813617; AVX512-NEXT: vpermt2q %zmm6, %zmm28, %zmm813618; AVX512-NEXT: vpermt2q %zmm6, %zmm0, %zmm1813619; AVX512-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13620; AVX512-NEXT: vmovdqa64 %zmm17, %zmm613621; AVX512-NEXT: vpermt2q %zmm7, %zmm27, %zmm613622; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13623; AVX512-NEXT: vmovdqa64 %zmm17, %zmm613624; AVX512-NEXT: vmovdqa64 %zmm17, %zmm1413625; AVX512-NEXT: vpermt2q %zmm7, %zmm28, %zmm613626; AVX512-NEXT: vmovdqa64 %zmm6, %zmm1113627; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm1413628; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13629; AVX512-NEXT: vmovdqa64 %zmm15, %zmm613630; AVX512-NEXT: vmovdqa64 %zmm15, %zmm713631; AVX512-NEXT: vpermt2q %zmm10, %zmm27, %zmm713632; AVX512-NEXT: vmovdqa64 %zmm7, %zmm2613633; AVX512-NEXT: vmovdqa64 %zmm15, %zmm713634; AVX512-NEXT: vpermt2q %zmm10, %zmm28, %zmm713635; AVX512-NEXT: vmovdqa64 %zmm7, %zmm2513636; AVX512-NEXT: vpermt2q %zmm10, %zmm0, %zmm613637; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13638; AVX512-NEXT: vmovdqa64 %zmm13, %zmm613639; AVX512-NEXT: vmovdqa64 %zmm13, %zmm713640; AVX512-NEXT: vpermt2q %zmm2, %zmm27, %zmm713641; AVX512-NEXT: vmovdqa64 %zmm7, %zmm1013642; AVX512-NEXT: vmovdqa64 %zmm13, %zmm713643; AVX512-NEXT: vpermt2q %zmm2, %zmm28, %zmm713644; AVX512-NEXT: vmovdqa64 %zmm7, %zmm2313645; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm613646; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13647; AVX512-NEXT: vpermi2q %zmm4, %zmm16, %zmm2713648; AVX512-NEXT: vpermi2q %zmm4, %zmm16, %zmm2813649; AVX512-NEXT: vpermt2q %zmm4, %zmm0, %zmm1613650; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13651; AVX512-NEXT: movb $12, %al13652; AVX512-NEXT: kmovw %eax, %k113653; AVX512-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}13654; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload13655; AVX512-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}13656; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload13657; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13658; AVX512-NEXT: vmovdqa64 %zmm0, %zmm19 {%k1}13659; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload13660; AVX512-NEXT: vmovdqa64 %zmm31, %zmm17 {%k1}13661; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload13662; AVX512-NEXT: vmovdqa64 %zmm21, %zmm16 {%k1}13663; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload13664; AVX512-NEXT: vmovdqa64 %zmm12, %zmm21 {%k1}13665; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload13666; AVX512-NEXT: vmovdqa64 %zmm3, %zmm31 {%k1}13667; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload13668; AVX512-NEXT: vmovdqa64 %zmm1, %zmm20 {%k1}13669; AVX512-NEXT: movb $48, %al13670; AVX512-NEXT: kmovw %eax, %k213671; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13672; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13673; AVX512-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}13674; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13675; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13676; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}13677; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13678; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm14 = zmm0[0,1,2,3],zmm29[4,5,6,7]13679; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13680; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload13681; AVX512-NEXT: vmovdqa64 %zmm0, %zmm4 {%k2}13682; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13683; AVX512-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}13684; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13685; AVX512-NEXT: vshufi64x2 $228, (%rsp), %zmm0, %zmm0 # 64-byte Folded Reload13686; AVX512-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]13687; AVX512-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill13688; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload13689; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13690; AVX512-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}13691; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13692; AVX512-NEXT: vmovdqa64 %zmm0, %zmm30 {%k2}13693; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13694; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload13695; AVX512-NEXT: # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]13696; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13697; AVX512-NEXT: vmovdqa64 %zmm0, %zmm9 {%k2}13698; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13699; AVX512-NEXT: vmovdqa64 %zmm0, %zmm8 {%k2}13700; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13701; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm13 # 64-byte Folded Reload13702; AVX512-NEXT: # zmm13 = zmm0[0,1,2,3],mem[4,5,6,7]13703; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload13704; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13705; AVX512-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}13706; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13707; AVX512-NEXT: vmovdqa64 %zmm0, %zmm11 {%k2}13708; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13709; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload13710; AVX512-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]13711; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13712; AVX512-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}13713; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13714; AVX512-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}13715; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13716; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload13717; AVX512-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]13718; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13719; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13720; AVX512-NEXT: vmovdqa64 %zmm0, %zmm10 {%k2}13721; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13722; AVX512-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}13723; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13724; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload13725; AVX512-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]13726; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13727; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13728; AVX512-NEXT: vmovdqa64 %zmm0, %zmm27 {%k2}13729; AVX512-NEXT: vmovdqa64 (%r8), %zmm2913730; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,9,0,4,5,6,7]13731; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm213732; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13733; AVX512-NEXT: vmovdqa64 64(%r8), %zmm213734; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm413735; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13736; AVX512-NEXT: vmovdqa64 128(%r8), %zmm013737; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm613738; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13739; AVX512-NEXT: vmovdqa64 192(%r8), %zmm413740; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm913741; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13742; AVX512-NEXT: vmovdqa64 256(%r8), %zmm613743; AVX512-NEXT: vpermt2q %zmm6, %zmm1, %zmm713744; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13745; AVX512-NEXT: vmovdqa64 320(%r8), %zmm713746; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm2613747; AVX512-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13748; AVX512-NEXT: vmovdqa64 384(%r8), %zmm913749; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm1013750; AVX512-NEXT: vmovdqa64 %zmm10, %zmm2413751; AVX512-NEXT: vmovdqa64 448(%r8), %zmm1013752; AVX512-NEXT: vpermt2q %zmm10, %zmm1, %zmm2713753; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13754; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}13755; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,13,0,4,5,6,7]13756; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm313757; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13758; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm513759; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13760; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm3013761; AVX512-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13762; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm813763; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13764; AVX512-NEXT: vpermt2q %zmm6, %zmm1, %zmm1113765; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13766; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm2513767; AVX512-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13768; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm2313769; AVX512-NEXT: vpermt2q %zmm10, %zmm1, %zmm2813770; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13771; AVX512-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm3 # 64-byte Folded Reload13772; AVX512-NEXT: # zmm3 = zmm1[0,1,2,3],mem[4,5,6,7]13773; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [14,0,2,3,4,5,15,0]13774; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm1413775; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13776; AVX512-NEXT: vmovdqu64 (%rsp), %zmm14 # 64-byte Reload13777; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm1413778; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm1513779; AVX512-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13780; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm1313781; AVX512-NEXT: vpermt2q %zmm6, %zmm1, %zmm1213782; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13783; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload13784; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm1213785; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload13786; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm1513787; AVX512-NEXT: vpermt2q %zmm10, %zmm1, %zmm313788; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13789; AVX512-NEXT: vmovdqa (%rdi), %ymm113790; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]13791; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13792; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm313793; AVX512-NEXT: vmovdqa 64(%rdi), %ymm113794; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]13795; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload13796; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm5, %zmm513797; AVX512-NEXT: movb $16, %al13798; AVX512-NEXT: kmovw %eax, %k213799; AVX512-NEXT: vmovdqa64 %zmm2, %zmm31 {%k2}13800; AVX512-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13801; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [10,0,2,3,4,5,11,0]13802; AVX512-NEXT: vpermt2q %zmm2, %zmm1, %zmm513803; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13804; AVX512-NEXT: vmovdqa 128(%rdi), %ymm213805; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13806; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload13807; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm3113808; AVX512-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}13809; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13810; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm3113811; AVX512-NEXT: vmovdqa 192(%rdi), %ymm213812; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13813; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13814; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3013815; AVX512-NEXT: vmovdqa64 %zmm4, %zmm16 {%k2}13816; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13817; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm3013818; AVX512-NEXT: vmovdqa 256(%rdi), %ymm213819; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13820; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13821; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2613822; AVX512-NEXT: vmovdqa64 %zmm6, %zmm17 {%k2}13823; AVX512-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13824; AVX512-NEXT: vpermt2q %zmm6, %zmm1, %zmm2613825; AVX512-NEXT: vmovdqa 320(%rdi), %ymm213826; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13827; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13828; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2513829; AVX512-NEXT: vmovdqa64 %zmm7, %zmm19 {%k2}13830; AVX512-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13831; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm2513832; AVX512-NEXT: vmovdqa 384(%rdi), %ymm213833; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13834; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13835; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1913836; AVX512-NEXT: vmovdqa64 %zmm9, %zmm18 {%k2}13837; AVX512-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13838; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm1913839; AVX512-NEXT: vmovdqa 448(%rdi), %ymm213840; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]13841; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13842; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1613843; AVX512-NEXT: vmovdqa64 %zmm10, %zmm22 {%k2}13844; AVX512-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13845; AVX512-NEXT: vpermt2q %zmm10, %zmm1, %zmm1613846; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm313847; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13848; AVX512-NEXT: vmovdqa64 %zmm29, %zmm20 {%k2}13849; AVX512-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13850; AVX512-NEXT: vmovdqa64 (%r9), %zmm2913851; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,9,4,5,6,7]13852; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13853; AVX512-NEXT: vpermt2q %zmm29, %zmm6, %zmm013854; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13855; AVX512-NEXT: vmovdqa64 64(%r9), %zmm313856; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13857; AVX512-NEXT: vpermt2q %zmm3, %zmm6, %zmm013858; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13859; AVX512-NEXT: vmovdqa64 128(%r9), %zmm413860; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13861; AVX512-NEXT: vpermt2q %zmm4, %zmm6, %zmm013862; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13863; AVX512-NEXT: vmovdqa64 192(%r9), %zmm513864; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13865; AVX512-NEXT: vpermt2q %zmm5, %zmm6, %zmm013866; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13867; AVX512-NEXT: vmovdqa64 256(%r9), %zmm1113868; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13869; AVX512-NEXT: vpermt2q %zmm11, %zmm6, %zmm013870; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13871; AVX512-NEXT: vmovdqa64 320(%r9), %zmm813872; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13873; AVX512-NEXT: vpermt2q %zmm8, %zmm6, %zmm013874; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13875; AVX512-NEXT: vmovdqa64 384(%r9), %zmm713876; AVX512-NEXT: vpermt2q %zmm7, %zmm6, %zmm2413877; AVX512-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13878; AVX512-NEXT: vmovdqa64 448(%r9), %zmm2213879; AVX512-NEXT: vpermt2q %zmm22, %zmm6, %zmm2713880; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,13,4,5,6,7]13881; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13882; AVX512-NEXT: vpermt2q %zmm29, %zmm6, %zmm013883; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13884; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13885; AVX512-NEXT: vpermt2q %zmm3, %zmm6, %zmm013886; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13887; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13888; AVX512-NEXT: vpermt2q %zmm4, %zmm6, %zmm013889; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13890; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13891; AVX512-NEXT: vpermt2q %zmm5, %zmm6, %zmm013892; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13893; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13894; AVX512-NEXT: vpermt2q %zmm11, %zmm6, %zmm013895; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13896; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13897; AVX512-NEXT: vpermt2q %zmm8, %zmm6, %zmm013898; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13899; AVX512-NEXT: vpermt2q %zmm7, %zmm6, %zmm2313900; AVX512-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13901; AVX512-NEXT: vpermt2q %zmm22, %zmm6, %zmm2813902; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,14,2,3,4,5,6,15]13903; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13904; AVX512-NEXT: vpermt2q %zmm29, %zmm6, %zmm013905; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13906; AVX512-NEXT: vpermt2q %zmm3, %zmm6, %zmm1413907; AVX512-NEXT: vmovdqu64 %zmm14, (%rsp) # 64-byte Spill13908; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13909; AVX512-NEXT: vpermt2q %zmm4, %zmm6, %zmm013910; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13911; AVX512-NEXT: vpermt2q %zmm5, %zmm6, %zmm1313912; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13913; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13914; AVX512-NEXT: vpermt2q %zmm11, %zmm6, %zmm013915; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13916; AVX512-NEXT: vpermt2q %zmm8, %zmm6, %zmm1213917; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13918; AVX512-NEXT: vpermt2q %zmm7, %zmm6, %zmm1513919; AVX512-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13920; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13921; AVX512-NEXT: vpermt2q %zmm22, %zmm6, %zmm013922; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13923; AVX512-NEXT: vmovdqa (%rdx), %xmm613924; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13925; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613926; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13927; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm0 {%k1}13928; AVX512-NEXT: vmovdqa 64(%rdx), %xmm613929; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13930; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613931; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload13932; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm14 {%k1}13933; AVX512-NEXT: vmovdqa 128(%rdx), %xmm613934; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13935; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613936; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload13937; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm15 {%k1}13938; AVX512-NEXT: vmovdqa 192(%rdx), %xmm613939; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13940; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613941; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload13942; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}13943; AVX512-NEXT: vmovdqa 256(%rdx), %xmm613944; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13945; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613946; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload13947; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm12 {%k1}13948; AVX512-NEXT: vmovdqa 320(%rdx), %xmm613949; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13950; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613951; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13952; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm2 {%k1}13953; AVX512-NEXT: vmovdqa 384(%rdx), %xmm613954; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13955; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613956; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13957; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm9 {%k1}13958; AVX512-NEXT: vmovdqa 448(%rdx), %xmm613959; AVX512-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]13960; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm613961; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13962; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm1 {%k1}13963; AVX512-NEXT: vinserti32x4 $2, (%r8), %zmm0, %zmm2413964; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,8,6,7]13965; AVX512-NEXT: vpermt2q %zmm29, %zmm0, %zmm2413966; AVX512-NEXT: vinserti32x4 $2, 64(%r8), %zmm14, %zmm2313967; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm2313968; AVX512-NEXT: vinserti32x4 $2, 128(%r8), %zmm15, %zmm2113969; AVX512-NEXT: vpermt2q %zmm4, %zmm0, %zmm2113970; AVX512-NEXT: vinserti32x4 $2, 192(%r8), %zmm10, %zmm2013971; AVX512-NEXT: vpermt2q %zmm5, %zmm0, %zmm2013972; AVX512-NEXT: vinserti32x4 $2, 256(%r8), %zmm12, %zmm1813973; AVX512-NEXT: vpermt2q %zmm11, %zmm0, %zmm1813974; AVX512-NEXT: vinserti32x4 $2, 320(%r8), %zmm2, %zmm1713975; AVX512-NEXT: vpermt2q %zmm8, %zmm0, %zmm1713976; AVX512-NEXT: vinserti32x4 $2, 384(%r8), %zmm9, %zmm1513977; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm1513978; AVX512-NEXT: vinserti32x4 $2, 448(%r8), %zmm1, %zmm1413979; AVX512-NEXT: vpermt2q %zmm22, %zmm0, %zmm1413980; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,10,2,3,4,5,6,11]13981; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload13982; AVX512-NEXT: vpermt2q %zmm29, %zmm0, %zmm1313983; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,2,3,4,12,6,7]13984; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload13985; AVX512-NEXT: vpermt2q %zmm29, %zmm1, %zmm1213986; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload13987; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm1013988; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13989; AVX512-NEXT: vpermt2q %zmm3, %zmm1, %zmm913990; AVX512-NEXT: vpermt2q %zmm4, %zmm0, %zmm3113991; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload13992; AVX512-NEXT: vpermt2q %zmm4, %zmm1, %zmm613993; AVX512-NEXT: vpermt2q %zmm5, %zmm0, %zmm3013994; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload13995; AVX512-NEXT: vpermt2q %zmm5, %zmm1, %zmm2913996; AVX512-NEXT: vpermt2q %zmm11, %zmm0, %zmm2613997; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload13998; AVX512-NEXT: vpermt2q %zmm11, %zmm1, %zmm413999; AVX512-NEXT: vpermt2q %zmm8, %zmm0, %zmm2514000; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14001; AVX512-NEXT: vpermt2q %zmm8, %zmm1, %zmm314002; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm1914003; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14004; AVX512-NEXT: vpermt2q %zmm7, %zmm1, %zmm214005; AVX512-NEXT: vpermt2q %zmm22, %zmm0, %zmm1614006; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14007; AVX512-NEXT: vpermt2q %zmm22, %zmm1, %zmm014008; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax14009; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14010; AVX512-NEXT: vmovaps %zmm1, 3008(%rax)14011; AVX512-NEXT: vmovdqa64 %zmm28, 2944(%rax)14012; AVX512-NEXT: vmovdqa64 %zmm0, 2880(%rax)14013; AVX512-NEXT: vmovdqa64 %zmm16, 2816(%rax)14014; AVX512-NEXT: vmovdqa64 %zmm27, 2752(%rax)14015; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14016; AVX512-NEXT: vmovaps %zmm0, 2624(%rax)14017; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14018; AVX512-NEXT: vmovaps %zmm0, 2560(%rax)14019; AVX512-NEXT: vmovdqa64 %zmm2, 2496(%rax)14020; AVX512-NEXT: vmovdqa64 %zmm19, 2432(%rax)14021; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14022; AVX512-NEXT: vmovaps %zmm0, 2368(%rax)14023; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14024; AVX512-NEXT: vmovaps %zmm0, 2240(%rax)14025; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14026; AVX512-NEXT: vmovaps %zmm0, 2176(%rax)14027; AVX512-NEXT: vmovdqa64 %zmm3, 2112(%rax)14028; AVX512-NEXT: vmovdqa64 %zmm25, 2048(%rax)14029; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14030; AVX512-NEXT: vmovaps %zmm0, 1984(%rax)14031; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14032; AVX512-NEXT: vmovaps %zmm0, 1856(%rax)14033; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14034; AVX512-NEXT: vmovaps %zmm0, 1792(%rax)14035; AVX512-NEXT: vmovdqa64 %zmm4, 1728(%rax)14036; AVX512-NEXT: vmovdqa64 %zmm26, 1664(%rax)14037; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14038; AVX512-NEXT: vmovaps %zmm0, 1600(%rax)14039; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14040; AVX512-NEXT: vmovaps %zmm0, 1472(%rax)14041; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14042; AVX512-NEXT: vmovaps %zmm0, 1408(%rax)14043; AVX512-NEXT: vmovdqa64 %zmm29, 1344(%rax)14044; AVX512-NEXT: vmovdqa64 %zmm30, 1280(%rax)14045; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14046; AVX512-NEXT: vmovaps %zmm0, 1216(%rax)14047; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14048; AVX512-NEXT: vmovaps %zmm0, 1088(%rax)14049; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14050; AVX512-NEXT: vmovaps %zmm0, 1024(%rax)14051; AVX512-NEXT: vmovdqa64 %zmm6, 960(%rax)14052; AVX512-NEXT: vmovdqa64 %zmm31, 896(%rax)14053; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14054; AVX512-NEXT: vmovaps %zmm0, 832(%rax)14055; AVX512-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload14056; AVX512-NEXT: vmovaps %zmm0, 704(%rax)14057; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14058; AVX512-NEXT: vmovaps %zmm0, 640(%rax)14059; AVX512-NEXT: vmovdqa64 %zmm9, 576(%rax)14060; AVX512-NEXT: vmovdqa64 %zmm10, 512(%rax)14061; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14062; AVX512-NEXT: vmovaps %zmm0, 448(%rax)14063; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14064; AVX512-NEXT: vmovaps %zmm0, 320(%rax)14065; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14066; AVX512-NEXT: vmovaps %zmm0, 256(%rax)14067; AVX512-NEXT: vmovdqa64 %zmm12, 192(%rax)14068; AVX512-NEXT: vmovdqa64 %zmm13, 128(%rax)14069; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14070; AVX512-NEXT: vmovaps %zmm0, 64(%rax)14071; AVX512-NEXT: vmovdqa64 %zmm14, 2688(%rax)14072; AVX512-NEXT: vmovdqa64 %zmm15, 2304(%rax)14073; AVX512-NEXT: vmovdqa64 %zmm17, 1920(%rax)14074; AVX512-NEXT: vmovdqa64 %zmm18, 1536(%rax)14075; AVX512-NEXT: vmovdqa64 %zmm20, 1152(%rax)14076; AVX512-NEXT: vmovdqa64 %zmm21, 768(%rax)14077; AVX512-NEXT: vmovdqa64 %zmm23, 384(%rax)14078; AVX512-NEXT: vmovdqa64 %zmm24, (%rax)14079; AVX512-NEXT: addq $3720, %rsp # imm = 0xE8814080; AVX512-NEXT: vzeroupper14081; AVX512-NEXT: retq14082;14083; AVX512-FCP-LABEL: store_i64_stride6_vf64:14084; AVX512-FCP: # %bb.0:14085; AVX512-FCP-NEXT: subq $3720, %rsp # imm = 0xE8814086; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm1114087; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1014088; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm914089; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm814090; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm714091; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm614092; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm514093; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm414094; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm3014095; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm2914096; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm2814097; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm2714098; AVX512-FCP-NEXT: vmovdqa64 256(%rsi), %zmm114099; AVX512-FCP-NEXT: vmovdqa64 320(%rsi), %zmm1314100; AVX512-FCP-NEXT: vmovdqa64 384(%rsi), %zmm2414101; AVX512-FCP-NEXT: vmovdqa64 448(%rsi), %zmm014102; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]14103; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]14104; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm2214105; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2214106; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm314107; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm314108; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14109; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm314110; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm314111; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14112; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm314113; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm314114; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14115; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm314116; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm314117; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14118; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm314119; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm314120; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14121; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm314122; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm314123; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14124; AVX512-FCP-NEXT: vpermi2q %zmm30, %zmm11, %zmm214125; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14126; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]14127; AVX512-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14128; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm314129; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm12, %zmm314130; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14131; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]14132; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14133; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm314134; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm2, %zmm314135; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14136; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]14137; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14138; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm314139; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm314140; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14141; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm314142; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm314143; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14144; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]14145; AVX512-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]14146; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm3, %zmm1114147; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14148; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm1114149; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm1114150; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14151; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm1114152; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm21, %zmm1114153; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14154; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm3, %zmm1014155; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14156; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm1014157; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm1014158; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14159; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm1014160; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm1014161; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14162; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm1014163; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm21, %zmm1014164; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14165; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm3, %zmm914166; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14167; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm914168; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm12, %zmm914169; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14170; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm914171; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm914172; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14173; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm914174; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm21, %zmm914175; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14176; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm3, %zmm814177; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14178; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm814179; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm814180; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14181; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm814182; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm814183; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14184; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm814185; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm814186; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14187; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm3, %zmm714188; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14189; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm114190; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm12, %zmm114191; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14192; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm114193; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm114194; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14195; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm114196; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm114197; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14198; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm3, %zmm614199; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14200; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm114201; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm12, %zmm114202; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14203; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm114204; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm114205; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14206; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm814207; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm114208; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm114209; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14210; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm3, %zmm514211; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14212; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm514213; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm1414214; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm2914215; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm2914216; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm114217; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm1114218; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm214219; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm2014220; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm214221; AVX512-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill14222; AVX512-FCP-NEXT: vmovdqa64 128(%rdx), %zmm2314223; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm914224; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm114225; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm114226; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14227; AVX512-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1814228; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm614229; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm114230; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm114231; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14232; AVX512-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1714233; AVX512-FCP-NEXT: vmovdqa64 256(%rcx), %zmm714234; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm114235; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm21, %zmm114236; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14237; AVX512-FCP-NEXT: vmovdqa64 320(%rdx), %zmm1514238; AVX512-FCP-NEXT: vmovdqa64 320(%rcx), %zmm1014239; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm114240; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm114241; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14242; AVX512-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1314243; AVX512-FCP-NEXT: vmovdqa64 384(%rcx), %zmm214244; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm114245; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm114246; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14247; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm114248; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm1214249; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14250; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm814251; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14252; AVX512-FCP-NEXT: vmovdqa64 448(%rdx), %zmm1614253; AVX512-FCP-NEXT: vmovdqa64 448(%rcx), %zmm414254; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm814255; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm814256; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14257; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm2114258; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14259; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm114260; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14261; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]14262; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm2414263; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm2414264; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm1914265; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm1914266; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm014267; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm014268; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14269; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm3114270; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm3114271; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm2114272; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2114273; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm1214274; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1214275; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm314276; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm314277; AVX512-FCP-NEXT: vpermi2q %zmm14, %zmm5, %zmm114278; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]14279; AVX512-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]14280; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm014281; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm014282; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14283; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]14284; AVX512-FCP-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]14285; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm014286; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm28, %zmm014287; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14288; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]14289; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14290; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm0, %zmm514291; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14292; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm514293; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm514294; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14295; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm514296; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm28, %zmm514297; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm2014298; AVX512-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14299; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm814300; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm814301; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14302; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm1114303; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm28, %zmm1114304; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm3014305; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm0, %zmm2314306; AVX512-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14307; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm914308; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm914309; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm814310; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm28, %zmm814311; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm1814312; AVX512-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14313; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm614314; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm614315; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14316; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm614317; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm1414318; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm28, %zmm614319; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm1114320; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1414321; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14322; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm614323; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm714324; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm714325; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm2614326; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm714327; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm28, %zmm714328; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm2514329; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm0, %zmm614330; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14331; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm614332; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm714333; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm27, %zmm714334; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm1014335; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm714336; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm28, %zmm714337; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm2314338; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm614339; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14340; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm16, %zmm2714341; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm16, %zmm2814342; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1614343; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14344; AVX512-FCP-NEXT: movb $12, %al14345; AVX512-FCP-NEXT: kmovw %eax, %k114346; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}14347; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload14348; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}14349; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload14350; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14351; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k1}14352; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload14353; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm17 {%k1}14354; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload14355; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm16 {%k1}14356; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload14357; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm21 {%k1}14358; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload14359; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm31 {%k1}14360; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload14361; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm20 {%k1}14362; AVX512-FCP-NEXT: movb $48, %al14363; AVX512-FCP-NEXT: kmovw %eax, %k214364; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14365; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14366; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}14367; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14368; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14369; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}14370; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14371; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 = zmm0[0,1,2,3],zmm29[4,5,6,7]14372; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14373; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload14374; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k2}14375; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14376; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}14377; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14378; AVX512-FCP-NEXT: vshufi64x2 $228, (%rsp), %zmm0, %zmm0 # 64-byte Folded Reload14379; AVX512-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]14380; AVX512-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill14381; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload14382; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14383; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}14384; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14385; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm30 {%k2}14386; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14387; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload14388; AVX512-FCP-NEXT: # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]14389; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14390; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k2}14391; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14392; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k2}14393; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14394; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm13 # 64-byte Folded Reload14395; AVX512-FCP-NEXT: # zmm13 = zmm0[0,1,2,3],mem[4,5,6,7]14396; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload14397; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14398; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}14399; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14400; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k2}14401; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14402; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload14403; AVX512-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]14404; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14405; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}14406; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14407; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}14408; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14409; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload14410; AVX512-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]14411; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14412; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14413; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k2}14414; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14415; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}14416; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14417; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload14418; AVX512-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]14419; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14420; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14421; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k2}14422; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm2914423; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,9,0,4,5,6,7]14424; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm214425; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14426; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm214427; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm414428; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14429; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm014430; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm614431; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14432; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm414433; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm914434; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14435; AVX512-FCP-NEXT: vmovdqa64 256(%r8), %zmm614436; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm714437; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14438; AVX512-FCP-NEXT: vmovdqa64 320(%r8), %zmm714439; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2614440; AVX512-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14441; AVX512-FCP-NEXT: vmovdqa64 384(%r8), %zmm914442; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1014443; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm2414444; AVX512-FCP-NEXT: vmovdqa64 448(%r8), %zmm1014445; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm2714446; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14447; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}14448; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,13,0,4,5,6,7]14449; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm314450; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14451; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm514452; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14453; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm3014454; AVX512-FCP-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14455; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm814456; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14457; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1114458; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14459; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2514460; AVX512-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14461; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm2314462; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm2814463; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14464; AVX512-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm3 # 64-byte Folded Reload14465; AVX512-FCP-NEXT: # zmm3 = zmm1[0,1,2,3],mem[4,5,6,7]14466; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [14,0,2,3,4,5,15,0]14467; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm1414468; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14469; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm14 # 64-byte Reload14470; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm1414471; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1514472; AVX512-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14473; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm1314474; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1214475; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14476; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload14477; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm1214478; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload14479; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1514480; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm314481; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14482; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm114483; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]14484; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14485; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm314486; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm114487; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]14488; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload14489; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm5, %zmm514490; AVX512-FCP-NEXT: movb $16, %al14491; AVX512-FCP-NEXT: kmovw %eax, %k214492; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k2}14493; AVX512-FCP-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14494; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [10,0,2,3,4,5,11,0]14495; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm514496; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14497; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm214498; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14499; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload14500; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm3114501; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}14502; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14503; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm3114504; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm214505; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14506; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14507; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3014508; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm16 {%k2}14509; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14510; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm3014511; AVX512-FCP-NEXT: vmovdqa 256(%rdi), %ymm214512; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14513; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14514; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2614515; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm17 {%k2}14516; AVX512-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14517; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2614518; AVX512-FCP-NEXT: vmovdqa 320(%rdi), %ymm214519; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14520; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14521; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2514522; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm19 {%k2}14523; AVX512-FCP-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14524; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2514525; AVX512-FCP-NEXT: vmovdqa 384(%rdi), %ymm214526; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14527; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14528; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1914529; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm18 {%k2}14530; AVX512-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14531; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1914532; AVX512-FCP-NEXT: vmovdqa 448(%rdi), %ymm214533; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]14534; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14535; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1614536; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm22 {%k2}14537; AVX512-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14538; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm1614539; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm314540; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14541; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm20 {%k2}14542; AVX512-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14543; AVX512-FCP-NEXT: vmovdqa64 (%r9), %zmm2914544; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,9,4,5,6,7]14545; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14546; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm014547; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14548; AVX512-FCP-NEXT: vmovdqa64 64(%r9), %zmm314549; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14550; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm014551; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14552; AVX512-FCP-NEXT: vmovdqa64 128(%r9), %zmm414553; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14554; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm014555; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14556; AVX512-FCP-NEXT: vmovdqa64 192(%r9), %zmm514557; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14558; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm014559; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14560; AVX512-FCP-NEXT: vmovdqa64 256(%r9), %zmm1114561; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14562; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm014563; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14564; AVX512-FCP-NEXT: vmovdqa64 320(%r9), %zmm814565; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14566; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm014567; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14568; AVX512-FCP-NEXT: vmovdqa64 384(%r9), %zmm714569; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm2414570; AVX512-FCP-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14571; AVX512-FCP-NEXT: vmovdqa64 448(%r9), %zmm2214572; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm2714573; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,13,4,5,6,7]14574; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14575; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm014576; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14577; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14578; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm014579; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14580; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14581; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm014582; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14583; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14584; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm014585; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14586; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14587; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm014588; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14589; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14590; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm014591; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14592; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm2314593; AVX512-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14594; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm2814595; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,14,2,3,4,5,6,15]14596; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14597; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm014598; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14599; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm1414600; AVX512-FCP-NEXT: vmovdqu64 %zmm14, (%rsp) # 64-byte Spill14601; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14602; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm014603; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14604; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm1314605; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14606; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14607; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm014608; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14609; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm1214610; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14611; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm1514612; AVX512-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14613; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14614; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm014615; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14616; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm614617; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14618; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614619; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14620; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm0 {%k1}14621; AVX512-FCP-NEXT: vmovdqa 64(%rdx), %xmm614622; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14623; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614624; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload14625; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm14 {%k1}14626; AVX512-FCP-NEXT: vmovdqa 128(%rdx), %xmm614627; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14628; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614629; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload14630; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm15 {%k1}14631; AVX512-FCP-NEXT: vmovdqa 192(%rdx), %xmm614632; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14633; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614634; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload14635; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}14636; AVX512-FCP-NEXT: vmovdqa 256(%rdx), %xmm614637; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14638; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614639; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload14640; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm12 {%k1}14641; AVX512-FCP-NEXT: vmovdqa 320(%rdx), %xmm614642; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14643; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614644; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14645; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm2 {%k1}14646; AVX512-FCP-NEXT: vmovdqa 384(%rdx), %xmm614647; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14648; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614649; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload14650; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm9 {%k1}14651; AVX512-FCP-NEXT: vmovdqa 448(%rdx), %xmm614652; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]14653; AVX512-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm614654; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14655; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm1 {%k1}14656; AVX512-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm0, %zmm2414657; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,8,6,7]14658; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm0, %zmm2414659; AVX512-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm14, %zmm2314660; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm2314661; AVX512-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm15, %zmm2114662; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm2114663; AVX512-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm10, %zmm2014664; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm2014665; AVX512-FCP-NEXT: vinserti32x4 $2, 256(%r8), %zmm12, %zmm1814666; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm1814667; AVX512-FCP-NEXT: vinserti32x4 $2, 320(%r8), %zmm2, %zmm1714668; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm0, %zmm1714669; AVX512-FCP-NEXT: vinserti32x4 $2, 384(%r8), %zmm9, %zmm1514670; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1514671; AVX512-FCP-NEXT: vinserti32x4 $2, 448(%r8), %zmm1, %zmm1414672; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm1414673; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,10,2,3,4,5,6,11]14674; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload14675; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm0, %zmm1314676; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,2,3,4,12,6,7]14677; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload14678; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm1214679; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload14680; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm1014681; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload14682; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm914683; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm3114684; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload14685; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm614686; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm3014687; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload14688; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2914689; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm2614690; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload14691; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm414692; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm0, %zmm2514693; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14694; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm1, %zmm314695; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1914696; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14697; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm214698; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm1614699; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14700; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm1, %zmm014701; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax14702; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14703; AVX512-FCP-NEXT: vmovaps %zmm1, 3008(%rax)14704; AVX512-FCP-NEXT: vmovdqa64 %zmm28, 2944(%rax)14705; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 2880(%rax)14706; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 2816(%rax)14707; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 2752(%rax)14708; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14709; AVX512-FCP-NEXT: vmovaps %zmm0, 2624(%rax)14710; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14711; AVX512-FCP-NEXT: vmovaps %zmm0, 2560(%rax)14712; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 2496(%rax)14713; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 2432(%rax)14714; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14715; AVX512-FCP-NEXT: vmovaps %zmm0, 2368(%rax)14716; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14717; AVX512-FCP-NEXT: vmovaps %zmm0, 2240(%rax)14718; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14719; AVX512-FCP-NEXT: vmovaps %zmm0, 2176(%rax)14720; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 2112(%rax)14721; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 2048(%rax)14722; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14723; AVX512-FCP-NEXT: vmovaps %zmm0, 1984(%rax)14724; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14725; AVX512-FCP-NEXT: vmovaps %zmm0, 1856(%rax)14726; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14727; AVX512-FCP-NEXT: vmovaps %zmm0, 1792(%rax)14728; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 1728(%rax)14729; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 1664(%rax)14730; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14731; AVX512-FCP-NEXT: vmovaps %zmm0, 1600(%rax)14732; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14733; AVX512-FCP-NEXT: vmovaps %zmm0, 1472(%rax)14734; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14735; AVX512-FCP-NEXT: vmovaps %zmm0, 1408(%rax)14736; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 1344(%rax)14737; AVX512-FCP-NEXT: vmovdqa64 %zmm30, 1280(%rax)14738; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14739; AVX512-FCP-NEXT: vmovaps %zmm0, 1216(%rax)14740; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14741; AVX512-FCP-NEXT: vmovaps %zmm0, 1088(%rax)14742; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14743; AVX512-FCP-NEXT: vmovaps %zmm0, 1024(%rax)14744; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 960(%rax)14745; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 896(%rax)14746; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14747; AVX512-FCP-NEXT: vmovaps %zmm0, 832(%rax)14748; AVX512-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload14749; AVX512-FCP-NEXT: vmovaps %zmm0, 704(%rax)14750; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14751; AVX512-FCP-NEXT: vmovaps %zmm0, 640(%rax)14752; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)14753; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 512(%rax)14754; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14755; AVX512-FCP-NEXT: vmovaps %zmm0, 448(%rax)14756; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14757; AVX512-FCP-NEXT: vmovaps %zmm0, 320(%rax)14758; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14759; AVX512-FCP-NEXT: vmovaps %zmm0, 256(%rax)14760; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 192(%rax)14761; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 128(%rax)14762; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14763; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%rax)14764; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 2688(%rax)14765; AVX512-FCP-NEXT: vmovdqa64 %zmm15, 2304(%rax)14766; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 1920(%rax)14767; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 1536(%rax)14768; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 1152(%rax)14769; AVX512-FCP-NEXT: vmovdqa64 %zmm21, 768(%rax)14770; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 384(%rax)14771; AVX512-FCP-NEXT: vmovdqa64 %zmm24, (%rax)14772; AVX512-FCP-NEXT: addq $3720, %rsp # imm = 0xE8814773; AVX512-FCP-NEXT: vzeroupper14774; AVX512-FCP-NEXT: retq14775;14776; AVX512DQ-LABEL: store_i64_stride6_vf64:14777; AVX512DQ: # %bb.0:14778; AVX512DQ-NEXT: subq $3720, %rsp # imm = 0xE8814779; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm1114780; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm1014781; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm914782; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm814783; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm714784; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm614785; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm514786; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm414787; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm3014788; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm2914789; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm2814790; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm2714791; AVX512DQ-NEXT: vmovdqa64 256(%rsi), %zmm114792; AVX512DQ-NEXT: vmovdqa64 320(%rsi), %zmm1314793; AVX512DQ-NEXT: vmovdqa64 384(%rsi), %zmm2414794; AVX512DQ-NEXT: vmovdqa64 448(%rsi), %zmm014795; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]14796; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]14797; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm2214798; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm2214799; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm314800; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm2, %zmm314801; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14802; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm314803; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm2, %zmm314804; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14805; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm314806; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm2, %zmm314807; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14808; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm314809; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm2, %zmm314810; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14811; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm314812; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm2, %zmm314813; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14814; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm314815; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm2, %zmm314816; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14817; AVX512DQ-NEXT: vpermi2q %zmm30, %zmm11, %zmm214818; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14819; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]14820; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14821; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm314822; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm12, %zmm314823; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14824; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]14825; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14826; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm314827; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm2, %zmm314828; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14829; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]14830; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14831; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm314832; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm21, %zmm314833; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14834; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm314835; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm12, %zmm314836; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14837; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]14838; AVX512DQ-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]14839; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm3, %zmm1114840; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14841; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm1114842; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm2, %zmm1114843; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14844; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm1114845; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm21, %zmm1114846; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14847; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm3, %zmm1014848; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14849; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm1014850; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm12, %zmm1014851; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14852; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm1014853; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm2, %zmm1014854; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14855; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm1014856; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm21, %zmm1014857; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14858; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm3, %zmm914859; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14860; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm914861; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm12, %zmm914862; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14863; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm914864; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm2, %zmm914865; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14866; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm914867; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm21, %zmm914868; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14869; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm3, %zmm814870; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14871; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm814872; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm12, %zmm814873; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14874; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm814875; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm2, %zmm814876; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14877; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm814878; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm814879; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14880; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm3, %zmm714881; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14882; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm114883; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm12, %zmm114884; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14885; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm114886; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm2, %zmm114887; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14888; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm114889; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm21, %zmm114890; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14891; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm3, %zmm614892; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14893; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm114894; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm12, %zmm114895; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14896; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm114897; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm2, %zmm114898; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14899; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm814900; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm114901; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm21, %zmm114902; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14903; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm3, %zmm514904; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14905; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm514906; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm1414907; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm2914908; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm21, %zmm2914909; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm114910; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm1114911; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm214912; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm2014913; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm21, %zmm214914; AVX512DQ-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill14915; AVX512DQ-NEXT: vmovdqa64 128(%rdx), %zmm2314916; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm914917; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm114918; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm21, %zmm114919; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14920; AVX512DQ-NEXT: vmovdqa64 192(%rdx), %zmm1814921; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm614922; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm114923; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm21, %zmm114924; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14925; AVX512DQ-NEXT: vmovdqa64 256(%rdx), %zmm1714926; AVX512DQ-NEXT: vmovdqa64 256(%rcx), %zmm714927; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm114928; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm21, %zmm114929; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14930; AVX512DQ-NEXT: vmovdqa64 320(%rdx), %zmm1514931; AVX512DQ-NEXT: vmovdqa64 320(%rcx), %zmm1014932; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm114933; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm21, %zmm114934; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14935; AVX512DQ-NEXT: vmovdqa64 384(%rdx), %zmm1314936; AVX512DQ-NEXT: vmovdqa64 384(%rcx), %zmm214937; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm114938; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm114939; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14940; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm114941; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm4, %zmm1214942; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14943; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm4, %zmm814944; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14945; AVX512DQ-NEXT: vmovdqa64 448(%rdx), %zmm1614946; AVX512DQ-NEXT: vmovdqa64 448(%rcx), %zmm414947; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm814948; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm21, %zmm814949; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14950; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm1, %zmm2114951; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14952; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm114953; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14954; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]14955; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm2414956; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm2414957; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm1914958; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm1914959; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm014960; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm014961; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14962; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm3114963; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm3114964; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm2114965; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm2114966; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm1214967; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm1214968; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm314969; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm1, %zmm314970; AVX512DQ-NEXT: vpermi2q %zmm14, %zmm5, %zmm114971; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]14972; AVX512DQ-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]14973; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm014974; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm27, %zmm014975; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14976; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]14977; AVX512DQ-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]14978; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm014979; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm28, %zmm014980; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14981; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]14982; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]14983; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm0, %zmm514984; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14985; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm514986; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm27, %zmm514987; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14988; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm514989; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm28, %zmm514990; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm0, %zmm2014991; AVX512DQ-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14992; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm814993; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm27, %zmm814994; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14995; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm1114996; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm28, %zmm1114997; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm3014998; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm0, %zmm2314999; AVX512DQ-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15000; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm915001; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm27, %zmm915002; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm815003; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm28, %zmm815004; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm0, %zmm1815005; AVX512DQ-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15006; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm615007; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm27, %zmm615008; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15009; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm615010; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm1415011; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm28, %zmm615012; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm1115013; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm1415014; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15015; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm615016; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm715017; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm27, %zmm715018; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm2615019; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm715020; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm28, %zmm715021; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm2515022; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm0, %zmm615023; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15024; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm615025; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm715026; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm27, %zmm715027; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm1015028; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm715029; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm28, %zmm715030; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm2315031; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm615032; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15033; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm16, %zmm2715034; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm16, %zmm2815035; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm0, %zmm1615036; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15037; AVX512DQ-NEXT: movb $12, %al15038; AVX512DQ-NEXT: kmovw %eax, %k115039; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}15040; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload15041; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}15042; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload15043; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15044; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19 {%k1}15045; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload15046; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm17 {%k1}15047; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload15048; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm16 {%k1}15049; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload15050; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm21 {%k1}15051; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload15052; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm31 {%k1}15053; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload15054; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm20 {%k1}15055; AVX512DQ-NEXT: movb $48, %al15056; AVX512DQ-NEXT: kmovw %eax, %k215057; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15058; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15059; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}15060; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15061; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload15062; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}15063; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15064; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm14 = zmm0[0,1,2,3],zmm29[4,5,6,7]15065; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15066; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload15067; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm4 {%k2}15068; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15069; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}15070; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15071; AVX512DQ-NEXT: vshufi64x2 $228, (%rsp), %zmm0, %zmm0 # 64-byte Folded Reload15072; AVX512DQ-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15073; AVX512DQ-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill15074; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload15075; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15076; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}15077; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15078; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm30 {%k2}15079; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15080; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload15081; AVX512DQ-NEXT: # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]15082; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15083; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm9 {%k2}15084; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15085; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm8 {%k2}15086; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15087; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm13 # 64-byte Folded Reload15088; AVX512DQ-NEXT: # zmm13 = zmm0[0,1,2,3],mem[4,5,6,7]15089; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload15090; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15091; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}15092; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15093; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm11 {%k2}15094; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15095; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload15096; AVX512DQ-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]15097; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15098; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}15099; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15100; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}15101; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15102; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload15103; AVX512DQ-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15104; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15105; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15106; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm10 {%k2}15107; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15108; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}15109; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15110; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload15111; AVX512DQ-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15112; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15113; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15114; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm27 {%k2}15115; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm2915116; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,9,0,4,5,6,7]15117; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm215118; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15119; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm215120; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm415121; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15122; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm015123; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm615124; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15125; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm415126; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm915127; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15128; AVX512DQ-NEXT: vmovdqa64 256(%r8), %zmm615129; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm715130; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15131; AVX512DQ-NEXT: vmovdqa64 320(%r8), %zmm715132; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm2615133; AVX512DQ-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15134; AVX512DQ-NEXT: vmovdqa64 384(%r8), %zmm915135; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm1015136; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm2415137; AVX512DQ-NEXT: vmovdqa64 448(%r8), %zmm1015138; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm2715139; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15140; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}15141; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,13,0,4,5,6,7]15142; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm315143; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15144; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm515145; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15146; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm3015147; AVX512DQ-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15148; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm815149; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15150; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm1115151; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15152; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm2515153; AVX512DQ-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15154; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm2315155; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm2815156; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15157; AVX512DQ-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm3 # 64-byte Folded Reload15158; AVX512DQ-NEXT: # zmm3 = zmm1[0,1,2,3],mem[4,5,6,7]15159; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [14,0,2,3,4,5,15,0]15160; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm1415161; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15162; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm14 # 64-byte Reload15163; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm1415164; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm1515165; AVX512DQ-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15166; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm1315167; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm1215168; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15169; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload15170; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm1215171; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload15172; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm1515173; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm315174; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15175; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm115176; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]15177; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload15178; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm315179; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm115180; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]15181; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload15182; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm5, %zmm515183; AVX512DQ-NEXT: movb $16, %al15184; AVX512DQ-NEXT: kmovw %eax, %k215185; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm31 {%k2}15186; AVX512DQ-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15187; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [10,0,2,3,4,5,11,0]15188; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm1, %zmm515189; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15190; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm215191; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15192; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload15193; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm3115194; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}15195; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15196; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm3115197; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm215198; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15199; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15200; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3015201; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm16 {%k2}15202; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15203; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm3015204; AVX512DQ-NEXT: vmovdqa 256(%rdi), %ymm215205; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15206; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15207; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2615208; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm17 {%k2}15209; AVX512DQ-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15210; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm1, %zmm2615211; AVX512DQ-NEXT: vmovdqa 320(%rdi), %ymm215212; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15213; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15214; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2515215; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm19 {%k2}15216; AVX512DQ-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15217; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm2515218; AVX512DQ-NEXT: vmovdqa 384(%rdi), %ymm215219; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15220; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15221; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1915222; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm18 {%k2}15223; AVX512DQ-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15224; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm1915225; AVX512DQ-NEXT: vmovdqa 448(%rdi), %ymm215226; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15227; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15228; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1615229; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm22 {%k2}15230; AVX512DQ-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15231; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm1, %zmm1615232; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm315233; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15234; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm20 {%k2}15235; AVX512DQ-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15236; AVX512DQ-NEXT: vmovdqa64 (%r9), %zmm2915237; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,9,4,5,6,7]15238; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15239; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm6, %zmm015240; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15241; AVX512DQ-NEXT: vmovdqa64 64(%r9), %zmm315242; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15243; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm6, %zmm015244; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15245; AVX512DQ-NEXT: vmovdqa64 128(%r9), %zmm415246; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15247; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm6, %zmm015248; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15249; AVX512DQ-NEXT: vmovdqa64 192(%r9), %zmm515250; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15251; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm6, %zmm015252; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15253; AVX512DQ-NEXT: vmovdqa64 256(%r9), %zmm1115254; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15255; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm6, %zmm015256; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15257; AVX512DQ-NEXT: vmovdqa64 320(%r9), %zmm815258; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15259; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm6, %zmm015260; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15261; AVX512DQ-NEXT: vmovdqa64 384(%r9), %zmm715262; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm6, %zmm2415263; AVX512DQ-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15264; AVX512DQ-NEXT: vmovdqa64 448(%r9), %zmm2215265; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm6, %zmm2715266; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,13,4,5,6,7]15267; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15268; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm6, %zmm015269; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15270; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15271; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm6, %zmm015272; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15273; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15274; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm6, %zmm015275; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15276; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15277; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm6, %zmm015278; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15279; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15280; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm6, %zmm015281; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15282; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15283; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm6, %zmm015284; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15285; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm6, %zmm2315286; AVX512DQ-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15287; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm6, %zmm2815288; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,14,2,3,4,5,6,15]15289; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15290; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm6, %zmm015291; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15292; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm6, %zmm1415293; AVX512DQ-NEXT: vmovdqu64 %zmm14, (%rsp) # 64-byte Spill15294; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15295; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm6, %zmm015296; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15297; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm6, %zmm1315298; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15299; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15300; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm6, %zmm015301; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15302; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm6, %zmm1215303; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15304; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm6, %zmm1515305; AVX512DQ-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15306; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15307; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm6, %zmm015308; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15309; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm615310; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15311; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615312; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15313; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm0 {%k1}15314; AVX512DQ-NEXT: vmovdqa 64(%rdx), %xmm615315; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15316; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615317; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload15318; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm14 {%k1}15319; AVX512DQ-NEXT: vmovdqa 128(%rdx), %xmm615320; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15321; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615322; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload15323; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm15 {%k1}15324; AVX512DQ-NEXT: vmovdqa 192(%rdx), %xmm615325; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15326; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615327; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload15328; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}15329; AVX512DQ-NEXT: vmovdqa 256(%rdx), %xmm615330; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15331; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615332; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload15333; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm12 {%k1}15334; AVX512DQ-NEXT: vmovdqa 320(%rdx), %xmm615335; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15336; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615337; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15338; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm2 {%k1}15339; AVX512DQ-NEXT: vmovdqa 384(%rdx), %xmm615340; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15341; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615342; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload15343; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm9 {%k1}15344; AVX512DQ-NEXT: vmovdqa 448(%rdx), %xmm615345; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]15346; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm615347; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15348; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm1 {%k1}15349; AVX512DQ-NEXT: vinserti32x4 $2, (%r8), %zmm0, %zmm2415350; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,8,6,7]15351; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm0, %zmm2415352; AVX512DQ-NEXT: vinserti32x4 $2, 64(%r8), %zmm14, %zmm2315353; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm2315354; AVX512DQ-NEXT: vinserti32x4 $2, 128(%r8), %zmm15, %zmm2115355; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm0, %zmm2115356; AVX512DQ-NEXT: vinserti32x4 $2, 192(%r8), %zmm10, %zmm2015357; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm0, %zmm2015358; AVX512DQ-NEXT: vinserti32x4 $2, 256(%r8), %zmm12, %zmm1815359; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm0, %zmm1815360; AVX512DQ-NEXT: vinserti32x4 $2, 320(%r8), %zmm2, %zmm1715361; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm0, %zmm1715362; AVX512DQ-NEXT: vinserti32x4 $2, 384(%r8), %zmm9, %zmm1515363; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm1515364; AVX512DQ-NEXT: vinserti32x4 $2, 448(%r8), %zmm1, %zmm1415365; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm0, %zmm1415366; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,10,2,3,4,5,6,11]15367; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload15368; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm0, %zmm1315369; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,2,3,4,12,6,7]15370; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload15371; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm1, %zmm1215372; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload15373; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm1015374; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload15375; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm1, %zmm915376; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm0, %zmm3115377; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload15378; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm1, %zmm615379; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm0, %zmm3015380; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload15381; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm1, %zmm2915382; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm0, %zmm2615383; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload15384; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm1, %zmm415385; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm0, %zmm2515386; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload15387; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm1, %zmm315388; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm1915389; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15390; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm1, %zmm215391; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm0, %zmm1615392; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15393; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm1, %zmm015394; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax15395; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15396; AVX512DQ-NEXT: vmovaps %zmm1, 3008(%rax)15397; AVX512DQ-NEXT: vmovdqa64 %zmm28, 2944(%rax)15398; AVX512DQ-NEXT: vmovdqa64 %zmm0, 2880(%rax)15399; AVX512DQ-NEXT: vmovdqa64 %zmm16, 2816(%rax)15400; AVX512DQ-NEXT: vmovdqa64 %zmm27, 2752(%rax)15401; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15402; AVX512DQ-NEXT: vmovaps %zmm0, 2624(%rax)15403; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15404; AVX512DQ-NEXT: vmovaps %zmm0, 2560(%rax)15405; AVX512DQ-NEXT: vmovdqa64 %zmm2, 2496(%rax)15406; AVX512DQ-NEXT: vmovdqa64 %zmm19, 2432(%rax)15407; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15408; AVX512DQ-NEXT: vmovaps %zmm0, 2368(%rax)15409; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15410; AVX512DQ-NEXT: vmovaps %zmm0, 2240(%rax)15411; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15412; AVX512DQ-NEXT: vmovaps %zmm0, 2176(%rax)15413; AVX512DQ-NEXT: vmovdqa64 %zmm3, 2112(%rax)15414; AVX512DQ-NEXT: vmovdqa64 %zmm25, 2048(%rax)15415; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15416; AVX512DQ-NEXT: vmovaps %zmm0, 1984(%rax)15417; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15418; AVX512DQ-NEXT: vmovaps %zmm0, 1856(%rax)15419; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15420; AVX512DQ-NEXT: vmovaps %zmm0, 1792(%rax)15421; AVX512DQ-NEXT: vmovdqa64 %zmm4, 1728(%rax)15422; AVX512DQ-NEXT: vmovdqa64 %zmm26, 1664(%rax)15423; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15424; AVX512DQ-NEXT: vmovaps %zmm0, 1600(%rax)15425; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15426; AVX512DQ-NEXT: vmovaps %zmm0, 1472(%rax)15427; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15428; AVX512DQ-NEXT: vmovaps %zmm0, 1408(%rax)15429; AVX512DQ-NEXT: vmovdqa64 %zmm29, 1344(%rax)15430; AVX512DQ-NEXT: vmovdqa64 %zmm30, 1280(%rax)15431; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15432; AVX512DQ-NEXT: vmovaps %zmm0, 1216(%rax)15433; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15434; AVX512DQ-NEXT: vmovaps %zmm0, 1088(%rax)15435; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15436; AVX512DQ-NEXT: vmovaps %zmm0, 1024(%rax)15437; AVX512DQ-NEXT: vmovdqa64 %zmm6, 960(%rax)15438; AVX512DQ-NEXT: vmovdqa64 %zmm31, 896(%rax)15439; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15440; AVX512DQ-NEXT: vmovaps %zmm0, 832(%rax)15441; AVX512DQ-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload15442; AVX512DQ-NEXT: vmovaps %zmm0, 704(%rax)15443; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15444; AVX512DQ-NEXT: vmovaps %zmm0, 640(%rax)15445; AVX512DQ-NEXT: vmovdqa64 %zmm9, 576(%rax)15446; AVX512DQ-NEXT: vmovdqa64 %zmm10, 512(%rax)15447; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15448; AVX512DQ-NEXT: vmovaps %zmm0, 448(%rax)15449; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15450; AVX512DQ-NEXT: vmovaps %zmm0, 320(%rax)15451; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15452; AVX512DQ-NEXT: vmovaps %zmm0, 256(%rax)15453; AVX512DQ-NEXT: vmovdqa64 %zmm12, 192(%rax)15454; AVX512DQ-NEXT: vmovdqa64 %zmm13, 128(%rax)15455; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15456; AVX512DQ-NEXT: vmovaps %zmm0, 64(%rax)15457; AVX512DQ-NEXT: vmovdqa64 %zmm14, 2688(%rax)15458; AVX512DQ-NEXT: vmovdqa64 %zmm15, 2304(%rax)15459; AVX512DQ-NEXT: vmovdqa64 %zmm17, 1920(%rax)15460; AVX512DQ-NEXT: vmovdqa64 %zmm18, 1536(%rax)15461; AVX512DQ-NEXT: vmovdqa64 %zmm20, 1152(%rax)15462; AVX512DQ-NEXT: vmovdqa64 %zmm21, 768(%rax)15463; AVX512DQ-NEXT: vmovdqa64 %zmm23, 384(%rax)15464; AVX512DQ-NEXT: vmovdqa64 %zmm24, (%rax)15465; AVX512DQ-NEXT: addq $3720, %rsp # imm = 0xE8815466; AVX512DQ-NEXT: vzeroupper15467; AVX512DQ-NEXT: retq15468;15469; AVX512DQ-FCP-LABEL: store_i64_stride6_vf64:15470; AVX512DQ-FCP: # %bb.0:15471; AVX512DQ-FCP-NEXT: subq $3720, %rsp # imm = 0xE8815472; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm1115473; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1015474; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm915475; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm815476; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm715477; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm615478; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm515479; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm415480; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm3015481; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm2915482; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm2815483; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm2715484; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rsi), %zmm115485; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rsi), %zmm1315486; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rsi), %zmm2415487; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rsi), %zmm015488; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]15489; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]15490; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm2215491; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2215492; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm315493; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm315494; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15495; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm315496; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm315497; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15498; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm315499; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm315500; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15501; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm315502; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm315503; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15504; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm315505; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm315506; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15507; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm315508; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm315509; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15510; AVX512DQ-FCP-NEXT: vpermi2q %zmm30, %zmm11, %zmm215511; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15512; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]15513; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]15514; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm315515; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm12, %zmm315516; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15517; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]15518; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]15519; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm315520; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm2, %zmm315521; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15522; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]15523; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]15524; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm315525; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm315526; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15527; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm315528; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm315529; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15530; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]15531; AVX512DQ-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]15532; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm3, %zmm1115533; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15534; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm1115535; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm1115536; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15537; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm1115538; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm21, %zmm1115539; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15540; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm3, %zmm1015541; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15542; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm1015543; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm1015544; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15545; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm1015546; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm1015547; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15548; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm1015549; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm21, %zmm1015550; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15551; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm3, %zmm915552; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15553; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm915554; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm12, %zmm915555; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15556; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm915557; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm915558; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15559; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm915560; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm21, %zmm915561; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15562; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm3, %zmm815563; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15564; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm815565; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm815566; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15567; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm815568; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm815569; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15570; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm815571; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm815572; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15573; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm3, %zmm715574; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15575; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm115576; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm12, %zmm115577; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15578; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm115579; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm115580; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15581; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm115582; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm115583; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15584; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm3, %zmm615585; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15586; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm115587; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm12, %zmm115588; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15589; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm115590; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm115591; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15592; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm815593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm115594; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm115595; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15596; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm3, %zmm515597; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15598; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm515599; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm1415600; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm2915601; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm2915602; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm115603; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm1115604; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm215605; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm2015606; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm215607; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill15608; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdx), %zmm2315609; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm915610; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm115611; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm115612; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15613; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1815614; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm615615; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm115616; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm115617; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15618; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1715619; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rcx), %zmm715620; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm115621; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm21, %zmm115622; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15623; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdx), %zmm1515624; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rcx), %zmm1015625; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm115626; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm115627; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15628; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1315629; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rcx), %zmm215630; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm115631; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm115632; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15633; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm115634; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm1215635; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15636; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm815637; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15638; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdx), %zmm1615639; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rcx), %zmm415640; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm815641; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm815642; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15643; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm2115644; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15645; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm115646; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15647; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]15648; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm2415649; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm2415650; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm1915651; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm1915652; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm015653; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm015654; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15655; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm3115656; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm3115657; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm2115658; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2115659; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm1215660; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1215661; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm315662; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm315663; AVX512DQ-FCP-NEXT: vpermi2q %zmm14, %zmm5, %zmm115664; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]15665; AVX512DQ-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]15666; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm015667; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm015668; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15669; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]15670; AVX512DQ-FCP-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]15671; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm015672; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm28, %zmm015673; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15674; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]15675; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]15676; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm0, %zmm515677; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15678; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm515679; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm515680; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15681; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm515682; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm28, %zmm515683; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm2015684; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15685; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm815686; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm815687; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15688; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm1115689; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm28, %zmm1115690; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm3015691; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm0, %zmm2315692; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15693; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm915694; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm915695; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm815696; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm28, %zmm815697; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm1815698; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15699; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm615700; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm615701; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15702; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm615703; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm1415704; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm28, %zmm615705; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm1115706; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1415707; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15708; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm615709; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm715710; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm715711; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2615712; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm715713; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm28, %zmm715714; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2515715; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm0, %zmm615716; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15717; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm615718; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm715719; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm27, %zmm715720; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm1015721; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm715722; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm28, %zmm715723; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2315724; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm615725; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15726; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm16, %zmm2715727; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm16, %zmm2815728; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1615729; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15730; AVX512DQ-FCP-NEXT: movb $12, %al15731; AVX512DQ-FCP-NEXT: kmovw %eax, %k115732; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}15733; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload15734; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}15735; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload15736; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15737; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k1}15738; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload15739; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, %zmm17 {%k1}15740; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload15741; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm16 {%k1}15742; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload15743; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm21 {%k1}15744; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload15745; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm31 {%k1}15746; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload15747; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm20 {%k1}15748; AVX512DQ-FCP-NEXT: movb $48, %al15749; AVX512DQ-FCP-NEXT: kmovw %eax, %k215750; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15751; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15752; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}15753; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15754; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload15755; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}15756; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15757; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 = zmm0[0,1,2,3],zmm29[4,5,6,7]15758; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15759; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload15760; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k2}15761; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15762; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}15763; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15764; AVX512DQ-FCP-NEXT: vshufi64x2 $228, (%rsp), %zmm0, %zmm0 # 64-byte Folded Reload15765; AVX512DQ-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15766; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill15767; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload15768; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15769; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}15770; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15771; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm30 {%k2}15772; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15773; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload15774; AVX512DQ-FCP-NEXT: # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]15775; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15776; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k2}15777; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15778; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k2}15779; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15780; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm13 # 64-byte Folded Reload15781; AVX512DQ-FCP-NEXT: # zmm13 = zmm0[0,1,2,3],mem[4,5,6,7]15782; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload15783; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15784; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}15785; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15786; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm11 {%k2}15787; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15788; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload15789; AVX512DQ-FCP-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]15790; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15791; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}15792; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15793; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}15794; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15795; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload15796; AVX512DQ-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15797; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15798; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15799; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k2}15800; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15801; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}15802; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15803; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload15804; AVX512DQ-FCP-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]15805; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15806; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15807; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k2}15808; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm2915809; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,9,0,4,5,6,7]15810; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm215811; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15812; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm215813; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm415814; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15815; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm015816; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm615817; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15818; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm415819; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm915820; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15821; AVX512DQ-FCP-NEXT: vmovdqa64 256(%r8), %zmm615822; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm715823; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15824; AVX512DQ-FCP-NEXT: vmovdqa64 320(%r8), %zmm715825; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2615826; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15827; AVX512DQ-FCP-NEXT: vmovdqa64 384(%r8), %zmm915828; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1015829; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm2415830; AVX512DQ-FCP-NEXT: vmovdqa64 448(%r8), %zmm1015831; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm2715832; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15833; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}15834; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,13,0,4,5,6,7]15835; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm315836; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15837; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm515838; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15839; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm3015840; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15841; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm815842; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15843; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1115844; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15845; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2515846; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15847; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm2315848; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm2815849; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15850; AVX512DQ-FCP-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm3 # 64-byte Folded Reload15851; AVX512DQ-FCP-NEXT: # zmm3 = zmm1[0,1,2,3],mem[4,5,6,7]15852; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [14,0,2,3,4,5,15,0]15853; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm1415854; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15855; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm14 # 64-byte Reload15856; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm1415857; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1515858; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15859; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm1315860; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1215861; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15862; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload15863; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm1215864; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload15865; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1515866; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm315867; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15868; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm115869; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]15870; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload15871; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm315872; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm115873; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]15874; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload15875; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm5, %zmm515876; AVX512DQ-FCP-NEXT: movb $16, %al15877; AVX512DQ-FCP-NEXT: kmovw %eax, %k215878; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k2}15879; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15880; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [10,0,2,3,4,5,11,0]15881; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm515882; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15883; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm215884; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15885; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload15886; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm3115887; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}15888; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15889; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm3115890; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm215891; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15892; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15893; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3015894; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm16 {%k2}15895; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15896; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm3015897; AVX512DQ-FCP-NEXT: vmovdqa 256(%rdi), %ymm215898; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15899; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15900; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2615901; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm17 {%k2}15902; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15903; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2615904; AVX512DQ-FCP-NEXT: vmovdqa 320(%rdi), %ymm215905; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15906; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15907; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2515908; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm19 {%k2}15909; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15910; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm2515911; AVX512DQ-FCP-NEXT: vmovdqa 384(%rdi), %ymm215912; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15913; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15914; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1915915; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm18 {%k2}15916; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15917; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1915918; AVX512DQ-FCP-NEXT: vmovdqa 448(%rdi), %ymm215919; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]15920; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15921; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1615922; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm22 {%k2}15923; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15924; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm1615925; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm315926; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15927; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm20 {%k2}15928; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15929; AVX512DQ-FCP-NEXT: vmovdqa64 (%r9), %zmm2915930; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,9,4,5,6,7]15931; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15932; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm015933; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15934; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r9), %zmm315935; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15936; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm015937; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15938; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r9), %zmm415939; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15940; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm015941; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15942; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r9), %zmm515943; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15944; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm015945; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15946; AVX512DQ-FCP-NEXT: vmovdqa64 256(%r9), %zmm1115947; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15948; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm015949; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15950; AVX512DQ-FCP-NEXT: vmovdqa64 320(%r9), %zmm815951; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15952; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm015953; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15954; AVX512DQ-FCP-NEXT: vmovdqa64 384(%r9), %zmm715955; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm2415956; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15957; AVX512DQ-FCP-NEXT: vmovdqa64 448(%r9), %zmm2215958; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm2715959; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,13,4,5,6,7]15960; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15961; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm015962; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15963; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15964; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm015965; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15966; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15967; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm015968; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15969; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15970; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm015971; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15972; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15973; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm015974; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15975; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15976; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm015977; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15978; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm2315979; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15980; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm2815981; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,14,2,3,4,5,6,15]15982; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15983; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm6, %zmm015984; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15985; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm6, %zmm1415986; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, (%rsp) # 64-byte Spill15987; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15988; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm6, %zmm015989; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15990; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm6, %zmm1315991; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15992; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload15993; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm6, %zmm015994; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15995; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm6, %zmm1215996; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15997; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm6, %zmm1515998; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15999; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16000; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm6, %zmm016001; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16002; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm616003; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16004; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616005; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16006; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm0 {%k1}16007; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdx), %xmm616008; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16009; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616010; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload16011; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm14 {%k1}16012; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdx), %xmm616013; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16014; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616015; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload16016; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm15 {%k1}16017; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdx), %xmm616018; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16019; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616020; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload16021; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}16022; AVX512DQ-FCP-NEXT: vmovdqa 256(%rdx), %xmm616023; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16024; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616025; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload16026; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm12 {%k1}16027; AVX512DQ-FCP-NEXT: vmovdqa 320(%rdx), %xmm616028; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16029; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616030; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload16031; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm2 {%k1}16032; AVX512DQ-FCP-NEXT: vmovdqa 384(%rdx), %xmm616033; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16034; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616035; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload16036; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm9 {%k1}16037; AVX512DQ-FCP-NEXT: vmovdqa 448(%rdx), %xmm616038; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16039; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616040; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16041; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm1 {%k1}16042; AVX512DQ-FCP-NEXT: vinserti32x4 $2, (%r8), %zmm0, %zmm2416043; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,8,6,7]16044; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm0, %zmm2416045; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 64(%r8), %zmm14, %zmm2316046; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm2316047; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 128(%r8), %zmm15, %zmm2116048; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm2116049; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 192(%r8), %zmm10, %zmm2016050; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm2016051; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 256(%r8), %zmm12, %zmm1816052; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm1816053; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 320(%r8), %zmm2, %zmm1716054; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm0, %zmm1716055; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 384(%r8), %zmm9, %zmm1516056; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1516057; AVX512DQ-FCP-NEXT: vinserti32x4 $2, 448(%r8), %zmm1, %zmm1416058; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm1416059; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,10,2,3,4,5,6,11]16060; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload16061; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm0, %zmm1316062; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,2,3,4,12,6,7]16063; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload16064; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm1, %zmm1216065; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload16066; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm1016067; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload16068; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm916069; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm3116070; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload16071; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm616072; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm3016073; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload16074; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2916075; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm2616076; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload16077; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm416078; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm0, %zmm2516079; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload16080; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm1, %zmm316081; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1916082; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload16083; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm216084; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm1616085; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16086; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm1, %zmm016087; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax16088; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16089; AVX512DQ-FCP-NEXT: vmovaps %zmm1, 3008(%rax)16090; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 2944(%rax)16091; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 2880(%rax)16092; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 2816(%rax)16093; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 2752(%rax)16094; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16095; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 2624(%rax)16096; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16097; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 2560(%rax)16098; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 2496(%rax)16099; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 2432(%rax)16100; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16101; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 2368(%rax)16102; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16103; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 2240(%rax)16104; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16105; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 2176(%rax)16106; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 2112(%rax)16107; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 2048(%rax)16108; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16109; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1984(%rax)16110; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16111; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1856(%rax)16112; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16113; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1792(%rax)16114; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 1728(%rax)16115; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 1664(%rax)16116; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16117; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1600(%rax)16118; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16119; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1472(%rax)16120; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16121; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1408(%rax)16122; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 1344(%rax)16123; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, 1280(%rax)16124; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16125; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1216(%rax)16126; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16127; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1088(%rax)16128; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16129; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1024(%rax)16130; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 960(%rax)16131; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 896(%rax)16132; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16133; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 832(%rax)16134; AVX512DQ-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload16135; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 704(%rax)16136; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16137; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 640(%rax)16138; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 576(%rax)16139; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 512(%rax)16140; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16141; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 448(%rax)16142; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16143; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 320(%rax)16144; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16145; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 256(%rax)16146; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 192(%rax)16147; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 128(%rax)16148; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16149; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%rax)16150; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 2688(%rax)16151; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, 2304(%rax)16152; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 1920(%rax)16153; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 1536(%rax)16154; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 1152(%rax)16155; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, 768(%rax)16156; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 384(%rax)16157; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, (%rax)16158; AVX512DQ-FCP-NEXT: addq $3720, %rsp # imm = 0xE8816159; AVX512DQ-FCP-NEXT: vzeroupper16160; AVX512DQ-FCP-NEXT: retq16161;16162; AVX512BW-LABEL: store_i64_stride6_vf64:16163; AVX512BW: # %bb.0:16164; AVX512BW-NEXT: subq $3720, %rsp # imm = 0xE8816165; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm1116166; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm1016167; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm916168; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm816169; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm716170; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm616171; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm516172; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm416173; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm3016174; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm2916175; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm2816176; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm2716177; AVX512BW-NEXT: vmovdqa64 256(%rsi), %zmm116178; AVX512BW-NEXT: vmovdqa64 320(%rsi), %zmm1316179; AVX512BW-NEXT: vmovdqa64 384(%rsi), %zmm2416180; AVX512BW-NEXT: vmovdqa64 448(%rsi), %zmm016181; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]16182; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]16183; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm2216184; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm2216185; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm316186; AVX512BW-NEXT: vpermt2q %zmm24, %zmm2, %zmm316187; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16188; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm316189; AVX512BW-NEXT: vpermt2q %zmm13, %zmm2, %zmm316190; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16191; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm316192; AVX512BW-NEXT: vpermt2q %zmm1, %zmm2, %zmm316193; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16194; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm316195; AVX512BW-NEXT: vpermt2q %zmm27, %zmm2, %zmm316196; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16197; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm316198; AVX512BW-NEXT: vpermt2q %zmm28, %zmm2, %zmm316199; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16200; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm316201; AVX512BW-NEXT: vpermt2q %zmm29, %zmm2, %zmm316202; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16203; AVX512BW-NEXT: vpermi2q %zmm30, %zmm11, %zmm216204; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16205; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]16206; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16207; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm316208; AVX512BW-NEXT: vpermt2q %zmm30, %zmm12, %zmm316209; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16210; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]16211; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16212; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm316213; AVX512BW-NEXT: vpermt2q %zmm30, %zmm2, %zmm316214; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16215; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]16216; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16217; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm316218; AVX512BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm316219; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16220; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm316221; AVX512BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm316222; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16223; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]16224; AVX512BW-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]16225; AVX512BW-NEXT: vpermt2q %zmm30, %zmm3, %zmm1116226; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16227; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm1116228; AVX512BW-NEXT: vpermt2q %zmm29, %zmm2, %zmm1116229; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16230; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm1116231; AVX512BW-NEXT: vpermt2q %zmm29, %zmm21, %zmm1116232; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16233; AVX512BW-NEXT: vpermt2q %zmm29, %zmm3, %zmm1016234; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16235; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm1016236; AVX512BW-NEXT: vpermt2q %zmm28, %zmm12, %zmm1016237; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16238; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm1016239; AVX512BW-NEXT: vpermt2q %zmm28, %zmm2, %zmm1016240; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16241; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm1016242; AVX512BW-NEXT: vpermt2q %zmm28, %zmm21, %zmm1016243; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16244; AVX512BW-NEXT: vpermt2q %zmm28, %zmm3, %zmm916245; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16246; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm916247; AVX512BW-NEXT: vpermt2q %zmm27, %zmm12, %zmm916248; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16249; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm916250; AVX512BW-NEXT: vpermt2q %zmm27, %zmm2, %zmm916251; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16252; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm916253; AVX512BW-NEXT: vpermt2q %zmm27, %zmm21, %zmm916254; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16255; AVX512BW-NEXT: vpermt2q %zmm27, %zmm3, %zmm816256; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16257; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm816258; AVX512BW-NEXT: vpermt2q %zmm1, %zmm12, %zmm816259; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16260; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm816261; AVX512BW-NEXT: vpermt2q %zmm1, %zmm2, %zmm816262; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16263; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm816264; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm816265; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16266; AVX512BW-NEXT: vpermt2q %zmm1, %zmm3, %zmm716267; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16268; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm116269; AVX512BW-NEXT: vpermt2q %zmm13, %zmm12, %zmm116270; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16271; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm116272; AVX512BW-NEXT: vpermt2q %zmm13, %zmm2, %zmm116273; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16274; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm116275; AVX512BW-NEXT: vpermt2q %zmm13, %zmm21, %zmm116276; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16277; AVX512BW-NEXT: vpermt2q %zmm13, %zmm3, %zmm616278; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16279; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm116280; AVX512BW-NEXT: vpermt2q %zmm24, %zmm12, %zmm116281; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16282; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm116283; AVX512BW-NEXT: vpermt2q %zmm24, %zmm2, %zmm116284; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16285; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm816286; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm116287; AVX512BW-NEXT: vpermt2q %zmm24, %zmm21, %zmm116288; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16289; AVX512BW-NEXT: vpermt2q %zmm24, %zmm3, %zmm516290; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16291; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm516292; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm1416293; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm2916294; AVX512BW-NEXT: vpermt2q %zmm14, %zmm21, %zmm2916295; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm116296; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm1116297; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm216298; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm2016299; AVX512BW-NEXT: vpermt2q %zmm11, %zmm21, %zmm216300; AVX512BW-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill16301; AVX512BW-NEXT: vmovdqa64 128(%rdx), %zmm2316302; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm916303; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm116304; AVX512BW-NEXT: vpermt2q %zmm9, %zmm21, %zmm116305; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16306; AVX512BW-NEXT: vmovdqa64 192(%rdx), %zmm1816307; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm616308; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm116309; AVX512BW-NEXT: vpermt2q %zmm6, %zmm21, %zmm116310; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16311; AVX512BW-NEXT: vmovdqa64 256(%rdx), %zmm1716312; AVX512BW-NEXT: vmovdqa64 256(%rcx), %zmm716313; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm116314; AVX512BW-NEXT: vpermt2q %zmm7, %zmm21, %zmm116315; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16316; AVX512BW-NEXT: vmovdqa64 320(%rdx), %zmm1516317; AVX512BW-NEXT: vmovdqa64 320(%rcx), %zmm1016318; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm116319; AVX512BW-NEXT: vpermt2q %zmm10, %zmm21, %zmm116320; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16321; AVX512BW-NEXT: vmovdqa64 384(%rdx), %zmm1316322; AVX512BW-NEXT: vmovdqa64 384(%rcx), %zmm216323; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm116324; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm116325; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16326; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm116327; AVX512BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm1216328; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16329; AVX512BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm816330; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16331; AVX512BW-NEXT: vmovdqa64 448(%rdx), %zmm1616332; AVX512BW-NEXT: vmovdqa64 448(%rcx), %zmm416333; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm816334; AVX512BW-NEXT: vpermt2q %zmm4, %zmm21, %zmm816335; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16336; AVX512BW-NEXT: vpermi2q %zmm0, %zmm1, %zmm2116337; AVX512BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16338; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm116339; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16340; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]16341; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm2416342; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm2416343; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm1916344; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm1916345; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm016346; AVX512BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm016347; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16348; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm3116349; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm3116350; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm2116351; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm2116352; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm1216353; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm1216354; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm316355; AVX512BW-NEXT: vpermt2q %zmm11, %zmm1, %zmm316356; AVX512BW-NEXT: vpermi2q %zmm14, %zmm5, %zmm116357; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]16358; AVX512BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]16359; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm016360; AVX512BW-NEXT: vpermt2q %zmm14, %zmm27, %zmm016361; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16362; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]16363; AVX512BW-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]16364; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm016365; AVX512BW-NEXT: vpermt2q %zmm14, %zmm28, %zmm016366; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16367; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]16368; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16369; AVX512BW-NEXT: vpermt2q %zmm14, %zmm0, %zmm516370; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16371; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm516372; AVX512BW-NEXT: vpermt2q %zmm11, %zmm27, %zmm516373; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16374; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm516375; AVX512BW-NEXT: vpermt2q %zmm11, %zmm28, %zmm516376; AVX512BW-NEXT: vpermt2q %zmm11, %zmm0, %zmm2016377; AVX512BW-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16378; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm816379; AVX512BW-NEXT: vpermt2q %zmm9, %zmm27, %zmm816380; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16381; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm1116382; AVX512BW-NEXT: vpermt2q %zmm9, %zmm28, %zmm1116383; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm3016384; AVX512BW-NEXT: vpermt2q %zmm9, %zmm0, %zmm2316385; AVX512BW-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16386; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm916387; AVX512BW-NEXT: vpermt2q %zmm6, %zmm27, %zmm916388; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm816389; AVX512BW-NEXT: vpermt2q %zmm6, %zmm28, %zmm816390; AVX512BW-NEXT: vpermt2q %zmm6, %zmm0, %zmm1816391; AVX512BW-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16392; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm616393; AVX512BW-NEXT: vpermt2q %zmm7, %zmm27, %zmm616394; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16395; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm616396; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm1416397; AVX512BW-NEXT: vpermt2q %zmm7, %zmm28, %zmm616398; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm1116399; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm1416400; AVX512BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16401; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm616402; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm716403; AVX512BW-NEXT: vpermt2q %zmm10, %zmm27, %zmm716404; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm2616405; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm716406; AVX512BW-NEXT: vpermt2q %zmm10, %zmm28, %zmm716407; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm2516408; AVX512BW-NEXT: vpermt2q %zmm10, %zmm0, %zmm616409; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16410; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm616411; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm716412; AVX512BW-NEXT: vpermt2q %zmm2, %zmm27, %zmm716413; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm1016414; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm716415; AVX512BW-NEXT: vpermt2q %zmm2, %zmm28, %zmm716416; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm2316417; AVX512BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm616418; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16419; AVX512BW-NEXT: vpermi2q %zmm4, %zmm16, %zmm2716420; AVX512BW-NEXT: vpermi2q %zmm4, %zmm16, %zmm2816421; AVX512BW-NEXT: vpermt2q %zmm4, %zmm0, %zmm1616422; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16423; AVX512BW-NEXT: movb $12, %al16424; AVX512BW-NEXT: kmovd %eax, %k116425; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm22 {%k1}16426; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload16427; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}16428; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload16429; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16430; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19 {%k1}16431; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload16432; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm17 {%k1}16433; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload16434; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm16 {%k1}16435; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload16436; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm21 {%k1}16437; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm31 # 64-byte Reload16438; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm31 {%k1}16439; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload16440; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm20 {%k1}16441; AVX512BW-NEXT: movb $48, %al16442; AVX512BW-NEXT: kmovd %eax, %k216443; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16444; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload16445; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}16446; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16447; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload16448; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}16449; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16450; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm14 = zmm0[0,1,2,3],zmm29[4,5,6,7]16451; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16452; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload16453; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm4 {%k2}16454; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16455; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}16456; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16457; AVX512BW-NEXT: vshufi64x2 $228, (%rsp), %zmm0, %zmm0 # 64-byte Folded Reload16458; AVX512BW-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]16459; AVX512BW-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill16460; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload16461; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16462; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}16463; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16464; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm30 {%k2}16465; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16466; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload16467; AVX512BW-NEXT: # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]16468; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16469; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm9 {%k2}16470; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16471; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm8 {%k2}16472; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16473; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm13 # 64-byte Folded Reload16474; AVX512BW-NEXT: # zmm13 = zmm0[0,1,2,3],mem[4,5,6,7]16475; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload16476; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16477; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}16478; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16479; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm11 {%k2}16480; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16481; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm12 # 64-byte Folded Reload16482; AVX512BW-NEXT: # zmm12 = zmm0[0,1,2,3],mem[4,5,6,7]16483; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16484; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}16485; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16486; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}16487; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16488; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload16489; AVX512BW-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]16490; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16491; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16492; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm10 {%k2}16493; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16494; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm23 {%k2}16495; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16496; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload16497; AVX512BW-NEXT: # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]16498; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16499; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16500; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm27 {%k2}16501; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm2916502; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,9,0,4,5,6,7]16503; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm216504; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16505; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm216506; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm416507; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16508; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm016509; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm616510; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16511; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm416512; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm916513; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16514; AVX512BW-NEXT: vmovdqa64 256(%r8), %zmm616515; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm716516; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16517; AVX512BW-NEXT: vmovdqa64 320(%r8), %zmm716518; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm2616519; AVX512BW-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16520; AVX512BW-NEXT: vmovdqa64 384(%r8), %zmm916521; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm1016522; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm2416523; AVX512BW-NEXT: vmovdqa64 448(%r8), %zmm1016524; AVX512BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm2716525; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16526; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}16527; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,13,0,4,5,6,7]16528; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm316529; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16530; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm516531; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16532; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm3016533; AVX512BW-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16534; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm816535; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16536; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm1116537; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16538; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm2516539; AVX512BW-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16540; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm2316541; AVX512BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm2816542; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16543; AVX512BW-NEXT: vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm1, %zmm3 # 64-byte Folded Reload16544; AVX512BW-NEXT: # zmm3 = zmm1[0,1,2,3],mem[4,5,6,7]16545; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [14,0,2,3,4,5,15,0]16546; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm1416547; AVX512BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16548; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm14 # 64-byte Reload16549; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm1416550; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm1516551; AVX512BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16552; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm1316553; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm1216554; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16555; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload16556; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm1216557; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload16558; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm1516559; AVX512BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm316560; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16561; AVX512BW-NEXT: vmovdqa (%rdi), %ymm116562; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]16563; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload16564; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm316565; AVX512BW-NEXT: vmovdqa 64(%rdi), %ymm116566; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]16567; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload16568; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm5, %zmm516569; AVX512BW-NEXT: movb $16, %al16570; AVX512BW-NEXT: kmovd %eax, %k216571; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm31 {%k2}16572; AVX512BW-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16573; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [10,0,2,3,4,5,11,0]16574; AVX512BW-NEXT: vpermt2q %zmm2, %zmm1, %zmm516575; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16576; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm216577; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16578; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload16579; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm5, %zmm3116580; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}16581; AVX512BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16582; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm3116583; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm216584; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16585; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16586; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm3016587; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm16 {%k2}16588; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16589; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm3016590; AVX512BW-NEXT: vmovdqa 256(%rdi), %ymm216591; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16592; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16593; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2616594; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm17 {%k2}16595; AVX512BW-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16596; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm2616597; AVX512BW-NEXT: vmovdqa 320(%rdi), %ymm216598; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16599; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16600; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm2516601; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm19 {%k2}16602; AVX512BW-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16603; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm2516604; AVX512BW-NEXT: vmovdqa 384(%rdi), %ymm216605; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16606; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16607; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1916608; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm18 {%k2}16609; AVX512BW-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16610; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm1916611; AVX512BW-NEXT: vmovdqa 448(%rdi), %ymm216612; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]16613; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16614; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm1616615; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm22 {%k2}16616; AVX512BW-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16617; AVX512BW-NEXT: vpermt2q %zmm10, %zmm1, %zmm1616618; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm316619; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16620; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm20 {%k2}16621; AVX512BW-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16622; AVX512BW-NEXT: vmovdqa64 (%r9), %zmm2916623; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,9,4,5,6,7]16624; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16625; AVX512BW-NEXT: vpermt2q %zmm29, %zmm6, %zmm016626; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16627; AVX512BW-NEXT: vmovdqa64 64(%r9), %zmm316628; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16629; AVX512BW-NEXT: vpermt2q %zmm3, %zmm6, %zmm016630; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16631; AVX512BW-NEXT: vmovdqa64 128(%r9), %zmm416632; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16633; AVX512BW-NEXT: vpermt2q %zmm4, %zmm6, %zmm016634; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16635; AVX512BW-NEXT: vmovdqa64 192(%r9), %zmm516636; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16637; AVX512BW-NEXT: vpermt2q %zmm5, %zmm6, %zmm016638; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16639; AVX512BW-NEXT: vmovdqa64 256(%r9), %zmm1116640; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16641; AVX512BW-NEXT: vpermt2q %zmm11, %zmm6, %zmm016642; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16643; AVX512BW-NEXT: vmovdqa64 320(%r9), %zmm816644; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16645; AVX512BW-NEXT: vpermt2q %zmm8, %zmm6, %zmm016646; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16647; AVX512BW-NEXT: vmovdqa64 384(%r9), %zmm716648; AVX512BW-NEXT: vpermt2q %zmm7, %zmm6, %zmm2416649; AVX512BW-NEXT: vmovdqu64 %zmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16650; AVX512BW-NEXT: vmovdqa64 448(%r9), %zmm2216651; AVX512BW-NEXT: vpermt2q %zmm22, %zmm6, %zmm2716652; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,13,4,5,6,7]16653; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16654; AVX512BW-NEXT: vpermt2q %zmm29, %zmm6, %zmm016655; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16656; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16657; AVX512BW-NEXT: vpermt2q %zmm3, %zmm6, %zmm016658; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16659; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16660; AVX512BW-NEXT: vpermt2q %zmm4, %zmm6, %zmm016661; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16662; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16663; AVX512BW-NEXT: vpermt2q %zmm5, %zmm6, %zmm016664; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16665; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16666; AVX512BW-NEXT: vpermt2q %zmm11, %zmm6, %zmm016667; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16668; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16669; AVX512BW-NEXT: vpermt2q %zmm8, %zmm6, %zmm016670; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16671; AVX512BW-NEXT: vpermt2q %zmm7, %zmm6, %zmm2316672; AVX512BW-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16673; AVX512BW-NEXT: vpermt2q %zmm22, %zmm6, %zmm2816674; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,14,2,3,4,5,6,15]16675; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16676; AVX512BW-NEXT: vpermt2q %zmm29, %zmm6, %zmm016677; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16678; AVX512BW-NEXT: vpermt2q %zmm3, %zmm6, %zmm1416679; AVX512BW-NEXT: vmovdqu64 %zmm14, (%rsp) # 64-byte Spill16680; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16681; AVX512BW-NEXT: vpermt2q %zmm4, %zmm6, %zmm016682; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16683; AVX512BW-NEXT: vpermt2q %zmm5, %zmm6, %zmm1316684; AVX512BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16685; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16686; AVX512BW-NEXT: vpermt2q %zmm11, %zmm6, %zmm016687; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16688; AVX512BW-NEXT: vpermt2q %zmm8, %zmm6, %zmm1216689; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16690; AVX512BW-NEXT: vpermt2q %zmm7, %zmm6, %zmm1516691; AVX512BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16692; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16693; AVX512BW-NEXT: vpermt2q %zmm22, %zmm6, %zmm016694; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16695; AVX512BW-NEXT: vmovdqa (%rdx), %xmm616696; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16697; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616698; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16699; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm0 {%k1}16700; AVX512BW-NEXT: vmovdqa 64(%rdx), %xmm616701; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16702; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616703; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload16704; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm14 {%k1}16705; AVX512BW-NEXT: vmovdqa 128(%rdx), %xmm616706; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16707; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616708; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload16709; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm15 {%k1}16710; AVX512BW-NEXT: vmovdqa 192(%rdx), %xmm616711; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16712; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616713; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload16714; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm10 {%k1}16715; AVX512BW-NEXT: vmovdqa 256(%rdx), %xmm616716; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16717; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616718; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload16719; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm12 {%k1}16720; AVX512BW-NEXT: vmovdqa 320(%rdx), %xmm616721; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16722; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616723; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload16724; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm2 {%k1}16725; AVX512BW-NEXT: vmovdqa 384(%rdx), %xmm616726; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16727; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616728; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload16729; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm9 {%k1}16730; AVX512BW-NEXT: vmovdqa 448(%rdx), %xmm616731; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm6[0],mem[0]16732; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm616733; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16734; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm0, %zmm1 {%k1}16735; AVX512BW-NEXT: vinserti32x4 $2, (%r8), %zmm0, %zmm2416736; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,8,6,7]16737; AVX512BW-NEXT: vpermt2q %zmm29, %zmm0, %zmm2416738; AVX512BW-NEXT: vinserti32x4 $2, 64(%r8), %zmm14, %zmm2316739; AVX512BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm2316740; AVX512BW-NEXT: vinserti32x4 $2, 128(%r8), %zmm15, %zmm2116741; AVX512BW-NEXT: vpermt2q %zmm4, %zmm0, %zmm2116742; AVX512BW-NEXT: vinserti32x4 $2, 192(%r8), %zmm10, %zmm2016743; AVX512BW-NEXT: vpermt2q %zmm5, %zmm0, %zmm2016744; AVX512BW-NEXT: vinserti32x4 $2, 256(%r8), %zmm12, %zmm1816745; AVX512BW-NEXT: vpermt2q %zmm11, %zmm0, %zmm1816746; AVX512BW-NEXT: vinserti32x4 $2, 320(%r8), %zmm2, %zmm1716747; AVX512BW-NEXT: vpermt2q %zmm8, %zmm0, %zmm1716748; AVX512BW-NEXT: vinserti32x4 $2, 384(%r8), %zmm9, %zmm1516749; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm1516750; AVX512BW-NEXT: vinserti32x4 $2, 448(%r8), %zmm1, %zmm1416751; AVX512BW-NEXT: vpermt2q %zmm22, %zmm0, %zmm1416752; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,10,2,3,4,5,6,11]16753; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload16754; AVX512BW-NEXT: vpermt2q %zmm29, %zmm0, %zmm1316755; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,2,3,4,12,6,7]16756; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload16757; AVX512BW-NEXT: vpermt2q %zmm29, %zmm1, %zmm1216758; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload16759; AVX512BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm1016760; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload16761; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm916762; AVX512BW-NEXT: vpermt2q %zmm4, %zmm0, %zmm3116763; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload16764; AVX512BW-NEXT: vpermt2q %zmm4, %zmm1, %zmm616765; AVX512BW-NEXT: vpermt2q %zmm5, %zmm0, %zmm3016766; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload16767; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm2916768; AVX512BW-NEXT: vpermt2q %zmm11, %zmm0, %zmm2616769; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload16770; AVX512BW-NEXT: vpermt2q %zmm11, %zmm1, %zmm416771; AVX512BW-NEXT: vpermt2q %zmm8, %zmm0, %zmm2516772; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload16773; AVX512BW-NEXT: vpermt2q %zmm8, %zmm1, %zmm316774; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm1916775; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload16776; AVX512BW-NEXT: vpermt2q %zmm7, %zmm1, %zmm216777; AVX512BW-NEXT: vpermt2q %zmm22, %zmm0, %zmm1616778; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16779; AVX512BW-NEXT: vpermt2q %zmm22, %zmm1, %zmm016780; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax16781; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload16782; AVX512BW-NEXT: vmovaps %zmm1, 3008(%rax)16783; AVX512BW-NEXT: vmovdqa64 %zmm28, 2944(%rax)16784; AVX512BW-NEXT: vmovdqa64 %zmm0, 2880(%rax)16785; AVX512BW-NEXT: vmovdqa64 %zmm16, 2816(%rax)16786; AVX512BW-NEXT: vmovdqa64 %zmm27, 2752(%rax)16787; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16788; AVX512BW-NEXT: vmovaps %zmm0, 2624(%rax)16789; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16790; AVX512BW-NEXT: vmovaps %zmm0, 2560(%rax)16791; AVX512BW-NEXT: vmovdqa64 %zmm2, 2496(%rax)16792; AVX512BW-NEXT: vmovdqa64 %zmm19, 2432(%rax)16793; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16794; AVX512BW-NEXT: vmovaps %zmm0, 2368(%rax)16795; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16796; AVX512BW-NEXT: vmovaps %zmm0, 2240(%rax)16797; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16798; AVX512BW-NEXT: vmovaps %zmm0, 2176(%rax)16799; AVX512BW-NEXT: vmovdqa64 %zmm3, 2112(%rax)16800; AVX512BW-NEXT: vmovdqa64 %zmm25, 2048(%rax)16801; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16802; AVX512BW-NEXT: vmovaps %zmm0, 1984(%rax)16803; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16804; AVX512BW-NEXT: vmovaps %zmm0, 1856(%rax)16805; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16806; AVX512BW-NEXT: vmovaps %zmm0, 1792(%rax)16807; AVX512BW-NEXT: vmovdqa64 %zmm4, 1728(%rax)16808; AVX512BW-NEXT: vmovdqa64 %zmm26, 1664(%rax)16809; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16810; AVX512BW-NEXT: vmovaps %zmm0, 1600(%rax)16811; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16812; AVX512BW-NEXT: vmovaps %zmm0, 1472(%rax)16813; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16814; AVX512BW-NEXT: vmovaps %zmm0, 1408(%rax)16815; AVX512BW-NEXT: vmovdqa64 %zmm29, 1344(%rax)16816; AVX512BW-NEXT: vmovdqa64 %zmm30, 1280(%rax)16817; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16818; AVX512BW-NEXT: vmovaps %zmm0, 1216(%rax)16819; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16820; AVX512BW-NEXT: vmovaps %zmm0, 1088(%rax)16821; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16822; AVX512BW-NEXT: vmovaps %zmm0, 1024(%rax)16823; AVX512BW-NEXT: vmovdqa64 %zmm6, 960(%rax)16824; AVX512BW-NEXT: vmovdqa64 %zmm31, 896(%rax)16825; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16826; AVX512BW-NEXT: vmovaps %zmm0, 832(%rax)16827; AVX512BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload16828; AVX512BW-NEXT: vmovaps %zmm0, 704(%rax)16829; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16830; AVX512BW-NEXT: vmovaps %zmm0, 640(%rax)16831; AVX512BW-NEXT: vmovdqa64 %zmm9, 576(%rax)16832; AVX512BW-NEXT: vmovdqa64 %zmm10, 512(%rax)16833; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16834; AVX512BW-NEXT: vmovaps %zmm0, 448(%rax)16835; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16836; AVX512BW-NEXT: vmovaps %zmm0, 320(%rax)16837; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16838; AVX512BW-NEXT: vmovaps %zmm0, 256(%rax)16839; AVX512BW-NEXT: vmovdqa64 %zmm12, 192(%rax)16840; AVX512BW-NEXT: vmovdqa64 %zmm13, 128(%rax)16841; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload16842; AVX512BW-NEXT: vmovaps %zmm0, 64(%rax)16843; AVX512BW-NEXT: vmovdqa64 %zmm14, 2688(%rax)16844; AVX512BW-NEXT: vmovdqa64 %zmm15, 2304(%rax)16845; AVX512BW-NEXT: vmovdqa64 %zmm17, 1920(%rax)16846; AVX512BW-NEXT: vmovdqa64 %zmm18, 1536(%rax)16847; AVX512BW-NEXT: vmovdqa64 %zmm20, 1152(%rax)16848; AVX512BW-NEXT: vmovdqa64 %zmm21, 768(%rax)16849; AVX512BW-NEXT: vmovdqa64 %zmm23, 384(%rax)16850; AVX512BW-NEXT: vmovdqa64 %zmm24, (%rax)16851; AVX512BW-NEXT: addq $3720, %rsp # imm = 0xE8816852; AVX512BW-NEXT: vzeroupper16853; AVX512BW-NEXT: retq16854;16855; AVX512BW-FCP-LABEL: store_i64_stride6_vf64:16856; AVX512BW-FCP: # %bb.0:16857; AVX512BW-FCP-NEXT: subq $3720, %rsp # imm = 0xE8816858; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm1116859; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1016860; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm916861; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm816862; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm716863; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm616864; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm516865; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm416866; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm3016867; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm2916868; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm2816869; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm2716870; AVX512BW-FCP-NEXT: vmovdqa64 256(%rsi), %zmm116871; AVX512BW-FCP-NEXT: vmovdqa64 320(%rsi), %zmm1316872; AVX512BW-FCP-NEXT: vmovdqa64 384(%rsi), %zmm2416873; AVX512BW-FCP-NEXT: vmovdqa64 448(%rsi), %zmm016874; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,12,5,13,4,12,5,13]16875; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]16876; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm2216877; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2216878; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm316879; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm316880; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16881; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm316882; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm316883; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16884; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm316885; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm316886; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16887; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm316888; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm316889; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16890; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm316891; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm316892; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16893; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm316894; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm316895; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16896; AVX512BW-FCP-NEXT: vpermi2q %zmm30, %zmm11, %zmm216897; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16898; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [2,10,2,10,2,10,2,10]16899; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16900; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm316901; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm12, %zmm316902; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16903; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [6,14,6,14,6,14,6,14]16904; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16905; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm316906; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm2, %zmm316907; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16908; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [7,15,7,15,7,15,7,15]16909; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]16910; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm316911; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm316912; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16913; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm316914; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm316915; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16916; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm3 = [0,8,1,9,0,8,1,9]16917; AVX512BW-FCP-NEXT: # zmm3 = mem[0,1,2,3,0,1,2,3]16918; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm3, %zmm1116919; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16920; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm1116921; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm2, %zmm1116922; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16923; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm1116924; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm21, %zmm1116925; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16926; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm3, %zmm1016927; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16928; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1016929; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm1016930; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16931; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1016932; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm1016933; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16934; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1016935; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm21, %zmm1016936; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16937; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm3, %zmm916938; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16939; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm916940; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm12, %zmm916941; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16942; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm916943; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm2, %zmm916944; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16945; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm916946; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm21, %zmm916947; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16948; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm3, %zmm816949; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16950; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm816951; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm12, %zmm816952; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16953; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm816954; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm816955; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16956; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm816957; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm816958; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16959; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm3, %zmm716960; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16961; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm116962; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm12, %zmm116963; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16964; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm116965; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm2, %zmm116966; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16967; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm116968; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm116969; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16970; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm3, %zmm616971; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16972; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm116973; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm12, %zmm116974; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16975; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm116976; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm116977; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16978; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm816979; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm116980; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm116981; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16982; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm3, %zmm516983; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16984; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm516985; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm1416986; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm2916987; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm21, %zmm2916988; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm116989; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm1116990; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm216991; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm2016992; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm216993; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill16994; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm2316995; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm916996; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm116997; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm21, %zmm116998; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill16999; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1817000; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm617001; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm117002; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm21, %zmm117003; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17004; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1717005; AVX512BW-FCP-NEXT: vmovdqa64 256(%rcx), %zmm717006; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm117007; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm21, %zmm117008; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17009; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdx), %zmm1517010; AVX512BW-FCP-NEXT: vmovdqa64 320(%rcx), %zmm1017011; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm117012; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm117013; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17014; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1317015; AVX512BW-FCP-NEXT: vmovdqa64 384(%rcx), %zmm217016; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm117017; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm117018; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17019; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm117020; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm1217021; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17022; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm817023; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17024; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdx), %zmm1617025; AVX512BW-FCP-NEXT: vmovdqa64 448(%rcx), %zmm417026; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm817027; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm817028; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17029; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm2117030; AVX512BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17031; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm117032; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17033; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,0,4,12]17034; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm2417035; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm1, %zmm2417036; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm1917037; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm1, %zmm1917038; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm017039; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm1, %zmm017040; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17041; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm3117042; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm1, %zmm3117043; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2117044; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2117045; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm1217046; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm1217047; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm317048; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm1, %zmm317049; AVX512BW-FCP-NEXT: vpermi2q %zmm14, %zmm5, %zmm117050; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm27 = [1,9,2,10,1,9,2,10]17051; AVX512BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3]17052; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm017053; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm27, %zmm017054; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17055; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm28 = [5,13,6,14,5,13,6,14]17056; AVX512BW-FCP-NEXT: # zmm28 = mem[0,1,2,3,0,1,2,3]17057; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm017058; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm28, %zmm017059; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17060; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]17061; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]17062; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm0, %zmm517063; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17064; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm517065; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm517066; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17067; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm517068; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm28, %zmm517069; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm0, %zmm2017070; AVX512BW-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17071; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm817072; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm27, %zmm817073; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17074; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm1117075; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm28, %zmm1117076; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3017077; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm0, %zmm2317078; AVX512BW-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17079; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm917080; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm917081; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm817082; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm28, %zmm817083; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm1817084; AVX512BW-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17085; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm617086; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm617087; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17088; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm617089; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm1417090; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm28, %zmm617091; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1117092; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm1417093; AVX512BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17094; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm617095; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm717096; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm27, %zmm717097; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2617098; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm717099; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm28, %zmm717100; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2517101; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm0, %zmm617102; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17103; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm617104; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm717105; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm27, %zmm717106; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm1017107; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm717108; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm28, %zmm717109; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2317110; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm617111; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill17112; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm16, %zmm2717113; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmmFile truncated to the first 1 MiB.