14238 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_stride5_vf2(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {19; SSE-LABEL: store_i64_stride5_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movapd (%rdi), %xmm022; SSE-NEXT: movapd (%rsi), %xmm123; SSE-NEXT: movapd (%rdx), %xmm224; SSE-NEXT: movapd (%rcx), %xmm325; SSE-NEXT: movapd (%r8), %xmm426; SSE-NEXT: movapd %xmm0, %xmm527; SSE-NEXT: unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm1[0]28; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]29; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]30; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]31; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm4[0],xmm0[1]32; SSE-NEXT: movapd %xmm2, 16(%r9)33; SSE-NEXT: movapd %xmm0, 32(%r9)34; SSE-NEXT: movapd %xmm1, 48(%r9)35; SSE-NEXT: movapd %xmm3, 64(%r9)36; SSE-NEXT: movapd %xmm5, (%r9)37; SSE-NEXT: retq38;39; AVX-LABEL: store_i64_stride5_vf2:40; AVX: # %bb.0:41; AVX-NEXT: vmovaps (%rdi), %xmm042; AVX-NEXT: vmovaps (%rsi), %xmm143; AVX-NEXT: vmovaps (%rcx), %xmm244; AVX-NEXT: vmovaps (%r8), %xmm345; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm446; AVX-NEXT: vinsertf128 $1, (%rdx), %ymm0, %ymm047; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm0[1],ymm4[3],ymm0[3]48; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1],ymm4[2,3,4,5,6,7]49; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm150; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]51; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm3[1]52; AVX-NEXT: vmovaps %xmm1, 64(%r9)53; AVX-NEXT: vmovaps %ymm0, (%r9)54; AVX-NEXT: vmovaps %ymm4, 32(%r9)55; AVX-NEXT: vzeroupper56; AVX-NEXT: retq57;58; AVX2-LABEL: store_i64_stride5_vf2:59; AVX2: # %bb.0:60; AVX2-NEXT: vmovaps (%rdi), %xmm061; AVX2-NEXT: vmovaps (%rdx), %xmm162; AVX2-NEXT: vmovaps (%rcx), %xmm263; AVX2-NEXT: vmovaps (%r8), %xmm364; AVX2-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm065; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm466; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]67; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,0,2,1]68; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]69; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]70; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]71; AVX2-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]72; AVX2-NEXT: vmovaps %xmm2, 64(%r9)73; AVX2-NEXT: vmovaps %ymm0, (%r9)74; AVX2-NEXT: vmovaps %ymm1, 32(%r9)75; AVX2-NEXT: vzeroupper76; AVX2-NEXT: retq77;78; AVX2-FP-LABEL: store_i64_stride5_vf2:79; AVX2-FP: # %bb.0:80; AVX2-FP-NEXT: vmovaps (%rdi), %xmm081; AVX2-FP-NEXT: vmovaps (%rdx), %xmm182; AVX2-FP-NEXT: vmovaps (%rcx), %xmm283; AVX2-FP-NEXT: vmovaps (%r8), %xmm384; AVX2-FP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm085; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm486; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]87; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,0,2,1]88; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]89; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]90; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]91; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]92; AVX2-FP-NEXT: vmovaps %xmm2, 64(%r9)93; AVX2-FP-NEXT: vmovaps %ymm0, (%r9)94; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r9)95; AVX2-FP-NEXT: vzeroupper96; AVX2-FP-NEXT: retq97;98; AVX2-FCP-LABEL: store_i64_stride5_vf2:99; AVX2-FCP: # %bb.0:100; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm0101; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm1102; AVX2-FCP-NEXT: vmovaps (%rcx), %xmm2103; AVX2-FCP-NEXT: vmovaps (%r8), %xmm3104; AVX2-FCP-NEXT: vinsertf128 $1, (%rsi), %ymm0, %ymm0105; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm4106; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]107; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,0,2,1]108; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]109; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm4[0],ymm0[2],ymm4[2]110; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,2,1,3]111; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm3[1]112; AVX2-FCP-NEXT: vmovaps %xmm2, 64(%r9)113; AVX2-FCP-NEXT: vmovaps %ymm0, (%r9)114; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r9)115; AVX2-FCP-NEXT: vzeroupper116; AVX2-FCP-NEXT: retq117;118; AVX512-LABEL: store_i64_stride5_vf2:119; AVX512: # %bb.0:120; AVX512-NEXT: vmovdqa (%rdi), %xmm0121; AVX512-NEXT: vmovdqa (%rdx), %xmm1122; AVX512-NEXT: vmovdqa (%r8), %xmm2123; AVX512-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1124; AVX512-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0125; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0126; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]127; AVX512-NEXT: vpermi2q %ymm2, %ymm1, %ymm3128; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]129; AVX512-NEXT: vpermi2q %zmm2, %zmm0, %zmm1130; AVX512-NEXT: vmovdqa %xmm3, 64(%r9)131; AVX512-NEXT: vmovdqa64 %zmm1, (%r9)132; AVX512-NEXT: vzeroupper133; AVX512-NEXT: retq134;135; AVX512-FCP-LABEL: store_i64_stride5_vf2:136; AVX512-FCP: # %bb.0:137; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm0138; AVX512-FCP-NEXT: vmovdqa (%rdx), %xmm1139; AVX512-FCP-NEXT: vmovdqa (%r8), %xmm2140; AVX512-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1141; AVX512-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0142; AVX512-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0143; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]144; AVX512-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm3145; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]146; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm1147; AVX512-FCP-NEXT: vmovdqa %xmm3, 64(%r9)148; AVX512-FCP-NEXT: vmovdqa64 %zmm1, (%r9)149; AVX512-FCP-NEXT: vzeroupper150; AVX512-FCP-NEXT: retq151;152; AVX512DQ-LABEL: store_i64_stride5_vf2:153; AVX512DQ: # %bb.0:154; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm0155; AVX512DQ-NEXT: vmovdqa (%rdx), %xmm1156; AVX512DQ-NEXT: vmovdqa (%r8), %xmm2157; AVX512DQ-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1158; AVX512DQ-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0159; AVX512DQ-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0160; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]161; AVX512DQ-NEXT: vpermi2q %ymm2, %ymm1, %ymm3162; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]163; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm0, %zmm1164; AVX512DQ-NEXT: vmovdqa %xmm3, 64(%r9)165; AVX512DQ-NEXT: vmovdqa64 %zmm1, (%r9)166; AVX512DQ-NEXT: vzeroupper167; AVX512DQ-NEXT: retq168;169; AVX512DQ-FCP-LABEL: store_i64_stride5_vf2:170; AVX512DQ-FCP: # %bb.0:171; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm0172; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %xmm1173; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %xmm2174; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1175; AVX512DQ-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0176; AVX512DQ-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0177; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]178; AVX512DQ-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm3179; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]180; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm1181; AVX512DQ-FCP-NEXT: vmovdqa %xmm3, 64(%r9)182; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, (%r9)183; AVX512DQ-FCP-NEXT: vzeroupper184; AVX512DQ-FCP-NEXT: retq185;186; AVX512BW-LABEL: store_i64_stride5_vf2:187; AVX512BW: # %bb.0:188; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0189; AVX512BW-NEXT: vmovdqa (%rdx), %xmm1190; AVX512BW-NEXT: vmovdqa (%r8), %xmm2191; AVX512BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1192; AVX512BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0193; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0194; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]195; AVX512BW-NEXT: vpermi2q %ymm2, %ymm1, %ymm3196; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]197; AVX512BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm1198; AVX512BW-NEXT: vmovdqa %xmm3, 64(%r9)199; AVX512BW-NEXT: vmovdqa64 %zmm1, (%r9)200; AVX512BW-NEXT: vzeroupper201; AVX512BW-NEXT: retq202;203; AVX512BW-FCP-LABEL: store_i64_stride5_vf2:204; AVX512BW-FCP: # %bb.0:205; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm0206; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %xmm1207; AVX512BW-FCP-NEXT: vmovdqa (%r8), %xmm2208; AVX512BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1209; AVX512BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0210; AVX512BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0211; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]212; AVX512BW-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm3213; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]214; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm1215; AVX512BW-FCP-NEXT: vmovdqa %xmm3, 64(%r9)216; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, (%r9)217; AVX512BW-FCP-NEXT: vzeroupper218; AVX512BW-FCP-NEXT: retq219;220; AVX512DQ-BW-LABEL: store_i64_stride5_vf2:221; AVX512DQ-BW: # %bb.0:222; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm0223; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %xmm1224; AVX512DQ-BW-NEXT: vmovdqa (%r8), %xmm2225; AVX512DQ-BW-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1226; AVX512DQ-BW-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0227; AVX512DQ-BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0228; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]229; AVX512DQ-BW-NEXT: vpermi2q %ymm2, %ymm1, %ymm3230; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]231; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm0, %zmm1232; AVX512DQ-BW-NEXT: vmovdqa %xmm3, 64(%r9)233; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, (%r9)234; AVX512DQ-BW-NEXT: vzeroupper235; AVX512DQ-BW-NEXT: retq236;237; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf2:238; AVX512DQ-BW-FCP: # %bb.0:239; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm0240; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %xmm1241; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %xmm2242; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rcx), %ymm1, %ymm1243; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, (%rsi), %ymm0, %ymm0244; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0245; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [3,5]246; AVX512DQ-BW-FCP-NEXT: vpermi2q %ymm2, %ymm1, %ymm3247; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,2,4,6,8,1,3,5]248; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm0, %zmm1249; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm3, 64(%r9)250; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, (%r9)251; AVX512DQ-BW-FCP-NEXT: vzeroupper252; AVX512DQ-BW-FCP-NEXT: retq253 %in.vec0 = load <2 x i64>, ptr %in.vecptr0, align 64254 %in.vec1 = load <2 x i64>, ptr %in.vecptr1, align 64255 %in.vec2 = load <2 x i64>, ptr %in.vecptr2, align 64256 %in.vec3 = load <2 x i64>, ptr %in.vecptr3, align 64257 %in.vec4 = load <2 x i64>, ptr %in.vecptr4, align 64258 %1 = shufflevector <2 x i64> %in.vec0, <2 x i64> %in.vec1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>259 %2 = shufflevector <2 x i64> %in.vec2, <2 x i64> %in.vec3, <4 x i32> <i32 0, i32 1, i32 2, i32 3>260 %3 = 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>261 %4 = shufflevector <2 x i64> %in.vec4, <2 x i64> poison, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>262 %5 = shufflevector <8 x i64> %3, <8 x i64> %4, <10 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9>263 %interleaved.vec = shufflevector <10 x i64> %5, <10 x i64> poison, <10 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 1, i32 3, i32 5, i32 7, i32 9>264 store <10 x i64> %interleaved.vec, ptr %out.vec, align 64265 ret void266}267 268define void @store_i64_stride5_vf4(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {269; SSE-LABEL: store_i64_stride5_vf4:270; SSE: # %bb.0:271; SSE-NEXT: movaps (%rdi), %xmm2272; SSE-NEXT: movaps 16(%rdi), %xmm0273; SSE-NEXT: movaps (%rsi), %xmm4274; SSE-NEXT: movaps 16(%rsi), %xmm6275; SSE-NEXT: movaps (%rdx), %xmm5276; SSE-NEXT: movaps 16(%rdx), %xmm1277; SSE-NEXT: movaps (%rcx), %xmm7278; SSE-NEXT: movaps 16(%rcx), %xmm8279; SSE-NEXT: movaps (%r8), %xmm9280; SSE-NEXT: movaps 16(%r8), %xmm3281; SSE-NEXT: movaps %xmm6, %xmm10282; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm1[1]283; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm8[0]284; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm3[1]285; SSE-NEXT: shufps {{.*#+}} xmm3 = xmm3[0,1],xmm0[2,3]286; SSE-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm6[0]287; SSE-NEXT: movaps %xmm4, %xmm6288; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm5[1]289; SSE-NEXT: movlhps {{.*#+}} xmm5 = xmm5[0],xmm7[0]290; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm9[1]291; SSE-NEXT: shufps {{.*#+}} xmm9 = xmm9[0,1],xmm2[2,3]292; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm4[0]293; SSE-NEXT: movaps %xmm2, (%r9)294; SSE-NEXT: movaps %xmm5, 16(%r9)295; SSE-NEXT: movaps %xmm9, 32(%r9)296; SSE-NEXT: movaps %xmm6, 48(%r9)297; SSE-NEXT: movaps %xmm7, 64(%r9)298; SSE-NEXT: movaps %xmm0, 80(%r9)299; SSE-NEXT: movaps %xmm1, 96(%r9)300; SSE-NEXT: movaps %xmm3, 112(%r9)301; SSE-NEXT: movaps %xmm10, 128(%r9)302; SSE-NEXT: movaps %xmm8, 144(%r9)303; SSE-NEXT: retq304;305; AVX-LABEL: store_i64_stride5_vf4:306; AVX: # %bb.0:307; AVX-NEXT: vmovapd (%rdi), %ymm0308; AVX-NEXT: vmovapd (%r8), %ymm1309; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm0[2,3]310; AVX-NEXT: vmovapd 16(%rdx), %xmm3311; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm3[0],ymm2[0],ymm3[2],ymm2[3]312; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm1[2],ymm2[3]313; AVX-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]314; AVX-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm0[0],mem[0],ymm0[2],mem[2]315; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3]316; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0],ymm1[1],ymm4[2,3]317; AVX-NEXT: vmovlpd {{.*#+}} xmm3 = mem[0],xmm3[1]318; AVX-NEXT: vbroadcastsd 24(%rcx), %ymm5319; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm5[2,3]320; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1,2],ymm1[3]321; AVX-NEXT: vmovaps (%rdx), %xmm5322; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm0323; AVX-NEXT: vbroadcastsd 8(%rsi), %ymm6324; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm6[2],ymm0[3]325; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1,2,3]326; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm5[0],mem[0]327; AVX-NEXT: vmovaps (%rdi), %xmm5328; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]329; AVX-NEXT: vmovaps %xmm5, (%r9)330; AVX-NEXT: vmovaps %xmm1, 16(%r9)331; AVX-NEXT: vmovapd %ymm4, 64(%r9)332; AVX-NEXT: vmovapd %ymm0, 32(%r9)333; AVX-NEXT: vmovapd %ymm2, 96(%r9)334; AVX-NEXT: vmovapd %ymm3, 128(%r9)335; AVX-NEXT: vzeroupper336; AVX-NEXT: retq337;338; AVX2-LABEL: store_i64_stride5_vf4:339; AVX2: # %bb.0:340; AVX2-NEXT: vmovaps (%rdi), %ymm0341; AVX2-NEXT: vmovaps (%rsi), %ymm1342; AVX2-NEXT: vmovaps (%rdx), %ymm2343; AVX2-NEXT: vmovaps (%r8), %ymm3344; AVX2-NEXT: vmovaps (%rdx), %xmm4345; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm5346; AVX2-NEXT: vbroadcastsd 8(%rsi), %ymm6347; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm6[4,5,6,7]348; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]349; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm3[0,1],ymm5[2,3,4,5,6,7]350; AVX2-NEXT: vmovaps (%rsi), %xmm6351; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm6, %ymm6352; AVX2-NEXT: vmovaps (%rdi), %xmm7353; AVX2-NEXT: vinsertf128 $1, %xmm4, %ymm7, %ymm4354; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm6[0],ymm4[2],ymm6[2]355; AVX2-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]356; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]357; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]358; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm3[2,3],ymm6[4,5,6,7]359; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]360; AVX2-NEXT: vbroadcastsd 16(%rcx), %ymm7361; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3],ymm0[4,5,6,7]362; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]363; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]364; AVX2-NEXT: vbroadcastsd 24(%rcx), %ymm2365; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]366; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]367; AVX2-NEXT: vmovaps %ymm6, 64(%r9)368; AVX2-NEXT: vmovaps %ymm1, 128(%r9)369; AVX2-NEXT: vmovaps %ymm4, (%r9)370; AVX2-NEXT: vmovaps %ymm5, 32(%r9)371; AVX2-NEXT: vmovaps %ymm0, 96(%r9)372; AVX2-NEXT: vzeroupper373; AVX2-NEXT: retq374;375; AVX2-FP-LABEL: store_i64_stride5_vf4:376; AVX2-FP: # %bb.0:377; AVX2-FP-NEXT: vmovaps (%rdi), %ymm0378; AVX2-FP-NEXT: vmovaps (%rsi), %ymm1379; AVX2-FP-NEXT: vmovaps (%rdx), %ymm2380; AVX2-FP-NEXT: vmovaps (%r8), %ymm3381; AVX2-FP-NEXT: vmovaps (%rdx), %xmm4382; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm5383; AVX2-FP-NEXT: vbroadcastsd 8(%rsi), %ymm6384; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm6[4,5,6,7]385; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]386; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm3[0,1],ymm5[2,3,4,5,6,7]387; AVX2-FP-NEXT: vmovaps (%rsi), %xmm6388; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm6, %ymm6389; AVX2-FP-NEXT: vmovaps (%rdi), %xmm7390; AVX2-FP-NEXT: vinsertf128 $1, %xmm4, %ymm7, %ymm4391; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm6[0],ymm4[2],ymm6[2]392; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]393; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]394; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]395; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm3[2,3],ymm6[4,5,6,7]396; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]397; AVX2-FP-NEXT: vbroadcastsd 16(%rcx), %ymm7398; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3],ymm0[4,5,6,7]399; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]400; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]401; AVX2-FP-NEXT: vbroadcastsd 24(%rcx), %ymm2402; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]403; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]404; AVX2-FP-NEXT: vmovaps %ymm6, 64(%r9)405; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r9)406; AVX2-FP-NEXT: vmovaps %ymm4, (%r9)407; AVX2-FP-NEXT: vmovaps %ymm5, 32(%r9)408; AVX2-FP-NEXT: vmovaps %ymm0, 96(%r9)409; AVX2-FP-NEXT: vzeroupper410; AVX2-FP-NEXT: retq411;412; AVX2-FCP-LABEL: store_i64_stride5_vf4:413; AVX2-FCP: # %bb.0:414; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm0415; AVX2-FCP-NEXT: vmovaps (%rsi), %ymm1416; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm2417; AVX2-FCP-NEXT: vmovaps (%r8), %ymm3418; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm4419; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm5420; AVX2-FCP-NEXT: vbroadcastsd 8(%rsi), %ymm6421; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm6[4,5,6,7]422; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]423; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm3[0,1],ymm5[2,3,4,5,6,7]424; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm6425; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm6, %ymm6426; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm7427; AVX2-FCP-NEXT: vinsertf128 $1, %xmm4, %ymm7, %ymm4428; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm4[0],ymm6[0],ymm4[2],ymm6[2]429; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm6 = mem[0,0]430; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]431; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]432; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm3[2,3],ymm6[4,5,6,7]433; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]434; AVX2-FCP-NEXT: vbroadcastsd 16(%rcx), %ymm7435; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3],ymm0[4,5,6,7]436; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]437; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]438; AVX2-FCP-NEXT: vbroadcastsd 24(%rcx), %ymm2439; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]440; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]441; AVX2-FCP-NEXT: vmovaps %ymm6, 64(%r9)442; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%r9)443; AVX2-FCP-NEXT: vmovaps %ymm4, (%r9)444; AVX2-FCP-NEXT: vmovaps %ymm5, 32(%r9)445; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%r9)446; AVX2-FCP-NEXT: vzeroupper447; AVX2-FCP-NEXT: retq448;449; AVX512-LABEL: store_i64_stride5_vf4:450; AVX512: # %bb.0:451; AVX512-NEXT: vmovdqa (%rdi), %ymm0452; AVX512-NEXT: vmovdqa (%rdx), %ymm1453; AVX512-NEXT: vmovdqa (%r8), %ymm2454; AVX512-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0455; AVX512-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1456; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]457; AVX512-NEXT: vpermi2q %zmm0, %zmm1, %zmm3458; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]459; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm4460; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]461; AVX512-NEXT: vpermi2q %zmm2, %zmm4, %zmm5462; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]463; AVX512-NEXT: vpermi2q %zmm1, %zmm0, %zmm4464; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]465; AVX512-NEXT: vpermi2q %zmm2, %zmm4, %zmm0466; AVX512-NEXT: vmovdqa64 %zmm0, 64(%r9)467; AVX512-NEXT: vmovdqa64 %zmm5, (%r9)468; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]469; AVX512-NEXT: vmovdqa %ymm0, 128(%r9)470; AVX512-NEXT: vzeroupper471; AVX512-NEXT: retq472;473; AVX512-FCP-LABEL: store_i64_stride5_vf4:474; AVX512-FCP: # %bb.0:475; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm0476; AVX512-FCP-NEXT: vmovdqa (%rdx), %ymm1477; AVX512-FCP-NEXT: vmovdqa (%r8), %ymm2478; AVX512-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0479; AVX512-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1480; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]481; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3482; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]483; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4484; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]485; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm5486; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]487; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4488; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]489; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm0490; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 64(%r9)491; AVX512-FCP-NEXT: vmovdqa64 %zmm5, (%r9)492; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]493; AVX512-FCP-NEXT: vmovdqa %ymm0, 128(%r9)494; AVX512-FCP-NEXT: vzeroupper495; AVX512-FCP-NEXT: retq496;497; AVX512DQ-LABEL: store_i64_stride5_vf4:498; AVX512DQ: # %bb.0:499; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0500; AVX512DQ-NEXT: vmovdqa (%rdx), %ymm1501; AVX512DQ-NEXT: vmovdqa (%r8), %ymm2502; AVX512DQ-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0503; AVX512DQ-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1504; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]505; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm1, %zmm3506; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]507; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm4508; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]509; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm4, %zmm5510; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]511; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm0, %zmm4512; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]513; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm4, %zmm0514; AVX512DQ-NEXT: vmovdqa64 %zmm0, 64(%r9)515; AVX512DQ-NEXT: vmovdqa64 %zmm5, (%r9)516; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]517; AVX512DQ-NEXT: vmovdqa %ymm0, 128(%r9)518; AVX512DQ-NEXT: vzeroupper519; AVX512DQ-NEXT: retq520;521; AVX512DQ-FCP-LABEL: store_i64_stride5_vf4:522; AVX512DQ-FCP: # %bb.0:523; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm0524; AVX512DQ-FCP-NEXT: vmovdqa (%rdx), %ymm1525; AVX512DQ-FCP-NEXT: vmovdqa (%r8), %ymm2526; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0527; AVX512DQ-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1528; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]529; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3530; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]531; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4532; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]533; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm5534; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]535; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4536; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]537; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm0538; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 64(%r9)539; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, (%r9)540; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]541; AVX512DQ-FCP-NEXT: vmovdqa %ymm0, 128(%r9)542; AVX512DQ-FCP-NEXT: vzeroupper543; AVX512DQ-FCP-NEXT: retq544;545; AVX512BW-LABEL: store_i64_stride5_vf4:546; AVX512BW: # %bb.0:547; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0548; AVX512BW-NEXT: vmovdqa (%rdx), %ymm1549; AVX512BW-NEXT: vmovdqa (%r8), %ymm2550; AVX512BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0551; AVX512BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1552; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]553; AVX512BW-NEXT: vpermi2q %zmm0, %zmm1, %zmm3554; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]555; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4556; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]557; AVX512BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm5558; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]559; AVX512BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4560; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]561; AVX512BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm0562; AVX512BW-NEXT: vmovdqa64 %zmm0, 64(%r9)563; AVX512BW-NEXT: vmovdqa64 %zmm5, (%r9)564; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]565; AVX512BW-NEXT: vmovdqa %ymm0, 128(%r9)566; AVX512BW-NEXT: vzeroupper567; AVX512BW-NEXT: retq568;569; AVX512BW-FCP-LABEL: store_i64_stride5_vf4:570; AVX512BW-FCP: # %bb.0:571; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm0572; AVX512BW-FCP-NEXT: vmovdqa (%rdx), %ymm1573; AVX512BW-FCP-NEXT: vmovdqa (%r8), %ymm2574; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0575; AVX512BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1576; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]577; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3578; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]579; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4580; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]581; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm5582; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]583; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4584; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]585; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm0586; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 64(%r9)587; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, (%r9)588; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]589; AVX512BW-FCP-NEXT: vmovdqa %ymm0, 128(%r9)590; AVX512BW-FCP-NEXT: vzeroupper591; AVX512BW-FCP-NEXT: retq592;593; AVX512DQ-BW-LABEL: store_i64_stride5_vf4:594; AVX512DQ-BW: # %bb.0:595; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm0596; AVX512DQ-BW-NEXT: vmovdqa (%rdx), %ymm1597; AVX512DQ-BW-NEXT: vmovdqa (%r8), %ymm2598; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0599; AVX512DQ-BW-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1600; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]601; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm1, %zmm3602; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]603; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4604; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]605; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm5606; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]607; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm0, %zmm4608; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]609; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm4, %zmm0610; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 64(%r9)611; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, (%r9)612; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]613; AVX512DQ-BW-NEXT: vmovdqa %ymm0, 128(%r9)614; AVX512DQ-BW-NEXT: vzeroupper615; AVX512DQ-BW-NEXT: retq616;617; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf4:618; AVX512DQ-BW-FCP: # %bb.0:619; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm0620; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdx), %ymm1621; AVX512DQ-BW-FCP-NEXT: vmovdqa (%r8), %ymm2622; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rsi), %zmm0, %zmm0623; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $1, (%rcx), %zmm1, %zmm1624; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm3 = [15,3,7,0]625; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm1, %zmm3626; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [0,4,8,12,0,1,5,9]627; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4628; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,8,5,6,7]629; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm5630; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm4 = [13,0,2,6,10,14,0,3]631; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm0, %zmm4632; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm0 = [0,9,2,3,4,5,10,7]633; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm4, %zmm0634; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 64(%r9)635; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, (%r9)636; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm2[6,7]637; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm0, 128(%r9)638; AVX512DQ-BW-FCP-NEXT: vzeroupper639; AVX512DQ-BW-FCP-NEXT: retq640 %in.vec0 = load <4 x i64>, ptr %in.vecptr0, align 64641 %in.vec1 = load <4 x i64>, ptr %in.vecptr1, align 64642 %in.vec2 = load <4 x i64>, ptr %in.vecptr2, align 64643 %in.vec3 = load <4 x i64>, ptr %in.vecptr3, align 64644 %in.vec4 = load <4 x i64>, ptr %in.vecptr4, align 64645 %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>646 %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>647 %3 = 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>648 %4 = shufflevector <4 x i64> %in.vec4, <4 x i64> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>649 %5 = shufflevector <16 x i64> %3, <16 x i64> %4, <20 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>650 %interleaved.vec = shufflevector <20 x i64> %5, <20 x i64> poison, <20 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 1, i32 5, i32 9, i32 13, i32 17, i32 2, i32 6, i32 10, i32 14, i32 18, i32 3, i32 7, i32 11, i32 15, i32 19>651 store <20 x i64> %interleaved.vec, ptr %out.vec, align 64652 ret void653}654 655define void @store_i64_stride5_vf8(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {656; SSE-LABEL: store_i64_stride5_vf8:657; SSE: # %bb.0:658; SSE-NEXT: movapd (%rdi), %xmm0659; SSE-NEXT: movapd 16(%rdi), %xmm2660; SSE-NEXT: movapd 32(%rdi), %xmm5661; SSE-NEXT: movapd (%rsi), %xmm1662; SSE-NEXT: movapd 16(%rsi), %xmm9663; SSE-NEXT: movapd 32(%rsi), %xmm8664; SSE-NEXT: movapd (%rdx), %xmm3665; SSE-NEXT: movapd 16(%rdx), %xmm6666; SSE-NEXT: movapd 32(%rdx), %xmm10667; SSE-NEXT: movapd (%rcx), %xmm7668; SSE-NEXT: movapd 16(%rcx), %xmm11669; SSE-NEXT: movapd 32(%rcx), %xmm12670; SSE-NEXT: movapd (%r8), %xmm13671; SSE-NEXT: movapd 16(%r8), %xmm14672; SSE-NEXT: movapd 32(%r8), %xmm15673; SSE-NEXT: movapd %xmm0, %xmm4674; SSE-NEXT: unpcklpd {{.*#+}} xmm4 = xmm4[0],xmm1[0]675; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill676; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm13[0],xmm0[1]677; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill678; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]679; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill680; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm7[0]681; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill682; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm13[1]683; SSE-NEXT: movapd %xmm2, %xmm13684; SSE-NEXT: unpcklpd {{.*#+}} xmm13 = xmm13[0],xmm9[0]685; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm14[0],xmm2[1]686; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill687; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm6[1]688; SSE-NEXT: unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm11[0]689; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm14[1]690; SSE-NEXT: movapd %xmm5, %xmm14691; SSE-NEXT: unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm8[0]692; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm15[0],xmm5[1]693; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm10[1]694; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm12[0]695; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm15[1]696; SSE-NEXT: movapd 48(%rdi), %xmm15697; SSE-NEXT: movapd 48(%rsi), %xmm2698; SSE-NEXT: movapd %xmm15, %xmm3699; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm2[0]700; SSE-NEXT: movapd 48(%r8), %xmm4701; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm4[0],xmm15[1]702; SSE-NEXT: movapd 48(%rdx), %xmm1703; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]704; SSE-NEXT: movapd 48(%rcx), %xmm0705; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]706; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm4[1]707; SSE-NEXT: movapd %xmm0, 304(%r9)708; SSE-NEXT: movapd %xmm2, 288(%r9)709; SSE-NEXT: movapd %xmm15, 272(%r9)710; SSE-NEXT: movapd %xmm1, 256(%r9)711; SSE-NEXT: movapd %xmm3, 240(%r9)712; SSE-NEXT: movapd %xmm12, 224(%r9)713; SSE-NEXT: movapd %xmm8, 208(%r9)714; SSE-NEXT: movapd %xmm5, 192(%r9)715; SSE-NEXT: movapd %xmm10, 176(%r9)716; SSE-NEXT: movapd %xmm14, 160(%r9)717; SSE-NEXT: movapd %xmm11, 144(%r9)718; SSE-NEXT: movapd %xmm9, 128(%r9)719; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload720; SSE-NEXT: movaps %xmm0, 112(%r9)721; SSE-NEXT: movapd %xmm6, 96(%r9)722; SSE-NEXT: movapd %xmm13, 80(%r9)723; SSE-NEXT: movapd %xmm7, 64(%r9)724; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload725; SSE-NEXT: movaps %xmm0, 48(%r9)726; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload727; SSE-NEXT: movaps %xmm0, 32(%r9)728; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload729; SSE-NEXT: movaps %xmm0, 16(%r9)730; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload731; SSE-NEXT: movaps %xmm0, (%r9)732; SSE-NEXT: retq733;734; AVX-LABEL: store_i64_stride5_vf8:735; AVX: # %bb.0:736; AVX-NEXT: vmovapd 32(%rdi), %ymm9737; AVX-NEXT: vmovaps (%rdi), %ymm1738; AVX-NEXT: vmovaps (%rcx), %ymm0739; AVX-NEXT: vmovaps (%r8), %ymm3740; AVX-NEXT: vmovapd 32(%r8), %ymm5741; AVX-NEXT: vpermilps {{.*#+}} xmm2 = mem[2,3,2,3]742; AVX-NEXT: vmovaps 16(%rdx), %xmm7743; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm7[1],ymm0[3],ymm7[3]744; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5,6,7]745; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]746; AVX-NEXT: vmovaps (%rdx), %xmm4747; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm2748; AVX-NEXT: vbroadcastsd 8(%rsi), %ymm6749; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm1[0,1,2,3],ymm6[4,5,6,7]750; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]751; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]752; AVX-NEXT: vpermilps {{.*#+}} xmm6 = mem[2,3,2,3]753; AVX-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm9[0],mem[0],ymm9[2],mem[2]754; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm8[2,3]755; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0],ymm5[1],ymm6[2,3]756; AVX-NEXT: vperm2f128 {{.*#+}} ymm8 = mem[2,3],ymm9[2,3]757; AVX-NEXT: vmovapd 48(%rdx), %xmm10758; AVX-NEXT: vshufpd {{.*#+}} ymm8 = ymm10[0],ymm8[0],ymm10[2],ymm8[3]759; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm8[0,1],ymm5[2],ymm8[3]760; AVX-NEXT: vmovaps 32(%rdx), %xmm11761; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm12762; AVX-NEXT: vbroadcastsd 40(%rsi), %ymm13763; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1],ymm13[2,3]764; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1,2],ymm12[3]765; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm5[0],ymm9[1,2,3]766; AVX-NEXT: vpermilps {{.*#+}} xmm12 = mem[2,3,2,3]767; AVX-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm1[0],mem[0],ymm1[2],mem[2]768; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]769; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm3[2,3],ymm12[4,5,6,7]770; AVX-NEXT: vmovapd 48(%rsi), %xmm13771; AVX-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm13[1],xmm10[1]772; AVX-NEXT: vbroadcastsd 56(%rcx), %ymm13773; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm10[0,1],ymm13[2,3]774; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm10[0,1,2],ymm5[3]775; AVX-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]776; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm7[0,1,2,3],ymm1[4,5,6,7]777; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5],ymm1[6,7]778; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm11[0],mem[0]779; AVX-NEXT: vmovaps (%rdi), %xmm7780; AVX-NEXT: vmovaps 32(%rdi), %xmm10781; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]782; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm4[0],mem[0]783; AVX-NEXT: vunpcklpd {{.*#+}} xmm7 = xmm7[0],mem[0]784; AVX-NEXT: vmovaps %xmm7, (%r9)785; AVX-NEXT: vmovaps %xmm4, 16(%r9)786; AVX-NEXT: vmovaps %xmm10, 160(%r9)787; AVX-NEXT: vmovaps %xmm3, 176(%r9)788; AVX-NEXT: vmovaps %ymm12, 64(%r9)789; AVX-NEXT: vmovapd %ymm9, 192(%r9)790; AVX-NEXT: vmovapd %ymm8, 256(%r9)791; AVX-NEXT: vmovapd %ymm6, 224(%r9)792; AVX-NEXT: vmovaps %ymm2, 32(%r9)793; AVX-NEXT: vmovaps %ymm1, 96(%r9)794; AVX-NEXT: vmovaps %ymm0, 128(%r9)795; AVX-NEXT: vmovapd %ymm5, 288(%r9)796; AVX-NEXT: vzeroupper797; AVX-NEXT: retq798;799; AVX2-LABEL: store_i64_stride5_vf8:800; AVX2: # %bb.0:801; AVX2-NEXT: vmovaps 32(%rdi), %ymm5802; AVX2-NEXT: vmovaps (%rdi), %ymm0803; AVX2-NEXT: vmovaps (%rdx), %ymm1804; AVX2-NEXT: vmovaps (%rcx), %ymm4805; AVX2-NEXT: vmovaps (%r8), %ymm2806; AVX2-NEXT: vmovaps 32(%r8), %ymm6807; AVX2-NEXT: vmovaps (%rdx), %xmm7808; AVX2-NEXT: vmovaps 32(%rdx), %xmm10809; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm3810; AVX2-NEXT: vbroadcastsd 8(%rsi), %ymm8811; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]812; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]813; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1],ymm3[2,3,4,5,6,7]814; AVX2-NEXT: vmovaps (%rsi), %xmm8815; AVX2-NEXT: vmovaps 32(%rsi), %xmm11816; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm8, %ymm8817; AVX2-NEXT: vmovaps (%rdi), %xmm9818; AVX2-NEXT: vmovaps 32(%rdi), %xmm12819; AVX2-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm7820; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]821; AVX2-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]822; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm5[0],mem[0],ymm5[2],mem[2]823; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]824; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3],ymm8[4,5,6,7]825; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm9826; AVX2-NEXT: vbroadcastsd 40(%rsi), %ymm13827; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]828; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]829; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm6[0,1],ymm9[2,3,4,5,6,7]830; AVX2-NEXT: vinsertf128 $1, 32(%rcx), %ymm11, %ymm11831; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm10832; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]833; AVX2-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]834; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm0[0],mem[0],ymm0[2],mem[2]835; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]836; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm2[2,3],ymm11[4,5,6,7]837; AVX2-NEXT: vbroadcastsd 56(%rsi), %ymm12838; AVX2-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]839; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm13840; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]841; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm6[6,7]842; AVX2-NEXT: vunpckhpd {{.*#+}} ymm13 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]843; AVX2-NEXT: vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]844; AVX2-NEXT: vbroadcastsd 24(%rsi), %ymm14845; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1],ymm13[2,3,4,5,6,7]846; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm2[6,7]847; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = mem[2,3],ymm5[2,3]848; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm14849; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm14[2,3],ymm5[4,5,6,7]850; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5],ymm5[6,7]851; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm4[0],ymm1[2],ymm4[2]852; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]853; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]854; AVX2-NEXT: vmovaps %ymm11, 64(%r9)855; AVX2-NEXT: vmovaps %ymm10, 160(%r9)856; AVX2-NEXT: vmovaps %ymm0, 96(%r9)857; AVX2-NEXT: vmovaps %ymm9, 192(%r9)858; AVX2-NEXT: vmovaps %ymm5, 256(%r9)859; AVX2-NEXT: vmovaps %ymm8, 224(%r9)860; AVX2-NEXT: vmovaps %ymm7, (%r9)861; AVX2-NEXT: vmovaps %ymm3, 32(%r9)862; AVX2-NEXT: vmovaps %ymm13, 128(%r9)863; AVX2-NEXT: vmovaps %ymm12, 288(%r9)864; AVX2-NEXT: vzeroupper865; AVX2-NEXT: retq866;867; AVX2-FP-LABEL: store_i64_stride5_vf8:868; AVX2-FP: # %bb.0:869; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm5870; AVX2-FP-NEXT: vmovaps (%rdi), %ymm0871; AVX2-FP-NEXT: vmovaps (%rdx), %ymm1872; AVX2-FP-NEXT: vmovaps (%rcx), %ymm4873; AVX2-FP-NEXT: vmovaps (%r8), %ymm2874; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm6875; AVX2-FP-NEXT: vmovaps (%rdx), %xmm7876; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm10877; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm3878; AVX2-FP-NEXT: vbroadcastsd 8(%rsi), %ymm8879; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]880; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]881; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1],ymm3[2,3,4,5,6,7]882; AVX2-FP-NEXT: vmovaps (%rsi), %xmm8883; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm11884; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm8, %ymm8885; AVX2-FP-NEXT: vmovaps (%rdi), %xmm9886; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm12887; AVX2-FP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm7888; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]889; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]890; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm5[0],mem[0],ymm5[2],mem[2]891; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]892; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3],ymm8[4,5,6,7]893; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm9894; AVX2-FP-NEXT: vbroadcastsd 40(%rsi), %ymm13895; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]896; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]897; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm6[0,1],ymm9[2,3,4,5,6,7]898; AVX2-FP-NEXT: vinsertf128 $1, 32(%rcx), %ymm11, %ymm11899; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm10900; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]901; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]902; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm0[0],mem[0],ymm0[2],mem[2]903; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]904; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm2[2,3],ymm11[4,5,6,7]905; AVX2-FP-NEXT: vbroadcastsd 56(%rsi), %ymm12906; AVX2-FP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]907; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm13908; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]909; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm6[6,7]910; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm13 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]911; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]912; AVX2-FP-NEXT: vbroadcastsd 24(%rsi), %ymm14913; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1],ymm13[2,3,4,5,6,7]914; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm2[6,7]915; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = mem[2,3],ymm5[2,3]916; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm14917; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm14[2,3],ymm5[4,5,6,7]918; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5],ymm5[6,7]919; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm4[0],ymm1[2],ymm4[2]920; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]921; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]922; AVX2-FP-NEXT: vmovaps %ymm11, 64(%r9)923; AVX2-FP-NEXT: vmovaps %ymm10, 160(%r9)924; AVX2-FP-NEXT: vmovaps %ymm0, 96(%r9)925; AVX2-FP-NEXT: vmovaps %ymm9, 192(%r9)926; AVX2-FP-NEXT: vmovaps %ymm5, 256(%r9)927; AVX2-FP-NEXT: vmovaps %ymm8, 224(%r9)928; AVX2-FP-NEXT: vmovaps %ymm7, (%r9)929; AVX2-FP-NEXT: vmovaps %ymm3, 32(%r9)930; AVX2-FP-NEXT: vmovaps %ymm13, 128(%r9)931; AVX2-FP-NEXT: vmovaps %ymm12, 288(%r9)932; AVX2-FP-NEXT: vzeroupper933; AVX2-FP-NEXT: retq934;935; AVX2-FCP-LABEL: store_i64_stride5_vf8:936; AVX2-FCP: # %bb.0:937; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm5938; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm0939; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm1940; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm4941; AVX2-FCP-NEXT: vmovaps (%r8), %ymm2942; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm6943; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm7944; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm10945; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm3946; AVX2-FCP-NEXT: vbroadcastsd 8(%rsi), %ymm8947; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]948; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm3[6,7]949; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm2[0,1],ymm3[2,3,4,5,6,7]950; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm8951; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm11952; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm8, %ymm8953; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm9954; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm12955; AVX2-FCP-NEXT: vinsertf128 $1, %xmm7, %ymm9, %ymm7956; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]957; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]958; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm5[0],mem[0],ymm5[2],mem[2]959; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]960; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm6[2,3],ymm8[4,5,6,7]961; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm9962; AVX2-FCP-NEXT: vbroadcastsd 40(%rsi), %ymm13963; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm5[0,1,2,3],ymm13[4,5,6,7]964; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]965; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm6[0,1],ymm9[2,3,4,5,6,7]966; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rcx), %ymm11, %ymm11967; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm12, %ymm10968; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]969; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm11 = mem[0,0]970; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm0[0],mem[0],ymm0[2],mem[2]971; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]972; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm2[2,3],ymm11[4,5,6,7]973; AVX2-FCP-NEXT: vbroadcastsd 56(%rsi), %ymm12974; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]975; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm13976; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]977; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm6[6,7]978; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm13 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]979; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]980; AVX2-FCP-NEXT: vbroadcastsd 24(%rsi), %ymm14981; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm14[0,1],ymm13[2,3,4,5,6,7]982; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5],ymm2[6,7]983; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = mem[2,3],ymm5[2,3]984; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm14985; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm14[2,3],ymm5[4,5,6,7]986; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5],ymm5[6,7]987; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm4[0],ymm1[2],ymm4[2]988; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]989; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]990; AVX2-FCP-NEXT: vmovaps %ymm11, 64(%r9)991; AVX2-FCP-NEXT: vmovaps %ymm10, 160(%r9)992; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%r9)993; AVX2-FCP-NEXT: vmovaps %ymm9, 192(%r9)994; AVX2-FCP-NEXT: vmovaps %ymm5, 256(%r9)995; AVX2-FCP-NEXT: vmovaps %ymm8, 224(%r9)996; AVX2-FCP-NEXT: vmovaps %ymm7, (%r9)997; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%r9)998; AVX2-FCP-NEXT: vmovaps %ymm13, 128(%r9)999; AVX2-FCP-NEXT: vmovaps %ymm12, 288(%r9)1000; AVX2-FCP-NEXT: vzeroupper1001; AVX2-FCP-NEXT: retq1002;1003; AVX512-LABEL: store_i64_stride5_vf8:1004; AVX512: # %bb.0:1005; AVX512-NEXT: vmovdqa64 (%rdi), %zmm21006; AVX512-NEXT: vmovdqa64 (%rsi), %zmm31007; AVX512-NEXT: vmovdqa64 (%rdx), %zmm41008; AVX512-NEXT: vmovdqa64 (%rcx), %zmm51009; AVX512-NEXT: vmovdqa64 (%r8), %zmm01010; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1011; AVX512-NEXT: vpermi2q %zmm2, %zmm3, %zmm61012; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1013; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm11014; AVX512-NEXT: movb $49, %al1015; AVX512-NEXT: kmovw %eax, %k11016; AVX512-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1017; AVX512-NEXT: movb $8, %al1018; AVX512-NEXT: kmovw %eax, %k21019; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1020; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1021; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm61022; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1023; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm71024; AVX512-NEXT: movb $-116, %al1025; AVX512-NEXT: kmovw %eax, %k21026; AVX512-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1027; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1028; AVX512-NEXT: vpermi2q %zmm0, %zmm7, %zmm61029; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1030; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm71031; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1032; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm81033; AVX512-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1034; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1035; AVX512-NEXT: vpermi2q %zmm0, %zmm8, %zmm71036; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1037; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1038; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm81039; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1040; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm91041; AVX512-NEXT: movb $24, %al1042; AVX512-NEXT: kmovw %eax, %k11043; AVX512-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1044; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1045; AVX512-NEXT: vpermi2q %zmm0, %zmm9, %zmm81046; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1047; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1048; AVX512-NEXT: vpermi2q %zmm3, %zmm2, %zmm91049; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1050; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm21051; AVX512-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1052; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1053; AVX512-NEXT: vpermi2q %zmm0, %zmm2, %zmm31054; AVX512-NEXT: vmovdqa64 %zmm3, 256(%r9)1055; AVX512-NEXT: vmovdqa64 %zmm8, 192(%r9)1056; AVX512-NEXT: vmovdqa64 %zmm1, 128(%r9)1057; AVX512-NEXT: vmovdqa64 %zmm7, 64(%r9)1058; AVX512-NEXT: vmovdqa64 %zmm6, (%r9)1059; AVX512-NEXT: vzeroupper1060; AVX512-NEXT: retq1061;1062; AVX512-FCP-LABEL: store_i64_stride5_vf8:1063; AVX512-FCP: # %bb.0:1064; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm21065; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm31066; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm41067; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm51068; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm01069; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1070; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm61071; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1072; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm11073; AVX512-FCP-NEXT: movb $49, %al1074; AVX512-FCP-NEXT: kmovw %eax, %k11075; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1076; AVX512-FCP-NEXT: movb $8, %al1077; AVX512-FCP-NEXT: kmovw %eax, %k21078; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1079; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1080; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm61081; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1082; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71083; AVX512-FCP-NEXT: movb $-116, %al1084; AVX512-FCP-NEXT: kmovw %eax, %k21085; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1086; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1087; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm7, %zmm61088; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1089; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71090; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1091; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81092; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1093; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1094; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm71095; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1096; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1097; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm81098; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1099; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91100; AVX512-FCP-NEXT: movb $24, %al1101; AVX512-FCP-NEXT: kmovw %eax, %k11102; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1103; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1104; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm81105; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1106; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1107; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91108; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1109; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm21110; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1111; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1112; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm31113; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 256(%r9)1114; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 192(%r9)1115; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 128(%r9)1116; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 64(%r9)1117; AVX512-FCP-NEXT: vmovdqa64 %zmm6, (%r9)1118; AVX512-FCP-NEXT: vzeroupper1119; AVX512-FCP-NEXT: retq1120;1121; AVX512DQ-LABEL: store_i64_stride5_vf8:1122; AVX512DQ: # %bb.0:1123; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm21124; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm31125; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm41126; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm51127; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm01128; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1129; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm3, %zmm61130; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1131; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm11132; AVX512DQ-NEXT: movb $49, %al1133; AVX512DQ-NEXT: kmovw %eax, %k11134; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1135; AVX512DQ-NEXT: movb $8, %al1136; AVX512DQ-NEXT: kmovw %eax, %k21137; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1138; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1139; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm61140; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1141; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm71142; AVX512DQ-NEXT: movb $-116, %al1143; AVX512DQ-NEXT: kmovw %eax, %k21144; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1145; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1146; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm7, %zmm61147; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1148; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm71149; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1150; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm81151; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1152; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1153; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm8, %zmm71154; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1155; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1156; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm81157; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1158; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm91159; AVX512DQ-NEXT: movb $24, %al1160; AVX512DQ-NEXT: kmovw %eax, %k11161; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1162; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1163; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm9, %zmm81164; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1165; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1166; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm2, %zmm91167; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1168; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm21169; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1170; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1171; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm2, %zmm31172; AVX512DQ-NEXT: vmovdqa64 %zmm3, 256(%r9)1173; AVX512DQ-NEXT: vmovdqa64 %zmm8, 192(%r9)1174; AVX512DQ-NEXT: vmovdqa64 %zmm1, 128(%r9)1175; AVX512DQ-NEXT: vmovdqa64 %zmm7, 64(%r9)1176; AVX512DQ-NEXT: vmovdqa64 %zmm6, (%r9)1177; AVX512DQ-NEXT: vzeroupper1178; AVX512DQ-NEXT: retq1179;1180; AVX512DQ-FCP-LABEL: store_i64_stride5_vf8:1181; AVX512DQ-FCP: # %bb.0:1182; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm21183; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm31184; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm41185; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm51186; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm01187; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1188; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm61189; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1190; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm11191; AVX512DQ-FCP-NEXT: movb $49, %al1192; AVX512DQ-FCP-NEXT: kmovw %eax, %k11193; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1194; AVX512DQ-FCP-NEXT: movb $8, %al1195; AVX512DQ-FCP-NEXT: kmovw %eax, %k21196; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1197; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1198; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm61199; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1200; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71201; AVX512DQ-FCP-NEXT: movb $-116, %al1202; AVX512DQ-FCP-NEXT: kmovw %eax, %k21203; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1204; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1205; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm7, %zmm61206; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1207; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71208; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1209; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81210; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1211; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1212; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm71213; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1214; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1215; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm81216; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1217; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91218; AVX512DQ-FCP-NEXT: movb $24, %al1219; AVX512DQ-FCP-NEXT: kmovw %eax, %k11220; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1221; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1222; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm81223; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1224; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1225; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91226; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1227; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm21228; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1229; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1230; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm31231; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 256(%r9)1232; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, 192(%r9)1233; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 128(%r9)1234; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 64(%r9)1235; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, (%r9)1236; AVX512DQ-FCP-NEXT: vzeroupper1237; AVX512DQ-FCP-NEXT: retq1238;1239; AVX512BW-LABEL: store_i64_stride5_vf8:1240; AVX512BW: # %bb.0:1241; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm21242; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm31243; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm41244; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm51245; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm01246; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1247; AVX512BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm61248; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1249; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm11250; AVX512BW-NEXT: movb $49, %al1251; AVX512BW-NEXT: kmovd %eax, %k11252; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1253; AVX512BW-NEXT: movb $8, %al1254; AVX512BW-NEXT: kmovd %eax, %k21255; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1256; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1257; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm61258; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1259; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm71260; AVX512BW-NEXT: movb $-116, %al1261; AVX512BW-NEXT: kmovd %eax, %k21262; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1263; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1264; AVX512BW-NEXT: vpermi2q %zmm0, %zmm7, %zmm61265; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1266; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm71267; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1268; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81269; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1270; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1271; AVX512BW-NEXT: vpermi2q %zmm0, %zmm8, %zmm71272; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1273; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1274; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm81275; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1276; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm91277; AVX512BW-NEXT: movb $24, %al1278; AVX512BW-NEXT: kmovd %eax, %k11279; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1280; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1281; AVX512BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm81282; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1283; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1284; AVX512BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm91285; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1286; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm21287; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1288; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1289; AVX512BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm31290; AVX512BW-NEXT: vmovdqa64 %zmm3, 256(%r9)1291; AVX512BW-NEXT: vmovdqa64 %zmm8, 192(%r9)1292; AVX512BW-NEXT: vmovdqa64 %zmm1, 128(%r9)1293; AVX512BW-NEXT: vmovdqa64 %zmm7, 64(%r9)1294; AVX512BW-NEXT: vmovdqa64 %zmm6, (%r9)1295; AVX512BW-NEXT: vzeroupper1296; AVX512BW-NEXT: retq1297;1298; AVX512BW-FCP-LABEL: store_i64_stride5_vf8:1299; AVX512BW-FCP: # %bb.0:1300; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm21301; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm31302; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm41303; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm51304; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm01305; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1306; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm61307; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1308; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm11309; AVX512BW-FCP-NEXT: movb $49, %al1310; AVX512BW-FCP-NEXT: kmovd %eax, %k11311; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1312; AVX512BW-FCP-NEXT: movb $8, %al1313; AVX512BW-FCP-NEXT: kmovd %eax, %k21314; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1315; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1316; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm61317; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1318; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71319; AVX512BW-FCP-NEXT: movb $-116, %al1320; AVX512BW-FCP-NEXT: kmovd %eax, %k21321; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1322; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1323; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm7, %zmm61324; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1325; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71326; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1327; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81328; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1329; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1330; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm71331; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1332; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1333; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm81334; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1335; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91336; AVX512BW-FCP-NEXT: movb $24, %al1337; AVX512BW-FCP-NEXT: kmovd %eax, %k11338; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1339; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1340; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm81341; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1342; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1343; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91344; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1345; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm21346; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1347; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1348; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm31349; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 256(%r9)1350; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 192(%r9)1351; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%r9)1352; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%r9)1353; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, (%r9)1354; AVX512BW-FCP-NEXT: vzeroupper1355; AVX512BW-FCP-NEXT: retq1356;1357; AVX512DQ-BW-LABEL: store_i64_stride5_vf8:1358; AVX512DQ-BW: # %bb.0:1359; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm21360; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm31361; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm41362; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm51363; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm01364; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1365; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm3, %zmm61366; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1367; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm11368; AVX512DQ-BW-NEXT: movb $49, %al1369; AVX512DQ-BW-NEXT: kmovd %eax, %k11370; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1371; AVX512DQ-BW-NEXT: movb $8, %al1372; AVX512DQ-BW-NEXT: kmovd %eax, %k21373; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1374; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1375; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm61376; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1377; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm71378; AVX512DQ-BW-NEXT: movb $-116, %al1379; AVX512DQ-BW-NEXT: kmovd %eax, %k21380; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1381; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1382; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm7, %zmm61383; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1384; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm71385; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1386; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm81387; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1388; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1389; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm8, %zmm71390; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1391; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1392; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm81393; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1394; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm91395; AVX512DQ-BW-NEXT: movb $24, %al1396; AVX512DQ-BW-NEXT: kmovd %eax, %k11397; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1398; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1399; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm81400; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1401; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1402; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm2, %zmm91403; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1404; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm21405; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1406; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1407; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm2, %zmm31408; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 256(%r9)1409; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 192(%r9)1410; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 128(%r9)1411; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 64(%r9)1412; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, (%r9)1413; AVX512DQ-BW-NEXT: vzeroupper1414; AVX512DQ-BW-NEXT: retq1415;1416; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf8:1417; AVX512DQ-BW-FCP: # %bb.0:1418; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm21419; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm31420; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm41421; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm51422; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm01423; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [3,0,0,0,12,4,0,0]1424; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm3, %zmm61425; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,3,11,0,0,0,4,12]1426; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm11427; AVX512DQ-BW-FCP-NEXT: movb $49, %al1428; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k11429; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1 {%k1}1430; AVX512DQ-BW-FCP-NEXT: movb $8, %al1431; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k21432; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}1433; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,0,0,8,0,0,0,1]1434; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm61435; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,8,0,0,0,1,9,0]1436; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm71437; AVX512DQ-BW-FCP-NEXT: movb $-116, %al1438; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k21439; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k2}1440; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,1,2,3,8,5,6,7]1441; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm7, %zmm61442; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [1,0,0,0,10,2,0,0]1443; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71444; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,0,2,10,0,0,0,3]1445; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm81446; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm8 {%k1}1447; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,9,2,3,4,5,10,7]1448; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm71449; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [13,5,13,5,13,5,13,5]1450; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1451; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm81452; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm9 = [0,5,13,0,0,0,6,14]1453; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91454; AVX512DQ-BW-FCP-NEXT: movb $24, %al1455; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k11456; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm9 {%k1}1457; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [12,1,2,3,4,13,6,7]1458; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm81459; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [15,7,15,7,15,7,15,7]1460; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1461; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm2, %zmm91462; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [6,14,0,0,0,7,15,0]1463; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm21464; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}1465; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [0,1,14,3,4,5,6,15]1466; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm2, %zmm31467; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 256(%r9)1468; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, 192(%r9)1469; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%r9)1470; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%r9)1471; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, (%r9)1472; AVX512DQ-BW-FCP-NEXT: vzeroupper1473; AVX512DQ-BW-FCP-NEXT: retq1474 %in.vec0 = load <8 x i64>, ptr %in.vecptr0, align 641475 %in.vec1 = load <8 x i64>, ptr %in.vecptr1, align 641476 %in.vec2 = load <8 x i64>, ptr %in.vecptr2, align 641477 %in.vec3 = load <8 x i64>, ptr %in.vecptr3, align 641478 %in.vec4 = load <8 x i64>, ptr %in.vecptr4, align 641479 %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>1480 %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>1481 %3 = 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>1482 %4 = shufflevector <8 x i64> %in.vec4, <8 x i64> poison, <32 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, 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>1483 %5 = shufflevector <32 x i64> %3, <32 x i64> %4, <40 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>1484 %interleaved.vec = shufflevector <40 x i64> %5, <40 x i64> poison, <40 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 1, i32 9, i32 17, i32 25, i32 33, i32 2, i32 10, i32 18, i32 26, i32 34, i32 3, i32 11, i32 19, i32 27, i32 35, i32 4, i32 12, i32 20, i32 28, i32 36, i32 5, i32 13, i32 21, i32 29, i32 37, i32 6, i32 14, i32 22, i32 30, i32 38, i32 7, i32 15, i32 23, i32 31, i32 39>1485 store <40 x i64> %interleaved.vec, ptr %out.vec, align 641486 ret void1487}1488 1489define void @store_i64_stride5_vf16(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {1490; SSE-LABEL: store_i64_stride5_vf16:1491; SSE: # %bb.0:1492; SSE-NEXT: subq $280, %rsp # imm = 0x1181493; SSE-NEXT: movapd (%rdi), %xmm31494; SSE-NEXT: movapd 16(%rdi), %xmm41495; SSE-NEXT: movapd 32(%rdi), %xmm61496; SSE-NEXT: movapd (%rsi), %xmm51497; SSE-NEXT: movapd 16(%rsi), %xmm81498; SSE-NEXT: movapd 32(%rsi), %xmm101499; SSE-NEXT: movapd (%rdx), %xmm71500; SSE-NEXT: movapd 16(%rdx), %xmm91501; SSE-NEXT: movapd 32(%rdx), %xmm121502; SSE-NEXT: movapd (%rcx), %xmm111503; SSE-NEXT: movapd 16(%rcx), %xmm131504; SSE-NEXT: movapd 32(%rcx), %xmm151505; SSE-NEXT: movapd (%r8), %xmm01506; SSE-NEXT: movapd 16(%r8), %xmm11507; SSE-NEXT: movapd 32(%r8), %xmm21508; SSE-NEXT: movapd %xmm3, %xmm141509; SSE-NEXT: unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm5[0]1510; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1511; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]1512; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1513; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm7[1]1514; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1515; SSE-NEXT: unpcklpd {{.*#+}} xmm7 = xmm7[0],xmm11[0]1516; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1517; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]1518; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1519; SSE-NEXT: movapd %xmm4, %xmm01520; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm8[0]1521; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1522; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm1[0],xmm4[1]1523; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1524; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm9[1]1525; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1526; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm13[0]1527; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1528; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm1[1]1529; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1530; SSE-NEXT: movapd %xmm6, %xmm01531; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm10[0]1532; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1533; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm2[0],xmm6[1]1534; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1535; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm12[1]1536; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1537; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm15[0]1538; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1539; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm2[1]1540; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1541; SSE-NEXT: movapd 48(%rdi), %xmm11542; SSE-NEXT: movapd 48(%rsi), %xmm21543; SSE-NEXT: movapd %xmm1, %xmm01544; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1545; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1546; SSE-NEXT: movapd 48(%r8), %xmm01547; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1548; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill1549; SSE-NEXT: movapd 48(%rdx), %xmm11550; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]1551; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1552; SSE-NEXT: movapd 48(%rcx), %xmm21553; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]1554; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1555; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1556; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1557; SSE-NEXT: movapd 64(%rdi), %xmm11558; SSE-NEXT: movapd 64(%rsi), %xmm21559; SSE-NEXT: movapd %xmm1, %xmm01560; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1561; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1562; SSE-NEXT: movapd 64(%r8), %xmm01563; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1564; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1565; SSE-NEXT: movapd 64(%rdx), %xmm11566; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]1567; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1568; SSE-NEXT: movapd 64(%rcx), %xmm151569; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm15[0]1570; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1571; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]1572; SSE-NEXT: movapd 80(%rdi), %xmm141573; SSE-NEXT: movapd 80(%rsi), %xmm131574; SSE-NEXT: movapd %xmm14, %xmm01575; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm13[0]1576; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1577; SSE-NEXT: movapd 80(%r8), %xmm01578; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm0[0],xmm14[1]1579; SSE-NEXT: movapd 80(%rdx), %xmm101580; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm10[1]1581; SSE-NEXT: movapd 80(%rcx), %xmm91582; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm9[0]1583; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]1584; SSE-NEXT: movapd 96(%rdi), %xmm111585; SSE-NEXT: movapd 96(%rsi), %xmm81586; SSE-NEXT: movapd %xmm11, %xmm121587; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm8[0]1588; SSE-NEXT: movapd 96(%r8), %xmm21589; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm2[0],xmm11[1]1590; SSE-NEXT: movapd 96(%rdx), %xmm61591; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm6[1]1592; SSE-NEXT: movapd 96(%rcx), %xmm31593; SSE-NEXT: unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]1594; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]1595; SSE-NEXT: movapd 112(%rdi), %xmm41596; SSE-NEXT: movapd 112(%rsi), %xmm21597; SSE-NEXT: movapd %xmm4, %xmm51598; SSE-NEXT: unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm2[0]1599; SSE-NEXT: movapd 112(%r8), %xmm71600; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm7[0],xmm4[1]1601; SSE-NEXT: movapd 112(%rdx), %xmm11602; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]1603; SSE-NEXT: movapd 112(%rcx), %xmm01604; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]1605; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm7[1]1606; SSE-NEXT: movapd %xmm0, 624(%r9)1607; SSE-NEXT: movapd %xmm2, 608(%r9)1608; SSE-NEXT: movapd %xmm4, 592(%r9)1609; SSE-NEXT: movapd %xmm1, 576(%r9)1610; SSE-NEXT: movapd %xmm5, 560(%r9)1611; SSE-NEXT: movapd %xmm3, 544(%r9)1612; SSE-NEXT: movapd %xmm8, 528(%r9)1613; SSE-NEXT: movapd %xmm11, 512(%r9)1614; SSE-NEXT: movapd %xmm6, 496(%r9)1615; SSE-NEXT: movapd %xmm12, 480(%r9)1616; SSE-NEXT: movapd %xmm9, 464(%r9)1617; SSE-NEXT: movapd %xmm13, 448(%r9)1618; SSE-NEXT: movapd %xmm14, 432(%r9)1619; SSE-NEXT: movapd %xmm10, 416(%r9)1620; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1621; SSE-NEXT: movaps %xmm0, 400(%r9)1622; SSE-NEXT: movapd %xmm15, 384(%r9)1623; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1624; SSE-NEXT: movaps %xmm0, 368(%r9)1625; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1626; SSE-NEXT: movaps %xmm0, 352(%r9)1627; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1628; SSE-NEXT: movaps %xmm0, 336(%r9)1629; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1630; SSE-NEXT: movaps %xmm0, 320(%r9)1631; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1632; SSE-NEXT: movaps %xmm0, 304(%r9)1633; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1634; SSE-NEXT: movaps %xmm0, 288(%r9)1635; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload1636; SSE-NEXT: movaps %xmm0, 272(%r9)1637; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1638; SSE-NEXT: movaps %xmm0, 256(%r9)1639; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1640; SSE-NEXT: movaps %xmm0, 240(%r9)1641; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1642; SSE-NEXT: movaps %xmm0, 224(%r9)1643; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1644; SSE-NEXT: movaps %xmm0, 208(%r9)1645; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1646; SSE-NEXT: movaps %xmm0, 192(%r9)1647; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1648; SSE-NEXT: movaps %xmm0, 176(%r9)1649; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1650; SSE-NEXT: movaps %xmm0, 160(%r9)1651; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1652; SSE-NEXT: movaps %xmm0, 144(%r9)1653; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1654; SSE-NEXT: movaps %xmm0, 128(%r9)1655; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1656; SSE-NEXT: movaps %xmm0, 112(%r9)1657; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1658; SSE-NEXT: movaps %xmm0, 96(%r9)1659; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1660; SSE-NEXT: movaps %xmm0, 80(%r9)1661; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1662; SSE-NEXT: movaps %xmm0, 64(%r9)1663; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1664; SSE-NEXT: movaps %xmm0, 48(%r9)1665; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1666; SSE-NEXT: movaps %xmm0, 32(%r9)1667; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1668; SSE-NEXT: movaps %xmm0, 16(%r9)1669; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1670; SSE-NEXT: movaps %xmm0, (%r9)1671; SSE-NEXT: addq $280, %rsp # imm = 0x1181672; SSE-NEXT: retq1673;1674; AVX-LABEL: store_i64_stride5_vf16:1675; AVX: # %bb.0:1676; AVX-NEXT: subq $216, %rsp1677; AVX-NEXT: vmovapd 32(%rdi), %ymm51678; AVX-NEXT: vmovaps (%rdi), %ymm81679; AVX-NEXT: vmovapd 96(%rdi), %ymm21680; AVX-NEXT: vmovaps (%rcx), %ymm01681; AVX-NEXT: vmovaps 64(%rcx), %ymm11682; AVX-NEXT: vpermilps {{.*#+}} xmm3 = mem[2,3,2,3]1683; AVX-NEXT: vmovaps 16(%rdx), %xmm111684; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]1685; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3,4,5,6,7]1686; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1687; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]1688; AVX-NEXT: vmovaps 80(%rdx), %xmm71689; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm7[1],ymm1[3],ymm7[3]1690; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]1691; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1692; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],mem[0],ymm2[2],mem[2]1693; AVX-NEXT: vmovapd 96(%rcx), %xmm11694; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1695; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]1696; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]1697; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1698; AVX-NEXT: vmovaps (%rdx), %xmm01699; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1700; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm01701; AVX-NEXT: vbroadcastsd 8(%rsi), %ymm11702; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm8[0,1,2,3],ymm1[4,5,6,7]1703; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5],ymm0[6,7]1704; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]1705; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm8[0],mem[0],ymm8[2],mem[2]1706; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]1707; AVX-NEXT: vmovaps 32(%rdx), %xmm01708; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1709; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm01710; AVX-NEXT: vbroadcastsd 40(%rsi), %ymm11711; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm5[0,1],ymm1[2,3]1712; AVX-NEXT: vblendpd {{.*#+}} ymm13 = ymm1[0,1,2],ymm0[3]1713; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]1714; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],mem[0],ymm5[2],mem[2]1715; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm0[0,1],ymm1[2,3]1716; AVX-NEXT: vmovaps 64(%rdi), %ymm01717; AVX-NEXT: vbroadcastsd 72(%rsi), %ymm11718; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]1719; AVX-NEXT: vmovaps 64(%rdx), %xmm101720; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm31721; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],ymm3[6,7]1722; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]1723; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],mem[0],ymm0[2],mem[2]1724; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]1725; AVX-NEXT: vbroadcastsd 104(%rsi), %ymm31726; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm2[0,1],ymm3[2,3]1727; AVX-NEXT: vmovaps 96(%rdx), %xmm141728; AVX-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm91729; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1,2],ymm9[3]1730; AVX-NEXT: vunpcklpd {{.*#+}} xmm9 = xmm11[0],mem[0]1731; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]1732; AVX-NEXT: vmovaps (%r8), %ymm91733; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm11 # 32-byte Folded Reload1734; AVX-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm9[6,7]1735; AVX-NEXT: vmovups %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1736; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm9[0,1],ymm12[2,3,4,5,6,7]1737; AVX-NEXT: vmovups %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1738; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm9[2,3],ymm6[4,5,6,7]1739; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1740; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm9[4,5],ymm8[6,7]1741; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1742; AVX-NEXT: vperm2f128 {{.*#+}} ymm5 = mem[2,3],ymm5[2,3]1743; AVX-NEXT: vmovapd 48(%rdx), %xmm61744; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[3]1745; AVX-NEXT: vmovapd 48(%rsi), %xmm81746; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm8[1],xmm6[1]1747; AVX-NEXT: vbroadcastsd 56(%rcx), %ymm81748; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm8[2,3]1749; AVX-NEXT: vmovapd 32(%r8), %ymm81750; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm8[0],ymm13[1,2,3]1751; AVX-NEXT: vmovupd %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1752; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm15[0],ymm8[1],ymm15[2,3]1753; AVX-NEXT: vmovupd %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1754; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm5[0,1],ymm8[2],ymm5[3]1755; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1,2],ymm8[3]1756; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1757; AVX-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm7[0],mem[0]1758; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]1759; AVX-NEXT: vmovaps 64(%r8), %ymm91760; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm5 # 32-byte Folded Reload1761; AVX-NEXT: # ymm5 = mem[0,1,2,3,4,5],ymm9[6,7]1762; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1763; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm9[0,1],ymm4[2,3,4,5,6,7]1764; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm1[0,1],ymm9[2,3],ymm1[4,5,6,7]1765; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm9[4,5],ymm0[6,7]1766; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = mem[2,3],ymm2[2,3]1767; AVX-NEXT: vmovapd 112(%rdx), %xmm21768; AVX-NEXT: vshufpd {{.*#+}} ymm9 = ymm2[0],ymm1[0],ymm2[2],ymm1[3]1769; AVX-NEXT: vmovapd 112(%rsi), %xmm11770; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]1771; AVX-NEXT: vbroadcastsd 120(%rcx), %ymm21772; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm1[0,1],ymm2[2,3]1773; AVX-NEXT: vmovapd 96(%r8), %ymm01774; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload1775; AVX-NEXT: # ymm4 = mem[0],ymm0[1],mem[2,3]1776; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm0[0],ymm3[1,2,3]1777; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1],ymm0[2],ymm9[3]1778; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1,2],ymm0[3]1779; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm1 # 16-byte Folded Reload1780; AVX-NEXT: # xmm1 = xmm14[0],mem[0]1781; AVX-NEXT: vmovaps 64(%rdi), %xmm141782; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm14[0],mem[0]1783; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]1784; AVX-NEXT: vmovaps 32(%rdi), %xmm121785; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]1786; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1787; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]1788; AVX-NEXT: vmovaps 96(%rdi), %xmm131789; AVX-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]1790; AVX-NEXT: vmovaps (%rdi), %xmm151791; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]1792; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload1793; AVX-NEXT: vunpcklpd {{.*#+}} xmm8 = xmm8[0],mem[0]1794; AVX-NEXT: vmovaps %xmm8, 16(%r9)1795; AVX-NEXT: vmovaps %xmm15, (%r9)1796; AVX-NEXT: vmovaps %xmm1, 496(%r9)1797; AVX-NEXT: vmovaps %xmm13, 480(%r9)1798; AVX-NEXT: vmovaps %xmm0, 176(%r9)1799; AVX-NEXT: vmovaps %xmm12, 160(%r9)1800; AVX-NEXT: vmovaps %xmm10, 336(%r9)1801; AVX-NEXT: vmovaps %xmm14, 320(%r9)1802; AVX-NEXT: vmovapd %ymm9, 576(%r9)1803; AVX-NEXT: vmovapd %ymm3, 512(%r9)1804; AVX-NEXT: vmovaps %ymm5, 384(%r9)1805; AVX-NEXT: vmovaps %ymm7, 352(%r9)1806; AVX-NEXT: vmovapd %ymm11, 256(%r9)1807; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1808; AVX-NEXT: vmovaps %ymm0, 224(%r9)1809; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1810; AVX-NEXT: vmovaps %ymm0, 192(%r9)1811; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1812; AVX-NEXT: vmovaps %ymm0, 64(%r9)1813; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1814; AVX-NEXT: vmovaps %ymm0, 32(%r9)1815; AVX-NEXT: vmovapd %ymm2, 608(%r9)1816; AVX-NEXT: vmovapd %ymm4, 544(%r9)1817; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1818; AVX-NEXT: vmovaps %ymm0, 448(%r9)1819; AVX-NEXT: vmovaps %ymm6, 416(%r9)1820; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1821; AVX-NEXT: vmovaps %ymm0, 288(%r9)1822; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1823; AVX-NEXT: vmovaps %ymm0, 128(%r9)1824; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1825; AVX-NEXT: vmovaps %ymm0, 96(%r9)1826; AVX-NEXT: addq $216, %rsp1827; AVX-NEXT: vzeroupper1828; AVX-NEXT: retq1829;1830; AVX2-LABEL: store_i64_stride5_vf16:1831; AVX2: # %bb.0:1832; AVX2-NEXT: subq $264, %rsp # imm = 0x1081833; AVX2-NEXT: vmovaps 96(%rdi), %ymm151834; AVX2-NEXT: vmovaps 64(%rdi), %ymm141835; AVX2-NEXT: vmovaps 32(%rdi), %ymm111836; AVX2-NEXT: vmovaps (%rdi), %ymm61837; AVX2-NEXT: vmovaps (%rsi), %xmm11838; AVX2-NEXT: vmovaps 32(%rsi), %xmm91839; AVX2-NEXT: vmovaps 64(%rsi), %xmm01840; AVX2-NEXT: vmovaps 96(%rsi), %xmm31841; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm71842; AVX2-NEXT: vmovaps (%rdi), %xmm81843; AVX2-NEXT: vmovaps 32(%rdi), %xmm101844; AVX2-NEXT: vmovaps 64(%rdi), %xmm11845; AVX2-NEXT: vmovaps (%rdx), %xmm121846; AVX2-NEXT: vmovaps 32(%rdx), %xmm131847; AVX2-NEXT: vmovaps 64(%rdx), %xmm21848; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm8, %ymm81849; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]1850; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1851; AVX2-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm71852; AVX2-NEXT: vbroadcastsd 8(%rsi), %ymm81853; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1,2,3],ymm8[4,5,6,7]1854; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm7[6,7]1855; AVX2-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]1856; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm6[0],mem[0],ymm6[2],mem[2]1857; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm12[4,5,6,7]1858; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1859; AVX2-NEXT: vinsertf128 $1, 32(%rcx), %ymm9, %ymm91860; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm10, %ymm101861; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1862; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1863; AVX2-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm91864; AVX2-NEXT: vbroadcastsd 40(%rsi), %ymm101865; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]1866; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm9[6,7]1867; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1868; AVX2-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]1869; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],mem[0],ymm11[2],mem[2]1870; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm12[4,5,6,7]1871; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1872; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm01873; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm11874; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1875; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1876; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm01877; AVX2-NEXT: vbroadcastsd 72(%rsi), %ymm11878; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]1879; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1880; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1881; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]1882; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm14[0],mem[0],ymm14[2],mem[2]1883; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]1884; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill1885; AVX2-NEXT: vinsertf128 $1, 96(%rcx), %ymm3, %ymm01886; AVX2-NEXT: vmovaps 96(%rdi), %xmm11887; AVX2-NEXT: vmovaps 96(%rdx), %xmm21888; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm11889; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1890; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1891; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm01892; AVX2-NEXT: vbroadcastsd 104(%rsi), %ymm11893; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm15[0,1,2,3],ymm1[4,5,6,7]1894; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1895; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1896; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]1897; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],mem[0],ymm15[2],mem[2]1898; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]1899; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1900; AVX2-NEXT: vbroadcastsd 56(%rsi), %ymm01901; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]1902; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm11903; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]1904; AVX2-NEXT: vbroadcastsd 120(%rsi), %ymm11905; AVX2-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]1906; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm21907; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]1908; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1909; AVX2-NEXT: vmovaps (%rdx), %ymm11910; AVX2-NEXT: vmovaps (%rcx), %ymm01911; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]1912; AVX2-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]1913; AVX2-NEXT: vbroadcastsd 24(%rsi), %ymm81914; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1],ymm7[2,3,4,5,6,7]1915; AVX2-NEXT: vmovaps 64(%rdx), %ymm31916; AVX2-NEXT: vmovaps 64(%rcx), %ymm21917; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]1918; AVX2-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]1919; AVX2-NEXT: vbroadcastsd 88(%rsi), %ymm81920; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3,4,5,6,7]1921; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1922; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm6[2,3]1923; AVX2-NEXT: vmovaps (%r8), %ymm11924; AVX2-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm5[2,3,4,5,6,7]1925; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload1926; AVX2-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]1927; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm1[6,7]1928; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1929; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]1930; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm11[2,3]1931; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm111932; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm11[2,3],ymm0[4,5,6,7]1933; AVX2-NEXT: vmovaps 32(%r8), %ymm01934; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm8 # 32-byte Folded Reload1935; AVX2-NEXT: # ymm8 = ymm0[0,1],mem[2,3,4,5,6,7]1936; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload1937; AVX2-NEXT: # ymm6 = mem[0,1],ymm0[2,3],mem[4,5,6,7]1938; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm0[6,7]1939; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]1940; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]1941; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm14[2,3]1942; AVX2-NEXT: vmovaps 64(%r8), %ymm31943; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload1944; AVX2-NEXT: # ymm11 = ymm3[0,1],mem[2,3,4,5,6,7]1945; AVX2-NEXT: vblendps $243, (%rsp), %ymm3, %ymm14 # 32-byte Folded Reload1946; AVX2-NEXT: # ymm14 = mem[0,1],ymm3[2,3],mem[4,5,6,7]1947; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm3[6,7]1948; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]1949; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = mem[2,3],ymm15[2,3]1950; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm151951; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm15[2,3],ymm3[4,5,6,7]1952; AVX2-NEXT: vmovaps 96(%r8), %ymm151953; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm1 # 32-byte Folded Reload1954; AVX2-NEXT: # ymm1 = ymm15[0,1],mem[2,3,4,5,6,7]1955; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload1956; AVX2-NEXT: # ymm0 = mem[0,1],ymm15[2,3],mem[4,5,6,7]1957; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm4 # 32-byte Folded Reload1958; AVX2-NEXT: # ymm4 = mem[0,1,2,3,4,5],ymm15[6,7]1959; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm15[4,5],ymm3[6,7]1960; AVX2-NEXT: vmovaps %ymm3, 576(%r9)1961; AVX2-NEXT: vmovaps %ymm0, 544(%r9)1962; AVX2-NEXT: vmovaps %ymm1, 512(%r9)1963; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1964; AVX2-NEXT: vmovaps %ymm0, 480(%r9)1965; AVX2-NEXT: vmovaps %ymm2, 416(%r9)1966; AVX2-NEXT: vmovaps %ymm14, 384(%r9)1967; AVX2-NEXT: vmovaps %ymm11, 352(%r9)1968; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1969; AVX2-NEXT: vmovaps %ymm0, 320(%r9)1970; AVX2-NEXT: vmovaps %ymm5, 256(%r9)1971; AVX2-NEXT: vmovaps %ymm6, 224(%r9)1972; AVX2-NEXT: vmovaps %ymm8, 192(%r9)1973; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1974; AVX2-NEXT: vmovaps %ymm0, 160(%r9)1975; AVX2-NEXT: vmovaps %ymm10, 96(%r9)1976; AVX2-NEXT: vmovaps %ymm12, 64(%r9)1977; AVX2-NEXT: vmovaps %ymm13, 32(%r9)1978; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1979; AVX2-NEXT: vmovaps %ymm0, (%r9)1980; AVX2-NEXT: vmovaps %ymm7, 448(%r9)1981; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1982; AVX2-NEXT: vmovaps %ymm0, 128(%r9)1983; AVX2-NEXT: vmovaps %ymm4, 608(%r9)1984; AVX2-NEXT: vmovaps %ymm9, 288(%r9)1985; AVX2-NEXT: addq $264, %rsp # imm = 0x1081986; AVX2-NEXT: vzeroupper1987; AVX2-NEXT: retq1988;1989; AVX2-FP-LABEL: store_i64_stride5_vf16:1990; AVX2-FP: # %bb.0:1991; AVX2-FP-NEXT: subq $264, %rsp # imm = 0x1081992; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm151993; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm141994; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm111995; AVX2-FP-NEXT: vmovaps (%rdi), %ymm61996; AVX2-FP-NEXT: vmovaps (%rsi), %xmm11997; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm91998; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm01999; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm32000; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm72001; AVX2-FP-NEXT: vmovaps (%rdi), %xmm82002; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm102003; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm12004; AVX2-FP-NEXT: vmovaps (%rdx), %xmm122005; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm132006; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm22007; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm8, %ymm82008; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]2009; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2010; AVX2-FP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm72011; AVX2-FP-NEXT: vbroadcastsd 8(%rsi), %ymm82012; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1,2,3],ymm8[4,5,6,7]2013; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm7[6,7]2014; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]2015; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm6[0],mem[0],ymm6[2],mem[2]2016; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm12[4,5,6,7]2017; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2018; AVX2-FP-NEXT: vinsertf128 $1, 32(%rcx), %ymm9, %ymm92019; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm10, %ymm102020; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]2021; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2022; AVX2-FP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm92023; AVX2-FP-NEXT: vbroadcastsd 40(%rsi), %ymm102024; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]2025; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm9[6,7]2026; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2027; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]2028; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],mem[0],ymm11[2],mem[2]2029; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm12[4,5,6,7]2030; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2031; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm02032; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm12033; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2034; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2035; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm02036; AVX2-FP-NEXT: vbroadcastsd 72(%rsi), %ymm12037; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]2038; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2039; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2040; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]2041; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm14[0],mem[0],ymm14[2],mem[2]2042; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2043; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill2044; AVX2-FP-NEXT: vinsertf128 $1, 96(%rcx), %ymm3, %ymm02045; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm12046; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm22047; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm12048; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2049; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2050; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm02051; AVX2-FP-NEXT: vbroadcastsd 104(%rsi), %ymm12052; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm15[0,1,2,3],ymm1[4,5,6,7]2053; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2054; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2055; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]2056; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],mem[0],ymm15[2],mem[2]2057; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2058; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2059; AVX2-FP-NEXT: vbroadcastsd 56(%rsi), %ymm02060; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2061; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm12062; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]2063; AVX2-FP-NEXT: vbroadcastsd 120(%rsi), %ymm12064; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]2065; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm22066; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]2067; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2068; AVX2-FP-NEXT: vmovaps (%rdx), %ymm12069; AVX2-FP-NEXT: vmovaps (%rcx), %ymm02070; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]2071; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]2072; AVX2-FP-NEXT: vbroadcastsd 24(%rsi), %ymm82073; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1],ymm7[2,3,4,5,6,7]2074; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm32075; AVX2-FP-NEXT: vmovaps 64(%rcx), %ymm22076; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]2077; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]2078; AVX2-FP-NEXT: vbroadcastsd 88(%rsi), %ymm82079; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3,4,5,6,7]2080; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2081; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm6[2,3]2082; AVX2-FP-NEXT: vmovaps (%r8), %ymm12083; AVX2-FP-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm5[2,3,4,5,6,7]2084; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload2085; AVX2-FP-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]2086; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm1[6,7]2087; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2088; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2089; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm11[2,3]2090; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm112091; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm11[2,3],ymm0[4,5,6,7]2092; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm02093; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm8 # 32-byte Folded Reload2094; AVX2-FP-NEXT: # ymm8 = ymm0[0,1],mem[2,3,4,5,6,7]2095; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload2096; AVX2-FP-NEXT: # ymm6 = mem[0,1],ymm0[2,3],mem[4,5,6,7]2097; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm0[6,7]2098; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]2099; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]2100; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm14[2,3]2101; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm32102; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload2103; AVX2-FP-NEXT: # ymm11 = ymm3[0,1],mem[2,3,4,5,6,7]2104; AVX2-FP-NEXT: vblendps $243, (%rsp), %ymm3, %ymm14 # 32-byte Folded Reload2105; AVX2-FP-NEXT: # ymm14 = mem[0,1],ymm3[2,3],mem[4,5,6,7]2106; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm3[6,7]2107; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]2108; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = mem[2,3],ymm15[2,3]2109; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm152110; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm15[2,3],ymm3[4,5,6,7]2111; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm152112; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm1 # 32-byte Folded Reload2113; AVX2-FP-NEXT: # ymm1 = ymm15[0,1],mem[2,3,4,5,6,7]2114; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload2115; AVX2-FP-NEXT: # ymm0 = mem[0,1],ymm15[2,3],mem[4,5,6,7]2116; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm4 # 32-byte Folded Reload2117; AVX2-FP-NEXT: # ymm4 = mem[0,1,2,3,4,5],ymm15[6,7]2118; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm15[4,5],ymm3[6,7]2119; AVX2-FP-NEXT: vmovaps %ymm3, 576(%r9)2120; AVX2-FP-NEXT: vmovaps %ymm0, 544(%r9)2121; AVX2-FP-NEXT: vmovaps %ymm1, 512(%r9)2122; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2123; AVX2-FP-NEXT: vmovaps %ymm0, 480(%r9)2124; AVX2-FP-NEXT: vmovaps %ymm2, 416(%r9)2125; AVX2-FP-NEXT: vmovaps %ymm14, 384(%r9)2126; AVX2-FP-NEXT: vmovaps %ymm11, 352(%r9)2127; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2128; AVX2-FP-NEXT: vmovaps %ymm0, 320(%r9)2129; AVX2-FP-NEXT: vmovaps %ymm5, 256(%r9)2130; AVX2-FP-NEXT: vmovaps %ymm6, 224(%r9)2131; AVX2-FP-NEXT: vmovaps %ymm8, 192(%r9)2132; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2133; AVX2-FP-NEXT: vmovaps %ymm0, 160(%r9)2134; AVX2-FP-NEXT: vmovaps %ymm10, 96(%r9)2135; AVX2-FP-NEXT: vmovaps %ymm12, 64(%r9)2136; AVX2-FP-NEXT: vmovaps %ymm13, 32(%r9)2137; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2138; AVX2-FP-NEXT: vmovaps %ymm0, (%r9)2139; AVX2-FP-NEXT: vmovaps %ymm7, 448(%r9)2140; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2141; AVX2-FP-NEXT: vmovaps %ymm0, 128(%r9)2142; AVX2-FP-NEXT: vmovaps %ymm4, 608(%r9)2143; AVX2-FP-NEXT: vmovaps %ymm9, 288(%r9)2144; AVX2-FP-NEXT: addq $264, %rsp # imm = 0x1082145; AVX2-FP-NEXT: vzeroupper2146; AVX2-FP-NEXT: retq2147;2148; AVX2-FCP-LABEL: store_i64_stride5_vf16:2149; AVX2-FCP: # %bb.0:2150; AVX2-FCP-NEXT: subq $264, %rsp # imm = 0x1082151; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm152152; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm142153; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm112154; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm62155; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm12156; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm92157; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm02158; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm32159; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm1, %ymm72160; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm82161; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm102162; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm12163; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm122164; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm132165; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm22166; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm8, %ymm82167; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm8[0],ymm7[0],ymm8[2],ymm7[2]2168; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2169; AVX2-FCP-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm72170; AVX2-FCP-NEXT: vbroadcastsd 8(%rsi), %ymm82171; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm6[0,1,2,3],ymm8[4,5,6,7]2172; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm7[6,7]2173; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm8 = mem[0,0]2174; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm6[0],mem[0],ymm6[2],mem[2]2175; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm12[4,5,6,7]2176; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2177; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rcx), %ymm9, %ymm92178; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm10, %ymm102179; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]2180; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2181; AVX2-FCP-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm92182; AVX2-FCP-NEXT: vbroadcastsd 40(%rsi), %ymm102183; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]2184; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm9[6,7]2185; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2186; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm10 = mem[0,0]2187; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],mem[0],ymm11[2],mem[2]2188; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm12[4,5,6,7]2189; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2190; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm0, %ymm02191; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm12192; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2193; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2194; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm02195; AVX2-FCP-NEXT: vbroadcastsd 72(%rsi), %ymm12196; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3],ymm1[4,5,6,7]2197; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2198; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2199; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]2200; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm14[0],mem[0],ymm14[2],mem[2]2201; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2202; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill2203; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rcx), %ymm3, %ymm02204; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm12205; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm22206; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm12207; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2208; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2209; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm02210; AVX2-FCP-NEXT: vbroadcastsd 104(%rsi), %ymm12211; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm15[0,1,2,3],ymm1[4,5,6,7]2212; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2213; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2214; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]2215; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm15[0],mem[0],ymm15[2],mem[2]2216; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2217; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2218; AVX2-FCP-NEXT: vbroadcastsd 56(%rsi), %ymm02219; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2220; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm12221; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]2222; AVX2-FCP-NEXT: vbroadcastsd 120(%rsi), %ymm12223; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]2224; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm22225; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]2226; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2227; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm12228; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm02229; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]2230; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]2231; AVX2-FCP-NEXT: vbroadcastsd 24(%rsi), %ymm82232; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1],ymm7[2,3,4,5,6,7]2233; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm32234; AVX2-FCP-NEXT: vmovaps 64(%rcx), %ymm22235; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]2236; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm7 = ymm7[0,2,3,3]2237; AVX2-FCP-NEXT: vbroadcastsd 88(%rsi), %ymm82238; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3,4,5,6,7]2239; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2240; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm6[2,3]2241; AVX2-FCP-NEXT: vmovaps (%r8), %ymm12242; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm5[2,3,4,5,6,7]2243; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload2244; AVX2-FCP-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]2245; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm1[6,7]2246; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2247; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2248; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm11[2,3]2249; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm112250; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm11[2,3],ymm0[4,5,6,7]2251; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm02252; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm8 # 32-byte Folded Reload2253; AVX2-FCP-NEXT: # ymm8 = ymm0[0,1],mem[2,3,4,5,6,7]2254; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload2255; AVX2-FCP-NEXT: # ymm6 = mem[0,1],ymm0[2,3],mem[4,5,6,7]2256; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm0[6,7]2257; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]2258; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]2259; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm2[2,3],ymm14[2,3]2260; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm32261; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload2262; AVX2-FCP-NEXT: # ymm11 = ymm3[0,1],mem[2,3,4,5,6,7]2263; AVX2-FCP-NEXT: vblendps $243, (%rsp), %ymm3, %ymm14 # 32-byte Folded Reload2264; AVX2-FCP-NEXT: # ymm14 = mem[0,1],ymm3[2,3],mem[4,5,6,7]2265; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm3[6,7]2266; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]2267; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = mem[2,3],ymm15[2,3]2268; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm152269; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm15[2,3],ymm3[4,5,6,7]2270; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm152271; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm1 # 32-byte Folded Reload2272; AVX2-FCP-NEXT: # ymm1 = ymm15[0,1],mem[2,3,4,5,6,7]2273; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload2274; AVX2-FCP-NEXT: # ymm0 = mem[0,1],ymm15[2,3],mem[4,5,6,7]2275; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm4 # 32-byte Folded Reload2276; AVX2-FCP-NEXT: # ymm4 = mem[0,1,2,3,4,5],ymm15[6,7]2277; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm15[4,5],ymm3[6,7]2278; AVX2-FCP-NEXT: vmovaps %ymm3, 576(%r9)2279; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%r9)2280; AVX2-FCP-NEXT: vmovaps %ymm1, 512(%r9)2281; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2282; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%r9)2283; AVX2-FCP-NEXT: vmovaps %ymm2, 416(%r9)2284; AVX2-FCP-NEXT: vmovaps %ymm14, 384(%r9)2285; AVX2-FCP-NEXT: vmovaps %ymm11, 352(%r9)2286; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2287; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%r9)2288; AVX2-FCP-NEXT: vmovaps %ymm5, 256(%r9)2289; AVX2-FCP-NEXT: vmovaps %ymm6, 224(%r9)2290; AVX2-FCP-NEXT: vmovaps %ymm8, 192(%r9)2291; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2292; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%r9)2293; AVX2-FCP-NEXT: vmovaps %ymm10, 96(%r9)2294; AVX2-FCP-NEXT: vmovaps %ymm12, 64(%r9)2295; AVX2-FCP-NEXT: vmovaps %ymm13, 32(%r9)2296; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2297; AVX2-FCP-NEXT: vmovaps %ymm0, (%r9)2298; AVX2-FCP-NEXT: vmovaps %ymm7, 448(%r9)2299; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2300; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%r9)2301; AVX2-FCP-NEXT: vmovaps %ymm4, 608(%r9)2302; AVX2-FCP-NEXT: vmovaps %ymm9, 288(%r9)2303; AVX2-FCP-NEXT: addq $264, %rsp # imm = 0x1082304; AVX2-FCP-NEXT: vzeroupper2305; AVX2-FCP-NEXT: retq2306;2307; AVX512-LABEL: store_i64_stride5_vf16:2308; AVX512: # %bb.0:2309; AVX512-NEXT: vmovdqa64 (%rdi), %zmm12310; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm02311; AVX512-NEXT: vmovdqa64 (%rsi), %zmm22312; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm92313; AVX512-NEXT: vmovdqa64 (%rdx), %zmm62314; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm102315; AVX512-NEXT: vmovdqa64 (%rcx), %zmm52316; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm122317; AVX512-NEXT: vmovdqa64 (%r8), %zmm42318; AVX512-NEXT: vmovdqa64 64(%r8), %zmm112319; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2320; AVX512-NEXT: vmovdqa64 %zmm9, %zmm132321; AVX512-NEXT: vpermt2q %zmm0, %zmm8, %zmm132322; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2323; AVX512-NEXT: vmovdqa64 %zmm10, %zmm32324; AVX512-NEXT: vpermt2q %zmm12, %zmm7, %zmm32325; AVX512-NEXT: movb $49, %al2326; AVX512-NEXT: kmovw %eax, %k12327; AVX512-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2328; AVX512-NEXT: movb $8, %al2329; AVX512-NEXT: kmovw %eax, %k22330; AVX512-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2331; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm82332; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm72333; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2334; AVX512-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2335; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2336; AVX512-NEXT: vmovdqa64 %zmm6, %zmm132337; AVX512-NEXT: vpermt2q %zmm5, %zmm15, %zmm132338; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2339; AVX512-NEXT: vmovdqa64 %zmm1, %zmm82340; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm82341; AVX512-NEXT: movb $-116, %al2342; AVX512-NEXT: kmovw %eax, %k32343; AVX512-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2344; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2345; AVX512-NEXT: vpermt2q %zmm4, %zmm17, %zmm82346; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2347; AVX512-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2348; AVX512-NEXT: vmovdqa64 %zmm0, %zmm192349; AVX512-NEXT: vpermt2q %zmm9, %zmm18, %zmm192350; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2351; AVX512-NEXT: vmovdqa64 %zmm10, %zmm132352; AVX512-NEXT: vpermt2q %zmm12, %zmm14, %zmm132353; AVX512-NEXT: movb $24, %al2354; AVX512-NEXT: kmovw %eax, %k22355; AVX512-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2356; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2357; AVX512-NEXT: vpermt2q %zmm11, %zmm19, %zmm132358; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2359; AVX512-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2360; AVX512-NEXT: vmovdqa64 %zmm10, %zmm212361; AVX512-NEXT: vpermt2q %zmm12, %zmm20, %zmm212362; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2363; AVX512-NEXT: vmovdqa64 %zmm0, %zmm232364; AVX512-NEXT: vpermt2q %zmm9, %zmm22, %zmm232365; AVX512-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2366; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2367; AVX512-NEXT: vpermt2q %zmm11, %zmm21, %zmm232368; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2369; AVX512-NEXT: vmovdqa64 %zmm12, %zmm252370; AVX512-NEXT: vpermt2q %zmm10, %zmm24, %zmm252371; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2372; AVX512-NEXT: vmovdqa64 %zmm0, %zmm272373; AVX512-NEXT: vpermt2q %zmm9, %zmm26, %zmm272374; AVX512-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2375; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2376; AVX512-NEXT: vpermt2q %zmm11, %zmm25, %zmm272377; AVX512-NEXT: vpermt2q %zmm12, %zmm15, %zmm102378; AVX512-NEXT: vpermt2q %zmm9, %zmm16, %zmm02379; AVX512-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2380; AVX512-NEXT: vpermt2q %zmm11, %zmm17, %zmm02381; AVX512-NEXT: vpermi2q %zmm2, %zmm1, %zmm182382; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm142383; AVX512-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2384; AVX512-NEXT: vpermt2q %zmm4, %zmm19, %zmm142385; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm202386; AVX512-NEXT: vpermi2q %zmm2, %zmm1, %zmm222387; AVX512-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2388; AVX512-NEXT: vpermt2q %zmm4, %zmm21, %zmm222389; AVX512-NEXT: vpermt2q %zmm6, %zmm24, %zmm52390; AVX512-NEXT: vpermt2q %zmm2, %zmm26, %zmm12391; AVX512-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2392; AVX512-NEXT: vpermt2q %zmm4, %zmm25, %zmm12393; AVX512-NEXT: vmovdqa64 %zmm1, 64(%r9)2394; AVX512-NEXT: vmovdqa64 %zmm7, 128(%r9)2395; AVX512-NEXT: vmovdqa64 %zmm22, 192(%r9)2396; AVX512-NEXT: vmovdqa64 %zmm14, 256(%r9)2397; AVX512-NEXT: vmovdqa64 %zmm0, 320(%r9)2398; AVX512-NEXT: vmovdqa64 %zmm27, 384(%r9)2399; AVX512-NEXT: vmovdqa64 %zmm3, 448(%r9)2400; AVX512-NEXT: vmovdqa64 %zmm23, 512(%r9)2401; AVX512-NEXT: vmovdqa64 %zmm13, 576(%r9)2402; AVX512-NEXT: vmovdqa64 %zmm8, (%r9)2403; AVX512-NEXT: vzeroupper2404; AVX512-NEXT: retq2405;2406; AVX512-FCP-LABEL: store_i64_stride5_vf16:2407; AVX512-FCP: # %bb.0:2408; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm12409; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm02410; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm22411; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm92412; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm62413; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm102414; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm52415; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm122416; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm42417; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm112418; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2419; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm132420; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm8, %zmm132421; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2422; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm32423; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm7, %zmm32424; AVX512-FCP-NEXT: movb $49, %al2425; AVX512-FCP-NEXT: kmovw %eax, %k12426; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2427; AVX512-FCP-NEXT: movb $8, %al2428; AVX512-FCP-NEXT: kmovw %eax, %k22429; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2430; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm82431; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm72432; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2433; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2434; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2435; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm132436; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm15, %zmm132437; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2438; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm82439; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm82440; AVX512-FCP-NEXT: movb $-116, %al2441; AVX512-FCP-NEXT: kmovw %eax, %k32442; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2443; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2444; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm82445; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2446; AVX512-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2447; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm192448; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm192449; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2450; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm132451; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm14, %zmm132452; AVX512-FCP-NEXT: movb $24, %al2453; AVX512-FCP-NEXT: kmovw %eax, %k22454; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2455; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2456; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm132457; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2458; AVX512-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2459; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm212460; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm20, %zmm212461; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2462; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm232463; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm232464; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2465; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2466; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm232467; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2468; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm252469; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm252470; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2471; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm272472; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm26, %zmm272473; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2474; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2475; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm272476; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm15, %zmm102477; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm16, %zmm02478; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2479; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm17, %zmm02480; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm182481; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm142482; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2483; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm142484; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm202485; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm222486; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2487; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm222488; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm24, %zmm52489; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm26, %zmm12490; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2491; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm25, %zmm12492; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 64(%r9)2493; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 128(%r9)2494; AVX512-FCP-NEXT: vmovdqa64 %zmm22, 192(%r9)2495; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 256(%r9)2496; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 320(%r9)2497; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 384(%r9)2498; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 448(%r9)2499; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 512(%r9)2500; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 576(%r9)2501; AVX512-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2502; AVX512-FCP-NEXT: vzeroupper2503; AVX512-FCP-NEXT: retq2504;2505; AVX512DQ-LABEL: store_i64_stride5_vf16:2506; AVX512DQ: # %bb.0:2507; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm12508; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm02509; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm22510; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm92511; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm62512; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm102513; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm52514; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm122515; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm42516; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm112517; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2518; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm132519; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm8, %zmm132520; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2521; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm32522; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm7, %zmm32523; AVX512DQ-NEXT: movb $49, %al2524; AVX512DQ-NEXT: kmovw %eax, %k12525; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2526; AVX512DQ-NEXT: movb $8, %al2527; AVX512DQ-NEXT: kmovw %eax, %k22528; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2529; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm82530; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm72531; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2532; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2533; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2534; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm132535; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm15, %zmm132536; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2537; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm82538; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm82539; AVX512DQ-NEXT: movb $-116, %al2540; AVX512DQ-NEXT: kmovw %eax, %k32541; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2542; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2543; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm17, %zmm82544; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2545; AVX512DQ-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2546; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm192547; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm18, %zmm192548; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2549; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm132550; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm14, %zmm132551; AVX512DQ-NEXT: movb $24, %al2552; AVX512DQ-NEXT: kmovw %eax, %k22553; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2554; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2555; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm19, %zmm132556; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2557; AVX512DQ-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2558; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm212559; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm20, %zmm212560; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2561; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm232562; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm22, %zmm232563; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2564; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2565; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm21, %zmm232566; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2567; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm252568; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm24, %zmm252569; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2570; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm272571; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm26, %zmm272572; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2573; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2574; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm25, %zmm272575; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm15, %zmm102576; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm16, %zmm02577; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2578; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm17, %zmm02579; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm1, %zmm182580; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm142581; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2582; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm19, %zmm142583; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm202584; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm1, %zmm222585; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2586; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm21, %zmm222587; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm24, %zmm52588; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm26, %zmm12589; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2590; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm25, %zmm12591; AVX512DQ-NEXT: vmovdqa64 %zmm1, 64(%r9)2592; AVX512DQ-NEXT: vmovdqa64 %zmm7, 128(%r9)2593; AVX512DQ-NEXT: vmovdqa64 %zmm22, 192(%r9)2594; AVX512DQ-NEXT: vmovdqa64 %zmm14, 256(%r9)2595; AVX512DQ-NEXT: vmovdqa64 %zmm0, 320(%r9)2596; AVX512DQ-NEXT: vmovdqa64 %zmm27, 384(%r9)2597; AVX512DQ-NEXT: vmovdqa64 %zmm3, 448(%r9)2598; AVX512DQ-NEXT: vmovdqa64 %zmm23, 512(%r9)2599; AVX512DQ-NEXT: vmovdqa64 %zmm13, 576(%r9)2600; AVX512DQ-NEXT: vmovdqa64 %zmm8, (%r9)2601; AVX512DQ-NEXT: vzeroupper2602; AVX512DQ-NEXT: retq2603;2604; AVX512DQ-FCP-LABEL: store_i64_stride5_vf16:2605; AVX512DQ-FCP: # %bb.0:2606; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm12607; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm02608; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm22609; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm92610; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm62611; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm102612; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm52613; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm122614; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm42615; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm112616; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2617; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm132618; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm8, %zmm132619; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2620; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm32621; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm7, %zmm32622; AVX512DQ-FCP-NEXT: movb $49, %al2623; AVX512DQ-FCP-NEXT: kmovw %eax, %k12624; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2625; AVX512DQ-FCP-NEXT: movb $8, %al2626; AVX512DQ-FCP-NEXT: kmovw %eax, %k22627; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2628; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm82629; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm72630; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2631; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2632; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2633; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm132634; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm15, %zmm132635; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2636; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm82637; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm82638; AVX512DQ-FCP-NEXT: movb $-116, %al2639; AVX512DQ-FCP-NEXT: kmovw %eax, %k32640; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2641; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2642; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm82643; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2644; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2645; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm192646; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm192647; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2648; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm132649; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm14, %zmm132650; AVX512DQ-FCP-NEXT: movb $24, %al2651; AVX512DQ-FCP-NEXT: kmovw %eax, %k22652; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2653; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2654; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm132655; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2656; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2657; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm212658; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm20, %zmm212659; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2660; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm232661; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm232662; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2663; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2664; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm232665; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2666; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm252667; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm252668; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2669; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm272670; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm26, %zmm272671; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2672; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2673; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm272674; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm15, %zmm102675; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm16, %zmm02676; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2677; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm17, %zmm02678; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm182679; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm142680; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2681; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm142682; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm202683; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm222684; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2685; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm222686; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm24, %zmm52687; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm26, %zmm12688; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2689; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm25, %zmm12690; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 64(%r9)2691; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 128(%r9)2692; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 192(%r9)2693; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 256(%r9)2694; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 320(%r9)2695; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 384(%r9)2696; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 448(%r9)2697; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 512(%r9)2698; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 576(%r9)2699; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2700; AVX512DQ-FCP-NEXT: vzeroupper2701; AVX512DQ-FCP-NEXT: retq2702;2703; AVX512BW-LABEL: store_i64_stride5_vf16:2704; AVX512BW: # %bb.0:2705; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm12706; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm02707; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm22708; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm92709; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm62710; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm102711; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm52712; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm122713; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm42714; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm112715; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2716; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm132717; AVX512BW-NEXT: vpermt2q %zmm0, %zmm8, %zmm132718; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2719; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm32720; AVX512BW-NEXT: vpermt2q %zmm12, %zmm7, %zmm32721; AVX512BW-NEXT: movb $49, %al2722; AVX512BW-NEXT: kmovd %eax, %k12723; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2724; AVX512BW-NEXT: movb $8, %al2725; AVX512BW-NEXT: kmovd %eax, %k22726; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2727; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm82728; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm72729; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2730; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2731; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2732; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm132733; AVX512BW-NEXT: vpermt2q %zmm5, %zmm15, %zmm132734; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2735; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm82736; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm82737; AVX512BW-NEXT: movb $-116, %al2738; AVX512BW-NEXT: kmovd %eax, %k32739; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2740; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2741; AVX512BW-NEXT: vpermt2q %zmm4, %zmm17, %zmm82742; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2743; AVX512BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2744; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm192745; AVX512BW-NEXT: vpermt2q %zmm9, %zmm18, %zmm192746; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2747; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm132748; AVX512BW-NEXT: vpermt2q %zmm12, %zmm14, %zmm132749; AVX512BW-NEXT: movb $24, %al2750; AVX512BW-NEXT: kmovd %eax, %k22751; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2752; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2753; AVX512BW-NEXT: vpermt2q %zmm11, %zmm19, %zmm132754; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2755; AVX512BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2756; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm212757; AVX512BW-NEXT: vpermt2q %zmm12, %zmm20, %zmm212758; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2759; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm232760; AVX512BW-NEXT: vpermt2q %zmm9, %zmm22, %zmm232761; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2762; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2763; AVX512BW-NEXT: vpermt2q %zmm11, %zmm21, %zmm232764; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2765; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm252766; AVX512BW-NEXT: vpermt2q %zmm10, %zmm24, %zmm252767; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2768; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm272769; AVX512BW-NEXT: vpermt2q %zmm9, %zmm26, %zmm272770; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2771; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2772; AVX512BW-NEXT: vpermt2q %zmm11, %zmm25, %zmm272773; AVX512BW-NEXT: vpermt2q %zmm12, %zmm15, %zmm102774; AVX512BW-NEXT: vpermt2q %zmm9, %zmm16, %zmm02775; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2776; AVX512BW-NEXT: vpermt2q %zmm11, %zmm17, %zmm02777; AVX512BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm182778; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm142779; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2780; AVX512BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm142781; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm202782; AVX512BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm222783; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2784; AVX512BW-NEXT: vpermt2q %zmm4, %zmm21, %zmm222785; AVX512BW-NEXT: vpermt2q %zmm6, %zmm24, %zmm52786; AVX512BW-NEXT: vpermt2q %zmm2, %zmm26, %zmm12787; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2788; AVX512BW-NEXT: vpermt2q %zmm4, %zmm25, %zmm12789; AVX512BW-NEXT: vmovdqa64 %zmm1, 64(%r9)2790; AVX512BW-NEXT: vmovdqa64 %zmm7, 128(%r9)2791; AVX512BW-NEXT: vmovdqa64 %zmm22, 192(%r9)2792; AVX512BW-NEXT: vmovdqa64 %zmm14, 256(%r9)2793; AVX512BW-NEXT: vmovdqa64 %zmm0, 320(%r9)2794; AVX512BW-NEXT: vmovdqa64 %zmm27, 384(%r9)2795; AVX512BW-NEXT: vmovdqa64 %zmm3, 448(%r9)2796; AVX512BW-NEXT: vmovdqa64 %zmm23, 512(%r9)2797; AVX512BW-NEXT: vmovdqa64 %zmm13, 576(%r9)2798; AVX512BW-NEXT: vmovdqa64 %zmm8, (%r9)2799; AVX512BW-NEXT: vzeroupper2800; AVX512BW-NEXT: retq2801;2802; AVX512BW-FCP-LABEL: store_i64_stride5_vf16:2803; AVX512BW-FCP: # %bb.0:2804; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm12805; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm02806; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm22807; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm92808; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm62809; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm102810; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm52811; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm122812; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm42813; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm112814; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2815; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm132816; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm8, %zmm132817; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2818; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm32819; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm7, %zmm32820; AVX512BW-FCP-NEXT: movb $49, %al2821; AVX512BW-FCP-NEXT: kmovd %eax, %k12822; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2823; AVX512BW-FCP-NEXT: movb $8, %al2824; AVX512BW-FCP-NEXT: kmovd %eax, %k22825; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2826; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm82827; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm72828; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2829; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2830; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2831; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm132832; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm15, %zmm132833; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2834; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm82835; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm82836; AVX512BW-FCP-NEXT: movb $-116, %al2837; AVX512BW-FCP-NEXT: kmovd %eax, %k32838; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2839; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2840; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm82841; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2842; AVX512BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2843; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm192844; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm192845; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2846; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm132847; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm14, %zmm132848; AVX512BW-FCP-NEXT: movb $24, %al2849; AVX512BW-FCP-NEXT: kmovd %eax, %k22850; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2851; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2852; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm132853; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2854; AVX512BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2855; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm212856; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm20, %zmm212857; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2858; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm232859; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm232860; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2861; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2862; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm232863; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2864; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm252865; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm252866; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2867; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm272868; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm26, %zmm272869; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2870; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2871; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm272872; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm15, %zmm102873; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm16, %zmm02874; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2875; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm17, %zmm02876; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm182877; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm142878; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2879; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm142880; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm202881; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm222882; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2883; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm222884; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm24, %zmm52885; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm26, %zmm12886; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2887; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm25, %zmm12888; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 64(%r9)2889; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 128(%r9)2890; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 192(%r9)2891; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 256(%r9)2892; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 320(%r9)2893; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 384(%r9)2894; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 448(%r9)2895; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, 512(%r9)2896; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 576(%r9)2897; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2898; AVX512BW-FCP-NEXT: vzeroupper2899; AVX512BW-FCP-NEXT: retq2900;2901; AVX512DQ-BW-LABEL: store_i64_stride5_vf16:2902; AVX512DQ-BW: # %bb.0:2903; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm12904; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm02905; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm22906; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm92907; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm62908; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm102909; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm52910; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm122911; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm42912; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm112913; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]2914; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm132915; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm8, %zmm132916; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]2917; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm32918; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm7, %zmm32919; AVX512DQ-BW-NEXT: movb $49, %al2920; AVX512DQ-BW-NEXT: kmovd %eax, %k12921; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}2922; AVX512DQ-BW-NEXT: movb $8, %al2923; AVX512DQ-BW-NEXT: kmovd %eax, %k22924; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}2925; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm82926; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm72927; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}2928; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}2929; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]2930; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm132931; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm15, %zmm132932; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]2933; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm82934; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm82935; AVX512DQ-BW-NEXT: movb $-116, %al2936; AVX512DQ-BW-NEXT: kmovd %eax, %k32937; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}2938; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]2939; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm17, %zmm82940; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]2941; AVX512DQ-BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2942; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm192943; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm18, %zmm192944; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]2945; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm132946; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm14, %zmm132947; AVX512DQ-BW-NEXT: movb $24, %al2948; AVX512DQ-BW-NEXT: kmovd %eax, %k22949; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}2950; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]2951; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm19, %zmm132952; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]2953; AVX512DQ-BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2954; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm212955; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm20, %zmm212956; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]2957; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm232958; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm22, %zmm232959; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}2960; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]2961; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm21, %zmm232962; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]2963; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm252964; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm24, %zmm252965; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]2966; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm272967; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm26, %zmm272968; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}2969; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]2970; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm25, %zmm272971; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm15, %zmm102972; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm16, %zmm02973; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}2974; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm17, %zmm02975; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm182976; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm142977; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}2978; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm19, %zmm142979; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm202980; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm222981; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}2982; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm21, %zmm222983; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm24, %zmm52984; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm26, %zmm12985; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}2986; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm25, %zmm12987; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 64(%r9)2988; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 128(%r9)2989; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 192(%r9)2990; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 256(%r9)2991; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 320(%r9)2992; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, 384(%r9)2993; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 448(%r9)2994; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 512(%r9)2995; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 576(%r9)2996; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, (%r9)2997; AVX512DQ-BW-NEXT: vzeroupper2998; AVX512DQ-BW-NEXT: retq2999;3000; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf16:3001; AVX512DQ-BW-FCP: # %bb.0:3002; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm13003; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm03004; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm23005; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm93006; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm63007; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm103008; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm53009; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm123010; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm43011; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm113012; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [3,0,0,0,12,4,0,0]3013; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm133014; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm8, %zmm133015; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm7 = [0,3,11,0,0,0,4,12]3016; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm33017; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm7, %zmm33018; AVX512DQ-BW-FCP-NEXT: movb $49, %al3019; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k13020; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm3 {%k1}3021; AVX512DQ-BW-FCP-NEXT: movb $8, %al3022; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k23023; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3 {%k2}3024; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm83025; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm73026; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}3027; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm7 {%k2}3028; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [0,0,0,8,0,0,0,1]3029; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm133030; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm15, %zmm133031; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,8,0,0,0,1,9,0]3032; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm83033; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm83034; AVX512DQ-BW-FCP-NEXT: movb $-116, %al3035; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k33036; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k3}3037; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm17 = [0,1,2,3,8,5,6,7]3038; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm83039; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm18 = [15,7,15,7,15,7,15,7]3040; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3041; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm193042; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm18, %zmm193043; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [6,14,0,0,0,7,15,0]3044; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm133045; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm14, %zmm133046; AVX512DQ-BW-FCP-NEXT: movb $24, %al3047; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k23048; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm13 {%k2}3049; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,1,14,3,4,5,6,15]3050; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm19, %zmm133051; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm20 = [13,5,13,5,13,5,13,5]3052; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3053; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm213054; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm20, %zmm213055; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm22 = [0,5,13,0,0,0,6,14]3056; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm233057; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm22, %zmm233058; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm23 {%k2}3059; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [12,1,2,3,4,13,6,7]3060; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm233061; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm24 = [1,0,0,0,10,2,0,0]3062; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm253063; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm24, %zmm253064; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm26 = [0,0,2,10,0,0,0,3]3065; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm273066; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm26, %zmm273067; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm27 {%k1}3068; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm25 = [0,9,2,3,4,5,10,7]3069; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm25, %zmm273070; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm15, %zmm103071; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm16, %zmm03072; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm0 {%k3}3073; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm17, %zmm03074; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm183075; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm143076; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm14 {%k2}3077; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm19, %zmm143078; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm203079; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm223080; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm22 {%k2}3081; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm223082; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm24, %zmm53083; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm26, %zmm13084; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1 {%k1}3085; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm25, %zmm13086; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 64(%r9)3087; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 128(%r9)3088; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 192(%r9)3089; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 256(%r9)3090; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 320(%r9)3091; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 384(%r9)3092; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 448(%r9)3093; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, 512(%r9)3094; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 576(%r9)3095; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, (%r9)3096; AVX512DQ-BW-FCP-NEXT: vzeroupper3097; AVX512DQ-BW-FCP-NEXT: retq3098 %in.vec0 = load <16 x i64>, ptr %in.vecptr0, align 643099 %in.vec1 = load <16 x i64>, ptr %in.vecptr1, align 643100 %in.vec2 = load <16 x i64>, ptr %in.vecptr2, align 643101 %in.vec3 = load <16 x i64>, ptr %in.vecptr3, align 643102 %in.vec4 = load <16 x i64>, ptr %in.vecptr4, align 643103 %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>3104 %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>3105 %3 = 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>3106 %4 = shufflevector <16 x i64> %in.vec4, <16 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 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>3107 %5 = shufflevector <64 x i64> %3, <64 x i64> %4, <80 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>3108 %interleaved.vec = shufflevector <80 x i64> %5, <80 x i64> poison, <80 x i32> <i32 0, i32 16, i32 32, i32 48, i32 64, i32 1, i32 17, i32 33, i32 49, i32 65, i32 2, i32 18, i32 34, i32 50, i32 66, i32 3, i32 19, i32 35, i32 51, i32 67, i32 4, i32 20, i32 36, i32 52, i32 68, i32 5, i32 21, i32 37, i32 53, i32 69, i32 6, i32 22, i32 38, i32 54, i32 70, i32 7, i32 23, i32 39, i32 55, i32 71, i32 8, i32 24, i32 40, i32 56, i32 72, i32 9, i32 25, i32 41, i32 57, i32 73, i32 10, i32 26, i32 42, i32 58, i32 74, i32 11, i32 27, i32 43, i32 59, i32 75, i32 12, i32 28, i32 44, i32 60, i32 76, i32 13, i32 29, i32 45, i32 61, i32 77, i32 14, i32 30, i32 46, i32 62, i32 78, i32 15, i32 31, i32 47, i32 63, i32 79>3109 store <80 x i64> %interleaved.vec, ptr %out.vec, align 643110 ret void3111}3112 3113define void @store_i64_stride5_vf32(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {3114; SSE-LABEL: store_i64_stride5_vf32:3115; SSE: # %bb.0:3116; SSE-NEXT: subq $920, %rsp # imm = 0x3983117; SSE-NEXT: movapd (%rdi), %xmm33118; SSE-NEXT: movapd 16(%rdi), %xmm43119; SSE-NEXT: movapd 32(%rdi), %xmm53120; SSE-NEXT: movapd (%rsi), %xmm63121; SSE-NEXT: movapd 16(%rsi), %xmm73122; SSE-NEXT: movapd 32(%rsi), %xmm83123; SSE-NEXT: movapd (%rdx), %xmm93124; SSE-NEXT: movapd 16(%rdx), %xmm103125; SSE-NEXT: movapd 32(%rdx), %xmm113126; SSE-NEXT: movapd (%rcx), %xmm123127; SSE-NEXT: movapd 16(%rcx), %xmm133128; SSE-NEXT: movapd 32(%rcx), %xmm143129; SSE-NEXT: movapd (%r8), %xmm03130; SSE-NEXT: movapd 16(%r8), %xmm13131; SSE-NEXT: movapd 32(%r8), %xmm23132; SSE-NEXT: movapd %xmm3, %xmm153133; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm6[0]3134; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3135; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]3136; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3137; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm9[1]3138; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3139; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm12[0]3140; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3141; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]3142; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3143; SSE-NEXT: movapd %xmm4, %xmm03144; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm7[0]3145; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3146; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm1[0],xmm4[1]3147; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3148; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm10[1]3149; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3150; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm13[0]3151; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3152; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm1[1]3153; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3154; SSE-NEXT: movapd %xmm5, %xmm03155; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm8[0]3156; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3157; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm2[0],xmm5[1]3158; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3159; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm11[1]3160; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3161; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm14[0]3162; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3163; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm2[1]3164; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3165; SSE-NEXT: movapd 48(%rdi), %xmm13166; SSE-NEXT: movapd 48(%rsi), %xmm23167; SSE-NEXT: movapd %xmm1, %xmm03168; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3169; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3170; SSE-NEXT: movapd 48(%r8), %xmm03171; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3172; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3173; SSE-NEXT: movapd 48(%rdx), %xmm13174; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3175; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3176; SSE-NEXT: movapd 48(%rcx), %xmm23177; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3178; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3179; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3180; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3181; SSE-NEXT: movapd 64(%rdi), %xmm13182; SSE-NEXT: movapd 64(%rsi), %xmm23183; SSE-NEXT: movapd %xmm1, %xmm03184; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3185; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3186; SSE-NEXT: movapd 64(%r8), %xmm03187; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3188; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3189; SSE-NEXT: movapd 64(%rdx), %xmm13190; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3191; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3192; SSE-NEXT: movapd 64(%rcx), %xmm23193; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3194; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3195; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3196; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3197; SSE-NEXT: movapd 80(%rdi), %xmm13198; SSE-NEXT: movapd 80(%rsi), %xmm23199; SSE-NEXT: movapd %xmm1, %xmm03200; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3201; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3202; SSE-NEXT: movapd 80(%r8), %xmm03203; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3204; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3205; SSE-NEXT: movapd 80(%rdx), %xmm13206; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3207; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3208; SSE-NEXT: movapd 80(%rcx), %xmm23209; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3210; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3211; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3212; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3213; SSE-NEXT: movapd 96(%rdi), %xmm13214; SSE-NEXT: movapd 96(%rsi), %xmm23215; SSE-NEXT: movapd %xmm1, %xmm03216; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3217; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3218; SSE-NEXT: movapd 96(%r8), %xmm03219; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3220; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3221; SSE-NEXT: movapd 96(%rdx), %xmm13222; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3223; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3224; SSE-NEXT: movapd 96(%rcx), %xmm23225; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3226; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3227; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3228; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3229; SSE-NEXT: movapd 112(%rdi), %xmm13230; SSE-NEXT: movapd 112(%rsi), %xmm23231; SSE-NEXT: movapd %xmm1, %xmm03232; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3233; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3234; SSE-NEXT: movapd 112(%r8), %xmm03235; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3236; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3237; SSE-NEXT: movapd 112(%rdx), %xmm13238; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3239; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3240; SSE-NEXT: movapd 112(%rcx), %xmm23241; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3242; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3243; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3244; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3245; SSE-NEXT: movapd 128(%rdi), %xmm13246; SSE-NEXT: movapd 128(%rsi), %xmm23247; SSE-NEXT: movapd %xmm1, %xmm03248; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3249; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3250; SSE-NEXT: movapd 128(%r8), %xmm03251; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3252; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3253; SSE-NEXT: movapd 128(%rdx), %xmm13254; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3255; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3256; SSE-NEXT: movapd 128(%rcx), %xmm23257; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3258; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3259; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3260; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3261; SSE-NEXT: movapd 144(%rdi), %xmm13262; SSE-NEXT: movapd 144(%rsi), %xmm23263; SSE-NEXT: movapd %xmm1, %xmm03264; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3265; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3266; SSE-NEXT: movapd 144(%r8), %xmm03267; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3268; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3269; SSE-NEXT: movapd 144(%rdx), %xmm13270; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3271; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3272; SSE-NEXT: movapd 144(%rcx), %xmm23273; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3274; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3275; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3276; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3277; SSE-NEXT: movapd 160(%rdi), %xmm13278; SSE-NEXT: movapd 160(%rsi), %xmm23279; SSE-NEXT: movapd %xmm1, %xmm03280; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3281; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3282; SSE-NEXT: movapd 160(%r8), %xmm03283; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3284; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3285; SSE-NEXT: movapd 160(%rdx), %xmm13286; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3287; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3288; SSE-NEXT: movapd 160(%rcx), %xmm23289; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3290; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3291; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3292; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3293; SSE-NEXT: movapd 176(%rdi), %xmm13294; SSE-NEXT: movapd 176(%rsi), %xmm23295; SSE-NEXT: movapd %xmm1, %xmm03296; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3297; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3298; SSE-NEXT: movapd 176(%r8), %xmm03299; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3300; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill3301; SSE-NEXT: movapd 176(%rdx), %xmm13302; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3303; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3304; SSE-NEXT: movapd 176(%rcx), %xmm23305; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]3306; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3307; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3308; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3309; SSE-NEXT: movapd 192(%rdi), %xmm13310; SSE-NEXT: movapd 192(%rsi), %xmm23311; SSE-NEXT: movapd %xmm1, %xmm03312; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3313; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3314; SSE-NEXT: movapd 192(%r8), %xmm03315; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3316; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3317; SSE-NEXT: movapd 192(%rdx), %xmm13318; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3319; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3320; SSE-NEXT: movapd 192(%rcx), %xmm153321; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm15[0]3322; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3323; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]3324; SSE-NEXT: movapd 208(%rdi), %xmm143325; SSE-NEXT: movapd 208(%rsi), %xmm133326; SSE-NEXT: movapd %xmm14, %xmm03327; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm13[0]3328; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3329; SSE-NEXT: movapd 208(%r8), %xmm03330; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm0[0],xmm14[1]3331; SSE-NEXT: movapd 208(%rdx), %xmm103332; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm10[1]3333; SSE-NEXT: movapd 208(%rcx), %xmm93334; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm9[0]3335; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]3336; SSE-NEXT: movapd 224(%rdi), %xmm113337; SSE-NEXT: movapd 224(%rsi), %xmm83338; SSE-NEXT: movapd %xmm11, %xmm123339; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm8[0]3340; SSE-NEXT: movapd 224(%r8), %xmm23341; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm2[0],xmm11[1]3342; SSE-NEXT: movapd 224(%rdx), %xmm63343; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm6[1]3344; SSE-NEXT: movapd 224(%rcx), %xmm33345; SSE-NEXT: unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]3346; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]3347; SSE-NEXT: movapd 240(%rdi), %xmm43348; SSE-NEXT: movapd 240(%rsi), %xmm23349; SSE-NEXT: movapd %xmm4, %xmm53350; SSE-NEXT: unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm2[0]3351; SSE-NEXT: movapd 240(%r8), %xmm73352; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm7[0],xmm4[1]3353; SSE-NEXT: movapd 240(%rdx), %xmm13354; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]3355; SSE-NEXT: movapd 240(%rcx), %xmm03356; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]3357; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm7[1]3358; SSE-NEXT: movapd %xmm0, 1264(%r9)3359; SSE-NEXT: movapd %xmm2, 1248(%r9)3360; SSE-NEXT: movapd %xmm4, 1232(%r9)3361; SSE-NEXT: movapd %xmm1, 1216(%r9)3362; SSE-NEXT: movapd %xmm5, 1200(%r9)3363; SSE-NEXT: movapd %xmm3, 1184(%r9)3364; SSE-NEXT: movapd %xmm8, 1168(%r9)3365; SSE-NEXT: movapd %xmm11, 1152(%r9)3366; SSE-NEXT: movapd %xmm6, 1136(%r9)3367; SSE-NEXT: movapd %xmm12, 1120(%r9)3368; SSE-NEXT: movapd %xmm9, 1104(%r9)3369; SSE-NEXT: movapd %xmm13, 1088(%r9)3370; SSE-NEXT: movapd %xmm14, 1072(%r9)3371; SSE-NEXT: movapd %xmm10, 1056(%r9)3372; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3373; SSE-NEXT: movaps %xmm0, 1040(%r9)3374; SSE-NEXT: movapd %xmm15, 1024(%r9)3375; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3376; SSE-NEXT: movaps %xmm0, 1008(%r9)3377; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3378; SSE-NEXT: movaps %xmm0, 992(%r9)3379; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3380; SSE-NEXT: movaps %xmm0, 976(%r9)3381; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3382; SSE-NEXT: movaps %xmm0, 960(%r9)3383; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3384; SSE-NEXT: movaps %xmm0, 944(%r9)3385; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3386; SSE-NEXT: movaps %xmm0, 928(%r9)3387; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload3388; SSE-NEXT: movaps %xmm0, 912(%r9)3389; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3390; SSE-NEXT: movaps %xmm0, 896(%r9)3391; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3392; SSE-NEXT: movaps %xmm0, 880(%r9)3393; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3394; SSE-NEXT: movaps %xmm0, 864(%r9)3395; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3396; SSE-NEXT: movaps %xmm0, 848(%r9)3397; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3398; SSE-NEXT: movaps %xmm0, 832(%r9)3399; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3400; SSE-NEXT: movaps %xmm0, 816(%r9)3401; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3402; SSE-NEXT: movaps %xmm0, 800(%r9)3403; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3404; SSE-NEXT: movaps %xmm0, 784(%r9)3405; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3406; SSE-NEXT: movaps %xmm0, 768(%r9)3407; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3408; SSE-NEXT: movaps %xmm0, 752(%r9)3409; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3410; SSE-NEXT: movaps %xmm0, 736(%r9)3411; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3412; SSE-NEXT: movaps %xmm0, 720(%r9)3413; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3414; SSE-NEXT: movaps %xmm0, 704(%r9)3415; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3416; SSE-NEXT: movaps %xmm0, 688(%r9)3417; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3418; SSE-NEXT: movaps %xmm0, 672(%r9)3419; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3420; SSE-NEXT: movaps %xmm0, 656(%r9)3421; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3422; SSE-NEXT: movaps %xmm0, 640(%r9)3423; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3424; SSE-NEXT: movaps %xmm0, 624(%r9)3425; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3426; SSE-NEXT: movaps %xmm0, 608(%r9)3427; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3428; SSE-NEXT: movaps %xmm0, 592(%r9)3429; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3430; SSE-NEXT: movaps %xmm0, 576(%r9)3431; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3432; SSE-NEXT: movaps %xmm0, 560(%r9)3433; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3434; SSE-NEXT: movaps %xmm0, 544(%r9)3435; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3436; SSE-NEXT: movaps %xmm0, 528(%r9)3437; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3438; SSE-NEXT: movaps %xmm0, 512(%r9)3439; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3440; SSE-NEXT: movaps %xmm0, 496(%r9)3441; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3442; SSE-NEXT: movaps %xmm0, 480(%r9)3443; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3444; SSE-NEXT: movaps %xmm0, 464(%r9)3445; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3446; SSE-NEXT: movaps %xmm0, 448(%r9)3447; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3448; SSE-NEXT: movaps %xmm0, 432(%r9)3449; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3450; SSE-NEXT: movaps %xmm0, 416(%r9)3451; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3452; SSE-NEXT: movaps %xmm0, 400(%r9)3453; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3454; SSE-NEXT: movaps %xmm0, 384(%r9)3455; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3456; SSE-NEXT: movaps %xmm0, 368(%r9)3457; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3458; SSE-NEXT: movaps %xmm0, 352(%r9)3459; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3460; SSE-NEXT: movaps %xmm0, 336(%r9)3461; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3462; SSE-NEXT: movaps %xmm0, 320(%r9)3463; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3464; SSE-NEXT: movaps %xmm0, 304(%r9)3465; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3466; SSE-NEXT: movaps %xmm0, 288(%r9)3467; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3468; SSE-NEXT: movaps %xmm0, 272(%r9)3469; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3470; SSE-NEXT: movaps %xmm0, 256(%r9)3471; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3472; SSE-NEXT: movaps %xmm0, 240(%r9)3473; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3474; SSE-NEXT: movaps %xmm0, 224(%r9)3475; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3476; SSE-NEXT: movaps %xmm0, 208(%r9)3477; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3478; SSE-NEXT: movaps %xmm0, 192(%r9)3479; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3480; SSE-NEXT: movaps %xmm0, 176(%r9)3481; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3482; SSE-NEXT: movaps %xmm0, 160(%r9)3483; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3484; SSE-NEXT: movaps %xmm0, 144(%r9)3485; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3486; SSE-NEXT: movaps %xmm0, 128(%r9)3487; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3488; SSE-NEXT: movaps %xmm0, 112(%r9)3489; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3490; SSE-NEXT: movaps %xmm0, 96(%r9)3491; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3492; SSE-NEXT: movaps %xmm0, 80(%r9)3493; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3494; SSE-NEXT: movaps %xmm0, 64(%r9)3495; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3496; SSE-NEXT: movaps %xmm0, 48(%r9)3497; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3498; SSE-NEXT: movaps %xmm0, 32(%r9)3499; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3500; SSE-NEXT: movaps %xmm0, 16(%r9)3501; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3502; SSE-NEXT: movaps %xmm0, (%r9)3503; SSE-NEXT: addq $920, %rsp # imm = 0x3983504; SSE-NEXT: retq3505;3506; AVX-LABEL: store_i64_stride5_vf32:3507; AVX: # %bb.0:3508; AVX-NEXT: subq $1048, %rsp # imm = 0x4183509; AVX-NEXT: vmovaps 192(%rdi), %ymm93510; AVX-NEXT: vmovapd 160(%rdi), %ymm73511; AVX-NEXT: vmovapd 96(%rdi), %ymm53512; AVX-NEXT: vmovaps 128(%rcx), %ymm03513; AVX-NEXT: vmovaps (%rcx), %ymm13514; AVX-NEXT: vmovaps 64(%rcx), %ymm23515; AVX-NEXT: vpermilps {{.*#+}} xmm3 = mem[2,3,2,3]3516; AVX-NEXT: vmovaps 16(%rdx), %xmm63517; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3518; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm6[1],ymm1[3],ymm6[3]3519; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3,4,5,6,7]3520; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3521; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]3522; AVX-NEXT: vmovaps 80(%rdx), %xmm33523; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3524; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3525; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3,4,5,6,7]3526; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3527; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],mem[0],ymm5[2],mem[2]3528; AVX-NEXT: vmovapd 96(%rcx), %xmm23529; AVX-NEXT: vmovapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3530; AVX-NEXT: vshufps {{.*#+}} xmm2 = xmm2[2,3,2,3]3531; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]3532; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3533; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]3534; AVX-NEXT: vmovaps 144(%rdx), %xmm23535; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3536; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]3537; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]3538; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3539; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],mem[0],ymm7[2],mem[2]3540; AVX-NEXT: vmovapd 160(%rcx), %xmm13541; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3542; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]3543; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]3544; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3545; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],mem[0],ymm9[2],mem[2]3546; AVX-NEXT: vmovaps 192(%rcx), %xmm13547; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3548; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]3549; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3550; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3551; AVX-NEXT: vmovaps 192(%rcx), %ymm03552; AVX-NEXT: vmovaps 208(%rdx), %xmm13553; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3554; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3555; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]3556; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]3557; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3558; AVX-NEXT: vmovaps (%rdi), %ymm83559; AVX-NEXT: vbroadcastsd 8(%rsi), %ymm03560; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]3561; AVX-NEXT: vmovaps (%rdx), %xmm13562; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3563; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm13564; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3565; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3566; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]3567; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm8[0],mem[0],ymm8[2],mem[2]3568; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3569; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3570; AVX-NEXT: vmovapd 32(%rdi), %ymm23571; AVX-NEXT: vbroadcastsd 40(%rsi), %ymm03572; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]3573; AVX-NEXT: vmovaps 32(%rdx), %xmm13574; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3575; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm13576; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3577; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3578; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]3579; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]3580; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]3581; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3582; AVX-NEXT: vmovaps 64(%rdi), %ymm143583; AVX-NEXT: vbroadcastsd 72(%rsi), %ymm03584; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]3585; AVX-NEXT: vmovaps 64(%rdx), %xmm13586; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3587; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm13588; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3589; AVX-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill3590; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]3591; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm14[0],mem[0],ymm14[2],mem[2]3592; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3593; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3594; AVX-NEXT: vbroadcastsd 104(%rsi), %ymm03595; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm5[0,1],ymm0[2,3]3596; AVX-NEXT: vmovaps 96(%rdx), %xmm13597; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3598; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm13599; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3600; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3601; AVX-NEXT: vmovaps 128(%rdi), %ymm13602; AVX-NEXT: vbroadcastsd 136(%rsi), %ymm03603; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3604; AVX-NEXT: vmovaps 128(%rdx), %xmm33605; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3606; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm33607; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]3608; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3609; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]3610; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm1[0],mem[0],ymm1[2],mem[2]3611; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm3[4,5,6,7]3612; AVX-NEXT: vbroadcastsd 168(%rsi), %ymm03613; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]3614; AVX-NEXT: vmovaps 160(%rdx), %xmm43615; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm33616; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm3[3]3617; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3618; AVX-NEXT: vbroadcastsd 200(%rsi), %ymm03619; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]3620; AVX-NEXT: vmovaps 192(%rdx), %xmm33621; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm63622; AVX-NEXT: vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3,4,5],ymm6[6,7]3623; AVX-NEXT: vmovapd 224(%rdi), %ymm03624; AVX-NEXT: vbroadcastsd 232(%rsi), %ymm63625; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm0[0,1],ymm6[2,3]3626; AVX-NEXT: vmovaps 224(%rdx), %xmm113627; AVX-NEXT: vmovaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3628; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm113629; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm6[0,1,2],ymm11[3]3630; AVX-NEXT: vpermilps {{.*#+}} xmm6 = mem[2,3,2,3]3631; AVX-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm0[0],mem[0],ymm0[2],mem[2]3632; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm15[2,3]3633; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3634; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm13[0],mem[0]3635; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm15[0,1,2,3],ymm8[4,5,6,7]3636; AVX-NEXT: vmovaps (%r8), %ymm153637; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm13 # 32-byte Folded Reload3638; AVX-NEXT: # ymm13 = mem[0,1,2,3,4,5],ymm15[6,7]3639; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3640; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm13 # 32-byte Folded Reload3641; AVX-NEXT: # ymm13 = ymm15[0,1],mem[2,3,4,5,6,7]3642; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3643; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm13 # 32-byte Folded Reload3644; AVX-NEXT: # ymm13 = mem[0,1],ymm15[2,3],mem[4,5,6,7]3645; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3646; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm15[4,5],ymm8[6,7]3647; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3648; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm2[2,3]3649; AVX-NEXT: vmovapd 48(%rdx), %xmm83650; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm8[0],ymm2[0],ymm8[2],ymm2[3]3651; AVX-NEXT: vmovapd 48(%rsi), %xmm153652; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm15[1],xmm8[1]3653; AVX-NEXT: vbroadcastsd 56(%rcx), %ymm153654; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm8[0,1],ymm15[2,3]3655; AVX-NEXT: vmovapd 32(%r8), %ymm153656; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm13 # 32-byte Folded Reload3657; AVX-NEXT: # ymm13 = ymm15[0],mem[1,2,3]3658; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3659; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm13 # 32-byte Folded Reload3660; AVX-NEXT: # ymm13 = mem[0],ymm15[1],mem[2,3]3661; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3662; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm15[2],ymm2[3]3663; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3664; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm8[0,1,2],ymm15[3]3665; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3666; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3667; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]3668; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]3669; AVX-NEXT: vmovaps 64(%r8), %ymm83670; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm13 # 32-byte Folded Reload3671; AVX-NEXT: # ymm13 = mem[0,1,2,3,4,5],ymm8[6,7]3672; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3673; AVX-NEXT: vblendps $252, (%rsp), %ymm8, %ymm13 # 32-byte Folded Reload3674; AVX-NEXT: # ymm13 = ymm8[0,1],mem[2,3,4,5,6,7]3675; AVX-NEXT: vmovups %ymm13, (%rsp) # 32-byte Spill3676; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm13 # 32-byte Folded Reload3677; AVX-NEXT: # ymm13 = mem[0,1],ymm8[2,3],mem[4,5,6,7]3678; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3679; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm8[4,5],ymm2[6,7]3680; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3681; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm5[2,3]3682; AVX-NEXT: vmovapd 112(%rdx), %xmm53683; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm5[0],ymm2[0],ymm5[2],ymm2[3]3684; AVX-NEXT: vmovapd 112(%rsi), %xmm83685; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm8[1],xmm5[1]3686; AVX-NEXT: vbroadcastsd 120(%rcx), %ymm83687; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm8[2,3]3688; AVX-NEXT: vmovapd 96(%r8), %ymm83689; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm13 # 32-byte Folded Reload3690; AVX-NEXT: # ymm13 = mem[0],ymm8[1],mem[2,3]3691; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3692; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm13 # 32-byte Folded Reload3693; AVX-NEXT: # ymm13 = ymm8[0],mem[1,2,3]3694; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3695; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm8[2],ymm2[3]3696; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3697; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm5[0,1,2],ymm8[3]3698; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3699; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3700; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]3701; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]3702; AVX-NEXT: vmovaps 128(%r8), %ymm23703; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload3704; AVX-NEXT: # ymm5 = mem[0,1,2,3,4,5],ymm2[6,7]3705; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3706; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload3707; AVX-NEXT: # ymm5 = ymm2[0,1],mem[2,3,4,5,6,7]3708; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3709; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm10[0,1],ymm2[2,3],ymm10[4,5,6,7]3710; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3711; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]3712; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3713; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = mem[2,3],ymm7[2,3]3714; AVX-NEXT: vmovapd 176(%rdx), %xmm23715; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[3]3716; AVX-NEXT: vmovapd 176(%rsi), %xmm53717; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm2[1]3718; AVX-NEXT: vbroadcastsd 184(%rcx), %ymm53719; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm5[2,3]3720; AVX-NEXT: vmovapd 160(%r8), %ymm53721; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm7 # 32-byte Folded Reload3722; AVX-NEXT: # ymm7 = mem[0],ymm5[1],mem[2,3]3723; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3724; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm7 # 32-byte Folded Reload3725; AVX-NEXT: # ymm7 = ymm5[0],mem[1,2,3]3726; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3727; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm5[2],ymm1[3]3728; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3729; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1,2],ymm5[3]3730; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3731; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3732; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm1[0],mem[0]3733; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]3734; AVX-NEXT: vmovaps 192(%r8), %ymm23735; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload3736; AVX-NEXT: # ymm5 = mem[0,1],ymm2[2,3],mem[4,5,6,7]3737; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3738; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload3739; AVX-NEXT: # ymm5 = mem[0,1,2,3,4,5],ymm2[6,7]3740; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3741; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm2[0,1],ymm12[2,3,4,5,6,7]3742; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3743; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]3744; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3745; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]3746; AVX-NEXT: vmovapd 240(%rdx), %xmm13747; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]3748; AVX-NEXT: vmovapd 240(%rsi), %xmm23749; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]3750; AVX-NEXT: vbroadcastsd 248(%rcx), %ymm23751; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]3752; AVX-NEXT: vmovapd 224(%r8), %ymm53753; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm5[0],ymm11[1,2,3]3754; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3755; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm6[0],ymm5[1],ymm6[2,3]3756; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3757; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm5[2],ymm0[3]3758; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3759; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm5[3]3760; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3761; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3762; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload3763; AVX-NEXT: # xmm7 = xmm0[0],mem[0]3764; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm5 # 16-byte Folded Reload3765; AVX-NEXT: # xmm5 = xmm4[0],mem[0]3766; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm2 # 16-byte Folded Reload3767; AVX-NEXT: # xmm2 = xmm3[0],mem[0]3768; AVX-NEXT: vmovaps 128(%rdi), %xmm13769; AVX-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm1[0],mem[0]3770; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3771; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm0[0],mem[0]3772; AVX-NEXT: vmovaps 64(%rdi), %xmm143773; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm14[0],mem[0]3774; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3775; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm0[0],mem[0]3776; AVX-NEXT: vmovaps 32(%rdi), %xmm123777; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]3778; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3779; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3780; AVX-NEXT: vmovaps 96(%rdi), %xmm153781; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]3782; AVX-NEXT: vmovaps 160(%rdi), %xmm133783; AVX-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]3784; AVX-NEXT: vmovaps 224(%rdi), %xmm93785; AVX-NEXT: vunpcklpd {{.*#+}} xmm9 = xmm9[0],mem[0]3786; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3787; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]3788; AVX-NEXT: vmovaps 192(%rdi), %xmm113789; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]3790; AVX-NEXT: vmovaps (%rdi), %xmm103791; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]3792; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3793; AVX-NEXT: vunpcklpd {{.*#+}} xmm8 = xmm8[0],mem[0]3794; AVX-NEXT: vmovaps %xmm8, 16(%r9)3795; AVX-NEXT: vmovaps %xmm10, (%r9)3796; AVX-NEXT: vmovaps %xmm2, 976(%r9)3797; AVX-NEXT: vmovaps %xmm11, 960(%r9)3798; AVX-NEXT: vmovaps %xmm0, 1136(%r9)3799; AVX-NEXT: vmovaps %xmm9, 1120(%r9)3800; AVX-NEXT: vmovaps %xmm5, 816(%r9)3801; AVX-NEXT: vmovaps %xmm13, 800(%r9)3802; AVX-NEXT: vmovaps %xmm7, 496(%r9)3803; AVX-NEXT: vmovaps %xmm15, 480(%r9)3804; AVX-NEXT: vmovaps %xmm1, 176(%r9)3805; AVX-NEXT: vmovaps %xmm12, 160(%r9)3806; AVX-NEXT: vmovaps %xmm3, 336(%r9)3807; AVX-NEXT: vmovaps %xmm14, 320(%r9)3808; AVX-NEXT: vmovaps %xmm4, 656(%r9)3809; AVX-NEXT: vmovaps %xmm6, 640(%r9)3810; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3811; AVX-NEXT: vmovaps %ymm0, 1216(%r9)3812; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3813; AVX-NEXT: vmovaps %ymm0, 1184(%r9)3814; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3815; AVX-NEXT: vmovaps %ymm0, 1152(%r9)3816; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3817; AVX-NEXT: vmovaps %ymm0, 992(%r9)3818; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3819; AVX-NEXT: vmovaps %ymm0, 896(%r9)3820; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3821; AVX-NEXT: vmovaps %ymm0, 832(%r9)3822; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3823; AVX-NEXT: vmovaps %ymm0, 704(%r9)3824; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3825; AVX-NEXT: vmovaps %ymm0, 672(%r9)3826; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3827; AVX-NEXT: vmovaps %ymm0, 576(%r9)3828; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3829; AVX-NEXT: vmovaps %ymm0, 512(%r9)3830; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3831; AVX-NEXT: vmovaps %ymm0, 384(%r9)3832; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload3833; AVX-NEXT: vmovaps %ymm0, 352(%r9)3834; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3835; AVX-NEXT: vmovaps %ymm0, 256(%r9)3836; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3837; AVX-NEXT: vmovaps %ymm0, 224(%r9)3838; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3839; AVX-NEXT: vmovaps %ymm0, 192(%r9)3840; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3841; AVX-NEXT: vmovaps %ymm0, 64(%r9)3842; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3843; AVX-NEXT: vmovaps %ymm0, 32(%r9)3844; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3845; AVX-NEXT: vmovaps %ymm0, 1248(%r9)3846; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3847; AVX-NEXT: vmovaps %ymm0, 1088(%r9)3848; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3849; AVX-NEXT: vmovaps %ymm0, 1056(%r9)3850; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3851; AVX-NEXT: vmovaps %ymm0, 1024(%r9)3852; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3853; AVX-NEXT: vmovaps %ymm0, 928(%r9)3854; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3855; AVX-NEXT: vmovaps %ymm0, 864(%r9)3856; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3857; AVX-NEXT: vmovaps %ymm0, 768(%r9)3858; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3859; AVX-NEXT: vmovaps %ymm0, 736(%r9)3860; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3861; AVX-NEXT: vmovaps %ymm0, 608(%r9)3862; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3863; AVX-NEXT: vmovaps %ymm0, 544(%r9)3864; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3865; AVX-NEXT: vmovaps %ymm0, 448(%r9)3866; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3867; AVX-NEXT: vmovaps %ymm0, 416(%r9)3868; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3869; AVX-NEXT: vmovaps %ymm0, 288(%r9)3870; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3871; AVX-NEXT: vmovaps %ymm0, 128(%r9)3872; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3873; AVX-NEXT: vmovaps %ymm0, 96(%r9)3874; AVX-NEXT: addq $1048, %rsp # imm = 0x4183875; AVX-NEXT: vzeroupper3876; AVX-NEXT: retq3877;3878; AVX2-LABEL: store_i64_stride5_vf32:3879; AVX2: # %bb.0:3880; AVX2-NEXT: subq $1128, %rsp # imm = 0x4683881; AVX2-NEXT: vmovaps 96(%rdi), %ymm133882; AVX2-NEXT: vmovaps 64(%rdi), %ymm73883; AVX2-NEXT: vmovaps 32(%rdi), %ymm93884; AVX2-NEXT: vmovaps (%rdi), %ymm123885; AVX2-NEXT: vmovaps (%rsi), %xmm23886; AVX2-NEXT: vmovaps 32(%rsi), %xmm43887; AVX2-NEXT: vmovaps 64(%rsi), %xmm13888; AVX2-NEXT: vmovaps 96(%rsi), %xmm03889; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm53890; AVX2-NEXT: vmovaps (%rdi), %xmm63891; AVX2-NEXT: vmovaps 32(%rdi), %xmm83892; AVX2-NEXT: vmovaps 64(%rdi), %xmm23893; AVX2-NEXT: vmovaps (%rdx), %xmm103894; AVX2-NEXT: vmovaps 32(%rdx), %xmm113895; AVX2-NEXT: vmovaps 64(%rdx), %xmm33896; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm6, %ymm63897; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]3898; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3899; AVX2-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm53900; AVX2-NEXT: vbroadcastsd 8(%rsi), %ymm63901; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3902; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]3903; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]3904; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3905; AVX2-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]3906; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm12[0],mem[0],ymm12[2],mem[2]3907; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]3908; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3909; AVX2-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm43910; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm8, %ymm53911; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]3912; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3913; AVX2-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm43914; AVX2-NEXT: vbroadcastsd 40(%rsi), %ymm53915; AVX2-NEXT: vmovups %ymm9, (%rsp) # 32-byte Spill3916; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]3917; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]3918; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3919; AVX2-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]3920; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm9[0],mem[0],ymm9[2],mem[2]3921; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]3922; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3923; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm13924; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm23925; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3926; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3927; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm13928; AVX2-NEXT: vbroadcastsd 72(%rsi), %ymm23929; AVX2-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3930; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]3931; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]3932; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3933; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]3934; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm7[0],mem[0],ymm7[2],mem[2]3935; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3936; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3937; AVX2-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm03938; AVX2-NEXT: vmovaps 96(%rdi), %xmm13939; AVX2-NEXT: vmovaps 96(%rdx), %xmm23940; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm13941; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3942; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3943; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm03944; AVX2-NEXT: vbroadcastsd 104(%rsi), %ymm13945; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]3946; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3947; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3948; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3949; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],mem[0],ymm13[2],mem[2]3950; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3951; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3952; AVX2-NEXT: vmovaps 128(%rsi), %xmm03953; AVX2-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm03954; AVX2-NEXT: vmovaps 128(%rdi), %xmm13955; AVX2-NEXT: vmovaps 128(%rdx), %xmm23956; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm13957; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3958; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3959; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm03960; AVX2-NEXT: vmovaps 128(%rdi), %ymm23961; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3962; AVX2-NEXT: vbroadcastsd 136(%rsi), %ymm13963; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]3964; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3965; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3966; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3967; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]3968; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3969; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3970; AVX2-NEXT: vmovaps 160(%rsi), %xmm03971; AVX2-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm03972; AVX2-NEXT: vmovaps 160(%rdi), %xmm13973; AVX2-NEXT: vmovaps 160(%rdx), %xmm23974; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm13975; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3976; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3977; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm03978; AVX2-NEXT: vmovaps 160(%rdi), %ymm23979; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3980; AVX2-NEXT: vbroadcastsd 168(%rsi), %ymm13981; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]3982; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3983; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3984; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]3985; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]3986; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3987; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3988; AVX2-NEXT: vmovaps 192(%rsi), %xmm03989; AVX2-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm03990; AVX2-NEXT: vmovaps 192(%rdi), %xmm13991; AVX2-NEXT: vmovaps 192(%rdx), %xmm23992; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm13993; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3994; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3995; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm03996; AVX2-NEXT: vmovaps 192(%rdi), %ymm23997; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3998; AVX2-NEXT: vbroadcastsd 200(%rsi), %ymm13999; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4000; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4001; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4002; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4003; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4004; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4005; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4006; AVX2-NEXT: vmovaps 224(%rsi), %xmm04007; AVX2-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm04008; AVX2-NEXT: vmovaps 224(%rdi), %xmm14009; AVX2-NEXT: vmovaps 224(%rdx), %xmm24010; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14011; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4012; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4013; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04014; AVX2-NEXT: vmovaps 224(%rdi), %ymm94015; AVX2-NEXT: vbroadcastsd 232(%rsi), %ymm14016; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm9[0,1,2,3],ymm1[4,5,6,7]4017; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4018; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4019; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4020; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],mem[0],ymm9[2],mem[2]4021; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4022; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4023; AVX2-NEXT: vbroadcastsd 56(%rsi), %ymm04024; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4025; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm14026; AVX2-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]4027; AVX2-NEXT: vbroadcastsd 120(%rsi), %ymm04028; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4029; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm14030; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4031; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4032; AVX2-NEXT: vbroadcastsd 184(%rsi), %ymm04033; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4034; AVX2-NEXT: vbroadcastsd 184(%rcx), %ymm14035; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4036; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4037; AVX2-NEXT: vbroadcastsd 248(%rsi), %ymm04038; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4039; AVX2-NEXT: vbroadcastsd 248(%rcx), %ymm14040; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4041; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4042; AVX2-NEXT: vmovaps (%rdx), %ymm14043; AVX2-NEXT: vmovaps (%rcx), %ymm04044; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]4045; AVX2-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4046; AVX2-NEXT: vbroadcastsd 24(%rsi), %ymm34047; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1],ymm2[2,3,4,5,6,7]4048; AVX2-NEXT: vmovaps 64(%rdx), %ymm144049; AVX2-NEXT: vmovaps 64(%rcx), %ymm154050; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]4051; AVX2-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4052; AVX2-NEXT: vbroadcastsd 88(%rsi), %ymm34053; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1],ymm2[2,3,4,5,6,7]4054; AVX2-NEXT: vmovaps 128(%rdx), %ymm34055; AVX2-NEXT: vmovaps 128(%rcx), %ymm24056; AVX2-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]4057; AVX2-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]4058; AVX2-NEXT: vbroadcastsd 152(%rsi), %ymm54059; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm5[0,1],ymm4[2,3,4,5,6,7]4060; AVX2-NEXT: vmovaps 192(%rdx), %ymm54061; AVX2-NEXT: vmovaps 192(%rcx), %ymm44062; AVX2-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]4063; AVX2-NEXT: vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]4064; AVX2-NEXT: vbroadcastsd 216(%rsi), %ymm114065; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm10[2,3,4,5,6,7]4066; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4067; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4068; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4069; AVX2-NEXT: vmovaps (%r8), %ymm14070; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4071; AVX2-NEXT: # ymm10 = ymm1[0,1],mem[2,3,4,5,6,7]4072; AVX2-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4073; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4074; AVX2-NEXT: # ymm10 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4075; AVX2-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4076; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm1[6,7]4077; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4078; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4079; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4080; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4081; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]4082; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm14083; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4084; AVX2-NEXT: vmovaps 32(%r8), %ymm14085; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4086; AVX2-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4087; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4088; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4089; AVX2-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4090; AVX2-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill4091; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm1[6,7]4092; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4093; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4094; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4095; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]4096; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4097; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4098; AVX2-NEXT: vmovaps 64(%r8), %ymm14099; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4100; AVX2-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4101; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4102; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4103; AVX2-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4104; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4105; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3,4,5],ymm1[6,7]4106; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4107; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4108; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4109; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm13[2,3]4110; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm14111; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4112; AVX2-NEXT: vmovaps 96(%r8), %ymm14113; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4114; AVX2-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4115; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4116; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4117; AVX2-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4118; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4119; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4120; AVX2-NEXT: # ymm6 = mem[0,1,2,3,4,5],ymm1[6,7]4121; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4122; AVX2-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4123; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]4124; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4125; AVX2-NEXT: # ymm1 = ymm0[2,3],mem[2,3]4126; AVX2-NEXT: vmovaps 128(%r8), %ymm24127; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm13 # 32-byte Folded Reload4128; AVX2-NEXT: # ymm13 = ymm2[0,1],mem[2,3,4,5,6,7]4129; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm12 # 32-byte Folded Reload4130; AVX2-NEXT: # ymm12 = mem[0,1],ymm2[2,3],mem[4,5,6,7]4131; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm2[6,7]4132; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4133; AVX2-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4134; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4135; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm0[2,3]4136; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm34137; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]4138; AVX2-NEXT: vmovaps 160(%r8), %ymm34139; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm7 # 32-byte Folded Reload4140; AVX2-NEXT: # ymm7 = ymm3[0,1],mem[2,3,4,5,6,7]4141; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm6 # 32-byte Folded Reload4142; AVX2-NEXT: # ymm6 = mem[0,1],ymm3[2,3],mem[4,5,6,7]4143; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm0 # 32-byte Folded Reload4144; AVX2-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm3[6,7]4145; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4146; AVX2-NEXT: vblendps {{.*#+}} ymm8 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4147; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]4148; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload4149; AVX2-NEXT: # ymm2 = ymm2[2,3],mem[2,3]4150; AVX2-NEXT: vmovaps 192(%r8), %ymm44151; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload4152; AVX2-NEXT: # ymm5 = ymm4[0,1],mem[2,3,4,5,6,7]4153; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm3 # 32-byte Folded Reload4154; AVX2-NEXT: # ymm3 = mem[0,1],ymm4[2,3],mem[4,5,6,7]4155; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm11[0,1,2,3,4,5],ymm4[6,7]4156; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]4157; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm9[2,3]4158; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm94159; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm2[0,1],ymm9[2,3],ymm2[4,5,6,7]4160; AVX2-NEXT: vmovaps 224(%r8), %ymm04161; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload4162; AVX2-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]4163; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4164; AVX2-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]4165; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload4166; AVX2-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]4167; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5],ymm9[6,7]4168; AVX2-NEXT: vmovaps %ymm0, 1216(%r9)4169; AVX2-NEXT: vmovaps %ymm1, 1184(%r9)4170; AVX2-NEXT: vmovaps %ymm2, 1152(%r9)4171; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4172; AVX2-NEXT: vmovaps %ymm0, 1120(%r9)4173; AVX2-NEXT: vmovaps %ymm4, 1056(%r9)4174; AVX2-NEXT: vmovaps %ymm3, 1024(%r9)4175; AVX2-NEXT: vmovaps %ymm5, 992(%r9)4176; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4177; AVX2-NEXT: vmovaps %ymm0, 960(%r9)4178; AVX2-NEXT: vmovaps %ymm8, 896(%r9)4179; AVX2-NEXT: vmovaps %ymm6, 864(%r9)4180; AVX2-NEXT: vmovaps %ymm7, 832(%r9)4181; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4182; AVX2-NEXT: vmovaps %ymm0, 800(%r9)4183; AVX2-NEXT: vmovaps %ymm10, 736(%r9)4184; AVX2-NEXT: vmovaps %ymm12, 704(%r9)4185; AVX2-NEXT: vmovaps %ymm13, 672(%r9)4186; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4187; AVX2-NEXT: vmovaps %ymm0, 640(%r9)4188; AVX2-NEXT: vmovaps %ymm15, 576(%r9)4189; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4190; AVX2-NEXT: vmovaps %ymm0, 544(%r9)4191; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4192; AVX2-NEXT: vmovaps %ymm0, 512(%r9)4193; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4194; AVX2-NEXT: vmovaps %ymm0, 480(%r9)4195; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4196; AVX2-NEXT: vmovaps %ymm0, 416(%r9)4197; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4198; AVX2-NEXT: vmovaps %ymm0, 384(%r9)4199; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4200; AVX2-NEXT: vmovaps %ymm0, 352(%r9)4201; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4202; AVX2-NEXT: vmovaps %ymm0, 320(%r9)4203; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4204; AVX2-NEXT: vmovaps %ymm0, 256(%r9)4205; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4206; AVX2-NEXT: vmovaps %ymm0, 224(%r9)4207; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4208; AVX2-NEXT: vmovaps %ymm0, 192(%r9)4209; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4210; AVX2-NEXT: vmovaps %ymm0, 160(%r9)4211; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4212; AVX2-NEXT: vmovaps %ymm0, 96(%r9)4213; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4214; AVX2-NEXT: vmovaps %ymm0, 64(%r9)4215; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4216; AVX2-NEXT: vmovaps %ymm0, 32(%r9)4217; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4218; AVX2-NEXT: vmovaps %ymm0, (%r9)4219; AVX2-NEXT: vmovaps %ymm14, 1088(%r9)4220; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4221; AVX2-NEXT: vmovaps %ymm0, 768(%r9)4222; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4223; AVX2-NEXT: vmovaps %ymm0, 448(%r9)4224; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4225; AVX2-NEXT: vmovaps %ymm0, 128(%r9)4226; AVX2-NEXT: vmovaps %ymm11, 1248(%r9)4227; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4228; AVX2-NEXT: vmovaps %ymm0, 928(%r9)4229; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4230; AVX2-NEXT: vmovaps %ymm0, 608(%r9)4231; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4232; AVX2-NEXT: vmovaps %ymm0, 288(%r9)4233; AVX2-NEXT: addq $1128, %rsp # imm = 0x4684234; AVX2-NEXT: vzeroupper4235; AVX2-NEXT: retq4236;4237; AVX2-FP-LABEL: store_i64_stride5_vf32:4238; AVX2-FP: # %bb.0:4239; AVX2-FP-NEXT: subq $1128, %rsp # imm = 0x4684240; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm134241; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm74242; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm94243; AVX2-FP-NEXT: vmovaps (%rdi), %ymm124244; AVX2-FP-NEXT: vmovaps (%rsi), %xmm24245; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm44246; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm14247; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm04248; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm54249; AVX2-FP-NEXT: vmovaps (%rdi), %xmm64250; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm84251; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm24252; AVX2-FP-NEXT: vmovaps (%rdx), %xmm104253; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm114254; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm34255; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm6, %ymm64256; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]4257; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4258; AVX2-FP-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm54259; AVX2-FP-NEXT: vbroadcastsd 8(%rsi), %ymm64260; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4261; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]4262; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]4263; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4264; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]4265; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm12[0],mem[0],ymm12[2],mem[2]4266; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]4267; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4268; AVX2-FP-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm44269; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm8, %ymm54270; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]4271; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4272; AVX2-FP-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm44273; AVX2-FP-NEXT: vbroadcastsd 40(%rsi), %ymm54274; AVX2-FP-NEXT: vmovups %ymm9, (%rsp) # 32-byte Spill4275; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]4276; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4277; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4278; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]4279; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm9[0],mem[0],ymm9[2],mem[2]4280; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4281; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4282; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm14283; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm24284; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]4285; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4286; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm14287; AVX2-FP-NEXT: vbroadcastsd 72(%rsi), %ymm24288; AVX2-FP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4289; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]4290; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4291; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4292; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]4293; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm7[0],mem[0],ymm7[2],mem[2]4294; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]4295; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4296; AVX2-FP-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm04297; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm14298; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm24299; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14300; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4301; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4302; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04303; AVX2-FP-NEXT: vbroadcastsd 104(%rsi), %ymm14304; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]4305; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4306; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4307; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4308; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],mem[0],ymm13[2],mem[2]4309; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4310; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4311; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm04312; AVX2-FP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm04313; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm14314; AVX2-FP-NEXT: vmovaps 128(%rdx), %xmm24315; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14316; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4317; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4318; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04319; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm24320; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4321; AVX2-FP-NEXT: vbroadcastsd 136(%rsi), %ymm14322; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4323; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4324; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4325; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4326; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4327; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4328; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4329; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm04330; AVX2-FP-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm04331; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm14332; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm24333; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14334; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4335; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4336; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04337; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm24338; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4339; AVX2-FP-NEXT: vbroadcastsd 168(%rsi), %ymm14340; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4341; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4342; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4343; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4344; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4345; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4346; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4347; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm04348; AVX2-FP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm04349; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm14350; AVX2-FP-NEXT: vmovaps 192(%rdx), %xmm24351; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14352; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4353; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4354; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04355; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm24356; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4357; AVX2-FP-NEXT: vbroadcastsd 200(%rsi), %ymm14358; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4359; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4360; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4361; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4362; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4363; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4364; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4365; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm04366; AVX2-FP-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm04367; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm14368; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm24369; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14370; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4371; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4372; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04373; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm94374; AVX2-FP-NEXT: vbroadcastsd 232(%rsi), %ymm14375; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm9[0,1,2,3],ymm1[4,5,6,7]4376; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4377; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4378; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4379; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],mem[0],ymm9[2],mem[2]4380; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4381; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4382; AVX2-FP-NEXT: vbroadcastsd 56(%rsi), %ymm04383; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4384; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm14385; AVX2-FP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]4386; AVX2-FP-NEXT: vbroadcastsd 120(%rsi), %ymm04387; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4388; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm14389; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4390; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4391; AVX2-FP-NEXT: vbroadcastsd 184(%rsi), %ymm04392; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4393; AVX2-FP-NEXT: vbroadcastsd 184(%rcx), %ymm14394; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4395; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4396; AVX2-FP-NEXT: vbroadcastsd 248(%rsi), %ymm04397; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4398; AVX2-FP-NEXT: vbroadcastsd 248(%rcx), %ymm14399; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4400; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4401; AVX2-FP-NEXT: vmovaps (%rdx), %ymm14402; AVX2-FP-NEXT: vmovaps (%rcx), %ymm04403; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]4404; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4405; AVX2-FP-NEXT: vbroadcastsd 24(%rsi), %ymm34406; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1],ymm2[2,3,4,5,6,7]4407; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm144408; AVX2-FP-NEXT: vmovaps 64(%rcx), %ymm154409; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]4410; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4411; AVX2-FP-NEXT: vbroadcastsd 88(%rsi), %ymm34412; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1],ymm2[2,3,4,5,6,7]4413; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm34414; AVX2-FP-NEXT: vmovaps 128(%rcx), %ymm24415; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]4416; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]4417; AVX2-FP-NEXT: vbroadcastsd 152(%rsi), %ymm54418; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm5[0,1],ymm4[2,3,4,5,6,7]4419; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm54420; AVX2-FP-NEXT: vmovaps 192(%rcx), %ymm44421; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]4422; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]4423; AVX2-FP-NEXT: vbroadcastsd 216(%rsi), %ymm114424; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm10[2,3,4,5,6,7]4425; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4426; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4427; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4428; AVX2-FP-NEXT: vmovaps (%r8), %ymm14429; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4430; AVX2-FP-NEXT: # ymm10 = ymm1[0,1],mem[2,3,4,5,6,7]4431; AVX2-FP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4432; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4433; AVX2-FP-NEXT: # ymm10 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4434; AVX2-FP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4435; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm1[6,7]4436; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4437; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4438; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4439; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4440; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]4441; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm14442; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4443; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm14444; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4445; AVX2-FP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4446; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4447; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4448; AVX2-FP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4449; AVX2-FP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill4450; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm1[6,7]4451; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4452; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4453; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4454; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]4455; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4456; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4457; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm14458; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4459; AVX2-FP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4460; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4461; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4462; AVX2-FP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4463; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4464; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3,4,5],ymm1[6,7]4465; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4466; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4467; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4468; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm13[2,3]4469; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm14470; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4471; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm14472; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4473; AVX2-FP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4474; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4475; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4476; AVX2-FP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4477; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4478; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4479; AVX2-FP-NEXT: # ymm6 = mem[0,1,2,3,4,5],ymm1[6,7]4480; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4481; AVX2-FP-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4482; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]4483; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4484; AVX2-FP-NEXT: # ymm1 = ymm0[2,3],mem[2,3]4485; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm24486; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm13 # 32-byte Folded Reload4487; AVX2-FP-NEXT: # ymm13 = ymm2[0,1],mem[2,3,4,5,6,7]4488; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm12 # 32-byte Folded Reload4489; AVX2-FP-NEXT: # ymm12 = mem[0,1],ymm2[2,3],mem[4,5,6,7]4490; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm2[6,7]4491; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4492; AVX2-FP-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4493; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4494; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm0[2,3]4495; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm34496; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]4497; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm34498; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm7 # 32-byte Folded Reload4499; AVX2-FP-NEXT: # ymm7 = ymm3[0,1],mem[2,3,4,5,6,7]4500; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm6 # 32-byte Folded Reload4501; AVX2-FP-NEXT: # ymm6 = mem[0,1],ymm3[2,3],mem[4,5,6,7]4502; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm0 # 32-byte Folded Reload4503; AVX2-FP-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm3[6,7]4504; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4505; AVX2-FP-NEXT: vblendps {{.*#+}} ymm8 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4506; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]4507; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload4508; AVX2-FP-NEXT: # ymm2 = ymm2[2,3],mem[2,3]4509; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm44510; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload4511; AVX2-FP-NEXT: # ymm5 = ymm4[0,1],mem[2,3,4,5,6,7]4512; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm3 # 32-byte Folded Reload4513; AVX2-FP-NEXT: # ymm3 = mem[0,1],ymm4[2,3],mem[4,5,6,7]4514; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm11[0,1,2,3,4,5],ymm4[6,7]4515; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]4516; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm9[2,3]4517; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm94518; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm2[0,1],ymm9[2,3],ymm2[4,5,6,7]4519; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm04520; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload4521; AVX2-FP-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]4522; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4523; AVX2-FP-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]4524; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload4525; AVX2-FP-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]4526; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5],ymm9[6,7]4527; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%r9)4528; AVX2-FP-NEXT: vmovaps %ymm1, 1184(%r9)4529; AVX2-FP-NEXT: vmovaps %ymm2, 1152(%r9)4530; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4531; AVX2-FP-NEXT: vmovaps %ymm0, 1120(%r9)4532; AVX2-FP-NEXT: vmovaps %ymm4, 1056(%r9)4533; AVX2-FP-NEXT: vmovaps %ymm3, 1024(%r9)4534; AVX2-FP-NEXT: vmovaps %ymm5, 992(%r9)4535; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4536; AVX2-FP-NEXT: vmovaps %ymm0, 960(%r9)4537; AVX2-FP-NEXT: vmovaps %ymm8, 896(%r9)4538; AVX2-FP-NEXT: vmovaps %ymm6, 864(%r9)4539; AVX2-FP-NEXT: vmovaps %ymm7, 832(%r9)4540; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4541; AVX2-FP-NEXT: vmovaps %ymm0, 800(%r9)4542; AVX2-FP-NEXT: vmovaps %ymm10, 736(%r9)4543; AVX2-FP-NEXT: vmovaps %ymm12, 704(%r9)4544; AVX2-FP-NEXT: vmovaps %ymm13, 672(%r9)4545; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4546; AVX2-FP-NEXT: vmovaps %ymm0, 640(%r9)4547; AVX2-FP-NEXT: vmovaps %ymm15, 576(%r9)4548; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4549; AVX2-FP-NEXT: vmovaps %ymm0, 544(%r9)4550; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4551; AVX2-FP-NEXT: vmovaps %ymm0, 512(%r9)4552; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4553; AVX2-FP-NEXT: vmovaps %ymm0, 480(%r9)4554; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4555; AVX2-FP-NEXT: vmovaps %ymm0, 416(%r9)4556; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4557; AVX2-FP-NEXT: vmovaps %ymm0, 384(%r9)4558; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4559; AVX2-FP-NEXT: vmovaps %ymm0, 352(%r9)4560; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4561; AVX2-FP-NEXT: vmovaps %ymm0, 320(%r9)4562; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4563; AVX2-FP-NEXT: vmovaps %ymm0, 256(%r9)4564; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4565; AVX2-FP-NEXT: vmovaps %ymm0, 224(%r9)4566; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4567; AVX2-FP-NEXT: vmovaps %ymm0, 192(%r9)4568; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4569; AVX2-FP-NEXT: vmovaps %ymm0, 160(%r9)4570; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4571; AVX2-FP-NEXT: vmovaps %ymm0, 96(%r9)4572; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4573; AVX2-FP-NEXT: vmovaps %ymm0, 64(%r9)4574; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4575; AVX2-FP-NEXT: vmovaps %ymm0, 32(%r9)4576; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4577; AVX2-FP-NEXT: vmovaps %ymm0, (%r9)4578; AVX2-FP-NEXT: vmovaps %ymm14, 1088(%r9)4579; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4580; AVX2-FP-NEXT: vmovaps %ymm0, 768(%r9)4581; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4582; AVX2-FP-NEXT: vmovaps %ymm0, 448(%r9)4583; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4584; AVX2-FP-NEXT: vmovaps %ymm0, 128(%r9)4585; AVX2-FP-NEXT: vmovaps %ymm11, 1248(%r9)4586; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4587; AVX2-FP-NEXT: vmovaps %ymm0, 928(%r9)4588; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4589; AVX2-FP-NEXT: vmovaps %ymm0, 608(%r9)4590; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4591; AVX2-FP-NEXT: vmovaps %ymm0, 288(%r9)4592; AVX2-FP-NEXT: addq $1128, %rsp # imm = 0x4684593; AVX2-FP-NEXT: vzeroupper4594; AVX2-FP-NEXT: retq4595;4596; AVX2-FCP-LABEL: store_i64_stride5_vf32:4597; AVX2-FCP: # %bb.0:4598; AVX2-FCP-NEXT: subq $1128, %rsp # imm = 0x4684599; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm134600; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm74601; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm94602; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm124603; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm24604; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm44605; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm14606; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm04607; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm54608; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm64609; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm84610; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm24611; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm104612; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm114613; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm34614; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm6, %ymm64615; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]4616; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4617; AVX2-FCP-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm54618; AVX2-FCP-NEXT: vbroadcastsd 8(%rsi), %ymm64619; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4620; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]4621; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]4622; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4623; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]4624; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm12[0],mem[0],ymm12[2],mem[2]4625; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]4626; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4627; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm44628; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm8, %ymm54629; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]4630; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4631; AVX2-FCP-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm44632; AVX2-FCP-NEXT: vbroadcastsd 40(%rsi), %ymm54633; AVX2-FCP-NEXT: vmovups %ymm9, (%rsp) # 32-byte Spill4634; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]4635; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4636; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4637; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]4638; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm9[0],mem[0],ymm9[2],mem[2]4639; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4640; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4641; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm14642; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm24643; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]4644; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4645; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm14646; AVX2-FCP-NEXT: vbroadcastsd 72(%rsi), %ymm24647; AVX2-FCP-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4648; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]4649; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4650; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4651; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]4652; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm7[0],mem[0],ymm7[2],mem[2]4653; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]4654; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4655; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm04656; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm14657; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm24658; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14659; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4660; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4661; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04662; AVX2-FCP-NEXT: vbroadcastsd 104(%rsi), %ymm14663; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]4664; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4665; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4666; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4667; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],mem[0],ymm13[2],mem[2]4668; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4669; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4670; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm04671; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm04672; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm14673; AVX2-FCP-NEXT: vmovaps 128(%rdx), %xmm24674; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14675; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4676; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4677; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04678; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm24679; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4680; AVX2-FCP-NEXT: vbroadcastsd 136(%rsi), %ymm14681; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4682; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4683; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4684; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4685; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4686; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4687; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4688; AVX2-FCP-NEXT: vmovaps 160(%rsi), %xmm04689; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm04690; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm14691; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm24692; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14693; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4694; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4695; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04696; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm24697; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4698; AVX2-FCP-NEXT: vbroadcastsd 168(%rsi), %ymm14699; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4700; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4701; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4702; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4703; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4704; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4705; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4706; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm04707; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm04708; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm14709; AVX2-FCP-NEXT: vmovaps 192(%rdx), %xmm24710; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14711; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4712; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4713; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04714; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm24715; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4716; AVX2-FCP-NEXT: vbroadcastsd 200(%rsi), %ymm14717; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4718; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4719; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4720; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4721; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]4722; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4723; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4724; AVX2-FCP-NEXT: vmovaps 224(%rsi), %xmm04725; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm04726; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm14727; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm24728; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm14729; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4730; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4731; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm04732; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm94733; AVX2-FCP-NEXT: vbroadcastsd 232(%rsi), %ymm14734; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm9[0,1,2,3],ymm1[4,5,6,7]4735; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4736; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4737; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]4738; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],mem[0],ymm9[2],mem[2]4739; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4740; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4741; AVX2-FCP-NEXT: vbroadcastsd 56(%rsi), %ymm04742; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4743; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm14744; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]4745; AVX2-FCP-NEXT: vbroadcastsd 120(%rsi), %ymm04746; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4747; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm14748; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4749; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4750; AVX2-FCP-NEXT: vbroadcastsd 184(%rsi), %ymm04751; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4752; AVX2-FCP-NEXT: vbroadcastsd 184(%rcx), %ymm14753; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4754; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4755; AVX2-FCP-NEXT: vbroadcastsd 248(%rsi), %ymm04756; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4757; AVX2-FCP-NEXT: vbroadcastsd 248(%rcx), %ymm14758; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4759; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4760; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm14761; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm04762; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]4763; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4764; AVX2-FCP-NEXT: vbroadcastsd 24(%rsi), %ymm34765; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1],ymm2[2,3,4,5,6,7]4766; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm144767; AVX2-FCP-NEXT: vmovaps 64(%rcx), %ymm154768; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]4769; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4770; AVX2-FCP-NEXT: vbroadcastsd 88(%rsi), %ymm34771; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm3[0,1],ymm2[2,3,4,5,6,7]4772; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm34773; AVX2-FCP-NEXT: vmovaps 128(%rcx), %ymm24774; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]4775; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]4776; AVX2-FCP-NEXT: vbroadcastsd 152(%rsi), %ymm54777; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm5[0,1],ymm4[2,3,4,5,6,7]4778; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm54779; AVX2-FCP-NEXT: vmovaps 192(%rcx), %ymm44780; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm10 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]4781; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]4782; AVX2-FCP-NEXT: vbroadcastsd 216(%rsi), %ymm114783; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm10[2,3,4,5,6,7]4784; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]4785; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4786; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4787; AVX2-FCP-NEXT: vmovaps (%r8), %ymm14788; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4789; AVX2-FCP-NEXT: # ymm10 = ymm1[0,1],mem[2,3,4,5,6,7]4790; AVX2-FCP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4791; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4792; AVX2-FCP-NEXT: # ymm10 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4793; AVX2-FCP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4794; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm1[6,7]4795; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4796; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4797; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4798; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4799; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]4800; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm14801; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4802; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm14803; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4804; AVX2-FCP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4805; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4806; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4807; AVX2-FCP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4808; AVX2-FCP-NEXT: vmovups %ymm6, (%rsp) # 32-byte Spill4809; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm7[0,1,2,3,4,5],ymm1[6,7]4810; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4811; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4812; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4813; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]4814; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload4815; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]4816; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm14817; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4818; AVX2-FCP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4819; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4820; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4821; AVX2-FCP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4822; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4823; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm12[0,1,2,3,4,5],ymm1[6,7]4824; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4825; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4826; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4827; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm13[2,3]4828; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm14829; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]4830; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm14831; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4832; AVX2-FCP-NEXT: # ymm6 = ymm1[0,1],mem[2,3,4,5,6,7]4833; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4834; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4835; AVX2-FCP-NEXT: # ymm6 = mem[0,1],ymm1[2,3],mem[4,5,6,7]4836; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4837; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload4838; AVX2-FCP-NEXT: # ymm6 = mem[0,1,2,3,4,5],ymm1[6,7]4839; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4840; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm15 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]4841; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]4842; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4843; AVX2-FCP-NEXT: # ymm1 = ymm0[2,3],mem[2,3]4844; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm24845; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm13 # 32-byte Folded Reload4846; AVX2-FCP-NEXT: # ymm13 = ymm2[0,1],mem[2,3,4,5,6,7]4847; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm12 # 32-byte Folded Reload4848; AVX2-FCP-NEXT: # ymm12 = mem[0,1],ymm2[2,3],mem[4,5,6,7]4849; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm2[6,7]4850; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4851; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4852; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4853; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm0[2,3]4854; AVX2-FCP-NEXT: vbroadcastsd 176(%rcx), %ymm34855; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]4856; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm34857; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm7 # 32-byte Folded Reload4858; AVX2-FCP-NEXT: # ymm7 = ymm3[0,1],mem[2,3,4,5,6,7]4859; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm6 # 32-byte Folded Reload4860; AVX2-FCP-NEXT: # ymm6 = mem[0,1],ymm3[2,3],mem[4,5,6,7]4861; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm0 # 32-byte Folded Reload4862; AVX2-FCP-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm3[6,7]4863; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4864; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm8 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4865; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]4866; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload4867; AVX2-FCP-NEXT: # ymm2 = ymm2[2,3],mem[2,3]4868; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm44869; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload4870; AVX2-FCP-NEXT: # ymm5 = ymm4[0,1],mem[2,3,4,5,6,7]4871; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm3 # 32-byte Folded Reload4872; AVX2-FCP-NEXT: # ymm3 = mem[0,1],ymm4[2,3],mem[4,5,6,7]4873; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm11[0,1,2,3,4,5],ymm4[6,7]4874; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]4875; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm9[2,3]4876; AVX2-FCP-NEXT: vbroadcastsd 240(%rcx), %ymm94877; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm2[0,1],ymm9[2,3],ymm2[4,5,6,7]4878; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm04879; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload4880; AVX2-FCP-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]4881; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload4882; AVX2-FCP-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]4883; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload4884; AVX2-FCP-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]4885; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5],ymm9[6,7]4886; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%r9)4887; AVX2-FCP-NEXT: vmovaps %ymm1, 1184(%r9)4888; AVX2-FCP-NEXT: vmovaps %ymm2, 1152(%r9)4889; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4890; AVX2-FCP-NEXT: vmovaps %ymm0, 1120(%r9)4891; AVX2-FCP-NEXT: vmovaps %ymm4, 1056(%r9)4892; AVX2-FCP-NEXT: vmovaps %ymm3, 1024(%r9)4893; AVX2-FCP-NEXT: vmovaps %ymm5, 992(%r9)4894; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4895; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%r9)4896; AVX2-FCP-NEXT: vmovaps %ymm8, 896(%r9)4897; AVX2-FCP-NEXT: vmovaps %ymm6, 864(%r9)4898; AVX2-FCP-NEXT: vmovaps %ymm7, 832(%r9)4899; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4900; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%r9)4901; AVX2-FCP-NEXT: vmovaps %ymm10, 736(%r9)4902; AVX2-FCP-NEXT: vmovaps %ymm12, 704(%r9)4903; AVX2-FCP-NEXT: vmovaps %ymm13, 672(%r9)4904; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4905; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%r9)4906; AVX2-FCP-NEXT: vmovaps %ymm15, 576(%r9)4907; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4908; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%r9)4909; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4910; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%r9)4911; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4912; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%r9)4913; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4914; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%r9)4915; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4916; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%r9)4917; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4918; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%r9)4919; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4920; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%r9)4921; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4922; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%r9)4923; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload4924; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%r9)4925; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4926; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%r9)4927; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4928; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%r9)4929; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4930; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%r9)4931; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4932; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%r9)4933; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4934; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%r9)4935; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4936; AVX2-FCP-NEXT: vmovaps %ymm0, (%r9)4937; AVX2-FCP-NEXT: vmovaps %ymm14, 1088(%r9)4938; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4939; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%r9)4940; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4941; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%r9)4942; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4943; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%r9)4944; AVX2-FCP-NEXT: vmovaps %ymm11, 1248(%r9)4945; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4946; AVX2-FCP-NEXT: vmovaps %ymm0, 928(%r9)4947; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4948; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%r9)4949; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4950; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%r9)4951; AVX2-FCP-NEXT: addq $1128, %rsp # imm = 0x4684952; AVX2-FCP-NEXT: vzeroupper4953; AVX2-FCP-NEXT: retq4954;4955; AVX512-LABEL: store_i64_stride5_vf32:4956; AVX512: # %bb.0:4957; AVX512-NEXT: subq $648, %rsp # imm = 0x2884958; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm154959; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm204960; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm164961; AVX512-NEXT: vmovdqa64 (%rdx), %zmm174962; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm244963; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm224964; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm274965; AVX512-NEXT: vmovdqa64 (%rcx), %zmm14966; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm234967; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm254968; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm184969; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]4970; AVX512-NEXT: vmovdqa64 %zmm16, %zmm04971; AVX512-NEXT: vpermt2q %zmm20, %zmm11, %zmm04972; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4973; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]4974; AVX512-NEXT: vmovdqa64 %zmm27, %zmm04975; AVX512-NEXT: vpermt2q %zmm18, %zmm19, %zmm04976; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4977; AVX512-NEXT: vmovdqa64 %zmm22, %zmm04978; AVX512-NEXT: vpermt2q %zmm25, %zmm19, %zmm04979; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4980; AVX512-NEXT: vmovdqa64 %zmm24, %zmm04981; AVX512-NEXT: vpermt2q %zmm23, %zmm19, %zmm04982; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4983; AVX512-NEXT: vpermi2q %zmm1, %zmm17, %zmm194984; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]4985; AVX512-NEXT: vmovdqa64 %zmm17, %zmm04986; AVX512-NEXT: vpermt2q %zmm1, %zmm28, %zmm04987; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4988; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]4989; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]4990; AVX512-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4991; AVX512-NEXT: vmovdqa64 %zmm20, %zmm04992; AVX512-NEXT: vpermt2q %zmm16, %zmm29, %zmm04993; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4994; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]4995; AVX512-NEXT: vmovdqa64 %zmm27, %zmm264996; AVX512-NEXT: vpermt2q %zmm18, %zmm12, %zmm264997; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]4998; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4999; AVX512-NEXT: vmovdqa64 %zmm27, %zmm05000; AVX512-NEXT: vpermt2q %zmm18, %zmm21, %zmm05001; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5002; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]5003; AVX512-NEXT: vmovdqa64 %zmm18, %zmm05004; AVX512-NEXT: vpermt2q %zmm27, %zmm31, %zmm05005; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5006; AVX512-NEXT: vpermt2q %zmm18, %zmm28, %zmm275007; AVX512-NEXT: vmovdqa64 %zmm22, %zmm185008; AVX512-NEXT: vpermt2q %zmm25, %zmm12, %zmm185009; AVX512-NEXT: vmovdqa64 %zmm22, %zmm05010; AVX512-NEXT: vpermt2q %zmm25, %zmm21, %zmm05011; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5012; AVX512-NEXT: vmovdqa64 %zmm25, %zmm05013; AVX512-NEXT: vpermt2q %zmm22, %zmm31, %zmm05014; AVX512-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill5015; AVX512-NEXT: vpermt2q %zmm25, %zmm28, %zmm225016; AVX512-NEXT: vmovdqa64 %zmm24, %zmm255017; AVX512-NEXT: vmovdqa64 %zmm24, %zmm05018; AVX512-NEXT: vmovdqa64 %zmm23, %zmm305019; AVX512-NEXT: vpermt2q %zmm24, %zmm31, %zmm305020; AVX512-NEXT: vpermt2q %zmm23, %zmm28, %zmm245021; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]5022; AVX512-NEXT: vpermt2q %zmm23, %zmm12, %zmm255023; AVX512-NEXT: vpermt2q %zmm23, %zmm21, %zmm05024; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5025; AVX512-NEXT: vmovdqa64 %zmm20, %zmm235026; AVX512-NEXT: vpermt2q %zmm16, %zmm28, %zmm235027; AVX512-NEXT: vpermi2q %zmm1, %zmm17, %zmm125028; AVX512-NEXT: vpermi2q %zmm1, %zmm17, %zmm215029; AVX512-NEXT: vpermt2q %zmm17, %zmm31, %zmm15030; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5031; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]5032; AVX512-NEXT: vmovdqa64 %zmm20, %zmm175033; AVX512-NEXT: vpermt2q %zmm16, %zmm10, %zmm175034; AVX512-NEXT: vpermt2q %zmm16, %zmm14, %zmm205035; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm05036; AVX512-NEXT: vmovdqa64 %zmm0, %zmm65037; AVX512-NEXT: vpermt2q %zmm15, %zmm11, %zmm65038; AVX512-NEXT: vmovdqa64 %zmm15, %zmm135039; AVX512-NEXT: vpermt2q %zmm0, %zmm29, %zmm135040; AVX512-NEXT: vmovdqa64 %zmm15, %zmm165041; AVX512-NEXT: vpermt2q %zmm0, %zmm28, %zmm165042; AVX512-NEXT: vmovdqa64 %zmm15, %zmm85043; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm85044; AVX512-NEXT: vpermt2q %zmm0, %zmm14, %zmm155045; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm25046; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm05047; AVX512-NEXT: vmovdqa64 %zmm0, %zmm35048; AVX512-NEXT: vpermt2q %zmm2, %zmm11, %zmm35049; AVX512-NEXT: vmovdqa64 (%rdi), %zmm315050; AVX512-NEXT: vmovdqa64 (%rsi), %zmm15051; AVX512-NEXT: vmovdqa64 %zmm31, %zmm75052; AVX512-NEXT: vpermt2q %zmm1, %zmm14, %zmm75053; AVX512-NEXT: vmovdqa64 %zmm2, %zmm95054; AVX512-NEXT: vmovdqa64 %zmm2, %zmm55055; AVX512-NEXT: vmovdqa64 %zmm2, %zmm45056; AVX512-NEXT: vpermt2q %zmm0, %zmm14, %zmm25057; AVX512-NEXT: vpermt2q %zmm0, %zmm29, %zmm95058; AVX512-NEXT: vpermt2q %zmm0, %zmm28, %zmm55059; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm45060; AVX512-NEXT: vpermi2q %zmm31, %zmm1, %zmm115061; AVX512-NEXT: vpermi2q %zmm1, %zmm31, %zmm295062; AVX512-NEXT: vpermi2q %zmm1, %zmm31, %zmm285063; AVX512-NEXT: vpermt2q %zmm1, %zmm10, %zmm315064; AVX512-NEXT: movb $49, %al5065; AVX512-NEXT: kmovw %eax, %k15066; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5067; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5068; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}5069; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload5070; AVX512-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}5071; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload5072; AVX512-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}5073; AVX512-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5074; AVX512-NEXT: movb $-116, %al5075; AVX512-NEXT: kmovw %eax, %k35076; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5077; AVX512-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}5078; AVX512-NEXT: movb $24, %al5079; AVX512-NEXT: kmovw %eax, %k25080; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5081; AVX512-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}5082; AVX512-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}5083; AVX512-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}5084; AVX512-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}5085; AVX512-NEXT: vmovdqa64 192(%r8), %zmm05086; AVX512-NEXT: movb $8, %al5087; AVX512-NEXT: kmovw %eax, %k35088; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}5089; AVX512-NEXT: vmovdqa64 %zmm1, %zmm225090; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5091; AVX512-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}5092; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]5093; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm265094; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5095; AVX512-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}5096; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]5097; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm235098; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]5099; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm175100; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]5101; AVX512-NEXT: vpermt2q %zmm0, %zmm11, %zmm205102; AVX512-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}5103; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5104; AVX512-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}5105; AVX512-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload5106; AVX512-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}5107; AVX512-NEXT: vmovdqa64 128(%r8), %zmm05108; AVX512-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}5109; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm185110; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm165111; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm85112; AVX512-NEXT: vpermt2q %zmm0, %zmm11, %zmm155113; AVX512-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}5114; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5115; AVX512-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}5116; AVX512-NEXT: vmovdqa64 (%r8), %zmm05117; AVX512-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}5118; AVX512-NEXT: vmovdqa64 64(%r8), %zmm95119; AVX512-NEXT: vpermt2q %zmm0, %zmm11, %zmm75120; AVX512-NEXT: vpermt2q %zmm9, %zmm11, %zmm25121; AVX512-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}5122; AVX512-NEXT: vpermt2q %zmm9, %zmm1, %zmm255123; AVX512-NEXT: vpermt2q %zmm9, %zmm3, %zmm55124; AVX512-NEXT: vpermt2q %zmm9, %zmm6, %zmm45125; AVX512-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}5126; AVX512-NEXT: vpermt2q %zmm0, %zmm1, %zmm125127; AVX512-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}5128; AVX512-NEXT: vpermt2q %zmm0, %zmm3, %zmm285129; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5130; AVX512-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}5131; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm315132; AVX512-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}5133; AVX512-NEXT: vmovdqa64 %zmm31, 64(%r9)5134; AVX512-NEXT: vmovdqa64 %zmm19, 128(%r9)5135; AVX512-NEXT: vmovdqa64 %zmm28, 192(%r9)5136; AVX512-NEXT: vmovdqa64 %zmm12, 256(%r9)5137; AVX512-NEXT: vmovdqa64 %zmm2, 320(%r9)5138; AVX512-NEXT: vmovdqa64 %zmm4, 384(%r9)5139; AVX512-NEXT: vmovdqa64 %zmm14, 448(%r9)5140; AVX512-NEXT: vmovdqa64 %zmm5, 512(%r9)5141; AVX512-NEXT: vmovdqa64 %zmm25, 576(%r9)5142; AVX512-NEXT: vmovdqa64 %zmm15, 640(%r9)5143; AVX512-NEXT: vmovdqa64 %zmm8, 704(%r9)5144; AVX512-NEXT: vmovdqa64 %zmm10, 768(%r9)5145; AVX512-NEXT: vmovdqa64 %zmm16, 832(%r9)5146; AVX512-NEXT: vmovdqa64 %zmm18, 896(%r9)5147; AVX512-NEXT: vmovdqa64 %zmm20, 960(%r9)5148; AVX512-NEXT: vmovdqa64 %zmm17, 1024(%r9)5149; AVX512-NEXT: vmovdqa64 %zmm22, 1088(%r9)5150; AVX512-NEXT: vmovdqa64 %zmm23, 1152(%r9)5151; AVX512-NEXT: vmovdqa64 %zmm26, 1216(%r9)5152; AVX512-NEXT: vmovdqa64 %zmm7, (%r9)5153; AVX512-NEXT: addq $648, %rsp # imm = 0x2885154; AVX512-NEXT: vzeroupper5155; AVX512-NEXT: retq5156;5157; AVX512-FCP-LABEL: store_i64_stride5_vf32:5158; AVX512-FCP: # %bb.0:5159; AVX512-FCP-NEXT: subq $648, %rsp # imm = 0x2885160; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm155161; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm205162; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm165163; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm175164; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm245165; AVX512-FCP-NEXT: vmovdqa64 128(%rdx), %zmm225166; AVX512-FCP-NEXT: vmovdqa64 192(%rdx), %zmm275167; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm15168; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm235169; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm255170; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm185171; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]5172; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm05173; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm05174; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5175; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]5176; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm05177; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm19, %zmm05178; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5179; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm05180; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm19, %zmm05181; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5182; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm05183; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm05184; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5185; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm195186; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]5187; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm05188; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm28, %zmm05189; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5190; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]5191; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]5192; AVX512-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5193; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm05194; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm05195; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5196; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]5197; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm265198; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm265199; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]5200; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5201; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm05202; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm05203; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5204; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]5205; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm05206; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm31, %zmm05207; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5208; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm28, %zmm275209; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm185210; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm185211; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm05212; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm21, %zmm05213; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5214; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm05215; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm31, %zmm05216; AVX512-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill5217; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm28, %zmm225218; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm255219; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm05220; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm305221; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm305222; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm28, %zmm245223; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]5224; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm12, %zmm255225; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm05226; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5227; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm235228; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm28, %zmm235229; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm125230; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm215231; AVX512-FCP-NEXT: vpermt2q %zmm17, %zmm31, %zmm15232; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5233; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]5234; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm175235; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm10, %zmm175236; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm14, %zmm205237; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm05238; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm65239; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm65240; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm135241; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm135242; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm165243; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm165244; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm85245; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm85246; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm155247; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm25248; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm05249; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm35250; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm35251; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm315252; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm15253; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm75254; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm75255; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm95256; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm55257; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm45258; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm25259; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm95260; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm55261; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm45262; AVX512-FCP-NEXT: vpermi2q %zmm31, %zmm1, %zmm115263; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm295264; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm285265; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm315266; AVX512-FCP-NEXT: movb $49, %al5267; AVX512-FCP-NEXT: kmovw %eax, %k15268; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5269; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5270; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}5271; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload5272; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}5273; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload5274; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}5275; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5276; AVX512-FCP-NEXT: movb $-116, %al5277; AVX512-FCP-NEXT: kmovw %eax, %k35278; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5279; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}5280; AVX512-FCP-NEXT: movb $24, %al5281; AVX512-FCP-NEXT: kmovw %eax, %k25282; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5283; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}5284; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}5285; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}5286; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}5287; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm05288; AVX512-FCP-NEXT: movb $8, %al5289; AVX512-FCP-NEXT: kmovw %eax, %k35290; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}5291; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm225292; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5293; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}5294; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]5295; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm265296; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5297; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}5298; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]5299; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm235300; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]5301; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm175302; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]5303; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm205304; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}5305; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5306; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}5307; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload5308; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}5309; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm05310; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}5311; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm185312; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm165313; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm85314; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm155315; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}5316; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5317; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}5318; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm05319; AVX512-FCP-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}5320; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm95321; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm75322; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm11, %zmm25323; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}5324; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm255325; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm3, %zmm55326; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm6, %zmm45327; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}5328; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm125329; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}5330; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm285331; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5332; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}5333; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm315334; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}5335; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 64(%r9)5336; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 128(%r9)5337; AVX512-FCP-NEXT: vmovdqa64 %zmm28, 192(%r9)5338; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 256(%r9)5339; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 320(%r9)5340; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 384(%r9)5341; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 448(%r9)5342; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 512(%r9)5343; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 576(%r9)5344; AVX512-FCP-NEXT: vmovdqa64 %zmm15, 640(%r9)5345; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 704(%r9)5346; AVX512-FCP-NEXT: vmovdqa64 %zmm10, 768(%r9)5347; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 832(%r9)5348; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 896(%r9)5349; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 960(%r9)5350; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 1024(%r9)5351; AVX512-FCP-NEXT: vmovdqa64 %zmm22, 1088(%r9)5352; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 1152(%r9)5353; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 1216(%r9)5354; AVX512-FCP-NEXT: vmovdqa64 %zmm7, (%r9)5355; AVX512-FCP-NEXT: addq $648, %rsp # imm = 0x2885356; AVX512-FCP-NEXT: vzeroupper5357; AVX512-FCP-NEXT: retq5358;5359; AVX512DQ-LABEL: store_i64_stride5_vf32:5360; AVX512DQ: # %bb.0:5361; AVX512DQ-NEXT: subq $648, %rsp # imm = 0x2885362; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm155363; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm205364; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm165365; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm175366; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm245367; AVX512DQ-NEXT: vmovdqa64 128(%rdx), %zmm225368; AVX512DQ-NEXT: vmovdqa64 192(%rdx), %zmm275369; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm15370; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm235371; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm255372; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm185373; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]5374; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm05375; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm11, %zmm05376; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5377; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]5378; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm05379; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm19, %zmm05380; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5381; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm05382; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm19, %zmm05383; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5384; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm05385; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm19, %zmm05386; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5387; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm17, %zmm195388; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]5389; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm05390; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm28, %zmm05391; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5392; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]5393; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]5394; AVX512DQ-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5395; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm05396; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm29, %zmm05397; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5398; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]5399; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm265400; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm12, %zmm265401; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]5402; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5403; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm05404; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm21, %zmm05405; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5406; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]5407; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm05408; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm31, %zmm05409; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5410; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm28, %zmm275411; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm185412; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm12, %zmm185413; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm05414; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm21, %zmm05415; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5416; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm05417; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm31, %zmm05418; AVX512DQ-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill5419; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm28, %zmm225420; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm255421; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm05422; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm305423; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm31, %zmm305424; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm28, %zmm245425; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]5426; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm12, %zmm255427; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm21, %zmm05428; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5429; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm235430; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm28, %zmm235431; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm17, %zmm125432; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm17, %zmm215433; AVX512DQ-NEXT: vpermt2q %zmm17, %zmm31, %zmm15434; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5435; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]5436; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm175437; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm10, %zmm175438; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm14, %zmm205439; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm05440; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm65441; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm11, %zmm65442; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm135443; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm29, %zmm135444; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm165445; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm28, %zmm165446; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm85447; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm85448; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm14, %zmm155449; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm25450; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm05451; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm35452; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm11, %zmm35453; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm315454; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm15455; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm75456; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm14, %zmm75457; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm95458; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm55459; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm45460; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm14, %zmm25461; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm29, %zmm95462; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm28, %zmm55463; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm45464; AVX512DQ-NEXT: vpermi2q %zmm31, %zmm1, %zmm115465; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm31, %zmm295466; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm31, %zmm285467; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm10, %zmm315468; AVX512DQ-NEXT: movb $49, %al5469; AVX512DQ-NEXT: kmovw %eax, %k15470; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5471; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5472; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}5473; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload5474; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}5475; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload5476; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}5477; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5478; AVX512DQ-NEXT: movb $-116, %al5479; AVX512DQ-NEXT: kmovw %eax, %k35480; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5481; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}5482; AVX512DQ-NEXT: movb $24, %al5483; AVX512DQ-NEXT: kmovw %eax, %k25484; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5485; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}5486; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}5487; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}5488; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}5489; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm05490; AVX512DQ-NEXT: movb $8, %al5491; AVX512DQ-NEXT: kmovw %eax, %k35492; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}5493; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm225494; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5495; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}5496; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]5497; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm265498; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5499; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}5500; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]5501; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm235502; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]5503; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm175504; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]5505; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm11, %zmm205506; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}5507; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5508; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}5509; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload5510; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}5511; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm05512; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}5513; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm185514; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm165515; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm85516; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm11, %zmm155517; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}5518; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5519; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}5520; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm05521; AVX512DQ-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}5522; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm95523; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm11, %zmm75524; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm11, %zmm25525; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}5526; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm1, %zmm255527; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm3, %zmm55528; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm6, %zmm45529; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}5530; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm1, %zmm125531; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}5532; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm3, %zmm285533; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5534; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}5535; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm315536; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}5537; AVX512DQ-NEXT: vmovdqa64 %zmm31, 64(%r9)5538; AVX512DQ-NEXT: vmovdqa64 %zmm19, 128(%r9)5539; AVX512DQ-NEXT: vmovdqa64 %zmm28, 192(%r9)5540; AVX512DQ-NEXT: vmovdqa64 %zmm12, 256(%r9)5541; AVX512DQ-NEXT: vmovdqa64 %zmm2, 320(%r9)5542; AVX512DQ-NEXT: vmovdqa64 %zmm4, 384(%r9)5543; AVX512DQ-NEXT: vmovdqa64 %zmm14, 448(%r9)5544; AVX512DQ-NEXT: vmovdqa64 %zmm5, 512(%r9)5545; AVX512DQ-NEXT: vmovdqa64 %zmm25, 576(%r9)5546; AVX512DQ-NEXT: vmovdqa64 %zmm15, 640(%r9)5547; AVX512DQ-NEXT: vmovdqa64 %zmm8, 704(%r9)5548; AVX512DQ-NEXT: vmovdqa64 %zmm10, 768(%r9)5549; AVX512DQ-NEXT: vmovdqa64 %zmm16, 832(%r9)5550; AVX512DQ-NEXT: vmovdqa64 %zmm18, 896(%r9)5551; AVX512DQ-NEXT: vmovdqa64 %zmm20, 960(%r9)5552; AVX512DQ-NEXT: vmovdqa64 %zmm17, 1024(%r9)5553; AVX512DQ-NEXT: vmovdqa64 %zmm22, 1088(%r9)5554; AVX512DQ-NEXT: vmovdqa64 %zmm23, 1152(%r9)5555; AVX512DQ-NEXT: vmovdqa64 %zmm26, 1216(%r9)5556; AVX512DQ-NEXT: vmovdqa64 %zmm7, (%r9)5557; AVX512DQ-NEXT: addq $648, %rsp # imm = 0x2885558; AVX512DQ-NEXT: vzeroupper5559; AVX512DQ-NEXT: retq5560;5561; AVX512DQ-FCP-LABEL: store_i64_stride5_vf32:5562; AVX512DQ-FCP: # %bb.0:5563; AVX512DQ-FCP-NEXT: subq $648, %rsp # imm = 0x2885564; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm155565; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm205566; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm165567; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm175568; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm245569; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdx), %zmm225570; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdx), %zmm275571; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm15572; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm235573; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm255574; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm185575; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]5576; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm05577; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm05578; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5579; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]5580; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm05581; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm19, %zmm05582; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm05584; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm19, %zmm05585; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5586; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm05587; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm05588; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5589; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm195590; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]5591; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm05592; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm28, %zmm05593; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5594; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]5595; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]5596; AVX512DQ-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5597; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm05598; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm05599; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5600; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]5601; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm265602; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm265603; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]5604; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5605; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm05606; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm05607; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5608; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]5609; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm05610; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm31, %zmm05611; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5612; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm28, %zmm275613; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm185614; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm185615; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm05616; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm21, %zmm05617; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5618; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm05619; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm31, %zmm05620; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill5621; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm28, %zmm225622; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm255623; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm05624; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm305625; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm305626; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm28, %zmm245627; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]5628; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm12, %zmm255629; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm05630; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5631; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm235632; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm28, %zmm235633; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm125634; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm215635; AVX512DQ-FCP-NEXT: vpermt2q %zmm17, %zmm31, %zmm15636; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5637; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]5638; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm175639; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm10, %zmm175640; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm14, %zmm205641; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm05642; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm65643; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm65644; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm135645; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm135646; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm165647; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm165648; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm85649; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm85650; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm155651; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm25652; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm05653; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm35654; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm35655; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm315656; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm15657; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, %zmm75658; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm75659; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm95660; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm55661; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm45662; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm25663; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm95664; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm55665; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm45666; AVX512DQ-FCP-NEXT: vpermi2q %zmm31, %zmm1, %zmm115667; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm295668; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm285669; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm315670; AVX512DQ-FCP-NEXT: movb $49, %al5671; AVX512DQ-FCP-NEXT: kmovw %eax, %k15672; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5673; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5674; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}5675; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload5676; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}5677; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload5678; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}5679; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5680; AVX512DQ-FCP-NEXT: movb $-116, %al5681; AVX512DQ-FCP-NEXT: kmovw %eax, %k35682; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5683; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}5684; AVX512DQ-FCP-NEXT: movb $24, %al5685; AVX512DQ-FCP-NEXT: kmovw %eax, %k25686; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5687; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}5688; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}5689; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}5690; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}5691; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm05692; AVX512DQ-FCP-NEXT: movb $8, %al5693; AVX512DQ-FCP-NEXT: kmovw %eax, %k35694; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}5695; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm225696; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5697; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}5698; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]5699; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm265700; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5701; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}5702; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]5703; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm235704; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]5705; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm175706; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]5707; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm205708; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}5709; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5710; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}5711; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload5712; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}5713; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm05714; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}5715; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm185716; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm165717; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm85718; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm155719; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}5720; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5721; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}5722; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm05723; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}5724; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm95725; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm75726; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm11, %zmm25727; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}5728; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm255729; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm3, %zmm55730; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm6, %zmm45731; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}5732; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm125733; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}5734; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm285735; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5736; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}5737; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm315738; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}5739; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 64(%r9)5740; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 128(%r9)5741; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 192(%r9)5742; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 256(%r9)5743; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 320(%r9)5744; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 384(%r9)5745; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 448(%r9)5746; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 512(%r9)5747; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 576(%r9)5748; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, 640(%r9)5749; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, 704(%r9)5750; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, 768(%r9)5751; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 832(%r9)5752; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 896(%r9)5753; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 960(%r9)5754; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 1024(%r9)5755; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 1088(%r9)5756; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 1152(%r9)5757; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 1216(%r9)5758; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, (%r9)5759; AVX512DQ-FCP-NEXT: addq $648, %rsp # imm = 0x2885760; AVX512DQ-FCP-NEXT: vzeroupper5761; AVX512DQ-FCP-NEXT: retq5762;5763; AVX512BW-LABEL: store_i64_stride5_vf32:5764; AVX512BW: # %bb.0:5765; AVX512BW-NEXT: subq $648, %rsp # imm = 0x2885766; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm155767; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm205768; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm165769; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm175770; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm245771; AVX512BW-NEXT: vmovdqa64 128(%rdx), %zmm225772; AVX512BW-NEXT: vmovdqa64 192(%rdx), %zmm275773; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm15774; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm235775; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm255776; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm185777; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]5778; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm05779; AVX512BW-NEXT: vpermt2q %zmm20, %zmm11, %zmm05780; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5781; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]5782; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm05783; AVX512BW-NEXT: vpermt2q %zmm18, %zmm19, %zmm05784; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5785; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm05786; AVX512BW-NEXT: vpermt2q %zmm25, %zmm19, %zmm05787; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5788; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm05789; AVX512BW-NEXT: vpermt2q %zmm23, %zmm19, %zmm05790; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5791; AVX512BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm195792; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]5793; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm05794; AVX512BW-NEXT: vpermt2q %zmm1, %zmm28, %zmm05795; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5796; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]5797; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]5798; AVX512BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5799; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm05800; AVX512BW-NEXT: vpermt2q %zmm16, %zmm29, %zmm05801; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5802; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]5803; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm265804; AVX512BW-NEXT: vpermt2q %zmm18, %zmm12, %zmm265805; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]5806; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5807; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm05808; AVX512BW-NEXT: vpermt2q %zmm18, %zmm21, %zmm05809; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5810; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]5811; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm05812; AVX512BW-NEXT: vpermt2q %zmm27, %zmm31, %zmm05813; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5814; AVX512BW-NEXT: vpermt2q %zmm18, %zmm28, %zmm275815; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm185816; AVX512BW-NEXT: vpermt2q %zmm25, %zmm12, %zmm185817; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm05818; AVX512BW-NEXT: vpermt2q %zmm25, %zmm21, %zmm05819; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5820; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm05821; AVX512BW-NEXT: vpermt2q %zmm22, %zmm31, %zmm05822; AVX512BW-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill5823; AVX512BW-NEXT: vpermt2q %zmm25, %zmm28, %zmm225824; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm255825; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm05826; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm305827; AVX512BW-NEXT: vpermt2q %zmm24, %zmm31, %zmm305828; AVX512BW-NEXT: vpermt2q %zmm23, %zmm28, %zmm245829; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]5830; AVX512BW-NEXT: vpermt2q %zmm23, %zmm12, %zmm255831; AVX512BW-NEXT: vpermt2q %zmm23, %zmm21, %zmm05832; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5833; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm235834; AVX512BW-NEXT: vpermt2q %zmm16, %zmm28, %zmm235835; AVX512BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm125836; AVX512BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm215837; AVX512BW-NEXT: vpermt2q %zmm17, %zmm31, %zmm15838; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5839; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]5840; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm175841; AVX512BW-NEXT: vpermt2q %zmm16, %zmm10, %zmm175842; AVX512BW-NEXT: vpermt2q %zmm16, %zmm14, %zmm205843; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm05844; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm65845; AVX512BW-NEXT: vpermt2q %zmm15, %zmm11, %zmm65846; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm135847; AVX512BW-NEXT: vpermt2q %zmm0, %zmm29, %zmm135848; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm165849; AVX512BW-NEXT: vpermt2q %zmm0, %zmm28, %zmm165850; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm85851; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm85852; AVX512BW-NEXT: vpermt2q %zmm0, %zmm14, %zmm155853; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm25854; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm05855; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm35856; AVX512BW-NEXT: vpermt2q %zmm2, %zmm11, %zmm35857; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm315858; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm15859; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm75860; AVX512BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm75861; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm95862; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm55863; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm45864; AVX512BW-NEXT: vpermt2q %zmm0, %zmm14, %zmm25865; AVX512BW-NEXT: vpermt2q %zmm0, %zmm29, %zmm95866; AVX512BW-NEXT: vpermt2q %zmm0, %zmm28, %zmm55867; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm45868; AVX512BW-NEXT: vpermi2q %zmm31, %zmm1, %zmm115869; AVX512BW-NEXT: vpermi2q %zmm1, %zmm31, %zmm295870; AVX512BW-NEXT: vpermi2q %zmm1, %zmm31, %zmm285871; AVX512BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm315872; AVX512BW-NEXT: movb $49, %al5873; AVX512BW-NEXT: kmovd %eax, %k15874; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5875; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5876; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}5877; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload5878; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}5879; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload5880; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}5881; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5882; AVX512BW-NEXT: movb $-116, %al5883; AVX512BW-NEXT: kmovd %eax, %k35884; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5885; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}5886; AVX512BW-NEXT: movb $24, %al5887; AVX512BW-NEXT: kmovd %eax, %k25888; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5889; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}5890; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}5891; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}5892; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}5893; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm05894; AVX512BW-NEXT: movb $8, %al5895; AVX512BW-NEXT: kmovd %eax, %k35896; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}5897; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm225898; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5899; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}5900; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]5901; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm265902; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5903; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}5904; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]5905; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm235906; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]5907; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm175908; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]5909; AVX512BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm205910; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}5911; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5912; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}5913; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload5914; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}5915; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm05916; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}5917; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm185918; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm165919; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm85920; AVX512BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm155921; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}5922; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5923; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}5924; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm05925; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}5926; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm95927; AVX512BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm75928; AVX512BW-NEXT: vpermt2q %zmm9, %zmm11, %zmm25929; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}5930; AVX512BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm255931; AVX512BW-NEXT: vpermt2q %zmm9, %zmm3, %zmm55932; AVX512BW-NEXT: vpermt2q %zmm9, %zmm6, %zmm45933; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}5934; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm125935; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}5936; AVX512BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm285937; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload5938; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}5939; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm315940; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}5941; AVX512BW-NEXT: vmovdqa64 %zmm31, 64(%r9)5942; AVX512BW-NEXT: vmovdqa64 %zmm19, 128(%r9)5943; AVX512BW-NEXT: vmovdqa64 %zmm28, 192(%r9)5944; AVX512BW-NEXT: vmovdqa64 %zmm12, 256(%r9)5945; AVX512BW-NEXT: vmovdqa64 %zmm2, 320(%r9)5946; AVX512BW-NEXT: vmovdqa64 %zmm4, 384(%r9)5947; AVX512BW-NEXT: vmovdqa64 %zmm14, 448(%r9)5948; AVX512BW-NEXT: vmovdqa64 %zmm5, 512(%r9)5949; AVX512BW-NEXT: vmovdqa64 %zmm25, 576(%r9)5950; AVX512BW-NEXT: vmovdqa64 %zmm15, 640(%r9)5951; AVX512BW-NEXT: vmovdqa64 %zmm8, 704(%r9)5952; AVX512BW-NEXT: vmovdqa64 %zmm10, 768(%r9)5953; AVX512BW-NEXT: vmovdqa64 %zmm16, 832(%r9)5954; AVX512BW-NEXT: vmovdqa64 %zmm18, 896(%r9)5955; AVX512BW-NEXT: vmovdqa64 %zmm20, 960(%r9)5956; AVX512BW-NEXT: vmovdqa64 %zmm17, 1024(%r9)5957; AVX512BW-NEXT: vmovdqa64 %zmm22, 1088(%r9)5958; AVX512BW-NEXT: vmovdqa64 %zmm23, 1152(%r9)5959; AVX512BW-NEXT: vmovdqa64 %zmm26, 1216(%r9)5960; AVX512BW-NEXT: vmovdqa64 %zmm7, (%r9)5961; AVX512BW-NEXT: addq $648, %rsp # imm = 0x2885962; AVX512BW-NEXT: vzeroupper5963; AVX512BW-NEXT: retq5964;5965; AVX512BW-FCP-LABEL: store_i64_stride5_vf32:5966; AVX512BW-FCP: # %bb.0:5967; AVX512BW-FCP-NEXT: subq $648, %rsp # imm = 0x2885968; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm155969; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm205970; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm165971; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm175972; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm245973; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm225974; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm275975; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm15976; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm235977; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm255978; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm185979; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]5980; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm05981; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm05982; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5983; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]5984; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm05985; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm19, %zmm05986; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5987; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm05988; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm19, %zmm05989; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5990; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm05991; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm05992; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5993; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm195994; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]5995; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm05996; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm28, %zmm05997; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5998; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]5999; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]6000; AVX512BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6001; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm06002; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm06003; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6004; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]6005; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm266006; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm266007; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]6008; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6009; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm06010; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm06011; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6012; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]6013; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm06014; AVX512BW-FCP-NEXT: vpermt2q %zmm27, %zmm31, %zmm06015; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6016; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm28, %zmm276017; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm186018; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm186019; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm06020; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm21, %zmm06021; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6022; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm06023; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm31, %zmm06024; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill6025; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm28, %zmm226026; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm256027; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm06028; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm306029; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm306030; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm28, %zmm246031; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]6032; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm12, %zmm256033; AVX512BW-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm06034; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6035; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm236036; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm28, %zmm236037; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm126038; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm216039; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm31, %zmm16040; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6041; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]6042; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm176043; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm10, %zmm176044; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm14, %zmm206045; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm06046; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm66047; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm66048; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm136049; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm136050; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm166051; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm166052; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm86053; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm86054; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm156055; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm26056; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm06057; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm36058; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm36059; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm316060; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm16061; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm76062; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm76063; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm96064; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm56065; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm46066; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm26067; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm96068; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm56069; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm46070; AVX512BW-FCP-NEXT: vpermi2q %zmm31, %zmm1, %zmm116071; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm296072; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm286073; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm316074; AVX512BW-FCP-NEXT: movb $49, %al6075; AVX512BW-FCP-NEXT: kmovd %eax, %k16076; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6077; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6078; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}6079; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload6080; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}6081; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload6082; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}6083; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}6084; AVX512BW-FCP-NEXT: movb $-116, %al6085; AVX512BW-FCP-NEXT: kmovd %eax, %k36086; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6087; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}6088; AVX512BW-FCP-NEXT: movb $24, %al6089; AVX512BW-FCP-NEXT: kmovd %eax, %k26090; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6091; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}6092; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}6093; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}6094; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}6095; AVX512BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm06096; AVX512BW-FCP-NEXT: movb $8, %al6097; AVX512BW-FCP-NEXT: kmovd %eax, %k36098; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}6099; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm226100; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6101; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}6102; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]6103; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm266104; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload6105; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}6106; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]6107; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm236108; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]6109; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm176110; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]6111; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm206112; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}6113; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6114; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}6115; AVX512BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload6116; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}6117; AVX512BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm06118; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}6119; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm186120; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm166121; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm86122; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm156123; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}6124; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6125; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}6126; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm06127; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}6128; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm96129; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm76130; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm11, %zmm26131; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}6132; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm256133; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm3, %zmm56134; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm6, %zmm46135; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}6136; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm126137; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}6138; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm286139; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6140; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}6141; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm316142; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}6143; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, 64(%r9)6144; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 128(%r9)6145; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, 192(%r9)6146; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, 256(%r9)6147; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 320(%r9)6148; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 384(%r9)6149; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 448(%r9)6150; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 512(%r9)6151; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 576(%r9)6152; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, 640(%r9)6153; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 704(%r9)6154; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, 768(%r9)6155; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, 832(%r9)6156; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 896(%r9)6157; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 960(%r9)6158; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 1024(%r9)6159; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 1088(%r9)6160; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, 1152(%r9)6161; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, 1216(%r9)6162; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, (%r9)6163; AVX512BW-FCP-NEXT: addq $648, %rsp # imm = 0x2886164; AVX512BW-FCP-NEXT: vzeroupper6165; AVX512BW-FCP-NEXT: retq6166;6167; AVX512DQ-BW-LABEL: store_i64_stride5_vf32:6168; AVX512DQ-BW: # %bb.0:6169; AVX512DQ-BW-NEXT: subq $648, %rsp # imm = 0x2886170; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm156171; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm206172; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %zmm166173; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm176174; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm246175; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdx), %zmm226176; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdx), %zmm276177; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm16178; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm236179; AVX512DQ-BW-NEXT: vmovdqa64 128(%rcx), %zmm256180; AVX512DQ-BW-NEXT: vmovdqa64 192(%rcx), %zmm186181; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]6182; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm06183; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm11, %zmm06184; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6185; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]6186; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm06187; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm19, %zmm06188; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6189; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm06190; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm19, %zmm06191; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6192; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm06193; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm19, %zmm06194; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6195; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm196196; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]6197; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm06198; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm28, %zmm06199; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6200; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]6201; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]6202; AVX512DQ-BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6203; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm06204; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm29, %zmm06205; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6206; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]6207; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm266208; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm12, %zmm266209; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]6210; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6211; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm06212; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm21, %zmm06213; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6214; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]6215; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm06216; AVX512DQ-BW-NEXT: vpermt2q %zmm27, %zmm31, %zmm06217; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6218; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm28, %zmm276219; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm186220; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm12, %zmm186221; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm06222; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm21, %zmm06223; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6224; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm06225; AVX512DQ-BW-NEXT: vpermt2q %zmm22, %zmm31, %zmm06226; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill6227; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm28, %zmm226228; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm256229; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm06230; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm306231; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm31, %zmm306232; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm28, %zmm246233; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]6234; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm12, %zmm256235; AVX512DQ-BW-NEXT: vpermt2q %zmm23, %zmm21, %zmm06236; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6237; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm236238; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm28, %zmm236239; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm126240; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm17, %zmm216241; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm31, %zmm16242; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6243; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]6244; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm176245; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm10, %zmm176246; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm14, %zmm206247; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %zmm06248; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm66249; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm11, %zmm66250; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm136251; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm29, %zmm136252; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm166253; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm28, %zmm166254; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm86255; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm86256; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm14, %zmm156257; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm26258; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm06259; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm36260; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm11, %zmm36261; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm316262; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm16263; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm76264; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm76265; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm96266; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm56267; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm46268; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm14, %zmm26269; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm29, %zmm96270; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm28, %zmm56271; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm46272; AVX512DQ-BW-NEXT: vpermi2q %zmm31, %zmm1, %zmm116273; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm31, %zmm296274; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm31, %zmm286275; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm316276; AVX512DQ-BW-NEXT: movb $49, %al6277; AVX512DQ-BW-NEXT: kmovd %eax, %k16278; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6279; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6280; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}6281; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload6282; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}6283; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload6284; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}6285; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}6286; AVX512DQ-BW-NEXT: movb $-116, %al6287; AVX512DQ-BW-NEXT: kmovd %eax, %k36288; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6289; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}6290; AVX512DQ-BW-NEXT: movb $24, %al6291; AVX512DQ-BW-NEXT: kmovd %eax, %k26292; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6293; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}6294; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}6295; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}6296; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}6297; AVX512DQ-BW-NEXT: vmovdqa64 192(%r8), %zmm06298; AVX512DQ-BW-NEXT: movb $8, %al6299; AVX512DQ-BW-NEXT: kmovd %eax, %k36300; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}6301; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm226302; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6303; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}6304; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]6305; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm266306; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload6307; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}6308; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]6309; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm236310; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]6311; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm176312; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]6313; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm206314; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}6315; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6316; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}6317; AVX512DQ-BW-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload6318; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}6319; AVX512DQ-BW-NEXT: vmovdqa64 128(%r8), %zmm06320; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}6321; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm186322; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm166323; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm86324; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm156325; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}6326; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6327; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}6328; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm06329; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}6330; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm96331; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm11, %zmm76332; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm11, %zmm26333; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}6334; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm1, %zmm256335; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm3, %zmm56336; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm6, %zmm46337; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}6338; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm126339; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}6340; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm3, %zmm286341; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6342; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}6343; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm316344; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}6345; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 64(%r9)6346; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 128(%r9)6347; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 192(%r9)6348; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, 256(%r9)6349; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 320(%r9)6350; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 384(%r9)6351; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 448(%r9)6352; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 512(%r9)6353; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 576(%r9)6354; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, 640(%r9)6355; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 704(%r9)6356; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, 768(%r9)6357; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, 832(%r9)6358; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 896(%r9)6359; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, 960(%r9)6360; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 1024(%r9)6361; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 1088(%r9)6362; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 1152(%r9)6363; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, 1216(%r9)6364; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, (%r9)6365; AVX512DQ-BW-NEXT: addq $648, %rsp # imm = 0x2886366; AVX512DQ-BW-NEXT: vzeroupper6367; AVX512DQ-BW-NEXT: retq6368;6369; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf32:6370; AVX512DQ-BW-FCP: # %bb.0:6371; AVX512DQ-BW-FCP-NEXT: subq $648, %rsp # imm = 0x2886372; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm156373; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm206374; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm166375; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm176376; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm246377; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm226378; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm276379; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm16380; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm236381; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm256382; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm186383; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [3,0,0,0,12,4,0,0]6384; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm06385; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm06386; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6387; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm19 = [0,3,11,0,0,0,4,12]6388; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm06389; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm19, %zmm06390; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6391; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm06392; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm19, %zmm06393; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6394; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm06395; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm19, %zmm06396; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6397; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm196398; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,0,0,8,0,0,0,1]6399; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm06400; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm28, %zmm06401; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6402; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,8,0,0,0,1,9,0]6403; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [15,7,15,7,15,7,15,7]6404; AVX512DQ-BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6405; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm06406; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm06407; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6408; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [6,14,0,0,0,7,15,0]6409; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm266410; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm266411; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [13,5,13,5,13,5,13,5]6412; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]6413; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm06414; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm06415; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6416; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm31 = [1,0,0,0,10,2,0,0]6417; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm06418; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm27, %zmm31, %zmm06419; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6420; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm28, %zmm276421; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm186422; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm186423; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm06424; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm21, %zmm06425; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6426; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm06427; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm22, %zmm31, %zmm06428; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, (%rsp) # 64-byte Spill6429; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm28, %zmm226430; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm256431; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm06432; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm306433; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm31, %zmm306434; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm28, %zmm246435; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm28 = [0,5,13,0,0,0,6,14]6436; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm12, %zmm256437; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm23, %zmm21, %zmm06438; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6439; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm236440; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm28, %zmm236441; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm126442; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm17, %zmm216443; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm31, %zmm16444; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6445; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm10 = [0,0,2,10,0,0,0,3]6446; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm176447; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm10, %zmm176448; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm14, %zmm206449; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm06450; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm66451; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm66452; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm136453; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm136454; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm166455; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm166456; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm86457; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm86458; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm156459; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm26460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm06461; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm36462; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm36463; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm316464; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm16465; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm76466; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm76467; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm96468; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm56469; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm46470; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm14, %zmm26471; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm29, %zmm96472; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm28, %zmm56473; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm46474; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm31, %zmm1, %zmm116475; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm296476; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm31, %zmm286477; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm316478; AVX512DQ-BW-FCP-NEXT: movb $49, %al6479; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k16480; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6481; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6482; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}6483; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload6484; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm10 {%k1}6485; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload6486; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm14 {%k1}6487; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}6488; AVX512DQ-BW-FCP-NEXT: movb $-116, %al6489; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k36490; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6491; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k3}6492; AVX512DQ-BW-FCP-NEXT: movb $24, %al6493; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k26494; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6495; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}6496; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm20 {%k3}6497; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm15 {%k3}6498; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm2 {%k3}6499; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm06500; AVX512DQ-BW-FCP-NEXT: movb $8, %al6501; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k36502; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k3}6503; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm226504; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6505; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}6506; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm1 = [0,1,14,3,4,5,6,15]6507; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm266508; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload6509; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm17 {%k1}6510; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm3 = [12,1,2,3,4,13,6,7]6511; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm236512; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,9,2,3,4,5,10,7]6513; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm176514; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,8,5,6,7]6515; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm206516; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm18 {%k2}6517; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6518; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm16 {%k2}6519; AVX512DQ-BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload6520; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm8 {%k1}6521; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm06522; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm10 {%k3}6523; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm186524; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm166525; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm86526; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm156527; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm25 {%k2}6528; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload6529; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm5 {%k2}6530; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm06531; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm4 {%k1}6532; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm96533; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm11, %zmm76534; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm11, %zmm26535; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm14 {%k3}6536; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm1, %zmm256537; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm3, %zmm56538; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm6, %zmm46539; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm12 {%k2}6540; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm126541; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm28 {%k2}6542; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm3, %zmm286543; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload6544; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}6545; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm316546; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k3}6547; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 64(%r9)6548; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 128(%r9)6549; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 192(%r9)6550; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, 256(%r9)6551; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 320(%r9)6552; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 384(%r9)6553; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 448(%r9)6554; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 512(%r9)6555; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 576(%r9)6556; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, 640(%r9)6557; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, 704(%r9)6558; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, 768(%r9)6559; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, 832(%r9)6560; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 896(%r9)6561; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, 960(%r9)6562; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 1024(%r9)6563; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 1088(%r9)6564; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, 1152(%r9)6565; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, 1216(%r9)6566; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, (%r9)6567; AVX512DQ-BW-FCP-NEXT: addq $648, %rsp # imm = 0x2886568; AVX512DQ-BW-FCP-NEXT: vzeroupper6569; AVX512DQ-BW-FCP-NEXT: retq6570 %in.vec0 = load <32 x i64>, ptr %in.vecptr0, align 646571 %in.vec1 = load <32 x i64>, ptr %in.vecptr1, align 646572 %in.vec2 = load <32 x i64>, ptr %in.vecptr2, align 646573 %in.vec3 = load <32 x i64>, ptr %in.vecptr3, align 646574 %in.vec4 = load <32 x i64>, ptr %in.vecptr4, align 646575 %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>6576 %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>6577 %3 = 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>6578 %4 = shufflevector <32 x i64> %in.vec4, <32 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 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, 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>6579 %5 = shufflevector <128 x i64> %3, <128 x i64> %4, <160 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>6580 %interleaved.vec = shufflevector <160 x i64> %5, <160 x i64> poison, <160 x i32> <i32 0, i32 32, i32 64, i32 96, i32 128, i32 1, i32 33, i32 65, i32 97, i32 129, i32 2, i32 34, i32 66, i32 98, i32 130, i32 3, i32 35, i32 67, i32 99, i32 131, i32 4, i32 36, i32 68, i32 100, i32 132, i32 5, i32 37, i32 69, i32 101, i32 133, i32 6, i32 38, i32 70, i32 102, i32 134, i32 7, i32 39, i32 71, i32 103, i32 135, i32 8, i32 40, i32 72, i32 104, i32 136, i32 9, i32 41, i32 73, i32 105, i32 137, i32 10, i32 42, i32 74, i32 106, i32 138, i32 11, i32 43, i32 75, i32 107, i32 139, i32 12, i32 44, i32 76, i32 108, i32 140, i32 13, i32 45, i32 77, i32 109, i32 141, i32 14, i32 46, i32 78, i32 110, i32 142, i32 15, i32 47, i32 79, i32 111, i32 143, i32 16, i32 48, i32 80, i32 112, i32 144, i32 17, i32 49, i32 81, i32 113, i32 145, i32 18, i32 50, i32 82, i32 114, i32 146, i32 19, i32 51, i32 83, i32 115, i32 147, i32 20, i32 52, i32 84, i32 116, i32 148, i32 21, i32 53, i32 85, i32 117, i32 149, i32 22, i32 54, i32 86, i32 118, i32 150, i32 23, i32 55, i32 87, i32 119, i32 151, i32 24, i32 56, i32 88, i32 120, i32 152, i32 25, i32 57, i32 89, i32 121, i32 153, i32 26, i32 58, i32 90, i32 122, i32 154, i32 27, i32 59, i32 91, i32 123, i32 155, i32 28, i32 60, i32 92, i32 124, i32 156, i32 29, i32 61, i32 93, i32 125, i32 157, i32 30, i32 62, i32 94, i32 126, i32 158, i32 31, i32 63, i32 95, i32 127, i32 159>6581 store <160 x i64> %interleaved.vec, ptr %out.vec, align 646582 ret void6583}6584 6585define void @store_i64_stride5_vf64(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %in.vecptr3, ptr %in.vecptr4, ptr %out.vec) nounwind {6586; SSE-LABEL: store_i64_stride5_vf64:6587; SSE: # %bb.0:6588; SSE-NEXT: subq $2200, %rsp # imm = 0x8986589; SSE-NEXT: movapd (%rdi), %xmm36590; SSE-NEXT: movapd 16(%rdi), %xmm46591; SSE-NEXT: movapd 32(%rdi), %xmm56592; SSE-NEXT: movapd (%rsi), %xmm66593; SSE-NEXT: movapd 16(%rsi), %xmm76594; SSE-NEXT: movapd 32(%rsi), %xmm86595; SSE-NEXT: movapd (%rdx), %xmm96596; SSE-NEXT: movapd 16(%rdx), %xmm106597; SSE-NEXT: movapd 32(%rdx), %xmm116598; SSE-NEXT: movapd (%rcx), %xmm126599; SSE-NEXT: movapd 16(%rcx), %xmm136600; SSE-NEXT: movapd 32(%rcx), %xmm146601; SSE-NEXT: movapd 16(%r8), %xmm16602; SSE-NEXT: movapd 32(%r8), %xmm06603; SSE-NEXT: movapd (%r8), %xmm26604; SSE-NEXT: movapd %xmm3, %xmm156605; SSE-NEXT: unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm6[0]6606; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6607; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm2[0],xmm3[1]6608; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6609; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm9[1]6610; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6611; SSE-NEXT: unpcklpd {{.*#+}} xmm9 = xmm9[0],xmm12[0]6612; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6613; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm2[1]6614; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6615; SSE-NEXT: movapd %xmm4, %xmm26616; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm7[0]6617; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6618; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm1[0],xmm4[1]6619; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6620; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm10[1]6621; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6622; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm13[0]6623; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6624; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm1[1]6625; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6626; SSE-NEXT: movapd %xmm5, %xmm16627; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm8[0]6628; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6629; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]6630; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6631; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm11[1]6632; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6633; SSE-NEXT: unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm14[0]6634; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6635; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]6636; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6637; SSE-NEXT: movapd 48(%rdi), %xmm16638; SSE-NEXT: movapd 48(%rsi), %xmm26639; SSE-NEXT: movapd %xmm1, %xmm06640; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6641; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6642; SSE-NEXT: movapd 48(%r8), %xmm06643; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6644; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6645; SSE-NEXT: movapd 48(%rdx), %xmm16646; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6647; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6648; SSE-NEXT: movapd 48(%rcx), %xmm26649; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6650; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6651; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6652; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6653; SSE-NEXT: movapd 64(%rdi), %xmm16654; SSE-NEXT: movapd 64(%rsi), %xmm26655; SSE-NEXT: movapd %xmm1, %xmm06656; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6657; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6658; SSE-NEXT: movapd 64(%r8), %xmm06659; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6660; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6661; SSE-NEXT: movapd 64(%rdx), %xmm16662; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6663; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6664; SSE-NEXT: movapd 64(%rcx), %xmm26665; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6666; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6667; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6668; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6669; SSE-NEXT: movapd 80(%rdi), %xmm16670; SSE-NEXT: movapd 80(%rsi), %xmm26671; SSE-NEXT: movapd %xmm1, %xmm06672; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6673; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6674; SSE-NEXT: movapd 80(%r8), %xmm06675; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6676; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6677; SSE-NEXT: movapd 80(%rdx), %xmm16678; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6679; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6680; SSE-NEXT: movapd 80(%rcx), %xmm26681; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6682; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6683; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6684; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6685; SSE-NEXT: movapd 96(%rdi), %xmm16686; SSE-NEXT: movapd 96(%rsi), %xmm26687; SSE-NEXT: movapd %xmm1, %xmm06688; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6689; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6690; SSE-NEXT: movapd 96(%r8), %xmm06691; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6692; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6693; SSE-NEXT: movapd 96(%rdx), %xmm16694; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6695; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6696; SSE-NEXT: movapd 96(%rcx), %xmm26697; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6698; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6699; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6700; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6701; SSE-NEXT: movapd 112(%rdi), %xmm16702; SSE-NEXT: movapd 112(%rsi), %xmm26703; SSE-NEXT: movapd %xmm1, %xmm06704; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6705; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6706; SSE-NEXT: movapd 112(%r8), %xmm06707; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6708; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6709; SSE-NEXT: movapd 112(%rdx), %xmm16710; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6711; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6712; SSE-NEXT: movapd 112(%rcx), %xmm26713; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6714; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6715; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6716; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6717; SSE-NEXT: movapd 128(%rdi), %xmm16718; SSE-NEXT: movapd 128(%rsi), %xmm26719; SSE-NEXT: movapd %xmm1, %xmm06720; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6721; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6722; SSE-NEXT: movapd 128(%r8), %xmm06723; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6724; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6725; SSE-NEXT: movapd 128(%rdx), %xmm16726; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6727; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6728; SSE-NEXT: movapd 128(%rcx), %xmm26729; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6730; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6731; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6732; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6733; SSE-NEXT: movapd 144(%rdi), %xmm16734; SSE-NEXT: movapd 144(%rsi), %xmm26735; SSE-NEXT: movapd %xmm1, %xmm06736; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6737; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6738; SSE-NEXT: movapd 144(%r8), %xmm06739; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6740; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6741; SSE-NEXT: movapd 144(%rdx), %xmm16742; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6743; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6744; SSE-NEXT: movapd 144(%rcx), %xmm26745; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6746; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6747; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6748; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6749; SSE-NEXT: movapd 160(%rdi), %xmm16750; SSE-NEXT: movapd 160(%rsi), %xmm26751; SSE-NEXT: movapd %xmm1, %xmm06752; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6753; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6754; SSE-NEXT: movapd 160(%r8), %xmm06755; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6756; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6757; SSE-NEXT: movapd 160(%rdx), %xmm16758; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6759; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6760; SSE-NEXT: movapd 160(%rcx), %xmm26761; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6762; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6763; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6764; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6765; SSE-NEXT: movapd 176(%rdi), %xmm16766; SSE-NEXT: movapd 176(%rsi), %xmm26767; SSE-NEXT: movapd %xmm1, %xmm06768; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6769; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6770; SSE-NEXT: movapd 176(%r8), %xmm06771; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6772; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6773; SSE-NEXT: movapd 176(%rdx), %xmm16774; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6775; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6776; SSE-NEXT: movapd 176(%rcx), %xmm26777; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6778; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6779; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6780; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6781; SSE-NEXT: movapd 192(%rdi), %xmm16782; SSE-NEXT: movapd 192(%rsi), %xmm26783; SSE-NEXT: movapd %xmm1, %xmm06784; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6785; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6786; SSE-NEXT: movapd 192(%r8), %xmm06787; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6788; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6789; SSE-NEXT: movapd 192(%rdx), %xmm16790; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6791; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6792; SSE-NEXT: movapd 192(%rcx), %xmm26793; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6794; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6795; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6796; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6797; SSE-NEXT: movapd 208(%rdi), %xmm16798; SSE-NEXT: movapd 208(%rsi), %xmm26799; SSE-NEXT: movapd %xmm1, %xmm06800; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6801; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6802; SSE-NEXT: movapd 208(%r8), %xmm06803; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6804; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6805; SSE-NEXT: movapd 208(%rdx), %xmm16806; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6807; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6808; SSE-NEXT: movapd 208(%rcx), %xmm26809; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6810; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6811; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6812; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6813; SSE-NEXT: movapd 224(%rdi), %xmm16814; SSE-NEXT: movapd 224(%rsi), %xmm26815; SSE-NEXT: movapd %xmm1, %xmm06816; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6817; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6818; SSE-NEXT: movapd 224(%r8), %xmm06819; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6820; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6821; SSE-NEXT: movapd 224(%rdx), %xmm16822; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6823; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6824; SSE-NEXT: movapd 224(%rcx), %xmm26825; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6826; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6827; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6828; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6829; SSE-NEXT: movapd 240(%rdi), %xmm16830; SSE-NEXT: movapd 240(%rsi), %xmm26831; SSE-NEXT: movapd %xmm1, %xmm06832; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6833; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6834; SSE-NEXT: movapd 240(%r8), %xmm06835; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6836; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6837; SSE-NEXT: movapd 240(%rdx), %xmm16838; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6839; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6840; SSE-NEXT: movapd 240(%rcx), %xmm26841; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6842; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6843; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6844; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6845; SSE-NEXT: movapd 256(%rdi), %xmm16846; SSE-NEXT: movapd 256(%rsi), %xmm26847; SSE-NEXT: movapd %xmm1, %xmm06848; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6849; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6850; SSE-NEXT: movapd 256(%r8), %xmm06851; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6852; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6853; SSE-NEXT: movapd 256(%rdx), %xmm16854; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6855; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6856; SSE-NEXT: movapd 256(%rcx), %xmm26857; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6858; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6859; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6860; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6861; SSE-NEXT: movapd 272(%rdi), %xmm16862; SSE-NEXT: movapd 272(%rsi), %xmm26863; SSE-NEXT: movapd %xmm1, %xmm06864; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6865; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6866; SSE-NEXT: movapd 272(%r8), %xmm06867; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6868; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6869; SSE-NEXT: movapd 272(%rdx), %xmm16870; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6871; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6872; SSE-NEXT: movapd 272(%rcx), %xmm26873; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6874; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6875; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6876; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6877; SSE-NEXT: movapd 288(%rdi), %xmm16878; SSE-NEXT: movapd 288(%rsi), %xmm26879; SSE-NEXT: movapd %xmm1, %xmm06880; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6881; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6882; SSE-NEXT: movapd 288(%r8), %xmm06883; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6884; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6885; SSE-NEXT: movapd 288(%rdx), %xmm16886; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6887; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6888; SSE-NEXT: movapd 288(%rcx), %xmm26889; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6890; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6891; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6892; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6893; SSE-NEXT: movapd 304(%rdi), %xmm16894; SSE-NEXT: movapd 304(%rsi), %xmm26895; SSE-NEXT: movapd %xmm1, %xmm06896; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6897; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6898; SSE-NEXT: movapd 304(%r8), %xmm06899; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6900; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6901; SSE-NEXT: movapd 304(%rdx), %xmm16902; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6903; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6904; SSE-NEXT: movapd 304(%rcx), %xmm26905; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6906; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6907; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6908; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6909; SSE-NEXT: movapd 320(%rdi), %xmm16910; SSE-NEXT: movapd 320(%rsi), %xmm26911; SSE-NEXT: movapd %xmm1, %xmm06912; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6913; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6914; SSE-NEXT: movapd 320(%r8), %xmm06915; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6916; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6917; SSE-NEXT: movapd 320(%rdx), %xmm16918; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6919; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6920; SSE-NEXT: movapd 320(%rcx), %xmm26921; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6922; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6923; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6924; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6925; SSE-NEXT: movapd 336(%rdi), %xmm16926; SSE-NEXT: movapd 336(%rsi), %xmm26927; SSE-NEXT: movapd %xmm1, %xmm06928; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6929; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6930; SSE-NEXT: movapd 336(%r8), %xmm06931; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6932; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6933; SSE-NEXT: movapd 336(%rdx), %xmm16934; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6935; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6936; SSE-NEXT: movapd 336(%rcx), %xmm26937; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6938; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6939; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6940; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6941; SSE-NEXT: movapd 352(%rdi), %xmm16942; SSE-NEXT: movapd 352(%rsi), %xmm26943; SSE-NEXT: movapd %xmm1, %xmm06944; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6945; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6946; SSE-NEXT: movapd 352(%r8), %xmm06947; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6948; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6949; SSE-NEXT: movapd 352(%rdx), %xmm16950; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6951; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6952; SSE-NEXT: movapd 352(%rcx), %xmm26953; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6954; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6955; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6956; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6957; SSE-NEXT: movapd 368(%rdi), %xmm16958; SSE-NEXT: movapd 368(%rsi), %xmm26959; SSE-NEXT: movapd %xmm1, %xmm06960; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6961; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6962; SSE-NEXT: movapd 368(%r8), %xmm06963; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6964; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6965; SSE-NEXT: movapd 368(%rdx), %xmm16966; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6967; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6968; SSE-NEXT: movapd 368(%rcx), %xmm26969; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6970; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6971; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6972; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6973; SSE-NEXT: movapd 384(%rdi), %xmm16974; SSE-NEXT: movapd 384(%rsi), %xmm26975; SSE-NEXT: movapd %xmm1, %xmm06976; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6977; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6978; SSE-NEXT: movapd 384(%r8), %xmm06979; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6980; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6981; SSE-NEXT: movapd 384(%rdx), %xmm16982; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6983; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6984; SSE-NEXT: movapd 384(%rcx), %xmm26985; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]6986; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6987; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6988; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6989; SSE-NEXT: movapd 400(%rdi), %xmm16990; SSE-NEXT: movapd 400(%rsi), %xmm26991; SSE-NEXT: movapd %xmm1, %xmm06992; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]6993; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6994; SSE-NEXT: movapd 400(%r8), %xmm06995; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]6996; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6997; SSE-NEXT: movapd 400(%rdx), %xmm16998; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]6999; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7000; SSE-NEXT: movapd 400(%rcx), %xmm27001; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]7002; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7003; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]7004; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7005; SSE-NEXT: movapd 416(%rdi), %xmm17006; SSE-NEXT: movapd 416(%rsi), %xmm27007; SSE-NEXT: movapd %xmm1, %xmm07008; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]7009; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7010; SSE-NEXT: movapd 416(%r8), %xmm07011; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7012; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7013; SSE-NEXT: movapd 416(%rdx), %xmm17014; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]7015; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7016; SSE-NEXT: movapd 416(%rcx), %xmm27017; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]7018; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7019; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]7020; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7021; SSE-NEXT: movapd 432(%rdi), %xmm17022; SSE-NEXT: movapd 432(%rsi), %xmm27023; SSE-NEXT: movapd %xmm1, %xmm07024; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]7025; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7026; SSE-NEXT: movapd 432(%r8), %xmm07027; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7028; SSE-NEXT: movapd %xmm1, (%rsp) # 16-byte Spill7029; SSE-NEXT: movapd 432(%rdx), %xmm17030; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]7031; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7032; SSE-NEXT: movapd 432(%rcx), %xmm27033; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]7034; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7035; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]7036; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7037; SSE-NEXT: movapd 448(%rdi), %xmm17038; SSE-NEXT: movapd 448(%rsi), %xmm27039; SSE-NEXT: movapd %xmm1, %xmm07040; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]7041; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7042; SSE-NEXT: movapd 448(%r8), %xmm07043; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7044; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7045; SSE-NEXT: movapd 448(%rdx), %xmm17046; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]7047; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7048; SSE-NEXT: movapd 448(%rcx), %xmm157049; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm15[0]7050; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7051; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]7052; SSE-NEXT: movapd 464(%rdi), %xmm147053; SSE-NEXT: movapd 464(%rsi), %xmm137054; SSE-NEXT: movapd %xmm14, %xmm07055; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm13[0]7056; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7057; SSE-NEXT: movapd 464(%r8), %xmm07058; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm0[0],xmm14[1]7059; SSE-NEXT: movapd 464(%rdx), %xmm107060; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm10[1]7061; SSE-NEXT: movapd 464(%rcx), %xmm97062; SSE-NEXT: unpcklpd {{.*#+}} xmm10 = xmm10[0],xmm9[0]7063; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]7064; SSE-NEXT: movapd 480(%rdi), %xmm117065; SSE-NEXT: movapd 480(%rsi), %xmm87066; SSE-NEXT: movapd %xmm11, %xmm127067; SSE-NEXT: unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm8[0]7068; SSE-NEXT: movapd 480(%r8), %xmm27069; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm2[0],xmm11[1]7070; SSE-NEXT: movapd 480(%rdx), %xmm67071; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm6[1]7072; SSE-NEXT: movapd 480(%rcx), %xmm37073; SSE-NEXT: unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]7074; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]7075; SSE-NEXT: movapd 496(%rdi), %xmm47076; SSE-NEXT: movapd 496(%rsi), %xmm27077; SSE-NEXT: movapd %xmm4, %xmm57078; SSE-NEXT: unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm2[0]7079; SSE-NEXT: movapd 496(%r8), %xmm77080; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm7[0],xmm4[1]7081; SSE-NEXT: movapd 496(%rdx), %xmm17082; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]7083; SSE-NEXT: movapd 496(%rcx), %xmm07084; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]7085; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm7[1]7086; SSE-NEXT: movapd %xmm0, 2544(%r9)7087; SSE-NEXT: movapd %xmm2, 2528(%r9)7088; SSE-NEXT: movapd %xmm4, 2512(%r9)7089; SSE-NEXT: movapd %xmm1, 2496(%r9)7090; SSE-NEXT: movapd %xmm5, 2480(%r9)7091; SSE-NEXT: movapd %xmm3, 2464(%r9)7092; SSE-NEXT: movapd %xmm8, 2448(%r9)7093; SSE-NEXT: movapd %xmm11, 2432(%r9)7094; SSE-NEXT: movapd %xmm6, 2416(%r9)7095; SSE-NEXT: movapd %xmm12, 2400(%r9)7096; SSE-NEXT: movapd %xmm9, 2384(%r9)7097; SSE-NEXT: movapd %xmm13, 2368(%r9)7098; SSE-NEXT: movapd %xmm14, 2352(%r9)7099; SSE-NEXT: movapd %xmm10, 2336(%r9)7100; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7101; SSE-NEXT: movaps %xmm0, 2320(%r9)7102; SSE-NEXT: movapd %xmm15, 2304(%r9)7103; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7104; SSE-NEXT: movaps %xmm0, 2288(%r9)7105; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7106; SSE-NEXT: movaps %xmm0, 2272(%r9)7107; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7108; SSE-NEXT: movaps %xmm0, 2256(%r9)7109; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7110; SSE-NEXT: movaps %xmm0, 2240(%r9)7111; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7112; SSE-NEXT: movaps %xmm0, 2224(%r9)7113; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7114; SSE-NEXT: movaps %xmm0, 2208(%r9)7115; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload7116; SSE-NEXT: movaps %xmm0, 2192(%r9)7117; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7118; SSE-NEXT: movaps %xmm0, 2176(%r9)7119; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7120; SSE-NEXT: movaps %xmm0, 2160(%r9)7121; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7122; SSE-NEXT: movaps %xmm0, 2144(%r9)7123; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7124; SSE-NEXT: movaps %xmm0, 2128(%r9)7125; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7126; SSE-NEXT: movaps %xmm0, 2112(%r9)7127; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7128; SSE-NEXT: movaps %xmm0, 2096(%r9)7129; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7130; SSE-NEXT: movaps %xmm0, 2080(%r9)7131; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7132; SSE-NEXT: movaps %xmm0, 2064(%r9)7133; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7134; SSE-NEXT: movaps %xmm0, 2048(%r9)7135; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7136; SSE-NEXT: movaps %xmm0, 2032(%r9)7137; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7138; SSE-NEXT: movaps %xmm0, 2016(%r9)7139; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7140; SSE-NEXT: movaps %xmm0, 2000(%r9)7141; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7142; SSE-NEXT: movaps %xmm0, 1984(%r9)7143; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7144; SSE-NEXT: movaps %xmm0, 1968(%r9)7145; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7146; SSE-NEXT: movaps %xmm0, 1952(%r9)7147; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7148; SSE-NEXT: movaps %xmm0, 1936(%r9)7149; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7150; SSE-NEXT: movaps %xmm0, 1920(%r9)7151; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7152; SSE-NEXT: movaps %xmm0, 1904(%r9)7153; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7154; SSE-NEXT: movaps %xmm0, 1888(%r9)7155; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7156; SSE-NEXT: movaps %xmm0, 1872(%r9)7157; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7158; SSE-NEXT: movaps %xmm0, 1856(%r9)7159; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7160; SSE-NEXT: movaps %xmm0, 1840(%r9)7161; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7162; SSE-NEXT: movaps %xmm0, 1824(%r9)7163; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7164; SSE-NEXT: movaps %xmm0, 1808(%r9)7165; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7166; SSE-NEXT: movaps %xmm0, 1792(%r9)7167; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7168; SSE-NEXT: movaps %xmm0, 1776(%r9)7169; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7170; SSE-NEXT: movaps %xmm0, 1760(%r9)7171; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7172; SSE-NEXT: movaps %xmm0, 1744(%r9)7173; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7174; SSE-NEXT: movaps %xmm0, 1728(%r9)7175; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7176; SSE-NEXT: movaps %xmm0, 1712(%r9)7177; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7178; SSE-NEXT: movaps %xmm0, 1696(%r9)7179; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7180; SSE-NEXT: movaps %xmm0, 1680(%r9)7181; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7182; SSE-NEXT: movaps %xmm0, 1664(%r9)7183; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7184; SSE-NEXT: movaps %xmm0, 1648(%r9)7185; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7186; SSE-NEXT: movaps %xmm0, 1632(%r9)7187; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7188; SSE-NEXT: movaps %xmm0, 1616(%r9)7189; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7190; SSE-NEXT: movaps %xmm0, 1600(%r9)7191; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7192; SSE-NEXT: movaps %xmm0, 1584(%r9)7193; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7194; SSE-NEXT: movaps %xmm0, 1568(%r9)7195; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7196; SSE-NEXT: movaps %xmm0, 1552(%r9)7197; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7198; SSE-NEXT: movaps %xmm0, 1536(%r9)7199; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7200; SSE-NEXT: movaps %xmm0, 1520(%r9)7201; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7202; SSE-NEXT: movaps %xmm0, 1504(%r9)7203; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7204; SSE-NEXT: movaps %xmm0, 1488(%r9)7205; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7206; SSE-NEXT: movaps %xmm0, 1472(%r9)7207; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7208; SSE-NEXT: movaps %xmm0, 1456(%r9)7209; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7210; SSE-NEXT: movaps %xmm0, 1440(%r9)7211; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7212; SSE-NEXT: movaps %xmm0, 1424(%r9)7213; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7214; SSE-NEXT: movaps %xmm0, 1408(%r9)7215; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7216; SSE-NEXT: movaps %xmm0, 1392(%r9)7217; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7218; SSE-NEXT: movaps %xmm0, 1376(%r9)7219; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7220; SSE-NEXT: movaps %xmm0, 1360(%r9)7221; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7222; SSE-NEXT: movaps %xmm0, 1344(%r9)7223; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7224; SSE-NEXT: movaps %xmm0, 1328(%r9)7225; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7226; SSE-NEXT: movaps %xmm0, 1312(%r9)7227; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7228; SSE-NEXT: movaps %xmm0, 1296(%r9)7229; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7230; SSE-NEXT: movaps %xmm0, 1280(%r9)7231; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7232; SSE-NEXT: movaps %xmm0, 1264(%r9)7233; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7234; SSE-NEXT: movaps %xmm0, 1248(%r9)7235; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7236; SSE-NEXT: movaps %xmm0, 1232(%r9)7237; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7238; SSE-NEXT: movaps %xmm0, 1216(%r9)7239; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7240; SSE-NEXT: movaps %xmm0, 1200(%r9)7241; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7242; SSE-NEXT: movaps %xmm0, 1184(%r9)7243; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7244; SSE-NEXT: movaps %xmm0, 1168(%r9)7245; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7246; SSE-NEXT: movaps %xmm0, 1152(%r9)7247; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7248; SSE-NEXT: movaps %xmm0, 1136(%r9)7249; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7250; SSE-NEXT: movaps %xmm0, 1120(%r9)7251; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7252; SSE-NEXT: movaps %xmm0, 1104(%r9)7253; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7254; SSE-NEXT: movaps %xmm0, 1088(%r9)7255; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7256; SSE-NEXT: movaps %xmm0, 1072(%r9)7257; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7258; SSE-NEXT: movaps %xmm0, 1056(%r9)7259; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7260; SSE-NEXT: movaps %xmm0, 1040(%r9)7261; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7262; SSE-NEXT: movaps %xmm0, 1024(%r9)7263; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7264; SSE-NEXT: movaps %xmm0, 1008(%r9)7265; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7266; SSE-NEXT: movaps %xmm0, 992(%r9)7267; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7268; SSE-NEXT: movaps %xmm0, 976(%r9)7269; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7270; SSE-NEXT: movaps %xmm0, 960(%r9)7271; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7272; SSE-NEXT: movaps %xmm0, 944(%r9)7273; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7274; SSE-NEXT: movaps %xmm0, 928(%r9)7275; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7276; SSE-NEXT: movaps %xmm0, 912(%r9)7277; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7278; SSE-NEXT: movaps %xmm0, 896(%r9)7279; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7280; SSE-NEXT: movaps %xmm0, 880(%r9)7281; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7282; SSE-NEXT: movaps %xmm0, 864(%r9)7283; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7284; SSE-NEXT: movaps %xmm0, 848(%r9)7285; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7286; SSE-NEXT: movaps %xmm0, 832(%r9)7287; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7288; SSE-NEXT: movaps %xmm0, 816(%r9)7289; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7290; SSE-NEXT: movaps %xmm0, 800(%r9)7291; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7292; SSE-NEXT: movaps %xmm0, 784(%r9)7293; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7294; SSE-NEXT: movaps %xmm0, 768(%r9)7295; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7296; SSE-NEXT: movaps %xmm0, 752(%r9)7297; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7298; SSE-NEXT: movaps %xmm0, 736(%r9)7299; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7300; SSE-NEXT: movaps %xmm0, 720(%r9)7301; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7302; SSE-NEXT: movaps %xmm0, 704(%r9)7303; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7304; SSE-NEXT: movaps %xmm0, 688(%r9)7305; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7306; SSE-NEXT: movaps %xmm0, 672(%r9)7307; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7308; SSE-NEXT: movaps %xmm0, 656(%r9)7309; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7310; SSE-NEXT: movaps %xmm0, 640(%r9)7311; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7312; SSE-NEXT: movaps %xmm0, 624(%r9)7313; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7314; SSE-NEXT: movaps %xmm0, 608(%r9)7315; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7316; SSE-NEXT: movaps %xmm0, 592(%r9)7317; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7318; SSE-NEXT: movaps %xmm0, 576(%r9)7319; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7320; SSE-NEXT: movaps %xmm0, 560(%r9)7321; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7322; SSE-NEXT: movaps %xmm0, 544(%r9)7323; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7324; SSE-NEXT: movaps %xmm0, 528(%r9)7325; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7326; SSE-NEXT: movaps %xmm0, 512(%r9)7327; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7328; SSE-NEXT: movaps %xmm0, 496(%r9)7329; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7330; SSE-NEXT: movaps %xmm0, 480(%r9)7331; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7332; SSE-NEXT: movaps %xmm0, 464(%r9)7333; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7334; SSE-NEXT: movaps %xmm0, 448(%r9)7335; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7336; SSE-NEXT: movaps %xmm0, 432(%r9)7337; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7338; SSE-NEXT: movaps %xmm0, 416(%r9)7339; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7340; SSE-NEXT: movaps %xmm0, 400(%r9)7341; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7342; SSE-NEXT: movaps %xmm0, 384(%r9)7343; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7344; SSE-NEXT: movaps %xmm0, 368(%r9)7345; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7346; SSE-NEXT: movaps %xmm0, 352(%r9)7347; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7348; SSE-NEXT: movaps %xmm0, 336(%r9)7349; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7350; SSE-NEXT: movaps %xmm0, 320(%r9)7351; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7352; SSE-NEXT: movaps %xmm0, 304(%r9)7353; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7354; SSE-NEXT: movaps %xmm0, 288(%r9)7355; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7356; SSE-NEXT: movaps %xmm0, 272(%r9)7357; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7358; SSE-NEXT: movaps %xmm0, 256(%r9)7359; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7360; SSE-NEXT: movaps %xmm0, 240(%r9)7361; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7362; SSE-NEXT: movaps %xmm0, 224(%r9)7363; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7364; SSE-NEXT: movaps %xmm0, 208(%r9)7365; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7366; SSE-NEXT: movaps %xmm0, 192(%r9)7367; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7368; SSE-NEXT: movaps %xmm0, 176(%r9)7369; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7370; SSE-NEXT: movaps %xmm0, 160(%r9)7371; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7372; SSE-NEXT: movaps %xmm0, 144(%r9)7373; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7374; SSE-NEXT: movaps %xmm0, 128(%r9)7375; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7376; SSE-NEXT: movaps %xmm0, 112(%r9)7377; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7378; SSE-NEXT: movaps %xmm0, 96(%r9)7379; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7380; SSE-NEXT: movaps %xmm0, 80(%r9)7381; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7382; SSE-NEXT: movaps %xmm0, 64(%r9)7383; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7384; SSE-NEXT: movaps %xmm0, 48(%r9)7385; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7386; SSE-NEXT: movaps %xmm0, 32(%r9)7387; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7388; SSE-NEXT: movaps %xmm0, 16(%r9)7389; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7390; SSE-NEXT: movaps %xmm0, (%r9)7391; SSE-NEXT: addq $2200, %rsp # imm = 0x8987392; SSE-NEXT: retq7393;7394; AVX-LABEL: store_i64_stride5_vf64:7395; AVX: # %bb.0:7396; AVX-NEXT: subq $2264, %rsp # imm = 0x8D87397; AVX-NEXT: vmovaps 192(%rdi), %ymm147398; AVX-NEXT: vmovaps 160(%rdi), %ymm47399; AVX-NEXT: vmovaps 96(%rdi), %ymm57400; AVX-NEXT: vmovaps 64(%rcx), %ymm17401; AVX-NEXT: vmovaps 128(%rcx), %ymm07402; AVX-NEXT: vmovaps (%rcx), %ymm27403; AVX-NEXT: vpermilps {{.*#+}} xmm3 = mem[2,3,2,3]7404; AVX-NEXT: vmovaps 16(%rdx), %xmm67405; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7406; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm6[1],ymm2[3],ymm6[3]7407; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5,6,7]7408; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7409; AVX-NEXT: vpermilps {{.*#+}} xmm2 = mem[2,3,2,3]7410; AVX-NEXT: vmovaps 80(%rdx), %xmm37411; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7412; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]7413; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3,4,5,6,7]7414; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7415; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],mem[0],ymm5[2],mem[2]7416; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7417; AVX-NEXT: vmovaps 96(%rcx), %xmm27418; AVX-NEXT: vmovaps %xmm2, (%rsp) # 16-byte Spill7419; AVX-NEXT: vshufps {{.*#+}} xmm2 = xmm2[2,3,2,3]7420; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7421; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7422; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7423; AVX-NEXT: vmovaps 144(%rdx), %xmm27424; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7425; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]7426; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7427; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7428; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm4[0],mem[0],ymm4[2],mem[2]7429; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7430; AVX-NEXT: vmovaps 160(%rcx), %xmm17431; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7432; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7433; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7434; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7435; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm14[0],mem[0],ymm14[2],mem[2]7436; AVX-NEXT: vmovaps %ymm14, %ymm27437; AVX-NEXT: vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7438; AVX-NEXT: vmovaps 192(%rcx), %xmm17439; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7440; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7441; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7442; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7443; AVX-NEXT: vmovaps 192(%rcx), %ymm07444; AVX-NEXT: vmovaps 208(%rdx), %xmm17445; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7446; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7447; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7448; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7449; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7450; AVX-NEXT: vmovaps 256(%rcx), %ymm07451; AVX-NEXT: vmovaps 272(%rdx), %xmm17452; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7453; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7454; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7455; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7456; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7457; AVX-NEXT: vmovapd 288(%rdi), %ymm147458; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm14[0],mem[0],ymm14[2],mem[2]7459; AVX-NEXT: vmovapd 288(%rcx), %xmm17460; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7461; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7462; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]7463; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7464; AVX-NEXT: vmovaps 320(%rdi), %ymm107465; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],mem[0],ymm10[2],mem[2]7466; AVX-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7467; AVX-NEXT: vmovaps 320(%rcx), %xmm17468; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7469; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7470; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7471; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7472; AVX-NEXT: vmovaps 320(%rcx), %ymm07473; AVX-NEXT: vmovaps 336(%rdx), %xmm17474; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7475; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7476; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7477; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7478; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7479; AVX-NEXT: vmovaps 384(%rdi), %ymm97480; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],mem[0],ymm9[2],mem[2]7481; AVX-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7482; AVX-NEXT: vmovaps 384(%rcx), %xmm17483; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7484; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7485; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7486; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7487; AVX-NEXT: vmovaps 384(%rcx), %ymm07488; AVX-NEXT: vmovaps 400(%rdx), %xmm17489; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7490; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7491; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7492; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7493; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7494; AVX-NEXT: vmovaps 448(%rcx), %ymm07495; AVX-NEXT: vmovaps 464(%rdx), %xmm17496; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7497; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7498; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7499; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5,6,7]7500; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7501; AVX-NEXT: vmovapd 480(%rdi), %ymm137502; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],mem[0],ymm13[2],mem[2]7503; AVX-NEXT: vmovapd 480(%rcx), %xmm17504; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7505; AVX-NEXT: vshufps {{.*#+}} xmm1 = xmm1[2,3,2,3]7506; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]7507; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7508; AVX-NEXT: vmovaps (%rdi), %ymm87509; AVX-NEXT: vbroadcastsd 8(%rsi), %ymm07510; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]7511; AVX-NEXT: vmovaps (%rdx), %xmm17512; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7513; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17514; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7515; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7516; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7517; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm8[0],mem[0],ymm8[2],mem[2]7518; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7519; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7520; AVX-NEXT: vmovapd 32(%rdi), %ymm67521; AVX-NEXT: vbroadcastsd 40(%rsi), %ymm07522; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm6[0,1],ymm0[2,3]7523; AVX-NEXT: vmovaps 32(%rdx), %xmm17524; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7525; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17526; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]7527; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7528; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7529; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm6[0],mem[0],ymm6[2],mem[2]7530; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]7531; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7532; AVX-NEXT: vmovaps 64(%rdi), %ymm77533; AVX-NEXT: vbroadcastsd 72(%rsi), %ymm07534; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]7535; AVX-NEXT: vmovaps 64(%rdx), %xmm17536; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7537; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17538; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7539; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7540; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7541; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm7[0],mem[0],ymm7[2],mem[2]7542; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7543; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7544; AVX-NEXT: vbroadcastsd 104(%rsi), %ymm07545; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7546; AVX-NEXT: vmovaps 96(%rdx), %xmm17547; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7548; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17549; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7550; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7551; AVX-NEXT: vmovaps 128(%rdi), %ymm57552; AVX-NEXT: vbroadcastsd 136(%rsi), %ymm07553; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7554; AVX-NEXT: vmovaps 128(%rdx), %xmm17555; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7556; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17557; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7558; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7559; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7560; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm5[0],mem[0],ymm5[2],mem[2]7561; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7562; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7563; AVX-NEXT: vbroadcastsd 168(%rsi), %ymm07564; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]7565; AVX-NEXT: vmovaps 160(%rdx), %xmm17566; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7567; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17568; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7569; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7570; AVX-NEXT: vbroadcastsd 200(%rsi), %ymm07571; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]7572; AVX-NEXT: vmovaps 192(%rdx), %xmm17573; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7574; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17575; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7576; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7577; AVX-NEXT: vmovapd 224(%rdi), %ymm37578; AVX-NEXT: vbroadcastsd 232(%rsi), %ymm07579; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3]7580; AVX-NEXT: vmovaps 224(%rdx), %xmm17581; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7582; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17583; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]7584; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7585; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7586; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],mem[0],ymm3[2],mem[2]7587; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]7588; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7589; AVX-NEXT: vmovaps 256(%rdi), %ymm47590; AVX-NEXT: vbroadcastsd 264(%rsi), %ymm07591; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]7592; AVX-NEXT: vmovaps 256(%rdx), %xmm17593; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7594; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17595; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7596; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7597; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7598; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm4[0],mem[0],ymm4[2],mem[2]7599; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7600; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7601; AVX-NEXT: vbroadcastsd 296(%rsi), %ymm07602; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1],ymm0[2,3]7603; AVX-NEXT: vmovaps 288(%rdx), %xmm17604; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7605; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17606; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]7607; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7608; AVX-NEXT: vbroadcastsd 328(%rsi), %ymm07609; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm0[4,5,6,7]7610; AVX-NEXT: vmovaps 320(%rdx), %xmm17611; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7612; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17613; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7614; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7615; AVX-NEXT: vmovapd 352(%rdi), %ymm27616; AVX-NEXT: vbroadcastsd 360(%rsi), %ymm07617; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]7618; AVX-NEXT: vmovaps 352(%rdx), %xmm17619; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7620; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm17621; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]7622; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7623; AVX-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]7624; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]7625; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]7626; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7627; AVX-NEXT: vbroadcastsd 392(%rsi), %ymm07628; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]7629; AVX-NEXT: vmovaps 384(%rdx), %xmm157630; AVX-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm17631; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]7632; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7633; AVX-NEXT: vmovapd 416(%rdi), %ymm07634; AVX-NEXT: vbroadcastsd 424(%rsi), %ymm17635; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm0[0,1],ymm1[2,3]7636; AVX-NEXT: vmovaps 416(%rdx), %xmm97637; AVX-NEXT: vmovaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7638; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm97639; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm9[3]7640; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7641; AVX-NEXT: vpermilps {{.*#+}} xmm1 = mem[2,3,2,3]7642; AVX-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm0[0],mem[0],ymm0[2],mem[2]7643; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm9[2,3]7644; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7645; AVX-NEXT: vmovaps 448(%rdi), %ymm17646; AVX-NEXT: vbroadcastsd 456(%rsi), %ymm97647; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm9[4,5,6,7]7648; AVX-NEXT: vmovaps 448(%rdx), %xmm107649; AVX-NEXT: vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7650; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm107651; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm10[6,7]7652; AVX-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7653; AVX-NEXT: vpermilps {{.*#+}} xmm9 = mem[2,3,2,3]7654; AVX-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm1[0],mem[0],ymm1[2],mem[2]7655; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm9[0,1,2,3],ymm10[4,5,6,7]7656; AVX-NEXT: vbroadcastsd 488(%rsi), %ymm107657; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm13[0,1],ymm10[2,3]7658; AVX-NEXT: vmovapd %ymm13, %ymm97659; AVX-NEXT: vmovaps 480(%rdx), %xmm107660; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm137661; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm12[0,1,2],ymm13[3]7662; AVX-NEXT: vmovupd %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7663; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload7664; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]7665; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]7666; AVX-NEXT: vmovaps (%r8), %ymm127667; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm13 # 32-byte Folded Reload7668; AVX-NEXT: # ymm13 = mem[0,1,2,3,4,5],ymm12[6,7]7669; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7670; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm13 # 32-byte Folded Reload7671; AVX-NEXT: # ymm13 = ymm12[0,1],mem[2,3,4,5,6,7]7672; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7673; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm13 # 32-byte Folded Reload7674; AVX-NEXT: # ymm13 = mem[0,1],ymm12[2,3],mem[4,5,6,7]7675; AVX-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7676; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm12[4,5],ymm8[6,7]7677; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7678; AVX-NEXT: vperm2f128 {{.*#+}} ymm6 = mem[2,3],ymm6[2,3]7679; AVX-NEXT: vmovapd 48(%rdx), %xmm87680; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm8[0],ymm6[0],ymm8[2],ymm6[3]7681; AVX-NEXT: vmovapd 48(%rsi), %xmm127682; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm12[1],xmm8[1]7683; AVX-NEXT: vbroadcastsd 56(%rcx), %ymm127684; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm8[0,1],ymm12[2,3]7685; AVX-NEXT: vmovapd 32(%r8), %ymm127686; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm13 # 32-byte Folded Reload7687; AVX-NEXT: # ymm13 = ymm12[0],mem[1,2,3]7688; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7689; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm13 # 32-byte Folded Reload7690; AVX-NEXT: # ymm13 = mem[0],ymm12[1],mem[2,3]7691; AVX-NEXT: vmovupd %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7692; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm12[2],ymm6[3]7693; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7694; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm8[0,1,2],ymm12[3]7695; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7696; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload7697; AVX-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7698; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5,6,7]7699; AVX-NEXT: vmovaps 64(%r8), %ymm77700; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload7701; AVX-NEXT: # ymm8 = mem[0,1,2,3,4,5],ymm7[6,7]7702; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7703; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload7704; AVX-NEXT: # ymm8 = ymm7[0,1],mem[2,3,4,5,6,7]7705; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7706; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload7707; AVX-NEXT: # ymm8 = mem[0,1],ymm7[2,3],mem[4,5,6,7]7708; AVX-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7709; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm7[4,5],ymm6[6,7]7710; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7711; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload7712; AVX-NEXT: vperm2f128 {{.*#+}} ymm6 = mem[2,3],ymm6[2,3]7713; AVX-NEXT: vmovapd 112(%rdx), %xmm77714; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm7[0],ymm6[0],ymm7[2],ymm6[3]7715; AVX-NEXT: vmovapd 112(%rsi), %xmm87716; AVX-NEXT: vunpckhpd {{.*#+}} xmm7 = xmm8[1],xmm7[1]7717; AVX-NEXT: vbroadcastsd 120(%rcx), %ymm87718; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1],ymm8[2,3]7719; AVX-NEXT: vmovapd 96(%r8), %ymm87720; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm12 # 32-byte Folded Reload7721; AVX-NEXT: # ymm12 = mem[0],ymm8[1],mem[2,3]7722; AVX-NEXT: vmovupd %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7723; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm12 # 32-byte Folded Reload7724; AVX-NEXT: # ymm12 = ymm8[0],mem[1,2,3]7725; AVX-NEXT: vmovupd %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7726; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm8[2],ymm6[3]7727; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7728; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm7[0,1,2],ymm8[3]7729; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7730; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload7731; AVX-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm6[0],mem[0]7732; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]7733; AVX-NEXT: vmovaps 128(%r8), %ymm67734; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7735; AVX-NEXT: # ymm7 = mem[0,1,2,3,4,5],ymm6[6,7]7736; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7737; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7738; AVX-NEXT: # ymm7 = ymm6[0,1],mem[2,3,4,5,6,7]7739; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7740; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7741; AVX-NEXT: # ymm7 = mem[0,1],ymm6[2,3],mem[4,5,6,7]7742; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7743; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5],ymm5[6,7]7744; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7745; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload7746; AVX-NEXT: vperm2f128 {{.*#+}} ymm5 = mem[2,3],ymm5[2,3]7747; AVX-NEXT: vmovapd 176(%rdx), %xmm67748; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[3]7749; AVX-NEXT: vmovapd 176(%rsi), %xmm77750; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm7[1],xmm6[1]7751; AVX-NEXT: vbroadcastsd 184(%rcx), %ymm77752; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm7[2,3]7753; AVX-NEXT: vmovapd 160(%r8), %ymm77754; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload7755; AVX-NEXT: # ymm8 = mem[0],ymm7[1],mem[2,3]7756; AVX-NEXT: vmovupd %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7757; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload7758; AVX-NEXT: # ymm8 = ymm7[0],mem[1,2,3]7759; AVX-NEXT: vmovupd %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7760; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm7[2],ymm5[3]7761; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7762; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1,2],ymm7[3]7763; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7764; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload7765; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm5[0],mem[0]7766; AVX-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload7767; AVX-NEXT: # ymm5 = ymm5[0,1,2,3],mem[4,5,6,7]7768; AVX-NEXT: vmovaps 192(%r8), %ymm67769; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7770; AVX-NEXT: # ymm7 = mem[0,1],ymm6[2,3],mem[4,5,6,7]7771; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7772; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7773; AVX-NEXT: # ymm7 = mem[0,1,2,3,4,5],ymm6[6,7]7774; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7775; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7776; AVX-NEXT: # ymm7 = ymm6[0,1],mem[2,3,4,5,6,7]7777; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7778; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5],ymm5[6,7]7779; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7780; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = mem[2,3],ymm3[2,3]7781; AVX-NEXT: vmovapd 240(%rdx), %xmm57782; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm5[0],ymm3[0],ymm5[2],ymm3[3]7783; AVX-NEXT: vmovapd 240(%rsi), %xmm67784; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm6[1],xmm5[1]7785; AVX-NEXT: vbroadcastsd 248(%rcx), %ymm67786; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm6[2,3]7787; AVX-NEXT: vmovapd 224(%r8), %ymm67788; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7789; AVX-NEXT: # ymm7 = ymm6[0],mem[1,2,3]7790; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7791; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload7792; AVX-NEXT: # ymm7 = mem[0],ymm6[1],mem[2,3]7793; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7794; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm6[2],ymm3[3]7795; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7796; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm5[0,1,2],ymm6[3]7797; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7798; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7799; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7800; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]7801; AVX-NEXT: vmovaps 256(%r8), %ymm47802; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7803; AVX-NEXT: # ymm5 = mem[0,1,2,3,4,5],ymm4[6,7]7804; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7805; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7806; AVX-NEXT: # ymm5 = ymm4[0,1],mem[2,3,4,5,6,7]7807; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7808; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7809; AVX-NEXT: # ymm5 = mem[0,1],ymm4[2,3],mem[4,5,6,7]7810; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7811; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5],ymm3[6,7]7812; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7813; AVX-NEXT: vperm2f128 {{.*#+}} ymm3 = mem[2,3],ymm14[2,3]7814; AVX-NEXT: vmovapd 304(%rdx), %xmm47815; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm4[0],ymm3[0],ymm4[2],ymm3[3]7816; AVX-NEXT: vmovapd 304(%rsi), %xmm57817; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]7818; AVX-NEXT: vbroadcastsd 312(%rcx), %ymm57819; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3]7820; AVX-NEXT: vmovapd 288(%r8), %ymm57821; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm6 # 32-byte Folded Reload7822; AVX-NEXT: # ymm6 = mem[0],ymm5[1],mem[2,3]7823; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7824; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm6 # 32-byte Folded Reload7825; AVX-NEXT: # ymm6 = ymm5[0],mem[1,2,3]7826; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7827; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm5[2],ymm3[3]7828; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7829; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm4[0,1,2],ymm5[3]7830; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7831; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7832; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm3[0],mem[0]7833; AVX-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7834; AVX-NEXT: # ymm3 = ymm3[0,1,2,3],mem[4,5,6,7]7835; AVX-NEXT: vmovaps 320(%r8), %ymm47836; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7837; AVX-NEXT: # ymm5 = mem[0,1],ymm4[2,3],mem[4,5,6,7]7838; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7839; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7840; AVX-NEXT: # ymm5 = mem[0,1,2,3,4,5],ymm4[6,7]7841; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7842; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7843; AVX-NEXT: # ymm5 = ymm4[0,1],mem[2,3,4,5,6,7]7844; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7845; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5],ymm3[6,7]7846; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7847; AVX-NEXT: vperm2f128 {{.*#+}} ymm2 = mem[2,3],ymm2[2,3]7848; AVX-NEXT: vmovapd 368(%rdx), %xmm37849; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm3[0],ymm2[0],ymm3[2],ymm2[3]7850; AVX-NEXT: vmovapd 368(%rsi), %xmm47851; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]7852; AVX-NEXT: vbroadcastsd 376(%rcx), %ymm47853; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3]7854; AVX-NEXT: vmovapd 352(%r8), %ymm47855; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7856; AVX-NEXT: # ymm5 = ymm4[0],mem[1,2,3]7857; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7858; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload7859; AVX-NEXT: # ymm5 = mem[0],ymm4[1],mem[2,3]7860; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7861; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm4[2],ymm2[3]7862; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7863; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1,2],ymm4[3]7864; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7865; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7866; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],mem[0]7867; AVX-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload7868; AVX-NEXT: # ymm2 = ymm2[0,1,2,3],mem[4,5,6,7]7869; AVX-NEXT: vmovaps 384(%r8), %ymm37870; AVX-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload7871; AVX-NEXT: # ymm4 = mem[0,1],ymm3[2,3],mem[4,5,6,7]7872; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7873; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload7874; AVX-NEXT: # ymm4 = mem[0,1,2,3,4,5],ymm3[6,7]7875; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7876; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload7877; AVX-NEXT: # ymm4 = ymm3[0,1],mem[2,3,4,5,6,7]7878; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7879; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]7880; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7881; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]7882; AVX-NEXT: vmovapd 432(%rdx), %xmm27883; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm2[0],ymm0[0],ymm2[2],ymm0[3]7884; AVX-NEXT: vmovapd 432(%rsi), %xmm37885; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]7886; AVX-NEXT: vbroadcastsd 440(%rcx), %ymm37887; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3]7888; AVX-NEXT: vmovapd 416(%r8), %ymm37889; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload7890; AVX-NEXT: # ymm4 = ymm3[0],mem[1,2,3]7891; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7892; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload7893; AVX-NEXT: # ymm4 = mem[0],ymm3[1],mem[2,3]7894; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7895; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2],ymm0[3]7896; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7897; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1,2],ymm3[3]7898; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7899; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7900; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7901; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7902; AVX-NEXT: vmovaps 448(%r8), %ymm17903; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload7904; AVX-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]7905; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7906; AVX-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload7907; AVX-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]7908; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7909; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm11[0,1],ymm1[2,3],ymm11[4,5,6,7]7910; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7911; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]7912; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7913; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm9[2,3]7914; AVX-NEXT: vmovapd 496(%rdx), %xmm17915; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]7916; AVX-NEXT: vmovapd 496(%rsi), %xmm27917; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]7918; AVX-NEXT: vbroadcastsd 504(%rcx), %ymm27919; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]7920; AVX-NEXT: vmovapd 480(%r8), %ymm27921; AVX-NEXT: vblendpd $13, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm3 # 32-byte Folded Reload7922; AVX-NEXT: # ymm3 = mem[0],ymm2[1],mem[2,3]7923; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7924; AVX-NEXT: vblendpd $14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm3 # 32-byte Folded Reload7925; AVX-NEXT: # ymm3 = ymm2[0],mem[1,2,3]7926; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7927; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2],ymm0[3]7928; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7929; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm2[3]7930; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7931; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7932; AVX-NEXT: vunpcklpd (%rsp), %xmm0, %xmm0 # 16-byte Folded Reload7933; AVX-NEXT: # xmm0 = xmm0[0],mem[0]7934; AVX-NEXT: vmovaps %xmm0, (%rsp) # 16-byte Spill7935; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7936; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload7937; AVX-NEXT: # xmm0 = xmm0[0],mem[0]7938; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7939; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7940; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload7941; AVX-NEXT: # xmm0 = xmm0[0],mem[0]7942; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7943; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7944; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload7945; AVX-NEXT: # xmm0 = xmm0[0],mem[0]7946; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7947; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7948; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload7949; AVX-NEXT: # xmm0 = xmm0[0],mem[0]7950; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7951; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm0 # 16-byte Folded Reload7952; AVX-NEXT: # xmm0 = xmm10[0],mem[0]7953; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7954; AVX-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm7 # 16-byte Folded Reload7955; AVX-NEXT: # xmm7 = xmm15[0],mem[0]7956; AVX-NEXT: vmovaps 256(%rdi), %xmm07957; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7958; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7959; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7960; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7961; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7962; AVX-NEXT: vmovaps 128(%rdi), %xmm07963; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7964; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7965; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7966; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7967; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7968; AVX-NEXT: vmovaps 64(%rdi), %xmm07969; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7970; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7971; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7972; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7973; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7974; AVX-NEXT: vmovaps 32(%rdi), %xmm07975; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7976; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7977; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7978; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7979; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7980; AVX-NEXT: vmovaps 96(%rdi), %xmm07981; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7982; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7983; AVX-NEXT: vmovaps 160(%rdi), %xmm07984; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]7985; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7986; AVX-NEXT: vmovaps 224(%rdi), %xmm07987; AVX-NEXT: vunpcklpd {{.*#+}} xmm6 = xmm0[0],mem[0]7988; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7989; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm0[0],mem[0]7990; AVX-NEXT: vmovaps 192(%rdi), %xmm07991; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm0[0],mem[0]7992; AVX-NEXT: vmovaps 288(%rdi), %xmm07993; AVX-NEXT: vunpcklpd {{.*#+}} xmm3 = xmm0[0],mem[0]7994; AVX-NEXT: vmovaps 352(%rdi), %xmm157995; AVX-NEXT: vunpcklpd {{.*#+}} xmm15 = xmm15[0],mem[0]7996; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7997; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm0[0],mem[0]7998; AVX-NEXT: vmovaps 320(%rdi), %xmm137999; AVX-NEXT: vunpcklpd {{.*#+}} xmm13 = xmm13[0],mem[0]8000; AVX-NEXT: vmovaps 416(%rdi), %xmm148001; AVX-NEXT: vunpcklpd {{.*#+}} xmm14 = xmm14[0],mem[0]8002; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8003; AVX-NEXT: vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]8004; AVX-NEXT: vmovaps 480(%rdi), %xmm128005; AVX-NEXT: vunpcklpd {{.*#+}} xmm12 = xmm12[0],mem[0]8006; AVX-NEXT: vmovaps 448(%rdi), %xmm118007; AVX-NEXT: vunpcklpd {{.*#+}} xmm11 = xmm11[0],mem[0]8008; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8009; AVX-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]8010; AVX-NEXT: vmovaps 384(%rdi), %xmm108011; AVX-NEXT: vunpcklpd {{.*#+}} xmm10 = xmm10[0],mem[0]8012; AVX-NEXT: vmovaps (%rdi), %xmm98013; AVX-NEXT: vunpcklpd {{.*#+}} xmm9 = xmm9[0],mem[0]8014; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8015; AVX-NEXT: vunpcklpd {{.*#+}} xmm8 = xmm8[0],mem[0]8016; AVX-NEXT: vmovaps %xmm8, 16(%r9)8017; AVX-NEXT: vmovaps %xmm9, (%r9)8018; AVX-NEXT: vmovaps %xmm7, 1936(%r9)8019; AVX-NEXT: vmovaps %xmm10, 1920(%r9)8020; AVX-NEXT: vmovaps %xmm0, 2256(%r9)8021; AVX-NEXT: vmovaps %xmm11, 2240(%r9)8022; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8023; AVX-NEXT: vmovaps %xmm0, 2416(%r9)8024; AVX-NEXT: vmovaps %xmm12, 2400(%r9)8025; AVX-NEXT: vmovaps %xmm1, 2096(%r9)8026; AVX-NEXT: vmovaps %xmm14, 2080(%r9)8027; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8028; AVX-NEXT: vmovaps %xmm0, 1616(%r9)8029; AVX-NEXT: vmovaps %xmm13, 1600(%r9)8030; AVX-NEXT: vmovaps %xmm2, 1776(%r9)8031; AVX-NEXT: vmovaps %xmm15, 1760(%r9)8032; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8033; AVX-NEXT: vmovaps %xmm0, 1456(%r9)8034; AVX-NEXT: vmovaps %xmm3, 1440(%r9)8035; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8036; AVX-NEXT: vmovaps %xmm0, 976(%r9)8037; AVX-NEXT: vmovaps %xmm4, 960(%r9)8038; AVX-NEXT: vmovaps %xmm5, 1136(%r9)8039; AVX-NEXT: vmovaps %xmm6, 1120(%r9)8040; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8041; AVX-NEXT: vmovaps %xmm0, 816(%r9)8042; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8043; AVX-NEXT: vmovaps %xmm0, 800(%r9)8044; AVX-NEXT: vmovaps (%rsp), %xmm0 # 16-byte Reload8045; AVX-NEXT: vmovaps %xmm0, 496(%r9)8046; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8047; AVX-NEXT: vmovaps %xmm0, 480(%r9)8048; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8049; AVX-NEXT: vmovaps %xmm0, 176(%r9)8050; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8051; AVX-NEXT: vmovaps %xmm0, 160(%r9)8052; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8053; AVX-NEXT: vmovaps %xmm0, 336(%r9)8054; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8055; AVX-NEXT: vmovaps %xmm0, 320(%r9)8056; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8057; AVX-NEXT: vmovaps %xmm0, 656(%r9)8058; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8059; AVX-NEXT: vmovaps %xmm0, 640(%r9)8060; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8061; AVX-NEXT: vmovaps %xmm0, 1296(%r9)8062; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8063; AVX-NEXT: vmovaps %xmm0, 1280(%r9)8064; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8065; AVX-NEXT: vmovaps %ymm0, 2496(%r9)8066; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8067; AVX-NEXT: vmovaps %ymm0, 2432(%r9)8068; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8069; AVX-NEXT: vmovaps %ymm0, 2304(%r9)8070; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8071; AVX-NEXT: vmovaps %ymm0, 2272(%r9)8072; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8073; AVX-NEXT: vmovaps %ymm0, 2176(%r9)8074; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8075; AVX-NEXT: vmovaps %ymm0, 2144(%r9)8076; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8077; AVX-NEXT: vmovaps %ymm0, 2112(%r9)8078; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8079; AVX-NEXT: vmovaps %ymm0, 1952(%r9)8080; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8081; AVX-NEXT: vmovaps %ymm0, 1856(%r9)8082; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8083; AVX-NEXT: vmovaps %ymm0, 1824(%r9)8084; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8085; AVX-NEXT: vmovaps %ymm0, 1792(%r9)8086; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8087; AVX-NEXT: vmovaps %ymm0, 1632(%r9)8088; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8089; AVX-NEXT: vmovaps %ymm0, 1536(%r9)8090; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8091; AVX-NEXT: vmovaps %ymm0, 1472(%r9)8092; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8093; AVX-NEXT: vmovaps %ymm0, 1344(%r9)8094; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8095; AVX-NEXT: vmovaps %ymm0, 1312(%r9)8096; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8097; AVX-NEXT: vmovaps %ymm0, 1216(%r9)8098; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8099; AVX-NEXT: vmovaps %ymm0, 1184(%r9)8100; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8101; AVX-NEXT: vmovaps %ymm0, 1152(%r9)8102; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8103; AVX-NEXT: vmovaps %ymm0, 992(%r9)8104; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8105; AVX-NEXT: vmovaps %ymm0, 896(%r9)8106; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8107; AVX-NEXT: vmovaps %ymm0, 832(%r9)8108; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8109; AVX-NEXT: vmovaps %ymm0, 704(%r9)8110; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8111; AVX-NEXT: vmovaps %ymm0, 672(%r9)8112; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8113; AVX-NEXT: vmovaps %ymm0, 576(%r9)8114; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8115; AVX-NEXT: vmovaps %ymm0, 512(%r9)8116; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8117; AVX-NEXT: vmovaps %ymm0, 384(%r9)8118; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8119; AVX-NEXT: vmovaps %ymm0, 352(%r9)8120; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8121; AVX-NEXT: vmovaps %ymm0, 256(%r9)8122; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8123; AVX-NEXT: vmovaps %ymm0, 224(%r9)8124; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8125; AVX-NEXT: vmovaps %ymm0, 192(%r9)8126; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8127; AVX-NEXT: vmovaps %ymm0, 64(%r9)8128; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8129; AVX-NEXT: vmovaps %ymm0, 32(%r9)8130; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8131; AVX-NEXT: vmovaps %ymm0, 2528(%r9)8132; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8133; AVX-NEXT: vmovaps %ymm0, 2464(%r9)8134; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8135; AVX-NEXT: vmovaps %ymm0, 2368(%r9)8136; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8137; AVX-NEXT: vmovaps %ymm0, 2336(%r9)8138; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8139; AVX-NEXT: vmovaps %ymm0, 2208(%r9)8140; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8141; AVX-NEXT: vmovaps %ymm0, 2048(%r9)8142; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8143; AVX-NEXT: vmovaps %ymm0, 2016(%r9)8144; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8145; AVX-NEXT: vmovaps %ymm0, 1984(%r9)8146; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8147; AVX-NEXT: vmovaps %ymm0, 1888(%r9)8148; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8149; AVX-NEXT: vmovaps %ymm0, 1728(%r9)8150; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8151; AVX-NEXT: vmovaps %ymm0, 1696(%r9)8152; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8153; AVX-NEXT: vmovaps %ymm0, 1664(%r9)8154; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8155; AVX-NEXT: vmovaps %ymm0, 1568(%r9)8156; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8157; AVX-NEXT: vmovaps %ymm0, 1504(%r9)8158; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8159; AVX-NEXT: vmovaps %ymm0, 1408(%r9)8160; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8161; AVX-NEXT: vmovaps %ymm0, 1376(%r9)8162; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8163; AVX-NEXT: vmovaps %ymm0, 1248(%r9)8164; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8165; AVX-NEXT: vmovaps %ymm0, 1088(%r9)8166; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8167; AVX-NEXT: vmovaps %ymm0, 1056(%r9)8168; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8169; AVX-NEXT: vmovaps %ymm0, 1024(%r9)8170; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8171; AVX-NEXT: vmovaps %ymm0, 928(%r9)8172; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8173; AVX-NEXT: vmovaps %ymm0, 864(%r9)8174; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8175; AVX-NEXT: vmovaps %ymm0, 768(%r9)8176; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8177; AVX-NEXT: vmovaps %ymm0, 736(%r9)8178; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8179; AVX-NEXT: vmovaps %ymm0, 608(%r9)8180; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8181; AVX-NEXT: vmovaps %ymm0, 544(%r9)8182; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8183; AVX-NEXT: vmovaps %ymm0, 448(%r9)8184; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8185; AVX-NEXT: vmovaps %ymm0, 416(%r9)8186; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8187; AVX-NEXT: vmovaps %ymm0, 288(%r9)8188; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8189; AVX-NEXT: vmovaps %ymm0, 128(%r9)8190; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8191; AVX-NEXT: vmovaps %ymm0, 96(%r9)8192; AVX-NEXT: addq $2264, %rsp # imm = 0x8D88193; AVX-NEXT: vzeroupper8194; AVX-NEXT: retq8195;8196; AVX2-LABEL: store_i64_stride5_vf64:8197; AVX2: # %bb.0:8198; AVX2-NEXT: subq $2696, %rsp # imm = 0xA888199; AVX2-NEXT: vmovaps 96(%rdi), %ymm108200; AVX2-NEXT: vmovaps 64(%rdi), %ymm118201; AVX2-NEXT: vmovaps 32(%rdi), %ymm128202; AVX2-NEXT: vmovaps (%rdi), %ymm138203; AVX2-NEXT: vmovaps (%rsi), %xmm28204; AVX2-NEXT: vmovaps 32(%rsi), %xmm48205; AVX2-NEXT: vmovaps 64(%rsi), %xmm18206; AVX2-NEXT: vmovaps 96(%rsi), %xmm08207; AVX2-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm58208; AVX2-NEXT: vmovaps (%rdi), %xmm68209; AVX2-NEXT: vmovaps 32(%rdi), %xmm78210; AVX2-NEXT: vmovaps 64(%rdi), %xmm28211; AVX2-NEXT: vmovaps (%rdx), %xmm88212; AVX2-NEXT: vmovaps 32(%rdx), %xmm98213; AVX2-NEXT: vmovaps 64(%rdx), %xmm38214; AVX2-NEXT: vinsertf128 $1, %xmm8, %ymm6, %ymm68215; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]8216; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8217; AVX2-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm58218; AVX2-NEXT: vbroadcastsd 8(%rsi), %ymm68219; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8220; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm13[0,1,2,3],ymm6[4,5,6,7]8221; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]8222; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8223; AVX2-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]8224; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],mem[0],ymm13[2],mem[2]8225; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]8226; AVX2-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8227; AVX2-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm48228; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm58229; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]8230; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8231; AVX2-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm48232; AVX2-NEXT: vbroadcastsd 40(%rsi), %ymm58233; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8234; AVX2-NEXT: vblendps {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]8235; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]8236; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8237; AVX2-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]8238; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm12[0],mem[0],ymm12[2],mem[2]8239; AVX2-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]8240; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8241; AVX2-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm18242; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm28243; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]8244; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8245; AVX2-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm18246; AVX2-NEXT: vbroadcastsd 72(%rsi), %ymm28247; AVX2-NEXT: vmovups %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8248; AVX2-NEXT: vblendps {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm2[4,5,6,7]8249; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]8250; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8251; AVX2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]8252; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm11[0],mem[0],ymm11[2],mem[2]8253; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]8254; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8255; AVX2-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm08256; AVX2-NEXT: vmovaps 96(%rdi), %xmm18257; AVX2-NEXT: vmovaps 96(%rdx), %xmm28258; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18259; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8260; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8261; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08262; AVX2-NEXT: vbroadcastsd 104(%rsi), %ymm18263; AVX2-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8264; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1,2,3],ymm1[4,5,6,7]8265; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8266; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8267; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8268; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm10[0],mem[0],ymm10[2],mem[2]8269; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8270; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8271; AVX2-NEXT: vmovaps 128(%rsi), %xmm08272; AVX2-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm08273; AVX2-NEXT: vmovaps 128(%rdi), %xmm18274; AVX2-NEXT: vmovaps 128(%rdx), %xmm28275; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18276; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8277; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8278; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08279; AVX2-NEXT: vmovaps 128(%rdi), %ymm28280; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8281; AVX2-NEXT: vbroadcastsd 136(%rsi), %ymm18282; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8283; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8284; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8285; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8286; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8287; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8288; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8289; AVX2-NEXT: vmovaps 160(%rsi), %xmm08290; AVX2-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm08291; AVX2-NEXT: vmovaps 160(%rdi), %xmm18292; AVX2-NEXT: vmovaps 160(%rdx), %xmm28293; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18294; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8295; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8296; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08297; AVX2-NEXT: vmovaps 160(%rdi), %ymm28298; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8299; AVX2-NEXT: vbroadcastsd 168(%rsi), %ymm18300; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8301; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8302; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8303; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8304; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8305; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8306; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8307; AVX2-NEXT: vmovaps 192(%rsi), %xmm08308; AVX2-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm08309; AVX2-NEXT: vmovaps 192(%rdi), %xmm18310; AVX2-NEXT: vmovaps 192(%rdx), %xmm28311; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18312; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8313; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8314; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08315; AVX2-NEXT: vmovaps 192(%rdi), %ymm28316; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8317; AVX2-NEXT: vbroadcastsd 200(%rsi), %ymm18318; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8319; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8320; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8321; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8322; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8323; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8324; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8325; AVX2-NEXT: vmovaps 224(%rsi), %xmm08326; AVX2-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm08327; AVX2-NEXT: vmovaps 224(%rdi), %xmm18328; AVX2-NEXT: vmovaps 224(%rdx), %xmm28329; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18330; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8331; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8332; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08333; AVX2-NEXT: vmovaps 224(%rdi), %ymm28334; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8335; AVX2-NEXT: vbroadcastsd 232(%rsi), %ymm18336; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8337; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8338; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8339; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8340; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8341; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8342; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8343; AVX2-NEXT: vmovaps 256(%rsi), %xmm08344; AVX2-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm08345; AVX2-NEXT: vmovaps 256(%rdi), %xmm18346; AVX2-NEXT: vmovaps 256(%rdx), %xmm28347; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18348; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8349; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8350; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08351; AVX2-NEXT: vmovaps 256(%rdi), %ymm28352; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8353; AVX2-NEXT: vbroadcastsd 264(%rsi), %ymm18354; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8355; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8356; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8357; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8358; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8359; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8360; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8361; AVX2-NEXT: vmovaps 288(%rsi), %xmm08362; AVX2-NEXT: vinsertf128 $1, 288(%rcx), %ymm0, %ymm08363; AVX2-NEXT: vmovaps 288(%rdi), %xmm18364; AVX2-NEXT: vmovaps 288(%rdx), %xmm28365; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18366; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8367; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8368; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08369; AVX2-NEXT: vmovaps 288(%rdi), %ymm28370; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8371; AVX2-NEXT: vbroadcastsd 296(%rsi), %ymm18372; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8373; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8374; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8375; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8376; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8377; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8378; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8379; AVX2-NEXT: vmovaps 320(%rsi), %xmm08380; AVX2-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm08381; AVX2-NEXT: vmovaps 320(%rdi), %xmm18382; AVX2-NEXT: vmovaps 320(%rdx), %xmm28383; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18384; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8385; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8386; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08387; AVX2-NEXT: vmovaps 320(%rdi), %ymm28388; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8389; AVX2-NEXT: vbroadcastsd 328(%rsi), %ymm18390; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8391; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8392; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8393; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8394; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8395; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8396; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8397; AVX2-NEXT: vmovaps 352(%rsi), %xmm08398; AVX2-NEXT: vinsertf128 $1, 352(%rcx), %ymm0, %ymm08399; AVX2-NEXT: vmovaps 352(%rdi), %xmm18400; AVX2-NEXT: vmovaps 352(%rdx), %xmm28401; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18402; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8403; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8404; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08405; AVX2-NEXT: vmovaps 352(%rdi), %ymm28406; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8407; AVX2-NEXT: vbroadcastsd 360(%rsi), %ymm18408; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8409; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8410; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8411; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8412; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8413; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8414; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8415; AVX2-NEXT: vmovaps 384(%rsi), %xmm08416; AVX2-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm08417; AVX2-NEXT: vmovaps 384(%rdi), %xmm18418; AVX2-NEXT: vmovaps 384(%rdx), %xmm28419; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18420; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8421; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8422; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08423; AVX2-NEXT: vmovaps 384(%rdi), %ymm28424; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8425; AVX2-NEXT: vbroadcastsd 392(%rsi), %ymm18426; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8427; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8428; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8429; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8430; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8431; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8432; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8433; AVX2-NEXT: vmovaps 416(%rsi), %xmm08434; AVX2-NEXT: vinsertf128 $1, 416(%rcx), %ymm0, %ymm08435; AVX2-NEXT: vmovaps 416(%rdi), %xmm18436; AVX2-NEXT: vmovaps 416(%rdx), %xmm28437; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18438; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8439; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8440; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08441; AVX2-NEXT: vmovaps 416(%rdi), %ymm28442; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8443; AVX2-NEXT: vbroadcastsd 424(%rsi), %ymm18444; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8445; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8446; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8447; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8448; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8449; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8450; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8451; AVX2-NEXT: vmovaps 448(%rsi), %xmm08452; AVX2-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm08453; AVX2-NEXT: vmovaps 448(%rdi), %xmm18454; AVX2-NEXT: vmovaps 448(%rdx), %xmm28455; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18456; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8457; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8458; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08459; AVX2-NEXT: vmovaps 448(%rdi), %ymm28460; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8461; AVX2-NEXT: vbroadcastsd 456(%rsi), %ymm18462; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8463; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8464; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8465; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8466; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8467; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8468; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8469; AVX2-NEXT: vmovaps 480(%rsi), %xmm08470; AVX2-NEXT: vinsertf128 $1, 480(%rcx), %ymm0, %ymm08471; AVX2-NEXT: vmovaps 480(%rdi), %xmm18472; AVX2-NEXT: vmovaps 480(%rdx), %xmm28473; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm18474; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8475; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8476; AVX2-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm08477; AVX2-NEXT: vmovaps 480(%rdi), %ymm28478; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8479; AVX2-NEXT: vbroadcastsd 488(%rsi), %ymm18480; AVX2-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8481; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]8482; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8483; AVX2-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]8484; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]8485; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8486; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8487; AVX2-NEXT: vbroadcastsd 56(%rsi), %ymm08488; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8489; AVX2-NEXT: vbroadcastsd 56(%rcx), %ymm18490; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8491; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8492; AVX2-NEXT: vbroadcastsd 120(%rsi), %ymm08493; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8494; AVX2-NEXT: vbroadcastsd 120(%rcx), %ymm18495; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8496; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill8497; AVX2-NEXT: vbroadcastsd 184(%rsi), %ymm08498; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8499; AVX2-NEXT: vbroadcastsd 184(%rcx), %ymm18500; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8501; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8502; AVX2-NEXT: vbroadcastsd 248(%rsi), %ymm08503; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8504; AVX2-NEXT: vbroadcastsd 248(%rcx), %ymm18505; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8506; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8507; AVX2-NEXT: vbroadcastsd 312(%rsi), %ymm08508; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8509; AVX2-NEXT: vbroadcastsd 312(%rcx), %ymm18510; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8511; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8512; AVX2-NEXT: vbroadcastsd 376(%rsi), %ymm08513; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8514; AVX2-NEXT: vbroadcastsd 376(%rcx), %ymm18515; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8516; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8517; AVX2-NEXT: vbroadcastsd 440(%rsi), %ymm08518; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8519; AVX2-NEXT: vbroadcastsd 440(%rcx), %ymm18520; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8521; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8522; AVX2-NEXT: vbroadcastsd 504(%rsi), %ymm08523; AVX2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]8524; AVX2-NEXT: vbroadcastsd 504(%rcx), %ymm18525; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8526; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8527; AVX2-NEXT: vmovaps (%rdx), %ymm98528; AVX2-NEXT: vmovaps (%rcx), %ymm18529; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm9[1],ymm1[1],ymm9[3],ymm1[3]8530; AVX2-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]8531; AVX2-NEXT: vbroadcastsd 24(%rsi), %ymm38532; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm2[2,3,4,5,6,7]8533; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8534; AVX2-NEXT: vmovaps 64(%rdx), %ymm138535; AVX2-NEXT: vmovaps 64(%rcx), %ymm28536; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm2[1],ymm13[3],ymm2[3]8537; AVX2-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]8538; AVX2-NEXT: vbroadcastsd 88(%rsi), %ymm48539; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1],ymm3[2,3,4,5,6,7]8540; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8541; AVX2-NEXT: vmovaps 128(%rdx), %ymm38542; AVX2-NEXT: vmovaps 128(%rcx), %ymm158543; AVX2-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm15[1],ymm3[3],ymm15[3]8544; AVX2-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]8545; AVX2-NEXT: vbroadcastsd 152(%rsi), %ymm58546; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm4[2,3,4,5,6,7]8547; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8548; AVX2-NEXT: vmovaps 192(%rdx), %ymm58549; AVX2-NEXT: vmovaps 192(%rcx), %ymm48550; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]8551; AVX2-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]8552; AVX2-NEXT: vbroadcastsd 216(%rsi), %ymm78553; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm6[2,3,4,5,6,7]8554; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8555; AVX2-NEXT: vmovaps 256(%rdx), %ymm78556; AVX2-NEXT: vmovaps 256(%rcx), %ymm68557; AVX2-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]8558; AVX2-NEXT: vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]8559; AVX2-NEXT: vbroadcastsd 280(%rsi), %ymm108560; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1],ymm8[2,3,4,5,6,7]8561; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8562; AVX2-NEXT: vmovaps 320(%rdx), %ymm108563; AVX2-NEXT: vmovaps 320(%rcx), %ymm88564; AVX2-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]8565; AVX2-NEXT: vpermpd {{.*#+}} ymm11 = ymm11[0,2,3,3]8566; AVX2-NEXT: vbroadcastsd 344(%rsi), %ymm128567; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm11[2,3,4,5,6,7]8568; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8569; AVX2-NEXT: vmovaps 384(%rdx), %ymm08570; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8571; AVX2-NEXT: vmovaps 384(%rcx), %ymm118572; AVX2-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]8573; AVX2-NEXT: vpermpd {{.*#+}} ymm14 = ymm14[0,2,3,3]8574; AVX2-NEXT: vbroadcastsd 408(%rsi), %ymm128575; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm14[2,3,4,5,6,7]8576; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8577; AVX2-NEXT: vmovaps 448(%rdx), %ymm128578; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8579; AVX2-NEXT: vmovaps 448(%rcx), %ymm08580; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8581; AVX2-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm12[1],ymm0[1],ymm12[3],ymm0[3]8582; AVX2-NEXT: vpermpd {{.*#+}} ymm12 = ymm12[0,2,3,3]8583; AVX2-NEXT: vbroadcastsd 472(%rsi), %ymm148584; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1],ymm12[2,3,4,5,6,7]8585; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8586; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]8587; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8588; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8589; AVX2-NEXT: vmovaps (%r8), %ymm18590; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload8591; AVX2-NEXT: # ymm12 = ymm1[0,1],mem[2,3,4,5,6,7]8592; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8593; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload8594; AVX2-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8595; AVX2-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8596; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload8597; AVX2-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]8598; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8599; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8600; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8601; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8602; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8603; AVX2-NEXT: vbroadcastsd 48(%rcx), %ymm18604; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8605; AVX2-NEXT: vmovaps 32(%r8), %ymm18606; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload8607; AVX2-NEXT: # ymm9 = ymm1[0,1],mem[2,3,4,5,6,7]8608; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8609; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload8610; AVX2-NEXT: # ymm9 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8611; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8612; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload8613; AVX2-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]8614; AVX2-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8615; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8616; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8617; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm2[0],ymm13[2],ymm2[2]8618; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8619; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8620; AVX2-NEXT: vmovaps 64(%r8), %ymm18621; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8622; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8623; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8624; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8625; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8626; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8627; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8628; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8629; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8630; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8631; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8632; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8633; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8634; AVX2-NEXT: vbroadcastsd 112(%rcx), %ymm18635; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8636; AVX2-NEXT: vmovaps 96(%r8), %ymm18637; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8638; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8639; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8640; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8641; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8642; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8643; AVX2-NEXT: vblendps $63, (%rsp), %ymm1, %ymm2 # 32-byte Folded Reload8644; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8645; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8646; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8647; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill8648; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm15[0],ymm3[2],ymm15[2]8649; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8650; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8651; AVX2-NEXT: vmovaps 128(%r8), %ymm18652; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8653; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8654; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8655; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8656; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8657; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8658; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8659; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8660; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8661; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8662; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8663; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8664; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8665; AVX2-NEXT: vbroadcastsd 176(%rcx), %ymm18666; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8667; AVX2-NEXT: vmovaps 160(%r8), %ymm18668; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8669; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8670; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8671; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8672; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8673; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8674; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8675; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8676; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8677; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8678; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8679; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]8680; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8681; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8682; AVX2-NEXT: vmovaps 192(%r8), %ymm18683; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8684; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8685; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8686; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8687; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8688; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8689; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8690; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8691; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8692; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8693; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8694; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8695; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8696; AVX2-NEXT: vbroadcastsd 240(%rcx), %ymm18697; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8698; AVX2-NEXT: vmovaps 224(%r8), %ymm18699; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8700; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8701; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8702; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8703; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8704; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8705; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8706; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8707; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8708; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8709; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8710; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]8711; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8712; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8713; AVX2-NEXT: vmovaps 256(%r8), %ymm18714; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8715; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8716; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8717; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8718; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8719; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8720; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8721; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8722; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8723; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8724; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8725; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8726; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8727; AVX2-NEXT: vbroadcastsd 304(%rcx), %ymm18728; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8729; AVX2-NEXT: vmovaps 288(%r8), %ymm18730; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8731; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8732; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8733; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8734; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8735; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8736; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8737; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8738; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8739; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8740; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8741; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]8742; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8743; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8744; AVX2-NEXT: vmovaps 320(%r8), %ymm18745; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8746; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8747; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8748; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8749; AVX2-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8750; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8751; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8752; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8753; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8754; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8755; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8756; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8757; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]8758; AVX2-NEXT: vbroadcastsd 368(%rcx), %ymm18759; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]8760; AVX2-NEXT: vmovaps 352(%r8), %ymm18761; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8762; AVX2-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]8763; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8764; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm15 # 32-byte Folded Reload8765; AVX2-NEXT: # ymm15 = mem[0,1],ymm1[2,3],mem[4,5,6,7]8766; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload8767; AVX2-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]8768; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8769; AVX2-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]8770; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8771; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[2]8772; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8773; AVX2-NEXT: # ymm0 = ymm0[2,3],mem[2,3]8774; AVX2-NEXT: vmovaps 384(%r8), %ymm118775; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm13 # 32-byte Folded Reload8776; AVX2-NEXT: # ymm13 = ymm11[0,1],mem[2,3,4,5,6,7]8777; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm10 # 32-byte Folded Reload8778; AVX2-NEXT: # ymm10 = mem[0,1],ymm11[2,3],mem[4,5,6,7]8779; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm1 # 32-byte Folded Reload8780; AVX2-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm11[6,7]8781; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8782; AVX2-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]8783; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8784; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]8785; AVX2-NEXT: vbroadcastsd 432(%rcx), %ymm128786; AVX2-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]8787; AVX2-NEXT: vmovaps 416(%r8), %ymm128788; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload8789; AVX2-NEXT: # ymm8 = ymm12[0,1],mem[2,3,4,5,6,7]8790; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm7 # 32-byte Folded Reload8791; AVX2-NEXT: # ymm7 = mem[0,1],ymm12[2,3],mem[4,5,6,7]8792; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm0 # 32-byte Folded Reload8793; AVX2-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm12[6,7]8794; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8795; AVX2-NEXT: vblendps {{.*#+}} ymm6 = ymm11[0,1,2,3],ymm12[4,5],ymm11[6,7]8796; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8797; AVX2-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload8798; AVX2-NEXT: # ymm11 = ymm0[0],mem[0],ymm0[2],mem[2]8799; AVX2-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload8800; AVX2-NEXT: # ymm11 = ymm11[2,3],mem[2,3]8801; AVX2-NEXT: vmovaps 448(%r8), %ymm08802; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 32-byte Folded Reload8803; AVX2-NEXT: # ymm5 = ymm0[0,1],mem[2,3,4,5,6,7]8804; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload8805; AVX2-NEXT: # ymm4 = mem[0,1],ymm0[2,3],mem[4,5,6,7]8806; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload8807; AVX2-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm0[6,7]8808; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8809; AVX2-NEXT: vblendps {{.*#+}} ymm3 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]8810; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8811; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]8812; AVX2-NEXT: vbroadcastsd 496(%rcx), %ymm128813; AVX2-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]8814; AVX2-NEXT: vmovaps 480(%r8), %ymm08815; AVX2-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload8816; AVX2-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]8817; AVX2-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload8818; AVX2-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]8819; AVX2-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload8820; AVX2-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]8821; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]8822; AVX2-NEXT: vmovaps %ymm0, 2496(%r9)8823; AVX2-NEXT: vmovaps %ymm1, 2464(%r9)8824; AVX2-NEXT: vmovaps %ymm2, 2432(%r9)8825; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8826; AVX2-NEXT: vmovaps %ymm0, 2400(%r9)8827; AVX2-NEXT: vmovaps %ymm3, 2336(%r9)8828; AVX2-NEXT: vmovaps %ymm4, 2304(%r9)8829; AVX2-NEXT: vmovaps %ymm5, 2272(%r9)8830; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8831; AVX2-NEXT: vmovaps %ymm0, 2240(%r9)8832; AVX2-NEXT: vmovaps %ymm6, 2176(%r9)8833; AVX2-NEXT: vmovaps %ymm7, 2144(%r9)8834; AVX2-NEXT: vmovaps %ymm8, 2112(%r9)8835; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8836; AVX2-NEXT: vmovaps %ymm0, 2080(%r9)8837; AVX2-NEXT: vmovaps %ymm9, 2016(%r9)8838; AVX2-NEXT: vmovaps %ymm10, 1984(%r9)8839; AVX2-NEXT: vmovaps %ymm13, 1952(%r9)8840; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8841; AVX2-NEXT: vmovaps %ymm0, 1920(%r9)8842; AVX2-NEXT: vmovaps %ymm14, 1856(%r9)8843; AVX2-NEXT: vmovaps %ymm15, 1824(%r9)8844; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8845; AVX2-NEXT: vmovaps %ymm0, 1792(%r9)8846; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8847; AVX2-NEXT: vmovaps %ymm0, 1760(%r9)8848; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8849; AVX2-NEXT: vmovaps %ymm0, 1696(%r9)8850; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8851; AVX2-NEXT: vmovaps %ymm0, 1664(%r9)8852; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8853; AVX2-NEXT: vmovaps %ymm0, 1632(%r9)8854; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8855; AVX2-NEXT: vmovaps %ymm0, 1600(%r9)8856; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8857; AVX2-NEXT: vmovaps %ymm0, 1536(%r9)8858; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8859; AVX2-NEXT: vmovaps %ymm0, 1504(%r9)8860; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8861; AVX2-NEXT: vmovaps %ymm0, 1472(%r9)8862; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8863; AVX2-NEXT: vmovaps %ymm0, 1440(%r9)8864; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8865; AVX2-NEXT: vmovaps %ymm0, 1376(%r9)8866; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8867; AVX2-NEXT: vmovaps %ymm0, 1344(%r9)8868; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8869; AVX2-NEXT: vmovaps %ymm0, 1312(%r9)8870; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8871; AVX2-NEXT: vmovaps %ymm0, 1280(%r9)8872; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8873; AVX2-NEXT: vmovaps %ymm0, 1216(%r9)8874; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8875; AVX2-NEXT: vmovaps %ymm0, 1184(%r9)8876; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8877; AVX2-NEXT: vmovaps %ymm0, 1152(%r9)8878; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8879; AVX2-NEXT: vmovaps %ymm0, 1120(%r9)8880; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8881; AVX2-NEXT: vmovaps %ymm0, 1056(%r9)8882; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8883; AVX2-NEXT: vmovaps %ymm0, 1024(%r9)8884; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8885; AVX2-NEXT: vmovaps %ymm0, 992(%r9)8886; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8887; AVX2-NEXT: vmovaps %ymm0, 960(%r9)8888; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8889; AVX2-NEXT: vmovaps %ymm0, 896(%r9)8890; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8891; AVX2-NEXT: vmovaps %ymm0, 864(%r9)8892; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8893; AVX2-NEXT: vmovaps %ymm0, 832(%r9)8894; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8895; AVX2-NEXT: vmovaps %ymm0, 800(%r9)8896; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8897; AVX2-NEXT: vmovaps %ymm0, 736(%r9)8898; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8899; AVX2-NEXT: vmovaps %ymm0, 704(%r9)8900; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8901; AVX2-NEXT: vmovaps %ymm0, 672(%r9)8902; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8903; AVX2-NEXT: vmovaps %ymm0, 640(%r9)8904; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload8905; AVX2-NEXT: vmovaps %ymm0, 576(%r9)8906; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8907; AVX2-NEXT: vmovaps %ymm0, 544(%r9)8908; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8909; AVX2-NEXT: vmovaps %ymm0, 512(%r9)8910; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8911; AVX2-NEXT: vmovaps %ymm0, 480(%r9)8912; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8913; AVX2-NEXT: vmovaps %ymm0, 416(%r9)8914; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8915; AVX2-NEXT: vmovaps %ymm0, 384(%r9)8916; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8917; AVX2-NEXT: vmovaps %ymm0, 352(%r9)8918; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8919; AVX2-NEXT: vmovaps %ymm0, 320(%r9)8920; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8921; AVX2-NEXT: vmovaps %ymm0, 256(%r9)8922; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8923; AVX2-NEXT: vmovaps %ymm0, 224(%r9)8924; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8925; AVX2-NEXT: vmovaps %ymm0, 192(%r9)8926; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8927; AVX2-NEXT: vmovaps %ymm0, 160(%r9)8928; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8929; AVX2-NEXT: vmovaps %ymm0, 96(%r9)8930; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8931; AVX2-NEXT: vmovaps %ymm0, 64(%r9)8932; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8933; AVX2-NEXT: vmovaps %ymm0, 32(%r9)8934; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8935; AVX2-NEXT: vmovaps %ymm0, (%r9)8936; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8937; AVX2-NEXT: vmovaps %ymm0, 2368(%r9)8938; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8939; AVX2-NEXT: vmovaps %ymm0, 2048(%r9)8940; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8941; AVX2-NEXT: vmovaps %ymm0, 1728(%r9)8942; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8943; AVX2-NEXT: vmovaps %ymm0, 1408(%r9)8944; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8945; AVX2-NEXT: vmovaps %ymm0, 1088(%r9)8946; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8947; AVX2-NEXT: vmovaps %ymm0, 768(%r9)8948; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8949; AVX2-NEXT: vmovaps %ymm0, 448(%r9)8950; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8951; AVX2-NEXT: vmovaps %ymm0, 128(%r9)8952; AVX2-NEXT: vmovaps %ymm11, 2528(%r9)8953; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8954; AVX2-NEXT: vmovaps %ymm0, 2208(%r9)8955; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8956; AVX2-NEXT: vmovaps %ymm0, 1888(%r9)8957; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8958; AVX2-NEXT: vmovaps %ymm0, 1568(%r9)8959; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8960; AVX2-NEXT: vmovaps %ymm0, 1248(%r9)8961; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8962; AVX2-NEXT: vmovaps %ymm0, 928(%r9)8963; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8964; AVX2-NEXT: vmovaps %ymm0, 608(%r9)8965; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8966; AVX2-NEXT: vmovaps %ymm0, 288(%r9)8967; AVX2-NEXT: addq $2696, %rsp # imm = 0xA888968; AVX2-NEXT: vzeroupper8969; AVX2-NEXT: retq8970;8971; AVX2-FP-LABEL: store_i64_stride5_vf64:8972; AVX2-FP: # %bb.0:8973; AVX2-FP-NEXT: subq $2696, %rsp # imm = 0xA888974; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm108975; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm118976; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm128977; AVX2-FP-NEXT: vmovaps (%rdi), %ymm138978; AVX2-FP-NEXT: vmovaps (%rsi), %xmm28979; AVX2-FP-NEXT: vmovaps 32(%rsi), %xmm48980; AVX2-FP-NEXT: vmovaps 64(%rsi), %xmm18981; AVX2-FP-NEXT: vmovaps 96(%rsi), %xmm08982; AVX2-FP-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm58983; AVX2-FP-NEXT: vmovaps (%rdi), %xmm68984; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm78985; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm28986; AVX2-FP-NEXT: vmovaps (%rdx), %xmm88987; AVX2-FP-NEXT: vmovaps 32(%rdx), %xmm98988; AVX2-FP-NEXT: vmovaps 64(%rdx), %xmm38989; AVX2-FP-NEXT: vinsertf128 $1, %xmm8, %ymm6, %ymm68990; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]8991; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8992; AVX2-FP-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm58993; AVX2-FP-NEXT: vbroadcastsd 8(%rsi), %ymm68994; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8995; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm13[0,1,2,3],ymm6[4,5,6,7]8996; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]8997; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8998; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]8999; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],mem[0],ymm13[2],mem[2]9000; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]9001; AVX2-FP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9002; AVX2-FP-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm49003; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm59004; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]9005; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9006; AVX2-FP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm49007; AVX2-FP-NEXT: vbroadcastsd 40(%rsi), %ymm59008; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9009; AVX2-FP-NEXT: vblendps {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]9010; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]9011; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9012; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]9013; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm12[0],mem[0],ymm12[2],mem[2]9014; AVX2-FP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]9015; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9016; AVX2-FP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm19017; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm29018; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]9019; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9020; AVX2-FP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm19021; AVX2-FP-NEXT: vbroadcastsd 72(%rsi), %ymm29022; AVX2-FP-NEXT: vmovups %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9023; AVX2-FP-NEXT: vblendps {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm2[4,5,6,7]9024; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9025; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9026; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]9027; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm11[0],mem[0],ymm11[2],mem[2]9028; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]9029; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9030; AVX2-FP-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm09031; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm19032; AVX2-FP-NEXT: vmovaps 96(%rdx), %xmm29033; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19034; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9035; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9036; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09037; AVX2-FP-NEXT: vbroadcastsd 104(%rsi), %ymm19038; AVX2-FP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9039; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1,2,3],ymm1[4,5,6,7]9040; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9041; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9042; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9043; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm10[0],mem[0],ymm10[2],mem[2]9044; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9045; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9046; AVX2-FP-NEXT: vmovaps 128(%rsi), %xmm09047; AVX2-FP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm09048; AVX2-FP-NEXT: vmovaps 128(%rdi), %xmm19049; AVX2-FP-NEXT: vmovaps 128(%rdx), %xmm29050; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19051; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9052; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9053; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09054; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm29055; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9056; AVX2-FP-NEXT: vbroadcastsd 136(%rsi), %ymm19057; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9058; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9059; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9060; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9061; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9062; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9063; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9064; AVX2-FP-NEXT: vmovaps 160(%rsi), %xmm09065; AVX2-FP-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm09066; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm19067; AVX2-FP-NEXT: vmovaps 160(%rdx), %xmm29068; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19069; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9070; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9071; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09072; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm29073; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9074; AVX2-FP-NEXT: vbroadcastsd 168(%rsi), %ymm19075; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9076; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9077; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9078; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9079; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9080; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9081; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9082; AVX2-FP-NEXT: vmovaps 192(%rsi), %xmm09083; AVX2-FP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm09084; AVX2-FP-NEXT: vmovaps 192(%rdi), %xmm19085; AVX2-FP-NEXT: vmovaps 192(%rdx), %xmm29086; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19087; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9088; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9089; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09090; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm29091; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9092; AVX2-FP-NEXT: vbroadcastsd 200(%rsi), %ymm19093; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9094; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9095; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9096; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9097; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9098; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9099; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9100; AVX2-FP-NEXT: vmovaps 224(%rsi), %xmm09101; AVX2-FP-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm09102; AVX2-FP-NEXT: vmovaps 224(%rdi), %xmm19103; AVX2-FP-NEXT: vmovaps 224(%rdx), %xmm29104; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19105; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9106; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9107; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09108; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm29109; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9110; AVX2-FP-NEXT: vbroadcastsd 232(%rsi), %ymm19111; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9112; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9113; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9114; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9115; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9116; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9117; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9118; AVX2-FP-NEXT: vmovaps 256(%rsi), %xmm09119; AVX2-FP-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm09120; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm19121; AVX2-FP-NEXT: vmovaps 256(%rdx), %xmm29122; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19123; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9124; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9125; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09126; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm29127; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9128; AVX2-FP-NEXT: vbroadcastsd 264(%rsi), %ymm19129; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9130; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9131; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9132; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9133; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9134; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9135; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9136; AVX2-FP-NEXT: vmovaps 288(%rsi), %xmm09137; AVX2-FP-NEXT: vinsertf128 $1, 288(%rcx), %ymm0, %ymm09138; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm19139; AVX2-FP-NEXT: vmovaps 288(%rdx), %xmm29140; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19141; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9142; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9143; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09144; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm29145; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9146; AVX2-FP-NEXT: vbroadcastsd 296(%rsi), %ymm19147; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9148; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9149; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9150; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9151; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9152; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9153; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9154; AVX2-FP-NEXT: vmovaps 320(%rsi), %xmm09155; AVX2-FP-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm09156; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm19157; AVX2-FP-NEXT: vmovaps 320(%rdx), %xmm29158; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19159; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9160; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9161; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09162; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm29163; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9164; AVX2-FP-NEXT: vbroadcastsd 328(%rsi), %ymm19165; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9166; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9167; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9168; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9169; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9170; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9171; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9172; AVX2-FP-NEXT: vmovaps 352(%rsi), %xmm09173; AVX2-FP-NEXT: vinsertf128 $1, 352(%rcx), %ymm0, %ymm09174; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm19175; AVX2-FP-NEXT: vmovaps 352(%rdx), %xmm29176; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19177; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9178; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9179; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09180; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm29181; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9182; AVX2-FP-NEXT: vbroadcastsd 360(%rsi), %ymm19183; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9184; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9185; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9186; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9187; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9188; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9189; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9190; AVX2-FP-NEXT: vmovaps 384(%rsi), %xmm09191; AVX2-FP-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm09192; AVX2-FP-NEXT: vmovaps 384(%rdi), %xmm19193; AVX2-FP-NEXT: vmovaps 384(%rdx), %xmm29194; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19195; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9196; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9197; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09198; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm29199; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9200; AVX2-FP-NEXT: vbroadcastsd 392(%rsi), %ymm19201; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9202; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9203; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9204; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9205; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9206; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9207; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9208; AVX2-FP-NEXT: vmovaps 416(%rsi), %xmm09209; AVX2-FP-NEXT: vinsertf128 $1, 416(%rcx), %ymm0, %ymm09210; AVX2-FP-NEXT: vmovaps 416(%rdi), %xmm19211; AVX2-FP-NEXT: vmovaps 416(%rdx), %xmm29212; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19213; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9214; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9215; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09216; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm29217; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9218; AVX2-FP-NEXT: vbroadcastsd 424(%rsi), %ymm19219; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9220; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9221; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9222; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9223; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9224; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9225; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9226; AVX2-FP-NEXT: vmovaps 448(%rsi), %xmm09227; AVX2-FP-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm09228; AVX2-FP-NEXT: vmovaps 448(%rdi), %xmm19229; AVX2-FP-NEXT: vmovaps 448(%rdx), %xmm29230; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19231; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9232; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9233; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09234; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm29235; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9236; AVX2-FP-NEXT: vbroadcastsd 456(%rsi), %ymm19237; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9238; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9239; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9240; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9241; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9242; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9243; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9244; AVX2-FP-NEXT: vmovaps 480(%rsi), %xmm09245; AVX2-FP-NEXT: vinsertf128 $1, 480(%rcx), %ymm0, %ymm09246; AVX2-FP-NEXT: vmovaps 480(%rdi), %xmm19247; AVX2-FP-NEXT: vmovaps 480(%rdx), %xmm29248; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19249; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9250; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9251; AVX2-FP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09252; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm29253; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9254; AVX2-FP-NEXT: vbroadcastsd 488(%rsi), %ymm19255; AVX2-FP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9256; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9257; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9258; AVX2-FP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9259; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9260; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9261; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9262; AVX2-FP-NEXT: vbroadcastsd 56(%rsi), %ymm09263; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9264; AVX2-FP-NEXT: vbroadcastsd 56(%rcx), %ymm19265; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9266; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9267; AVX2-FP-NEXT: vbroadcastsd 120(%rsi), %ymm09268; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9269; AVX2-FP-NEXT: vbroadcastsd 120(%rcx), %ymm19270; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9271; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill9272; AVX2-FP-NEXT: vbroadcastsd 184(%rsi), %ymm09273; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9274; AVX2-FP-NEXT: vbroadcastsd 184(%rcx), %ymm19275; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9276; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9277; AVX2-FP-NEXT: vbroadcastsd 248(%rsi), %ymm09278; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9279; AVX2-FP-NEXT: vbroadcastsd 248(%rcx), %ymm19280; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9281; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9282; AVX2-FP-NEXT: vbroadcastsd 312(%rsi), %ymm09283; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9284; AVX2-FP-NEXT: vbroadcastsd 312(%rcx), %ymm19285; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9286; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9287; AVX2-FP-NEXT: vbroadcastsd 376(%rsi), %ymm09288; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9289; AVX2-FP-NEXT: vbroadcastsd 376(%rcx), %ymm19290; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9291; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9292; AVX2-FP-NEXT: vbroadcastsd 440(%rsi), %ymm09293; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9294; AVX2-FP-NEXT: vbroadcastsd 440(%rcx), %ymm19295; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9296; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9297; AVX2-FP-NEXT: vbroadcastsd 504(%rsi), %ymm09298; AVX2-FP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]9299; AVX2-FP-NEXT: vbroadcastsd 504(%rcx), %ymm19300; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9301; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9302; AVX2-FP-NEXT: vmovaps (%rdx), %ymm99303; AVX2-FP-NEXT: vmovaps (%rcx), %ymm19304; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm9[1],ymm1[1],ymm9[3],ymm1[3]9305; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]9306; AVX2-FP-NEXT: vbroadcastsd 24(%rsi), %ymm39307; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm2[2,3,4,5,6,7]9308; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9309; AVX2-FP-NEXT: vmovaps 64(%rdx), %ymm139310; AVX2-FP-NEXT: vmovaps 64(%rcx), %ymm29311; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm2[1],ymm13[3],ymm2[3]9312; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]9313; AVX2-FP-NEXT: vbroadcastsd 88(%rsi), %ymm49314; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1],ymm3[2,3,4,5,6,7]9315; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9316; AVX2-FP-NEXT: vmovaps 128(%rdx), %ymm39317; AVX2-FP-NEXT: vmovaps 128(%rcx), %ymm159318; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm15[1],ymm3[3],ymm15[3]9319; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]9320; AVX2-FP-NEXT: vbroadcastsd 152(%rsi), %ymm59321; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm4[2,3,4,5,6,7]9322; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9323; AVX2-FP-NEXT: vmovaps 192(%rdx), %ymm59324; AVX2-FP-NEXT: vmovaps 192(%rcx), %ymm49325; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]9326; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]9327; AVX2-FP-NEXT: vbroadcastsd 216(%rsi), %ymm79328; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm6[2,3,4,5,6,7]9329; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9330; AVX2-FP-NEXT: vmovaps 256(%rdx), %ymm79331; AVX2-FP-NEXT: vmovaps 256(%rcx), %ymm69332; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]9333; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]9334; AVX2-FP-NEXT: vbroadcastsd 280(%rsi), %ymm109335; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1],ymm8[2,3,4,5,6,7]9336; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9337; AVX2-FP-NEXT: vmovaps 320(%rdx), %ymm109338; AVX2-FP-NEXT: vmovaps 320(%rcx), %ymm89339; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]9340; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm11 = ymm11[0,2,3,3]9341; AVX2-FP-NEXT: vbroadcastsd 344(%rsi), %ymm129342; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm11[2,3,4,5,6,7]9343; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9344; AVX2-FP-NEXT: vmovaps 384(%rdx), %ymm09345; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9346; AVX2-FP-NEXT: vmovaps 384(%rcx), %ymm119347; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]9348; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm14 = ymm14[0,2,3,3]9349; AVX2-FP-NEXT: vbroadcastsd 408(%rsi), %ymm129350; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm14[2,3,4,5,6,7]9351; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9352; AVX2-FP-NEXT: vmovaps 448(%rdx), %ymm129353; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9354; AVX2-FP-NEXT: vmovaps 448(%rcx), %ymm09355; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9356; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm12[1],ymm0[1],ymm12[3],ymm0[3]9357; AVX2-FP-NEXT: vpermpd {{.*#+}} ymm12 = ymm12[0,2,3,3]9358; AVX2-FP-NEXT: vbroadcastsd 472(%rsi), %ymm149359; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1],ymm12[2,3,4,5,6,7]9360; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9361; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]9362; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9363; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9364; AVX2-FP-NEXT: vmovaps (%r8), %ymm19365; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload9366; AVX2-FP-NEXT: # ymm12 = ymm1[0,1],mem[2,3,4,5,6,7]9367; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9368; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload9369; AVX2-FP-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9370; AVX2-FP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9371; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload9372; AVX2-FP-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]9373; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9374; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9375; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9376; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9377; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9378; AVX2-FP-NEXT: vbroadcastsd 48(%rcx), %ymm19379; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9380; AVX2-FP-NEXT: vmovaps 32(%r8), %ymm19381; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload9382; AVX2-FP-NEXT: # ymm9 = ymm1[0,1],mem[2,3,4,5,6,7]9383; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9384; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload9385; AVX2-FP-NEXT: # ymm9 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9386; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9387; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload9388; AVX2-FP-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]9389; AVX2-FP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9390; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9391; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9392; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm2[0],ymm13[2],ymm2[2]9393; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9394; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9395; AVX2-FP-NEXT: vmovaps 64(%r8), %ymm19396; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9397; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9398; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9399; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9400; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9401; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9402; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9403; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9404; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9405; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9406; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9407; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9408; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9409; AVX2-FP-NEXT: vbroadcastsd 112(%rcx), %ymm19410; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9411; AVX2-FP-NEXT: vmovaps 96(%r8), %ymm19412; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9413; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9414; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9415; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9416; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9417; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9418; AVX2-FP-NEXT: vblendps $63, (%rsp), %ymm1, %ymm2 # 32-byte Folded Reload9419; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9420; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9421; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9422; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill9423; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm15[0],ymm3[2],ymm15[2]9424; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9425; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9426; AVX2-FP-NEXT: vmovaps 128(%r8), %ymm19427; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9428; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9429; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9430; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9431; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9432; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9433; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9434; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9435; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9436; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9437; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9438; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9439; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9440; AVX2-FP-NEXT: vbroadcastsd 176(%rcx), %ymm19441; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9442; AVX2-FP-NEXT: vmovaps 160(%r8), %ymm19443; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9444; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9445; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9446; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9447; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9448; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9449; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9450; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9451; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9452; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9453; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9454; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]9455; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9456; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9457; AVX2-FP-NEXT: vmovaps 192(%r8), %ymm19458; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9459; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9460; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9461; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9462; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9463; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9464; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9465; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9466; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9467; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9468; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9469; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9470; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9471; AVX2-FP-NEXT: vbroadcastsd 240(%rcx), %ymm19472; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9473; AVX2-FP-NEXT: vmovaps 224(%r8), %ymm19474; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9475; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9476; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9477; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9478; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9479; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9480; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9481; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9482; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9483; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9484; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9485; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]9486; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9487; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9488; AVX2-FP-NEXT: vmovaps 256(%r8), %ymm19489; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9490; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9491; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9492; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9493; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9494; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9495; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9496; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9497; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9498; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9499; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9500; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9501; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9502; AVX2-FP-NEXT: vbroadcastsd 304(%rcx), %ymm19503; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9504; AVX2-FP-NEXT: vmovaps 288(%r8), %ymm19505; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9506; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9507; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9508; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9509; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9510; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9511; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9512; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9513; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9514; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9515; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9516; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]9517; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9518; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9519; AVX2-FP-NEXT: vmovaps 320(%r8), %ymm19520; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9521; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9522; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9523; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9524; AVX2-FP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9525; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9526; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9527; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9528; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9529; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9530; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9531; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9532; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]9533; AVX2-FP-NEXT: vbroadcastsd 368(%rcx), %ymm19534; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]9535; AVX2-FP-NEXT: vmovaps 352(%r8), %ymm19536; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9537; AVX2-FP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]9538; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9539; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm15 # 32-byte Folded Reload9540; AVX2-FP-NEXT: # ymm15 = mem[0,1],ymm1[2,3],mem[4,5,6,7]9541; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload9542; AVX2-FP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]9543; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9544; AVX2-FP-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]9545; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9546; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[2]9547; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload9548; AVX2-FP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]9549; AVX2-FP-NEXT: vmovaps 384(%r8), %ymm119550; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm13 # 32-byte Folded Reload9551; AVX2-FP-NEXT: # ymm13 = ymm11[0,1],mem[2,3,4,5,6,7]9552; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm10 # 32-byte Folded Reload9553; AVX2-FP-NEXT: # ymm10 = mem[0,1],ymm11[2,3],mem[4,5,6,7]9554; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm1 # 32-byte Folded Reload9555; AVX2-FP-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm11[6,7]9556; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9557; AVX2-FP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]9558; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9559; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]9560; AVX2-FP-NEXT: vbroadcastsd 432(%rcx), %ymm129561; AVX2-FP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]9562; AVX2-FP-NEXT: vmovaps 416(%r8), %ymm129563; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload9564; AVX2-FP-NEXT: # ymm8 = ymm12[0,1],mem[2,3,4,5,6,7]9565; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm7 # 32-byte Folded Reload9566; AVX2-FP-NEXT: # ymm7 = mem[0,1],ymm12[2,3],mem[4,5,6,7]9567; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm0 # 32-byte Folded Reload9568; AVX2-FP-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm12[6,7]9569; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9570; AVX2-FP-NEXT: vblendps {{.*#+}} ymm6 = ymm11[0,1,2,3],ymm12[4,5],ymm11[6,7]9571; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9572; AVX2-FP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload9573; AVX2-FP-NEXT: # ymm11 = ymm0[0],mem[0],ymm0[2],mem[2]9574; AVX2-FP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload9575; AVX2-FP-NEXT: # ymm11 = ymm11[2,3],mem[2,3]9576; AVX2-FP-NEXT: vmovaps 448(%r8), %ymm09577; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 32-byte Folded Reload9578; AVX2-FP-NEXT: # ymm5 = ymm0[0,1],mem[2,3,4,5,6,7]9579; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload9580; AVX2-FP-NEXT: # ymm4 = mem[0,1],ymm0[2,3],mem[4,5,6,7]9581; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9582; AVX2-FP-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm0[6,7]9583; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9584; AVX2-FP-NEXT: vblendps {{.*#+}} ymm3 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]9585; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9586; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]9587; AVX2-FP-NEXT: vbroadcastsd 496(%rcx), %ymm129588; AVX2-FP-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]9589; AVX2-FP-NEXT: vmovaps 480(%r8), %ymm09590; AVX2-FP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload9591; AVX2-FP-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]9592; AVX2-FP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload9593; AVX2-FP-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]9594; AVX2-FP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload9595; AVX2-FP-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]9596; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]9597; AVX2-FP-NEXT: vmovaps %ymm0, 2496(%r9)9598; AVX2-FP-NEXT: vmovaps %ymm1, 2464(%r9)9599; AVX2-FP-NEXT: vmovaps %ymm2, 2432(%r9)9600; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9601; AVX2-FP-NEXT: vmovaps %ymm0, 2400(%r9)9602; AVX2-FP-NEXT: vmovaps %ymm3, 2336(%r9)9603; AVX2-FP-NEXT: vmovaps %ymm4, 2304(%r9)9604; AVX2-FP-NEXT: vmovaps %ymm5, 2272(%r9)9605; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9606; AVX2-FP-NEXT: vmovaps %ymm0, 2240(%r9)9607; AVX2-FP-NEXT: vmovaps %ymm6, 2176(%r9)9608; AVX2-FP-NEXT: vmovaps %ymm7, 2144(%r9)9609; AVX2-FP-NEXT: vmovaps %ymm8, 2112(%r9)9610; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9611; AVX2-FP-NEXT: vmovaps %ymm0, 2080(%r9)9612; AVX2-FP-NEXT: vmovaps %ymm9, 2016(%r9)9613; AVX2-FP-NEXT: vmovaps %ymm10, 1984(%r9)9614; AVX2-FP-NEXT: vmovaps %ymm13, 1952(%r9)9615; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9616; AVX2-FP-NEXT: vmovaps %ymm0, 1920(%r9)9617; AVX2-FP-NEXT: vmovaps %ymm14, 1856(%r9)9618; AVX2-FP-NEXT: vmovaps %ymm15, 1824(%r9)9619; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9620; AVX2-FP-NEXT: vmovaps %ymm0, 1792(%r9)9621; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9622; AVX2-FP-NEXT: vmovaps %ymm0, 1760(%r9)9623; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9624; AVX2-FP-NEXT: vmovaps %ymm0, 1696(%r9)9625; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9626; AVX2-FP-NEXT: vmovaps %ymm0, 1664(%r9)9627; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9628; AVX2-FP-NEXT: vmovaps %ymm0, 1632(%r9)9629; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9630; AVX2-FP-NEXT: vmovaps %ymm0, 1600(%r9)9631; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9632; AVX2-FP-NEXT: vmovaps %ymm0, 1536(%r9)9633; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9634; AVX2-FP-NEXT: vmovaps %ymm0, 1504(%r9)9635; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9636; AVX2-FP-NEXT: vmovaps %ymm0, 1472(%r9)9637; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9638; AVX2-FP-NEXT: vmovaps %ymm0, 1440(%r9)9639; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9640; AVX2-FP-NEXT: vmovaps %ymm0, 1376(%r9)9641; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9642; AVX2-FP-NEXT: vmovaps %ymm0, 1344(%r9)9643; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9644; AVX2-FP-NEXT: vmovaps %ymm0, 1312(%r9)9645; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9646; AVX2-FP-NEXT: vmovaps %ymm0, 1280(%r9)9647; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9648; AVX2-FP-NEXT: vmovaps %ymm0, 1216(%r9)9649; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9650; AVX2-FP-NEXT: vmovaps %ymm0, 1184(%r9)9651; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9652; AVX2-FP-NEXT: vmovaps %ymm0, 1152(%r9)9653; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9654; AVX2-FP-NEXT: vmovaps %ymm0, 1120(%r9)9655; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9656; AVX2-FP-NEXT: vmovaps %ymm0, 1056(%r9)9657; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9658; AVX2-FP-NEXT: vmovaps %ymm0, 1024(%r9)9659; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9660; AVX2-FP-NEXT: vmovaps %ymm0, 992(%r9)9661; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9662; AVX2-FP-NEXT: vmovaps %ymm0, 960(%r9)9663; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9664; AVX2-FP-NEXT: vmovaps %ymm0, 896(%r9)9665; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9666; AVX2-FP-NEXT: vmovaps %ymm0, 864(%r9)9667; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9668; AVX2-FP-NEXT: vmovaps %ymm0, 832(%r9)9669; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9670; AVX2-FP-NEXT: vmovaps %ymm0, 800(%r9)9671; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9672; AVX2-FP-NEXT: vmovaps %ymm0, 736(%r9)9673; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9674; AVX2-FP-NEXT: vmovaps %ymm0, 704(%r9)9675; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9676; AVX2-FP-NEXT: vmovaps %ymm0, 672(%r9)9677; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9678; AVX2-FP-NEXT: vmovaps %ymm0, 640(%r9)9679; AVX2-FP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload9680; AVX2-FP-NEXT: vmovaps %ymm0, 576(%r9)9681; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9682; AVX2-FP-NEXT: vmovaps %ymm0, 544(%r9)9683; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9684; AVX2-FP-NEXT: vmovaps %ymm0, 512(%r9)9685; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9686; AVX2-FP-NEXT: vmovaps %ymm0, 480(%r9)9687; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9688; AVX2-FP-NEXT: vmovaps %ymm0, 416(%r9)9689; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9690; AVX2-FP-NEXT: vmovaps %ymm0, 384(%r9)9691; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9692; AVX2-FP-NEXT: vmovaps %ymm0, 352(%r9)9693; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9694; AVX2-FP-NEXT: vmovaps %ymm0, 320(%r9)9695; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9696; AVX2-FP-NEXT: vmovaps %ymm0, 256(%r9)9697; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9698; AVX2-FP-NEXT: vmovaps %ymm0, 224(%r9)9699; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9700; AVX2-FP-NEXT: vmovaps %ymm0, 192(%r9)9701; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9702; AVX2-FP-NEXT: vmovaps %ymm0, 160(%r9)9703; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9704; AVX2-FP-NEXT: vmovaps %ymm0, 96(%r9)9705; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9706; AVX2-FP-NEXT: vmovaps %ymm0, 64(%r9)9707; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9708; AVX2-FP-NEXT: vmovaps %ymm0, 32(%r9)9709; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9710; AVX2-FP-NEXT: vmovaps %ymm0, (%r9)9711; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9712; AVX2-FP-NEXT: vmovaps %ymm0, 2368(%r9)9713; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9714; AVX2-FP-NEXT: vmovaps %ymm0, 2048(%r9)9715; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9716; AVX2-FP-NEXT: vmovaps %ymm0, 1728(%r9)9717; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9718; AVX2-FP-NEXT: vmovaps %ymm0, 1408(%r9)9719; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9720; AVX2-FP-NEXT: vmovaps %ymm0, 1088(%r9)9721; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9722; AVX2-FP-NEXT: vmovaps %ymm0, 768(%r9)9723; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9724; AVX2-FP-NEXT: vmovaps %ymm0, 448(%r9)9725; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9726; AVX2-FP-NEXT: vmovaps %ymm0, 128(%r9)9727; AVX2-FP-NEXT: vmovaps %ymm11, 2528(%r9)9728; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9729; AVX2-FP-NEXT: vmovaps %ymm0, 2208(%r9)9730; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9731; AVX2-FP-NEXT: vmovaps %ymm0, 1888(%r9)9732; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9733; AVX2-FP-NEXT: vmovaps %ymm0, 1568(%r9)9734; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9735; AVX2-FP-NEXT: vmovaps %ymm0, 1248(%r9)9736; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9737; AVX2-FP-NEXT: vmovaps %ymm0, 928(%r9)9738; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9739; AVX2-FP-NEXT: vmovaps %ymm0, 608(%r9)9740; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload9741; AVX2-FP-NEXT: vmovaps %ymm0, 288(%r9)9742; AVX2-FP-NEXT: addq $2696, %rsp # imm = 0xA889743; AVX2-FP-NEXT: vzeroupper9744; AVX2-FP-NEXT: retq9745;9746; AVX2-FCP-LABEL: store_i64_stride5_vf64:9747; AVX2-FCP: # %bb.0:9748; AVX2-FCP-NEXT: subq $2696, %rsp # imm = 0xA889749; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm109750; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm119751; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm129752; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm139753; AVX2-FCP-NEXT: vmovaps (%rsi), %xmm29754; AVX2-FCP-NEXT: vmovaps 32(%rsi), %xmm49755; AVX2-FCP-NEXT: vmovaps 64(%rsi), %xmm19756; AVX2-FCP-NEXT: vmovaps 96(%rsi), %xmm09757; AVX2-FCP-NEXT: vinsertf128 $1, (%rcx), %ymm2, %ymm59758; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm69759; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm79760; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm29761; AVX2-FCP-NEXT: vmovaps (%rdx), %xmm89762; AVX2-FCP-NEXT: vmovaps 32(%rdx), %xmm99763; AVX2-FCP-NEXT: vmovaps 64(%rdx), %xmm39764; AVX2-FCP-NEXT: vinsertf128 $1, %xmm8, %ymm6, %ymm69765; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]9766; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9767; AVX2-FCP-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm59768; AVX2-FCP-NEXT: vbroadcastsd 8(%rsi), %ymm69769; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9770; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm13[0,1,2,3],ymm6[4,5,6,7]9771; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]9772; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9773; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm5 = mem[0,0]9774; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],mem[0],ymm13[2],mem[2]9775; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm6[4,5,6,7]9776; AVX2-FCP-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9777; AVX2-FCP-NEXT: vinsertf128 $1, 32(%rcx), %ymm4, %ymm49778; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm7, %ymm59779; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]9780; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9781; AVX2-FCP-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm49782; AVX2-FCP-NEXT: vbroadcastsd 40(%rsi), %ymm59783; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9784; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]9785; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]9786; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9787; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm4 = mem[0,0]9788; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm12[0],mem[0],ymm12[2],mem[2]9789; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]9790; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9791; AVX2-FCP-NEXT: vinsertf128 $1, 64(%rcx), %ymm1, %ymm19792; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm29793; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]9794; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9795; AVX2-FCP-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm19796; AVX2-FCP-NEXT: vbroadcastsd 72(%rsi), %ymm29797; AVX2-FCP-NEXT: vmovups %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9798; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm2[4,5,6,7]9799; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9800; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9801; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0]9802; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm11[0],mem[0],ymm11[2],mem[2]9803; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]9804; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9805; AVX2-FCP-NEXT: vinsertf128 $1, 96(%rcx), %ymm0, %ymm09806; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm19807; AVX2-FCP-NEXT: vmovaps 96(%rdx), %xmm29808; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19809; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9810; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9811; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09812; AVX2-FCP-NEXT: vbroadcastsd 104(%rsi), %ymm19813; AVX2-FCP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9814; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm10[0,1,2,3],ymm1[4,5,6,7]9815; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9816; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9817; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9818; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm10[0],mem[0],ymm10[2],mem[2]9819; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9820; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9821; AVX2-FCP-NEXT: vmovaps 128(%rsi), %xmm09822; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rcx), %ymm0, %ymm09823; AVX2-FCP-NEXT: vmovaps 128(%rdi), %xmm19824; AVX2-FCP-NEXT: vmovaps 128(%rdx), %xmm29825; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19826; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9827; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9828; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09829; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm29830; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9831; AVX2-FCP-NEXT: vbroadcastsd 136(%rsi), %ymm19832; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9833; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9834; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9835; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9836; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9837; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9838; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9839; AVX2-FCP-NEXT: vmovaps 160(%rsi), %xmm09840; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rcx), %ymm0, %ymm09841; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm19842; AVX2-FCP-NEXT: vmovaps 160(%rdx), %xmm29843; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19844; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9845; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9846; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09847; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm29848; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9849; AVX2-FCP-NEXT: vbroadcastsd 168(%rsi), %ymm19850; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9851; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9852; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9853; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9854; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9855; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9856; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9857; AVX2-FCP-NEXT: vmovaps 192(%rsi), %xmm09858; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rcx), %ymm0, %ymm09859; AVX2-FCP-NEXT: vmovaps 192(%rdi), %xmm19860; AVX2-FCP-NEXT: vmovaps 192(%rdx), %xmm29861; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19862; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9863; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9864; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09865; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm29866; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9867; AVX2-FCP-NEXT: vbroadcastsd 200(%rsi), %ymm19868; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9869; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9870; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9871; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9872; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9873; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9874; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9875; AVX2-FCP-NEXT: vmovaps 224(%rsi), %xmm09876; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rcx), %ymm0, %ymm09877; AVX2-FCP-NEXT: vmovaps 224(%rdi), %xmm19878; AVX2-FCP-NEXT: vmovaps 224(%rdx), %xmm29879; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19880; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9881; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9882; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09883; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm29884; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9885; AVX2-FCP-NEXT: vbroadcastsd 232(%rsi), %ymm19886; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9887; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9888; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9889; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9890; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9891; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9892; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9893; AVX2-FCP-NEXT: vmovaps 256(%rsi), %xmm09894; AVX2-FCP-NEXT: vinsertf128 $1, 256(%rcx), %ymm0, %ymm09895; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm19896; AVX2-FCP-NEXT: vmovaps 256(%rdx), %xmm29897; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19898; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9899; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9900; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09901; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm29902; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9903; AVX2-FCP-NEXT: vbroadcastsd 264(%rsi), %ymm19904; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9905; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9906; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9907; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9908; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9909; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9910; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9911; AVX2-FCP-NEXT: vmovaps 288(%rsi), %xmm09912; AVX2-FCP-NEXT: vinsertf128 $1, 288(%rcx), %ymm0, %ymm09913; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm19914; AVX2-FCP-NEXT: vmovaps 288(%rdx), %xmm29915; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19916; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9917; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9918; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09919; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm29920; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9921; AVX2-FCP-NEXT: vbroadcastsd 296(%rsi), %ymm19922; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9923; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9924; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9925; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9926; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9927; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9928; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9929; AVX2-FCP-NEXT: vmovaps 320(%rsi), %xmm09930; AVX2-FCP-NEXT: vinsertf128 $1, 320(%rcx), %ymm0, %ymm09931; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm19932; AVX2-FCP-NEXT: vmovaps 320(%rdx), %xmm29933; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19934; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9935; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9936; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09937; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm29938; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9939; AVX2-FCP-NEXT: vbroadcastsd 328(%rsi), %ymm19940; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9941; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9942; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9943; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9944; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9945; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9946; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9947; AVX2-FCP-NEXT: vmovaps 352(%rsi), %xmm09948; AVX2-FCP-NEXT: vinsertf128 $1, 352(%rcx), %ymm0, %ymm09949; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm19950; AVX2-FCP-NEXT: vmovaps 352(%rdx), %xmm29951; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19952; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9953; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9954; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09955; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm29956; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9957; AVX2-FCP-NEXT: vbroadcastsd 360(%rsi), %ymm19958; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9959; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9960; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9961; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9962; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9963; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9964; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9965; AVX2-FCP-NEXT: vmovaps 384(%rsi), %xmm09966; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rcx), %ymm0, %ymm09967; AVX2-FCP-NEXT: vmovaps 384(%rdi), %xmm19968; AVX2-FCP-NEXT: vmovaps 384(%rdx), %xmm29969; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19970; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9971; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9972; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09973; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm29974; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9975; AVX2-FCP-NEXT: vbroadcastsd 392(%rsi), %ymm19976; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9977; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9978; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9979; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9980; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9981; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9982; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9983; AVX2-FCP-NEXT: vmovaps 416(%rsi), %xmm09984; AVX2-FCP-NEXT: vinsertf128 $1, 416(%rcx), %ymm0, %ymm09985; AVX2-FCP-NEXT: vmovaps 416(%rdi), %xmm19986; AVX2-FCP-NEXT: vmovaps 416(%rdx), %xmm29987; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm19988; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9989; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9990; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm09991; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm29992; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9993; AVX2-FCP-NEXT: vbroadcastsd 424(%rsi), %ymm19994; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9995; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9996; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9997; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]9998; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]9999; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10000; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10001; AVX2-FCP-NEXT: vmovaps 448(%rsi), %xmm010002; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rcx), %ymm0, %ymm010003; AVX2-FCP-NEXT: vmovaps 448(%rdi), %xmm110004; AVX2-FCP-NEXT: vmovaps 448(%rdx), %xmm210005; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm110006; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10007; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10008; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm010009; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm210010; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10011; AVX2-FCP-NEXT: vbroadcastsd 456(%rsi), %ymm110012; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10013; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10014; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10015; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]10016; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]10017; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10018; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10019; AVX2-FCP-NEXT: vmovaps 480(%rsi), %xmm010020; AVX2-FCP-NEXT: vinsertf128 $1, 480(%rcx), %ymm0, %ymm010021; AVX2-FCP-NEXT: vmovaps 480(%rdi), %xmm110022; AVX2-FCP-NEXT: vmovaps 480(%rdx), %xmm210023; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm110024; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10025; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10026; AVX2-FCP-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm010027; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm210028; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10029; AVX2-FCP-NEXT: vbroadcastsd 488(%rsi), %ymm110030; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10031; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10032; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10033; AVX2-FCP-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]10034; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm2[0],mem[0],ymm2[2],mem[2]10035; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10036; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10037; AVX2-FCP-NEXT: vbroadcastsd 56(%rsi), %ymm010038; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10039; AVX2-FCP-NEXT: vbroadcastsd 56(%rcx), %ymm110040; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10041; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10042; AVX2-FCP-NEXT: vbroadcastsd 120(%rsi), %ymm010043; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10044; AVX2-FCP-NEXT: vbroadcastsd 120(%rcx), %ymm110045; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10046; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill10047; AVX2-FCP-NEXT: vbroadcastsd 184(%rsi), %ymm010048; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10049; AVX2-FCP-NEXT: vbroadcastsd 184(%rcx), %ymm110050; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10051; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10052; AVX2-FCP-NEXT: vbroadcastsd 248(%rsi), %ymm010053; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10054; AVX2-FCP-NEXT: vbroadcastsd 248(%rcx), %ymm110055; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10056; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10057; AVX2-FCP-NEXT: vbroadcastsd 312(%rsi), %ymm010058; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10059; AVX2-FCP-NEXT: vbroadcastsd 312(%rcx), %ymm110060; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10061; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10062; AVX2-FCP-NEXT: vbroadcastsd 376(%rsi), %ymm010063; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10064; AVX2-FCP-NEXT: vbroadcastsd 376(%rcx), %ymm110065; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10066; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10067; AVX2-FCP-NEXT: vbroadcastsd 440(%rsi), %ymm010068; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10069; AVX2-FCP-NEXT: vbroadcastsd 440(%rcx), %ymm110070; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10071; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10072; AVX2-FCP-NEXT: vbroadcastsd 504(%rsi), %ymm010073; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]10074; AVX2-FCP-NEXT: vbroadcastsd 504(%rcx), %ymm110075; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10076; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10077; AVX2-FCP-NEXT: vmovaps (%rdx), %ymm910078; AVX2-FCP-NEXT: vmovaps (%rcx), %ymm110079; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm9[1],ymm1[1],ymm9[3],ymm1[3]10080; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]10081; AVX2-FCP-NEXT: vbroadcastsd 24(%rsi), %ymm310082; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1],ymm2[2,3,4,5,6,7]10083; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10084; AVX2-FCP-NEXT: vmovaps 64(%rdx), %ymm1310085; AVX2-FCP-NEXT: vmovaps 64(%rcx), %ymm210086; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm13[1],ymm2[1],ymm13[3],ymm2[3]10087; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]10088; AVX2-FCP-NEXT: vbroadcastsd 88(%rsi), %ymm410089; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1],ymm3[2,3,4,5,6,7]10090; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10091; AVX2-FCP-NEXT: vmovaps 128(%rdx), %ymm310092; AVX2-FCP-NEXT: vmovaps 128(%rcx), %ymm1510093; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm3[1],ymm15[1],ymm3[3],ymm15[3]10094; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]10095; AVX2-FCP-NEXT: vbroadcastsd 152(%rsi), %ymm510096; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1],ymm4[2,3,4,5,6,7]10097; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10098; AVX2-FCP-NEXT: vmovaps 192(%rdx), %ymm510099; AVX2-FCP-NEXT: vmovaps 192(%rcx), %ymm410100; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]10101; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]10102; AVX2-FCP-NEXT: vbroadcastsd 216(%rsi), %ymm710103; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm6[2,3,4,5,6,7]10104; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10105; AVX2-FCP-NEXT: vmovaps 256(%rdx), %ymm710106; AVX2-FCP-NEXT: vmovaps 256(%rcx), %ymm610107; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]10108; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]10109; AVX2-FCP-NEXT: vbroadcastsd 280(%rsi), %ymm1010110; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm10[0,1],ymm8[2,3,4,5,6,7]10111; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10112; AVX2-FCP-NEXT: vmovaps 320(%rdx), %ymm1010113; AVX2-FCP-NEXT: vmovaps 320(%rcx), %ymm810114; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]10115; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm11 = ymm11[0,2,3,3]10116; AVX2-FCP-NEXT: vbroadcastsd 344(%rsi), %ymm1210117; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm11[2,3,4,5,6,7]10118; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10119; AVX2-FCP-NEXT: vmovaps 384(%rdx), %ymm010120; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10121; AVX2-FCP-NEXT: vmovaps 384(%rcx), %ymm1110122; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]10123; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm14 = ymm14[0,2,3,3]10124; AVX2-FCP-NEXT: vbroadcastsd 408(%rsi), %ymm1210125; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1],ymm14[2,3,4,5,6,7]10126; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10127; AVX2-FCP-NEXT: vmovaps 448(%rdx), %ymm1210128; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10129; AVX2-FCP-NEXT: vmovaps 448(%rcx), %ymm010130; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10131; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm12 = ymm12[1],ymm0[1],ymm12[3],ymm0[3]10132; AVX2-FCP-NEXT: vpermpd {{.*#+}} ymm12 = ymm12[0,2,3,3]10133; AVX2-FCP-NEXT: vbroadcastsd 472(%rsi), %ymm1410134; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1],ymm12[2,3,4,5,6,7]10135; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10136; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]10137; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10138; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10139; AVX2-FCP-NEXT: vmovaps (%r8), %ymm110140; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload10141; AVX2-FCP-NEXT: # ymm12 = ymm1[0,1],mem[2,3,4,5,6,7]10142; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10143; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm12 # 32-byte Folded Reload10144; AVX2-FCP-NEXT: # ymm12 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10145; AVX2-FCP-NEXT: vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10146; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload10147; AVX2-FCP-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]10148; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10149; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10150; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10151; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10152; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10153; AVX2-FCP-NEXT: vbroadcastsd 48(%rcx), %ymm110154; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10155; AVX2-FCP-NEXT: vmovaps 32(%r8), %ymm110156; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload10157; AVX2-FCP-NEXT: # ymm9 = ymm1[0,1],mem[2,3,4,5,6,7]10158; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10159; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload10160; AVX2-FCP-NEXT: # ymm9 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10161; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10162; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm9 # 32-byte Folded Reload10163; AVX2-FCP-NEXT: # ymm9 = mem[0,1,2,3,4,5],ymm1[6,7]10164; AVX2-FCP-NEXT: vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10165; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10166; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10167; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm2[0],ymm13[2],ymm2[2]10168; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10169; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10170; AVX2-FCP-NEXT: vmovaps 64(%r8), %ymm110171; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10172; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10173; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10174; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10175; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10176; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10177; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10178; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10179; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10180; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10181; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10182; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10183; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10184; AVX2-FCP-NEXT: vbroadcastsd 112(%rcx), %ymm110185; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10186; AVX2-FCP-NEXT: vmovaps 96(%r8), %ymm110187; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10188; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10189; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10190; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10191; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10192; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10193; AVX2-FCP-NEXT: vblendps $63, (%rsp), %ymm1, %ymm2 # 32-byte Folded Reload10194; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10195; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10196; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10197; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill10198; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm15[0],ymm3[2],ymm15[2]10199; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10200; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10201; AVX2-FCP-NEXT: vmovaps 128(%r8), %ymm110202; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10203; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10204; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10205; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10206; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10207; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10208; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10209; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10210; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10211; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10212; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10213; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10214; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10215; AVX2-FCP-NEXT: vbroadcastsd 176(%rcx), %ymm110216; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10217; AVX2-FCP-NEXT: vmovaps 160(%r8), %ymm110218; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10219; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10220; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10221; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10222; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10223; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10224; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10225; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10226; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10227; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10228; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10229; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]10230; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10231; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10232; AVX2-FCP-NEXT: vmovaps 192(%r8), %ymm110233; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10234; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10235; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10236; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10237; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10238; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10239; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10240; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10241; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10242; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10243; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10244; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10245; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10246; AVX2-FCP-NEXT: vbroadcastsd 240(%rcx), %ymm110247; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10248; AVX2-FCP-NEXT: vmovaps 224(%r8), %ymm110249; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10250; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10251; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10252; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10253; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10254; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10255; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10256; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10257; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10258; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10259; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10260; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]10261; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10262; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10263; AVX2-FCP-NEXT: vmovaps 256(%r8), %ymm110264; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10265; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10266; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10267; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10268; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10269; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10270; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10271; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10272; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10273; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10274; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10275; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10276; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10277; AVX2-FCP-NEXT: vbroadcastsd 304(%rcx), %ymm110278; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10279; AVX2-FCP-NEXT: vmovaps 288(%r8), %ymm110280; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10281; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10282; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10283; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10284; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10285; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10286; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10287; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10288; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10289; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10290; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10291; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]10292; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10293; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10294; AVX2-FCP-NEXT: vmovaps 320(%r8), %ymm110295; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10296; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10297; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10298; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10299; AVX2-FCP-NEXT: # ymm2 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10300; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10301; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10302; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10303; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10304; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10305; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10306; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10307; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[2,3],ymm0[2,3]10308; AVX2-FCP-NEXT: vbroadcastsd 368(%rcx), %ymm110309; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]10310; AVX2-FCP-NEXT: vmovaps 352(%r8), %ymm110311; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10312; AVX2-FCP-NEXT: # ymm2 = ymm1[0,1],mem[2,3,4,5,6,7]10313; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10314; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm15 # 32-byte Folded Reload10315; AVX2-FCP-NEXT: # ymm15 = mem[0,1],ymm1[2,3],mem[4,5,6,7]10316; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload10317; AVX2-FCP-NEXT: # ymm2 = mem[0,1,2,3,4,5],ymm1[6,7]10318; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10319; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]10320; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10321; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm11[0],ymm0[2],ymm11[2]10322; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10323; AVX2-FCP-NEXT: # ymm0 = ymm0[2,3],mem[2,3]10324; AVX2-FCP-NEXT: vmovaps 384(%r8), %ymm1110325; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm13 # 32-byte Folded Reload10326; AVX2-FCP-NEXT: # ymm13 = ymm11[0,1],mem[2,3,4,5,6,7]10327; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm10 # 32-byte Folded Reload10328; AVX2-FCP-NEXT: # ymm10 = mem[0,1],ymm11[2,3],mem[4,5,6,7]10329; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm1 # 32-byte Folded Reload10330; AVX2-FCP-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm11[6,7]10331; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10332; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]10333; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10334; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]10335; AVX2-FCP-NEXT: vbroadcastsd 432(%rcx), %ymm1210336; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]10337; AVX2-FCP-NEXT: vmovaps 416(%r8), %ymm1210338; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload10339; AVX2-FCP-NEXT: # ymm8 = ymm12[0,1],mem[2,3,4,5,6,7]10340; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm7 # 32-byte Folded Reload10341; AVX2-FCP-NEXT: # ymm7 = mem[0,1],ymm12[2,3],mem[4,5,6,7]10342; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm0 # 32-byte Folded Reload10343; AVX2-FCP-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm12[6,7]10344; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10345; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm6 = ymm11[0,1,2,3],ymm12[4,5],ymm11[6,7]10346; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10347; AVX2-FCP-NEXT: vunpcklpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload10348; AVX2-FCP-NEXT: # ymm11 = ymm0[0],mem[0],ymm0[2],mem[2]10349; AVX2-FCP-NEXT: vperm2f128 $49, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload10350; AVX2-FCP-NEXT: # ymm11 = ymm11[2,3],mem[2,3]10351; AVX2-FCP-NEXT: vmovaps 448(%r8), %ymm010352; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 32-byte Folded Reload10353; AVX2-FCP-NEXT: # ymm5 = ymm0[0,1],mem[2,3,4,5,6,7]10354; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload10355; AVX2-FCP-NEXT: # ymm4 = mem[0,1],ymm0[2,3],mem[4,5,6,7]10356; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10357; AVX2-FCP-NEXT: # ymm1 = mem[0,1,2,3,4,5],ymm0[6,7]10358; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10359; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm3 = ymm11[0,1,2,3],ymm0[4,5],ymm11[6,7]10360; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10361; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = mem[2,3],ymm0[2,3]10362; AVX2-FCP-NEXT: vbroadcastsd 496(%rcx), %ymm1210363; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm12 = ymm11[0,1],ymm12[2,3],ymm11[4,5,6,7]10364; AVX2-FCP-NEXT: vmovaps 480(%r8), %ymm010365; AVX2-FCP-NEXT: vblendps $252, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload10366; AVX2-FCP-NEXT: # ymm2 = ymm0[0,1],mem[2,3,4,5,6,7]10367; AVX2-FCP-NEXT: vblendps $243, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload10368; AVX2-FCP-NEXT: # ymm1 = mem[0,1],ymm0[2,3],mem[4,5,6,7]10369; AVX2-FCP-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm11 # 32-byte Folded Reload10370; AVX2-FCP-NEXT: # ymm11 = mem[0,1,2,3,4,5],ymm0[6,7]10371; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]10372; AVX2-FCP-NEXT: vmovaps %ymm0, 2496(%r9)10373; AVX2-FCP-NEXT: vmovaps %ymm1, 2464(%r9)10374; AVX2-FCP-NEXT: vmovaps %ymm2, 2432(%r9)10375; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10376; AVX2-FCP-NEXT: vmovaps %ymm0, 2400(%r9)10377; AVX2-FCP-NEXT: vmovaps %ymm3, 2336(%r9)10378; AVX2-FCP-NEXT: vmovaps %ymm4, 2304(%r9)10379; AVX2-FCP-NEXT: vmovaps %ymm5, 2272(%r9)10380; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10381; AVX2-FCP-NEXT: vmovaps %ymm0, 2240(%r9)10382; AVX2-FCP-NEXT: vmovaps %ymm6, 2176(%r9)10383; AVX2-FCP-NEXT: vmovaps %ymm7, 2144(%r9)10384; AVX2-FCP-NEXT: vmovaps %ymm8, 2112(%r9)10385; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10386; AVX2-FCP-NEXT: vmovaps %ymm0, 2080(%r9)10387; AVX2-FCP-NEXT: vmovaps %ymm9, 2016(%r9)10388; AVX2-FCP-NEXT: vmovaps %ymm10, 1984(%r9)10389; AVX2-FCP-NEXT: vmovaps %ymm13, 1952(%r9)10390; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10391; AVX2-FCP-NEXT: vmovaps %ymm0, 1920(%r9)10392; AVX2-FCP-NEXT: vmovaps %ymm14, 1856(%r9)10393; AVX2-FCP-NEXT: vmovaps %ymm15, 1824(%r9)10394; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10395; AVX2-FCP-NEXT: vmovaps %ymm0, 1792(%r9)10396; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10397; AVX2-FCP-NEXT: vmovaps %ymm0, 1760(%r9)10398; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10399; AVX2-FCP-NEXT: vmovaps %ymm0, 1696(%r9)10400; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10401; AVX2-FCP-NEXT: vmovaps %ymm0, 1664(%r9)10402; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10403; AVX2-FCP-NEXT: vmovaps %ymm0, 1632(%r9)10404; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10405; AVX2-FCP-NEXT: vmovaps %ymm0, 1600(%r9)10406; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10407; AVX2-FCP-NEXT: vmovaps %ymm0, 1536(%r9)10408; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10409; AVX2-FCP-NEXT: vmovaps %ymm0, 1504(%r9)10410; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10411; AVX2-FCP-NEXT: vmovaps %ymm0, 1472(%r9)10412; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10413; AVX2-FCP-NEXT: vmovaps %ymm0, 1440(%r9)10414; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10415; AVX2-FCP-NEXT: vmovaps %ymm0, 1376(%r9)10416; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10417; AVX2-FCP-NEXT: vmovaps %ymm0, 1344(%r9)10418; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10419; AVX2-FCP-NEXT: vmovaps %ymm0, 1312(%r9)10420; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10421; AVX2-FCP-NEXT: vmovaps %ymm0, 1280(%r9)10422; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10423; AVX2-FCP-NEXT: vmovaps %ymm0, 1216(%r9)10424; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10425; AVX2-FCP-NEXT: vmovaps %ymm0, 1184(%r9)10426; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10427; AVX2-FCP-NEXT: vmovaps %ymm0, 1152(%r9)10428; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10429; AVX2-FCP-NEXT: vmovaps %ymm0, 1120(%r9)10430; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10431; AVX2-FCP-NEXT: vmovaps %ymm0, 1056(%r9)10432; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10433; AVX2-FCP-NEXT: vmovaps %ymm0, 1024(%r9)10434; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10435; AVX2-FCP-NEXT: vmovaps %ymm0, 992(%r9)10436; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10437; AVX2-FCP-NEXT: vmovaps %ymm0, 960(%r9)10438; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10439; AVX2-FCP-NEXT: vmovaps %ymm0, 896(%r9)10440; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10441; AVX2-FCP-NEXT: vmovaps %ymm0, 864(%r9)10442; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10443; AVX2-FCP-NEXT: vmovaps %ymm0, 832(%r9)10444; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10445; AVX2-FCP-NEXT: vmovaps %ymm0, 800(%r9)10446; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10447; AVX2-FCP-NEXT: vmovaps %ymm0, 736(%r9)10448; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10449; AVX2-FCP-NEXT: vmovaps %ymm0, 704(%r9)10450; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10451; AVX2-FCP-NEXT: vmovaps %ymm0, 672(%r9)10452; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10453; AVX2-FCP-NEXT: vmovaps %ymm0, 640(%r9)10454; AVX2-FCP-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload10455; AVX2-FCP-NEXT: vmovaps %ymm0, 576(%r9)10456; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10457; AVX2-FCP-NEXT: vmovaps %ymm0, 544(%r9)10458; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10459; AVX2-FCP-NEXT: vmovaps %ymm0, 512(%r9)10460; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10461; AVX2-FCP-NEXT: vmovaps %ymm0, 480(%r9)10462; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10463; AVX2-FCP-NEXT: vmovaps %ymm0, 416(%r9)10464; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10465; AVX2-FCP-NEXT: vmovaps %ymm0, 384(%r9)10466; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10467; AVX2-FCP-NEXT: vmovaps %ymm0, 352(%r9)10468; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10469; AVX2-FCP-NEXT: vmovaps %ymm0, 320(%r9)10470; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10471; AVX2-FCP-NEXT: vmovaps %ymm0, 256(%r9)10472; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10473; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%r9)10474; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10475; AVX2-FCP-NEXT: vmovaps %ymm0, 192(%r9)10476; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10477; AVX2-FCP-NEXT: vmovaps %ymm0, 160(%r9)10478; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10479; AVX2-FCP-NEXT: vmovaps %ymm0, 96(%r9)10480; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10481; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%r9)10482; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10483; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%r9)10484; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10485; AVX2-FCP-NEXT: vmovaps %ymm0, (%r9)10486; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10487; AVX2-FCP-NEXT: vmovaps %ymm0, 2368(%r9)10488; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10489; AVX2-FCP-NEXT: vmovaps %ymm0, 2048(%r9)10490; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10491; AVX2-FCP-NEXT: vmovaps %ymm0, 1728(%r9)10492; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10493; AVX2-FCP-NEXT: vmovaps %ymm0, 1408(%r9)10494; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10495; AVX2-FCP-NEXT: vmovaps %ymm0, 1088(%r9)10496; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10497; AVX2-FCP-NEXT: vmovaps %ymm0, 768(%r9)10498; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10499; AVX2-FCP-NEXT: vmovaps %ymm0, 448(%r9)10500; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10501; AVX2-FCP-NEXT: vmovaps %ymm0, 128(%r9)10502; AVX2-FCP-NEXT: vmovaps %ymm11, 2528(%r9)10503; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10504; AVX2-FCP-NEXT: vmovaps %ymm0, 2208(%r9)10505; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10506; AVX2-FCP-NEXT: vmovaps %ymm0, 1888(%r9)10507; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10508; AVX2-FCP-NEXT: vmovaps %ymm0, 1568(%r9)10509; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10510; AVX2-FCP-NEXT: vmovaps %ymm0, 1248(%r9)10511; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10512; AVX2-FCP-NEXT: vmovaps %ymm0, 928(%r9)10513; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10514; AVX2-FCP-NEXT: vmovaps %ymm0, 608(%r9)10515; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10516; AVX2-FCP-NEXT: vmovaps %ymm0, 288(%r9)10517; AVX2-FCP-NEXT: addq $2696, %rsp # imm = 0xA8810518; AVX2-FCP-NEXT: vzeroupper10519; AVX2-FCP-NEXT: retq10520;10521; AVX512-LABEL: store_i64_stride5_vf64:10522; AVX512: # %bb.0:10523; AVX512-NEXT: subq $3144, %rsp # imm = 0xC4810524; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm610525; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm710526; AVX512-NEXT: vmovdqa64 (%rdi), %zmm1110527; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm1010528; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm910529; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm810530; AVX512-NEXT: vmovdqa64 256(%rsi), %zmm110531; AVX512-NEXT: vmovdqa64 (%rsi), %zmm510532; AVX512-NEXT: vmovdqa64 64(%rsi), %zmm410533; AVX512-NEXT: vmovdqa64 128(%rsi), %zmm310534; AVX512-NEXT: vmovdqa64 192(%rsi), %zmm210535; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]10536; AVX512-NEXT: vmovdqa64 %zmm5, %zmm1210537; AVX512-NEXT: vpermt2q %zmm11, %zmm20, %zmm1210538; AVX512-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill10539; AVX512-NEXT: vmovdqa64 %zmm4, %zmm1210540; AVX512-NEXT: vpermt2q %zmm10, %zmm20, %zmm1210541; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10542; AVX512-NEXT: vmovdqa64 %zmm3, %zmm1210543; AVX512-NEXT: vpermt2q %zmm9, %zmm20, %zmm1210544; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10545; AVX512-NEXT: vmovdqa64 %zmm2, %zmm1210546; AVX512-NEXT: vpermt2q %zmm8, %zmm20, %zmm1210547; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10548; AVX512-NEXT: vmovdqa64 %zmm1, %zmm1210549; AVX512-NEXT: vpermt2q %zmm7, %zmm20, %zmm1210550; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10551; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]10552; AVX512-NEXT: vmovdqa64 %zmm11, %zmm010553; AVX512-NEXT: vpermt2q %zmm5, %zmm21, %zmm010554; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10555; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]10556; AVX512-NEXT: vmovdqa64 %zmm11, %zmm010557; AVX512-NEXT: vpermt2q %zmm5, %zmm13, %zmm010558; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10559; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]10560; AVX512-NEXT: vmovdqa64 %zmm11, %zmm010561; AVX512-NEXT: vpermt2q %zmm5, %zmm14, %zmm010562; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10563; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]10564; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10565; AVX512-NEXT: vpermt2q %zmm5, %zmm0, %zmm1110566; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10567; AVX512-NEXT: vmovdqa64 %zmm10, %zmm510568; AVX512-NEXT: vpermt2q %zmm4, %zmm21, %zmm510569; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10570; AVX512-NEXT: vmovdqa64 %zmm10, %zmm510571; AVX512-NEXT: vpermt2q %zmm4, %zmm13, %zmm510572; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10573; AVX512-NEXT: vmovdqa64 %zmm10, %zmm510574; AVX512-NEXT: vpermt2q %zmm4, %zmm14, %zmm510575; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10576; AVX512-NEXT: vpermt2q %zmm4, %zmm0, %zmm1010577; AVX512-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10578; AVX512-NEXT: vmovdqa64 %zmm9, %zmm410579; AVX512-NEXT: vpermt2q %zmm3, %zmm21, %zmm410580; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10581; AVX512-NEXT: vmovdqa64 %zmm9, %zmm410582; AVX512-NEXT: vpermt2q %zmm3, %zmm13, %zmm410583; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10584; AVX512-NEXT: vmovdqa64 %zmm9, %zmm410585; AVX512-NEXT: vpermt2q %zmm3, %zmm14, %zmm410586; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10587; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm910588; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10589; AVX512-NEXT: vmovdqa64 %zmm8, %zmm310590; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm310591; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10592; AVX512-NEXT: vmovdqa64 %zmm8, %zmm310593; AVX512-NEXT: vpermt2q %zmm2, %zmm13, %zmm310594; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10595; AVX512-NEXT: vmovdqa64 %zmm8, %zmm310596; AVX512-NEXT: vpermt2q %zmm2, %zmm14, %zmm310597; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10598; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm810599; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10600; AVX512-NEXT: vmovdqa64 %zmm7, %zmm210601; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm210602; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10603; AVX512-NEXT: vmovdqa64 %zmm7, %zmm210604; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm210605; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10606; AVX512-NEXT: vmovdqa64 %zmm7, %zmm210607; AVX512-NEXT: vpermt2q %zmm1, %zmm14, %zmm210608; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10609; AVX512-NEXT: vpermt2q %zmm1, %zmm0, %zmm710610; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10611; AVX512-NEXT: vmovdqa64 320(%rsi), %zmm110612; AVX512-NEXT: vmovdqa64 %zmm1, %zmm210613; AVX512-NEXT: vpermt2q %zmm6, %zmm20, %zmm210614; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10615; AVX512-NEXT: vmovdqa64 %zmm6, %zmm210616; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm210617; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10618; AVX512-NEXT: vmovdqa64 %zmm6, %zmm210619; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm210620; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10621; AVX512-NEXT: vmovdqa64 %zmm6, %zmm210622; AVX512-NEXT: vpermt2q %zmm1, %zmm14, %zmm210623; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10624; AVX512-NEXT: vpermt2q %zmm1, %zmm0, %zmm610625; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10626; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm310627; AVX512-NEXT: vmovdqa64 384(%rsi), %zmm110628; AVX512-NEXT: vmovdqa64 %zmm1, %zmm210629; AVX512-NEXT: vpermt2q %zmm3, %zmm20, %zmm210630; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10631; AVX512-NEXT: vmovdqa64 %zmm3, %zmm210632; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm210633; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10634; AVX512-NEXT: vmovdqa64 %zmm3, %zmm210635; AVX512-NEXT: vpermt2q %zmm1, %zmm13, %zmm210636; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10637; AVX512-NEXT: vmovdqa64 %zmm3, %zmm210638; AVX512-NEXT: vpermt2q %zmm1, %zmm14, %zmm210639; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10640; AVX512-NEXT: vpermt2q %zmm1, %zmm0, %zmm310641; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10642; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm210643; AVX512-NEXT: vmovdqa64 448(%rsi), %zmm110644; AVX512-NEXT: vpermi2q %zmm2, %zmm1, %zmm2010645; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm2110646; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm1310647; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10648; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm1410649; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10650; AVX512-NEXT: vpermt2q %zmm1, %zmm0, %zmm210651; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10652; AVX512-NEXT: vmovdqa64 (%rdx), %zmm2510653; AVX512-NEXT: vmovdqa64 (%rcx), %zmm010654; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]10655; AVX512-NEXT: vmovdqa64 %zmm25, %zmm310656; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm310657; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]10658; AVX512-NEXT: vmovdqa64 %zmm25, %zmm2210659; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm2210660; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]10661; AVX512-NEXT: vmovdqa64 %zmm0, %zmm2710662; AVX512-NEXT: vpermt2q %zmm25, %zmm12, %zmm2710663; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]10664; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10665; AVX512-NEXT: vmovdqa64 %zmm25, %zmm2810666; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm2810667; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]10668; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm2510669; AVX512-NEXT: vmovdqa64 64(%rdx), %zmm2610670; AVX512-NEXT: vmovdqa64 64(%rcx), %zmm010671; AVX512-NEXT: vmovdqa64 %zmm26, %zmm410672; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm410673; AVX512-NEXT: vmovdqa64 %zmm26, %zmm1710674; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm1710675; AVX512-NEXT: vmovdqa64 %zmm0, %zmm110676; AVX512-NEXT: vpermt2q %zmm26, %zmm12, %zmm110677; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10678; AVX512-NEXT: vmovdqa64 %zmm26, %zmm110679; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm110680; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10681; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm2610682; AVX512-NEXT: vmovdqa64 128(%rdx), %zmm1410683; AVX512-NEXT: vmovdqa64 128(%rcx), %zmm010684; AVX512-NEXT: vmovdqa64 %zmm14, %zmm1510685; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm1510686; AVX512-NEXT: vmovdqa64 %zmm14, %zmm910687; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm910688; AVX512-NEXT: vmovdqa64 %zmm0, %zmm110689; AVX512-NEXT: vpermt2q %zmm14, %zmm12, %zmm110690; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10691; AVX512-NEXT: vmovdqa64 %zmm14, %zmm110692; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm110693; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10694; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm1410695; AVX512-NEXT: vmovdqa64 192(%rdx), %zmm1910696; AVX512-NEXT: vmovdqa64 192(%rcx), %zmm010697; AVX512-NEXT: vmovdqa64 %zmm19, %zmm3110698; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm3110699; AVX512-NEXT: vmovdqa64 %zmm19, %zmm3010700; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm3010701; AVX512-NEXT: vmovdqa64 %zmm0, %zmm110702; AVX512-NEXT: vpermt2q %zmm19, %zmm12, %zmm110703; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10704; AVX512-NEXT: vmovdqa64 %zmm19, %zmm110705; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm110706; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10707; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm1910708; AVX512-NEXT: vmovdqa64 256(%rdx), %zmm1810709; AVX512-NEXT: vmovdqa64 256(%rcx), %zmm010710; AVX512-NEXT: vmovdqa64 %zmm18, %zmm2910711; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm2910712; AVX512-NEXT: vmovdqa64 %zmm18, %zmm2410713; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm2410714; AVX512-NEXT: vmovdqa64 %zmm0, %zmm110715; AVX512-NEXT: vpermt2q %zmm18, %zmm12, %zmm110716; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10717; AVX512-NEXT: vmovdqa64 %zmm18, %zmm110718; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm110719; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10720; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm1810721; AVX512-NEXT: vmovdqa64 320(%rdx), %zmm710722; AVX512-NEXT: vmovdqa64 320(%rcx), %zmm010723; AVX512-NEXT: vmovdqa64 %zmm7, %zmm2310724; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm2310725; AVX512-NEXT: vmovdqa64 %zmm7, %zmm110726; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm110727; AVX512-NEXT: vmovdqa64 %zmm0, %zmm510728; AVX512-NEXT: vpermt2q %zmm7, %zmm12, %zmm510729; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10730; AVX512-NEXT: vmovdqa64 %zmm7, %zmm510731; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm510732; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10733; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm710734; AVX512-NEXT: vmovdqa64 384(%rdx), %zmm1110735; AVX512-NEXT: vmovdqa64 384(%rcx), %zmm010736; AVX512-NEXT: vmovdqa64 %zmm11, %zmm1310737; AVX512-NEXT: vpermt2q %zmm0, %zmm6, %zmm1310738; AVX512-NEXT: vmovdqa64 %zmm11, %zmm810739; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm810740; AVX512-NEXT: vmovdqa64 %zmm0, %zmm510741; AVX512-NEXT: vpermt2q %zmm11, %zmm12, %zmm510742; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10743; AVX512-NEXT: vmovdqa64 %zmm11, %zmm510744; AVX512-NEXT: vpermt2q %zmm0, %zmm10, %zmm510745; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10746; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm1110747; AVX512-NEXT: vmovdqa64 448(%rdx), %zmm510748; AVX512-NEXT: vmovdqa64 448(%rcx), %zmm010749; AVX512-NEXT: vpermi2q %zmm0, %zmm5, %zmm610750; AVX512-NEXT: vpermi2q %zmm0, %zmm5, %zmm210751; AVX512-NEXT: vpermi2q %zmm5, %zmm0, %zmm1210752; AVX512-NEXT: vpermi2q %zmm0, %zmm5, %zmm1010753; AVX512-NEXT: vpermt2q %zmm0, %zmm16, %zmm510754; AVX512-NEXT: movb $49, %al10755; AVX512-NEXT: kmovw %eax, %k110756; AVX512-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload10757; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}10758; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10759; AVX512-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}10760; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10761; AVX512-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}10762; AVX512-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10763; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10764; AVX512-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}10765; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10766; AVX512-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}10767; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10768; AVX512-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}10769; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10770; AVX512-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}10771; AVX512-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}10772; AVX512-NEXT: movb $-116, %al10773; AVX512-NEXT: kmovw %eax, %k310774; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload10775; AVX512-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}10776; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10777; AVX512-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}10778; AVX512-NEXT: movb $24, %al10779; AVX512-NEXT: kmovw %eax, %k210780; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload10781; AVX512-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}10782; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload10783; AVX512-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}10784; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload10785; AVX512-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}10786; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10787; AVX512-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}10788; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload10789; AVX512-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}10790; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10791; AVX512-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}10792; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10793; AVX512-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}10794; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10795; AVX512-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}10796; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10797; AVX512-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}10798; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10799; AVX512-NEXT: movb $8, %al10800; AVX512-NEXT: kmovw %eax, %k310801; AVX512-NEXT: vmovdqa64 (%r8), %zmm210802; AVX512-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}10803; AVX512-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill10804; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]10805; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm1610806; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10807; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]10808; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm010809; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10810; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]10811; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm2710812; AVX512-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10813; AVX512-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]10814; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm2510815; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10816; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10817; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}10818; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10819; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10820; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}10821; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10822; AVX512-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}10823; AVX512-NEXT: vmovdqa64 64(%r8), %zmm210824; AVX512-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}10825; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10826; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm2810827; AVX512-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10828; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm110829; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10830; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm310831; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10832; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm2610833; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10834; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10835; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}10836; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10837; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10838; AVX512-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}10839; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10840; AVX512-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}10841; AVX512-NEXT: vmovdqa64 128(%r8), %zmm210842; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload10843; AVX512-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}10844; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm2210845; AVX512-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10846; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm310847; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10848; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm110849; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10850; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm1410851; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10852; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10853; AVX512-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}10854; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10855; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10856; AVX512-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}10857; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10858; AVX512-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}10859; AVX512-NEXT: vmovdqa64 192(%r8), %zmm210860; AVX512-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}10861; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm2010862; AVX512-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10863; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm310864; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10865; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm010866; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10867; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm1910868; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload10869; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10870; AVX512-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}10871; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload10872; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10873; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}10874; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10875; AVX512-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}10876; AVX512-NEXT: vmovdqa64 256(%r8), %zmm210877; AVX512-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}10878; AVX512-NEXT: vmovdqa64 %zmm9, %zmm310879; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm310880; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm2010881; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm2810882; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm1810883; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload10884; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10885; AVX512-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}10886; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10887; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10888; AVX512-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}10889; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10890; AVX512-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}10891; AVX512-NEXT: vmovdqa64 320(%r8), %zmm210892; AVX512-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}10893; AVX512-NEXT: vmovdqa64 %zmm17, %zmm110894; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm110895; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm2710896; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm2210897; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm710898; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10899; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10900; AVX512-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}10901; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10902; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10903; AVX512-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}10904; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10905; AVX512-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}10906; AVX512-NEXT: vmovdqa64 384(%r8), %zmm210907; AVX512-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}10908; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10909; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm1710910; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm910911; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm010912; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm1110913; AVX512-NEXT: vmovdqa64 448(%r8), %zmm210914; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10915; AVX512-NEXT: vpermt2q %zmm2, %zmm21, %zmm2410916; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10917; AVX512-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}10918; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm410919; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10920; AVX512-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}10921; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm810922; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10923; AVX512-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}10924; AVX512-NEXT: vpermt2q %zmm2, %zmm16, %zmm510925; AVX512-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}10926; AVX512-NEXT: vmovdqa64 %zmm5, 2496(%r9)10927; AVX512-NEXT: vmovdqa64 %zmm8, 2432(%r9)10928; AVX512-NEXT: vmovdqa64 %zmm6, 2368(%r9)10929; AVX512-NEXT: vmovdqa64 %zmm4, 2304(%r9)10930; AVX512-NEXT: vmovdqa64 %zmm24, 2240(%r9)10931; AVX512-NEXT: vmovdqa64 %zmm11, 2176(%r9)10932; AVX512-NEXT: vmovdqa64 %zmm0, 2112(%r9)10933; AVX512-NEXT: vmovdqa64 %zmm13, 2048(%r9)10934; AVX512-NEXT: vmovdqa64 %zmm9, 1984(%r9)10935; AVX512-NEXT: vmovdqa64 %zmm17, 1920(%r9)10936; AVX512-NEXT: vmovdqa64 %zmm7, 1856(%r9)10937; AVX512-NEXT: vmovdqa64 %zmm22, 1792(%r9)10938; AVX512-NEXT: vmovdqa64 %zmm23, 1728(%r9)10939; AVX512-NEXT: vmovdqa64 %zmm27, 1664(%r9)10940; AVX512-NEXT: vmovdqa64 %zmm1, 1600(%r9)10941; AVX512-NEXT: vmovdqa64 %zmm18, 1536(%r9)10942; AVX512-NEXT: vmovdqa64 %zmm28, 1472(%r9)10943; AVX512-NEXT: vmovdqa64 %zmm29, 1408(%r9)10944; AVX512-NEXT: vmovdqa64 %zmm20, 1344(%r9)10945; AVX512-NEXT: vmovdqa64 %zmm3, 1280(%r9)10946; AVX512-NEXT: vmovdqa64 %zmm19, 1216(%r9)10947; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10948; AVX512-NEXT: vmovaps %zmm0, 1152(%r9)10949; AVX512-NEXT: vmovdqa64 %zmm31, 1088(%r9)10950; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10951; AVX512-NEXT: vmovaps %zmm0, 1024(%r9)10952; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10953; AVX512-NEXT: vmovaps %zmm0, 960(%r9)10954; AVX512-NEXT: vmovdqa64 %zmm14, 896(%r9)10955; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10956; AVX512-NEXT: vmovaps %zmm0, 832(%r9)10957; AVX512-NEXT: vmovdqa64 %zmm30, 768(%r9)10958; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10959; AVX512-NEXT: vmovaps %zmm0, 704(%r9)10960; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10961; AVX512-NEXT: vmovaps %zmm0, 640(%r9)10962; AVX512-NEXT: vmovdqa64 %zmm26, 576(%r9)10963; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10964; AVX512-NEXT: vmovaps %zmm0, 512(%r9)10965; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10966; AVX512-NEXT: vmovaps %zmm0, 448(%r9)10967; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10968; AVX512-NEXT: vmovaps %zmm0, 384(%r9)10969; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10970; AVX512-NEXT: vmovaps %zmm0, 320(%r9)10971; AVX512-NEXT: vmovdqa64 %zmm25, 256(%r9)10972; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10973; AVX512-NEXT: vmovaps %zmm0, 192(%r9)10974; AVX512-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload10975; AVX512-NEXT: vmovaps %zmm0, 128(%r9)10976; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10977; AVX512-NEXT: vmovaps %zmm0, 64(%r9)10978; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10979; AVX512-NEXT: vmovaps %zmm0, (%r9)10980; AVX512-NEXT: addq $3144, %rsp # imm = 0xC4810981; AVX512-NEXT: vzeroupper10982; AVX512-NEXT: retq10983;10984; AVX512-FCP-LABEL: store_i64_stride5_vf64:10985; AVX512-FCP: # %bb.0:10986; AVX512-FCP-NEXT: subq $3144, %rsp # imm = 0xC4810987; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm610988; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm710989; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm1110990; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1010991; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm910992; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm810993; AVX512-FCP-NEXT: vmovdqa64 256(%rsi), %zmm110994; AVX512-FCP-NEXT: vmovdqa64 (%rsi), %zmm510995; AVX512-FCP-NEXT: vmovdqa64 64(%rsi), %zmm410996; AVX512-FCP-NEXT: vmovdqa64 128(%rsi), %zmm310997; AVX512-FCP-NEXT: vmovdqa64 192(%rsi), %zmm210998; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]10999; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm1211000; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm1211001; AVX512-FCP-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill11002; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm1211003; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm20, %zmm1211004; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11005; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm1211006; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm1211007; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11008; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm1211009; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm1211010; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11011; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm1211012; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm20, %zmm1211013; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11014; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]11015; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm011016; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm011017; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11018; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]11019; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm011020; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm011021; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11022; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]11023; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm011024; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm14, %zmm011025; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11026; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]11027; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11028; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm1111029; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11030; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm511031; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm511032; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11033; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm511034; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm511035; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11036; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm511037; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm14, %zmm511038; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11039; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1011040; AVX512-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11041; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm411042; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm411043; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11044; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm411045; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm13, %zmm411046; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11047; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm411048; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm411049; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11050; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm911051; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11052; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm311053; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm311054; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11055; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm311056; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm311057; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11058; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm311059; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm311060; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11061; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm811062; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11063; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm211064; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm211065; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11066; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm211067; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm211068; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11069; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm211070; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm211071; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11072; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm711073; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11074; AVX512-FCP-NEXT: vmovdqa64 320(%rsi), %zmm111075; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm211076; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm211077; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11078; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm211079; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm211080; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11081; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm211082; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm211083; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11084; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm211085; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm211086; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11087; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm611088; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11089; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm311090; AVX512-FCP-NEXT: vmovdqa64 384(%rsi), %zmm111091; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm211092; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm211093; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11094; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm211095; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm211096; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11097; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm211098; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm211099; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11100; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm211101; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm211102; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11103; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm311104; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11105; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm211106; AVX512-FCP-NEXT: vmovdqa64 448(%rsi), %zmm111107; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm2011108; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm2111109; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1311110; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11111; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1411112; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11113; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm211114; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11115; AVX512-FCP-NEXT: vmovdqa64 (%rdx), %zmm2511116; AVX512-FCP-NEXT: vmovdqa64 (%rcx), %zmm011117; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]11118; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm311119; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm311120; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]11121; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm2211122; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2211123; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]11124; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm2711125; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm2711126; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]11127; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11128; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm2811129; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm2811130; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]11131; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2511132; AVX512-FCP-NEXT: vmovdqa64 64(%rdx), %zmm2611133; AVX512-FCP-NEXT: vmovdqa64 64(%rcx), %zmm011134; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm411135; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm411136; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm1711137; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm1711138; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm111139; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm12, %zmm111140; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11141; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm111142; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm111143; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11144; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2611145; AVX512-FCP-NEXT: vmovdqa64 128(%rdx), %zmm1411146; AVX512-FCP-NEXT: vmovdqa64 128(%rcx), %zmm011147; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm1511148; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1511149; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm911150; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm911151; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm111152; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm12, %zmm111153; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11154; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm111155; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm111156; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11157; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1411158; AVX512-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1911159; AVX512-FCP-NEXT: vmovdqa64 192(%rcx), %zmm011160; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm3111161; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm3111162; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm3011163; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm3011164; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm111165; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm12, %zmm111166; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11167; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm111168; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm111169; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11170; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1911171; AVX512-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1811172; AVX512-FCP-NEXT: vmovdqa64 256(%rcx), %zmm011173; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm2911174; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2911175; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm2411176; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2411177; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm111178; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm111179; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11180; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm111181; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm111182; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11183; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1811184; AVX512-FCP-NEXT: vmovdqa64 320(%rdx), %zmm711185; AVX512-FCP-NEXT: vmovdqa64 320(%rcx), %zmm011186; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm2311187; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2311188; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm111189; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm111190; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm511191; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm511192; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11193; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm511194; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm511195; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11196; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm711197; AVX512-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1111198; AVX512-FCP-NEXT: vmovdqa64 384(%rcx), %zmm011199; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm1311200; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1311201; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm811202; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm811203; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm511204; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm12, %zmm511205; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11206; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm511207; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm511208; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11209; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1111210; AVX512-FCP-NEXT: vmovdqa64 448(%rdx), %zmm511211; AVX512-FCP-NEXT: vmovdqa64 448(%rcx), %zmm011212; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm611213; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm211214; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm1211215; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm1011216; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm511217; AVX512-FCP-NEXT: movb $49, %al11218; AVX512-FCP-NEXT: kmovw %eax, %k111219; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload11220; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11221; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11222; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}11223; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11224; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}11225; AVX512-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11226; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11227; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}11228; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11229; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}11230; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11231; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}11232; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11233; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}11234; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}11235; AVX512-FCP-NEXT: movb $-116, %al11236; AVX512-FCP-NEXT: kmovw %eax, %k311237; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload11238; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}11239; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11240; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}11241; AVX512-FCP-NEXT: movb $24, %al11242; AVX512-FCP-NEXT: kmovw %eax, %k211243; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload11244; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}11245; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload11246; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}11247; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11248; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}11249; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11250; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}11251; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11252; AVX512-FCP-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}11253; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11254; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}11255; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11256; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}11257; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11258; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}11259; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11260; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}11261; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11262; AVX512-FCP-NEXT: movb $8, %al11263; AVX512-FCP-NEXT: kmovw %eax, %k311264; AVX512-FCP-NEXT: vmovdqa64 (%r8), %zmm211265; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}11266; AVX512-FCP-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill11267; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]11268; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1611269; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11270; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]11271; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm011272; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11273; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]11274; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2711275; AVX512-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11276; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]11277; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2511278; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11279; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11280; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}11281; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11282; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11283; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}11284; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11285; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}11286; AVX512-FCP-NEXT: vmovdqa64 64(%r8), %zmm211287; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}11288; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11289; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2811290; AVX512-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11291; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm111292; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11293; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm311294; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11295; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2611296; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11297; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11298; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11299; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11300; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11301; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}11302; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11303; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}11304; AVX512-FCP-NEXT: vmovdqa64 128(%r8), %zmm211305; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload11306; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}11307; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2211308; AVX512-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11309; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm311310; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11311; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm111312; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11313; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1411314; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11315; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11316; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11317; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11318; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11319; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}11320; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11321; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}11322; AVX512-FCP-NEXT: vmovdqa64 192(%r8), %zmm211323; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}11324; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2011325; AVX512-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11326; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm311327; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11328; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm011329; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11330; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1911331; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11332; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11333; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}11334; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11335; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11336; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}11337; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11338; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}11339; AVX512-FCP-NEXT: vmovdqa64 256(%r8), %zmm211340; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}11341; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm311342; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm311343; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2011344; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2811345; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1811346; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload11347; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11348; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}11349; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11350; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11351; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}11352; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11353; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}11354; AVX512-FCP-NEXT: vmovdqa64 320(%r8), %zmm211355; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}11356; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm111357; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm111358; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2711359; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2211360; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm711361; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11362; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11363; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}11364; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11365; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11366; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}11367; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11368; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}11369; AVX512-FCP-NEXT: vmovdqa64 384(%r8), %zmm211370; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}11371; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11372; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1711373; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm911374; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm011375; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1111376; AVX512-FCP-NEXT: vmovdqa64 448(%r8), %zmm211377; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload11378; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2411379; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11380; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}11381; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm411382; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11383; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}11384; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm811385; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload11386; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}11387; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm511388; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}11389; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 2496(%r9)11390; AVX512-FCP-NEXT: vmovdqa64 %zmm8, 2432(%r9)11391; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 2368(%r9)11392; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 2304(%r9)11393; AVX512-FCP-NEXT: vmovdqa64 %zmm24, 2240(%r9)11394; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 2176(%r9)11395; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 2112(%r9)11396; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 2048(%r9)11397; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 1984(%r9)11398; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 1920(%r9)11399; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 1856(%r9)11400; AVX512-FCP-NEXT: vmovdqa64 %zmm22, 1792(%r9)11401; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 1728(%r9)11402; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 1664(%r9)11403; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 1600(%r9)11404; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 1536(%r9)11405; AVX512-FCP-NEXT: vmovdqa64 %zmm28, 1472(%r9)11406; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 1408(%r9)11407; AVX512-FCP-NEXT: vmovdqa64 %zmm20, 1344(%r9)11408; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 1280(%r9)11409; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 1216(%r9)11410; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11411; AVX512-FCP-NEXT: vmovaps %zmm0, 1152(%r9)11412; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 1088(%r9)11413; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11414; AVX512-FCP-NEXT: vmovaps %zmm0, 1024(%r9)11415; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11416; AVX512-FCP-NEXT: vmovaps %zmm0, 960(%r9)11417; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 896(%r9)11418; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11419; AVX512-FCP-NEXT: vmovaps %zmm0, 832(%r9)11420; AVX512-FCP-NEXT: vmovdqa64 %zmm30, 768(%r9)11421; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11422; AVX512-FCP-NEXT: vmovaps %zmm0, 704(%r9)11423; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11424; AVX512-FCP-NEXT: vmovaps %zmm0, 640(%r9)11425; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 576(%r9)11426; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11427; AVX512-FCP-NEXT: vmovaps %zmm0, 512(%r9)11428; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11429; AVX512-FCP-NEXT: vmovaps %zmm0, 448(%r9)11430; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11431; AVX512-FCP-NEXT: vmovaps %zmm0, 384(%r9)11432; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11433; AVX512-FCP-NEXT: vmovaps %zmm0, 320(%r9)11434; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 256(%r9)11435; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11436; AVX512-FCP-NEXT: vmovaps %zmm0, 192(%r9)11437; AVX512-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11438; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%r9)11439; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11440; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%r9)11441; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11442; AVX512-FCP-NEXT: vmovaps %zmm0, (%r9)11443; AVX512-FCP-NEXT: addq $3144, %rsp # imm = 0xC4811444; AVX512-FCP-NEXT: vzeroupper11445; AVX512-FCP-NEXT: retq11446;11447; AVX512DQ-LABEL: store_i64_stride5_vf64:11448; AVX512DQ: # %bb.0:11449; AVX512DQ-NEXT: subq $3144, %rsp # imm = 0xC4811450; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm611451; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm711452; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm1111453; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm1011454; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm911455; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm811456; AVX512DQ-NEXT: vmovdqa64 256(%rsi), %zmm111457; AVX512DQ-NEXT: vmovdqa64 (%rsi), %zmm511458; AVX512DQ-NEXT: vmovdqa64 64(%rsi), %zmm411459; AVX512DQ-NEXT: vmovdqa64 128(%rsi), %zmm311460; AVX512DQ-NEXT: vmovdqa64 192(%rsi), %zmm211461; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]11462; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm1211463; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm20, %zmm1211464; AVX512DQ-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill11465; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm1211466; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm20, %zmm1211467; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11468; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm1211469; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm20, %zmm1211470; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11471; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm1211472; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm20, %zmm1211473; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11474; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm1211475; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm20, %zmm1211476; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11477; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]11478; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm011479; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm21, %zmm011480; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11481; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]11482; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm011483; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm13, %zmm011484; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11485; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]11486; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm011487; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm14, %zmm011488; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11489; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]11490; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11491; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm0, %zmm1111492; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11493; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm511494; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm21, %zmm511495; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11496; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm511497; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm13, %zmm511498; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11499; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm511500; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm14, %zmm511501; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11502; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm0, %zmm1011503; AVX512DQ-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11504; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm411505; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm21, %zmm411506; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11507; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm411508; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm13, %zmm411509; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11510; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm411511; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm14, %zmm411512; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11513; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm911514; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11515; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm311516; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm311517; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11518; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm311519; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm13, %zmm311520; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11521; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm311522; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm14, %zmm311523; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11524; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm811525; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11526; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm211527; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm211528; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11529; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm211530; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm13, %zmm211531; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11532; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm211533; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm14, %zmm211534; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11535; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm0, %zmm711536; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11537; AVX512DQ-NEXT: vmovdqa64 320(%rsi), %zmm111538; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm211539; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm20, %zmm211540; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11541; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm211542; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm211543; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11544; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm211545; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm13, %zmm211546; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11547; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm211548; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm14, %zmm211549; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11550; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm0, %zmm611551; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11552; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm311553; AVX512DQ-NEXT: vmovdqa64 384(%rsi), %zmm111554; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm211555; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm20, %zmm211556; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11557; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm211558; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm211559; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11560; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm211561; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm13, %zmm211562; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11563; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm211564; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm14, %zmm211565; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11566; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm0, %zmm311567; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11568; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm211569; AVX512DQ-NEXT: vmovdqa64 448(%rsi), %zmm111570; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm1, %zmm2011571; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm2111572; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm1311573; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11574; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm1411575; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11576; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm0, %zmm211577; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11578; AVX512DQ-NEXT: vmovdqa64 (%rdx), %zmm2511579; AVX512DQ-NEXT: vmovdqa64 (%rcx), %zmm011580; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]11581; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm311582; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm311583; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]11584; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm2211585; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm2211586; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]11587; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm2711588; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm12, %zmm2711589; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]11590; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11591; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm2811592; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm2811593; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]11594; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm2511595; AVX512DQ-NEXT: vmovdqa64 64(%rdx), %zmm2611596; AVX512DQ-NEXT: vmovdqa64 64(%rcx), %zmm011597; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm411598; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm411599; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm1711600; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm1711601; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm111602; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm12, %zmm111603; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11604; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm111605; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm111606; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11607; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm2611608; AVX512DQ-NEXT: vmovdqa64 128(%rdx), %zmm1411609; AVX512DQ-NEXT: vmovdqa64 128(%rcx), %zmm011610; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm1511611; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm1511612; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm911613; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm911614; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm111615; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm12, %zmm111616; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11617; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm111618; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm111619; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11620; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm1411621; AVX512DQ-NEXT: vmovdqa64 192(%rdx), %zmm1911622; AVX512DQ-NEXT: vmovdqa64 192(%rcx), %zmm011623; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm3111624; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm3111625; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm3011626; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm3011627; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm111628; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm12, %zmm111629; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11630; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm111631; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm111632; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11633; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm1911634; AVX512DQ-NEXT: vmovdqa64 256(%rdx), %zmm1811635; AVX512DQ-NEXT: vmovdqa64 256(%rcx), %zmm011636; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm2911637; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm2911638; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm2411639; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm2411640; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm111641; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm12, %zmm111642; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11643; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm111644; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm111645; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11646; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm1811647; AVX512DQ-NEXT: vmovdqa64 320(%rdx), %zmm711648; AVX512DQ-NEXT: vmovdqa64 320(%rcx), %zmm011649; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm2311650; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm2311651; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm111652; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm111653; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm511654; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm12, %zmm511655; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11656; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm511657; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm511658; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11659; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm711660; AVX512DQ-NEXT: vmovdqa64 384(%rdx), %zmm1111661; AVX512DQ-NEXT: vmovdqa64 384(%rcx), %zmm011662; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm1311663; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm6, %zmm1311664; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm811665; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm811666; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm511667; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm12, %zmm511668; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11669; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm511670; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm10, %zmm511671; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11672; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm1111673; AVX512DQ-NEXT: vmovdqa64 448(%rdx), %zmm511674; AVX512DQ-NEXT: vmovdqa64 448(%rcx), %zmm011675; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm5, %zmm611676; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm5, %zmm211677; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm0, %zmm1211678; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm5, %zmm1011679; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm16, %zmm511680; AVX512DQ-NEXT: movb $49, %al11681; AVX512DQ-NEXT: kmovw %eax, %k111682; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload11683; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11684; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11685; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}11686; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11687; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}11688; AVX512DQ-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11689; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11690; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}11691; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11692; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}11693; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11694; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}11695; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11696; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}11697; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}11698; AVX512DQ-NEXT: movb $-116, %al11699; AVX512DQ-NEXT: kmovw %eax, %k311700; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload11701; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}11702; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11703; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}11704; AVX512DQ-NEXT: movb $24, %al11705; AVX512DQ-NEXT: kmovw %eax, %k211706; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload11707; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}11708; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload11709; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}11710; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11711; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}11712; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11713; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}11714; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11715; AVX512DQ-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}11716; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11717; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}11718; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11719; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}11720; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11721; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}11722; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11723; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}11724; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11725; AVX512DQ-NEXT: movb $8, %al11726; AVX512DQ-NEXT: kmovw %eax, %k311727; AVX512DQ-NEXT: vmovdqa64 (%r8), %zmm211728; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}11729; AVX512DQ-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill11730; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]11731; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm1611732; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11733; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]11734; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm011735; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11736; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]11737; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm2711738; AVX512DQ-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11739; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]11740; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm2511741; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11742; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11743; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}11744; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11745; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11746; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}11747; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11748; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}11749; AVX512DQ-NEXT: vmovdqa64 64(%r8), %zmm211750; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}11751; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11752; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm2811753; AVX512DQ-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11754; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm111755; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11756; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm311757; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11758; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm2611759; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11760; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11761; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11762; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11763; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11764; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}11765; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11766; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}11767; AVX512DQ-NEXT: vmovdqa64 128(%r8), %zmm211768; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload11769; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}11770; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm2211771; AVX512DQ-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11772; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm311773; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11774; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm111775; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11776; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm1411777; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11778; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11779; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}11780; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11781; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11782; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}11783; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11784; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}11785; AVX512DQ-NEXT: vmovdqa64 192(%r8), %zmm211786; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}11787; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm2011788; AVX512DQ-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11789; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm311790; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11791; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm011792; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11793; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm1911794; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11795; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11796; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}11797; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11798; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11799; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}11800; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11801; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}11802; AVX512DQ-NEXT: vmovdqa64 256(%r8), %zmm211803; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}11804; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm311805; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm311806; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm2011807; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm2811808; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm1811809; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload11810; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11811; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}11812; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11813; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11814; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}11815; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11816; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}11817; AVX512DQ-NEXT: vmovdqa64 320(%r8), %zmm211818; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}11819; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm111820; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm111821; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm2711822; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm2211823; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm711824; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11825; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11826; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}11827; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11828; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11829; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}11830; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11831; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}11832; AVX512DQ-NEXT: vmovdqa64 384(%r8), %zmm211833; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}11834; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11835; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm1711836; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm911837; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm011838; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm1111839; AVX512DQ-NEXT: vmovdqa64 448(%r8), %zmm211840; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload11841; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm21, %zmm2411842; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11843; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}11844; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm411845; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11846; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}11847; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm811848; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload11849; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}11850; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm16, %zmm511851; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}11852; AVX512DQ-NEXT: vmovdqa64 %zmm5, 2496(%r9)11853; AVX512DQ-NEXT: vmovdqa64 %zmm8, 2432(%r9)11854; AVX512DQ-NEXT: vmovdqa64 %zmm6, 2368(%r9)11855; AVX512DQ-NEXT: vmovdqa64 %zmm4, 2304(%r9)11856; AVX512DQ-NEXT: vmovdqa64 %zmm24, 2240(%r9)11857; AVX512DQ-NEXT: vmovdqa64 %zmm11, 2176(%r9)11858; AVX512DQ-NEXT: vmovdqa64 %zmm0, 2112(%r9)11859; AVX512DQ-NEXT: vmovdqa64 %zmm13, 2048(%r9)11860; AVX512DQ-NEXT: vmovdqa64 %zmm9, 1984(%r9)11861; AVX512DQ-NEXT: vmovdqa64 %zmm17, 1920(%r9)11862; AVX512DQ-NEXT: vmovdqa64 %zmm7, 1856(%r9)11863; AVX512DQ-NEXT: vmovdqa64 %zmm22, 1792(%r9)11864; AVX512DQ-NEXT: vmovdqa64 %zmm23, 1728(%r9)11865; AVX512DQ-NEXT: vmovdqa64 %zmm27, 1664(%r9)11866; AVX512DQ-NEXT: vmovdqa64 %zmm1, 1600(%r9)11867; AVX512DQ-NEXT: vmovdqa64 %zmm18, 1536(%r9)11868; AVX512DQ-NEXT: vmovdqa64 %zmm28, 1472(%r9)11869; AVX512DQ-NEXT: vmovdqa64 %zmm29, 1408(%r9)11870; AVX512DQ-NEXT: vmovdqa64 %zmm20, 1344(%r9)11871; AVX512DQ-NEXT: vmovdqa64 %zmm3, 1280(%r9)11872; AVX512DQ-NEXT: vmovdqa64 %zmm19, 1216(%r9)11873; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11874; AVX512DQ-NEXT: vmovaps %zmm0, 1152(%r9)11875; AVX512DQ-NEXT: vmovdqa64 %zmm31, 1088(%r9)11876; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11877; AVX512DQ-NEXT: vmovaps %zmm0, 1024(%r9)11878; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11879; AVX512DQ-NEXT: vmovaps %zmm0, 960(%r9)11880; AVX512DQ-NEXT: vmovdqa64 %zmm14, 896(%r9)11881; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11882; AVX512DQ-NEXT: vmovaps %zmm0, 832(%r9)11883; AVX512DQ-NEXT: vmovdqa64 %zmm30, 768(%r9)11884; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11885; AVX512DQ-NEXT: vmovaps %zmm0, 704(%r9)11886; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11887; AVX512DQ-NEXT: vmovaps %zmm0, 640(%r9)11888; AVX512DQ-NEXT: vmovdqa64 %zmm26, 576(%r9)11889; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11890; AVX512DQ-NEXT: vmovaps %zmm0, 512(%r9)11891; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11892; AVX512DQ-NEXT: vmovaps %zmm0, 448(%r9)11893; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11894; AVX512DQ-NEXT: vmovaps %zmm0, 384(%r9)11895; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11896; AVX512DQ-NEXT: vmovaps %zmm0, 320(%r9)11897; AVX512DQ-NEXT: vmovdqa64 %zmm25, 256(%r9)11898; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11899; AVX512DQ-NEXT: vmovaps %zmm0, 192(%r9)11900; AVX512DQ-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11901; AVX512DQ-NEXT: vmovaps %zmm0, 128(%r9)11902; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11903; AVX512DQ-NEXT: vmovaps %zmm0, 64(%r9)11904; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11905; AVX512DQ-NEXT: vmovaps %zmm0, (%r9)11906; AVX512DQ-NEXT: addq $3144, %rsp # imm = 0xC4811907; AVX512DQ-NEXT: vzeroupper11908; AVX512DQ-NEXT: retq11909;11910; AVX512DQ-FCP-LABEL: store_i64_stride5_vf64:11911; AVX512DQ-FCP: # %bb.0:11912; AVX512DQ-FCP-NEXT: subq $3144, %rsp # imm = 0xC4811913; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm611914; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm711915; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm1111916; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1011917; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm911918; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm811919; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rsi), %zmm111920; AVX512DQ-FCP-NEXT: vmovdqa64 (%rsi), %zmm511921; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rsi), %zmm411922; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rsi), %zmm311923; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rsi), %zmm211924; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]11925; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm1211926; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm1211927; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill11928; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm1211929; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm20, %zmm1211930; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11931; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm1211932; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm1211933; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11934; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm1211935; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm1211936; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11937; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm1211938; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm20, %zmm1211939; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11940; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]11941; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm011942; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm011943; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11944; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]11945; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm011946; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm011947; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11948; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]11949; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm011950; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm14, %zmm011951; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11952; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]11953; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11954; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm1111955; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11956; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm511957; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm511958; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11959; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm511960; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm511961; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11962; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm511963; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm14, %zmm511964; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11965; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1011966; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11967; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm411968; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm411969; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11970; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm411971; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm13, %zmm411972; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11973; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm411974; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm411975; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11976; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm911977; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11978; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm311979; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm311980; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11981; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm311982; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm311983; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11984; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm311985; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm311986; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11987; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm811988; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11989; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm211990; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm211991; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11992; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm211993; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm211994; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11995; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm211996; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm211997; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11998; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm711999; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12000; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rsi), %zmm112001; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm212002; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm212003; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12004; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm212005; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm212006; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12007; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm212008; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm212009; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12010; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm212011; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm212012; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12013; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm612014; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12015; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm312016; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rsi), %zmm112017; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm212018; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm212019; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12020; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm212021; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm212022; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12023; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm212024; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm212025; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12026; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm212027; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm212028; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12029; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm312030; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12031; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm212032; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rsi), %zmm112033; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm2012034; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm2112035; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1312036; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12037; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1412038; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12039; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm212040; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12041; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdx), %zmm2512042; AVX512DQ-FCP-NEXT: vmovdqa64 (%rcx), %zmm012043; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]12044; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm312045; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm312046; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]12047; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm2212048; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2212049; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]12050; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm2712051; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm2712052; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]12053; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12054; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm2812055; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm2812056; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]12057; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2512058; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdx), %zmm2612059; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rcx), %zmm012060; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm412061; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm412062; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm1712063; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm1712064; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm112065; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm12, %zmm112066; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12067; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm112068; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm112069; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12070; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2612071; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdx), %zmm1412072; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rcx), %zmm012073; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm1512074; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1512075; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm912076; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm912077; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm112078; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm12, %zmm112079; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12080; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm112081; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm112082; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12083; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1412084; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1912085; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rcx), %zmm012086; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm3112087; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm3112088; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm3012089; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm3012090; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm112091; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm12, %zmm112092; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12093; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm112094; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm112095; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12096; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1912097; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1812098; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rcx), %zmm012099; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm2912100; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2912101; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm2412102; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2412103; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm112104; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm112105; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12106; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm112107; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm112108; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12109; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1812110; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdx), %zmm712111; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rcx), %zmm012112; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm2312113; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2312114; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm112115; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm112116; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm512117; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm512118; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12119; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm512120; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm512121; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12122; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm712123; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1112124; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rcx), %zmm012125; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm1312126; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1312127; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm812128; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm812129; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm512130; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm12, %zmm512131; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12132; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm512133; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm512134; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12135; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1112136; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdx), %zmm512137; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rcx), %zmm012138; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm612139; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm212140; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm1212141; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm1012142; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm512143; AVX512DQ-FCP-NEXT: movb $49, %al12144; AVX512DQ-FCP-NEXT: kmovw %eax, %k112145; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload12146; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12147; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12148; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}12149; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12150; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}12151; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12152; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12153; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}12154; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12155; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}12156; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12157; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}12158; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12159; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}12160; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}12161; AVX512DQ-FCP-NEXT: movb $-116, %al12162; AVX512DQ-FCP-NEXT: kmovw %eax, %k312163; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload12164; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}12165; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12166; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}12167; AVX512DQ-FCP-NEXT: movb $24, %al12168; AVX512DQ-FCP-NEXT: kmovw %eax, %k212169; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload12170; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}12171; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload12172; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}12173; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12174; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}12175; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12176; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}12177; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12178; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}12179; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12180; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}12181; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload12182; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}12183; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12184; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}12185; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12186; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}12187; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12188; AVX512DQ-FCP-NEXT: movb $8, %al12189; AVX512DQ-FCP-NEXT: kmovw %eax, %k312190; AVX512DQ-FCP-NEXT: vmovdqa64 (%r8), %zmm212191; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}12192; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill12193; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]12194; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1612195; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12196; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]12197; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm012198; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12199; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]12200; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2712201; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12202; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]12203; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2512204; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12205; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12206; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}12207; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12208; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12209; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}12210; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12211; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}12212; AVX512DQ-FCP-NEXT: vmovdqa64 64(%r8), %zmm212213; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}12214; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12215; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2812216; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12217; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm112218; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12219; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm312220; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12221; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2612222; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12223; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12224; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12225; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12226; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12227; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}12228; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12229; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}12230; AVX512DQ-FCP-NEXT: vmovdqa64 128(%r8), %zmm212231; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload12232; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}12233; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2212234; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12235; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm312236; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12237; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm112238; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12239; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1412240; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12241; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12242; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12243; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12244; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12245; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}12246; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12247; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}12248; AVX512DQ-FCP-NEXT: vmovdqa64 192(%r8), %zmm212249; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}12250; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2012251; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12252; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm312253; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12254; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm012255; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12256; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1912257; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12258; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12259; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}12260; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12261; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12262; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}12263; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12264; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}12265; AVX512DQ-FCP-NEXT: vmovdqa64 256(%r8), %zmm212266; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}12267; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm312268; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm312269; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2012270; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2812271; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1812272; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload12273; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12274; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}12275; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12276; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12277; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}12278; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12279; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}12280; AVX512DQ-FCP-NEXT: vmovdqa64 320(%r8), %zmm212281; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}12282; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm112283; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm112284; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2712285; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2212286; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm712287; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12288; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12289; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}12290; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12291; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12292; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}12293; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12294; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}12295; AVX512DQ-FCP-NEXT: vmovdqa64 384(%r8), %zmm212296; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}12297; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload12298; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1712299; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm912300; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm012301; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1112302; AVX512DQ-FCP-NEXT: vmovdqa64 448(%r8), %zmm212303; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload12304; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2412305; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12306; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}12307; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm412308; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12309; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}12310; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm812311; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload12312; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}12313; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm512314; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}12315; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 2496(%r9)12316; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, 2432(%r9)12317; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 2368(%r9)12318; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 2304(%r9)12319; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, 2240(%r9)12320; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 2176(%r9)12321; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 2112(%r9)12322; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 2048(%r9)12323; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 1984(%r9)12324; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 1920(%r9)12325; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 1856(%r9)12326; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 1792(%r9)12327; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 1728(%r9)12328; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 1664(%r9)12329; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 1600(%r9)12330; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 1536(%r9)12331; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, 1472(%r9)12332; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 1408(%r9)12333; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, 1344(%r9)12334; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 1280(%r9)12335; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 1216(%r9)12336; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12337; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1152(%r9)12338; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 1088(%r9)12339; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12340; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 1024(%r9)12341; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12342; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 960(%r9)12343; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 896(%r9)12344; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12345; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 832(%r9)12346; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, 768(%r9)12347; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12348; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 704(%r9)12349; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12350; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 640(%r9)12351; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 576(%r9)12352; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12353; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 512(%r9)12354; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12355; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 448(%r9)12356; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12357; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 384(%r9)12358; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12359; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 320(%r9)12360; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 256(%r9)12361; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12362; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 192(%r9)12363; AVX512DQ-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload12364; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%r9)12365; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12366; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%r9)12367; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12368; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%r9)12369; AVX512DQ-FCP-NEXT: addq $3144, %rsp # imm = 0xC4812370; AVX512DQ-FCP-NEXT: vzeroupper12371; AVX512DQ-FCP-NEXT: retq12372;12373; AVX512BW-LABEL: store_i64_stride5_vf64:12374; AVX512BW: # %bb.0:12375; AVX512BW-NEXT: subq $3144, %rsp # imm = 0xC4812376; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm612377; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm712378; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm1112379; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm1012380; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm912381; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm812382; AVX512BW-NEXT: vmovdqa64 256(%rsi), %zmm112383; AVX512BW-NEXT: vmovdqa64 (%rsi), %zmm512384; AVX512BW-NEXT: vmovdqa64 64(%rsi), %zmm412385; AVX512BW-NEXT: vmovdqa64 128(%rsi), %zmm312386; AVX512BW-NEXT: vmovdqa64 192(%rsi), %zmm212387; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]12388; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm1212389; AVX512BW-NEXT: vpermt2q %zmm11, %zmm20, %zmm1212390; AVX512BW-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill12391; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm1212392; AVX512BW-NEXT: vpermt2q %zmm10, %zmm20, %zmm1212393; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12394; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm1212395; AVX512BW-NEXT: vpermt2q %zmm9, %zmm20, %zmm1212396; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12397; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm1212398; AVX512BW-NEXT: vpermt2q %zmm8, %zmm20, %zmm1212399; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12400; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm1212401; AVX512BW-NEXT: vpermt2q %zmm7, %zmm20, %zmm1212402; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12403; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]12404; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm012405; AVX512BW-NEXT: vpermt2q %zmm5, %zmm21, %zmm012406; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12407; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]12408; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm012409; AVX512BW-NEXT: vpermt2q %zmm5, %zmm13, %zmm012410; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12411; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]12412; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm012413; AVX512BW-NEXT: vpermt2q %zmm5, %zmm14, %zmm012414; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12415; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]12416; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12417; AVX512BW-NEXT: vpermt2q %zmm5, %zmm0, %zmm1112418; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12419; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm512420; AVX512BW-NEXT: vpermt2q %zmm4, %zmm21, %zmm512421; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12422; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm512423; AVX512BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm512424; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12425; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm512426; AVX512BW-NEXT: vpermt2q %zmm4, %zmm14, %zmm512427; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12428; AVX512BW-NEXT: vpermt2q %zmm4, %zmm0, %zmm1012429; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12430; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm412431; AVX512BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm412432; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12433; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm412434; AVX512BW-NEXT: vpermt2q %zmm3, %zmm13, %zmm412435; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12436; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm412437; AVX512BW-NEXT: vpermt2q %zmm3, %zmm14, %zmm412438; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12439; AVX512BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm912440; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12441; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm312442; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm312443; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12444; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm312445; AVX512BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm312446; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12447; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm312448; AVX512BW-NEXT: vpermt2q %zmm2, %zmm14, %zmm312449; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12450; AVX512BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm812451; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12452; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm212453; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm212454; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12455; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm212456; AVX512BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm212457; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12458; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm212459; AVX512BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm212460; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12461; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm712462; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12463; AVX512BW-NEXT: vmovdqa64 320(%rsi), %zmm112464; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm212465; AVX512BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm212466; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12467; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm212468; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm212469; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12470; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm212471; AVX512BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm212472; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12473; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm212474; AVX512BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm212475; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12476; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm612477; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12478; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm312479; AVX512BW-NEXT: vmovdqa64 384(%rsi), %zmm112480; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm212481; AVX512BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm212482; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12483; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm212484; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm212485; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12486; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm212487; AVX512BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm212488; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12489; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm212490; AVX512BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm212491; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12492; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm312493; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12494; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm212495; AVX512BW-NEXT: vmovdqa64 448(%rsi), %zmm112496; AVX512BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm2012497; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm2112498; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm1312499; AVX512BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12500; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm1412501; AVX512BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12502; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm212503; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12504; AVX512BW-NEXT: vmovdqa64 (%rdx), %zmm2512505; AVX512BW-NEXT: vmovdqa64 (%rcx), %zmm012506; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]12507; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm312508; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm312509; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]12510; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm2212511; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm2212512; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]12513; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm2712514; AVX512BW-NEXT: vpermt2q %zmm25, %zmm12, %zmm2712515; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]12516; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12517; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm2812518; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm2812519; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]12520; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm2512521; AVX512BW-NEXT: vmovdqa64 64(%rdx), %zmm2612522; AVX512BW-NEXT: vmovdqa64 64(%rcx), %zmm012523; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm412524; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm412525; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm1712526; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm1712527; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm112528; AVX512BW-NEXT: vpermt2q %zmm26, %zmm12, %zmm112529; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12530; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm112531; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm112532; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12533; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm2612534; AVX512BW-NEXT: vmovdqa64 128(%rdx), %zmm1412535; AVX512BW-NEXT: vmovdqa64 128(%rcx), %zmm012536; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm1512537; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm1512538; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm912539; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm912540; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm112541; AVX512BW-NEXT: vpermt2q %zmm14, %zmm12, %zmm112542; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12543; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm112544; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm112545; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12546; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1412547; AVX512BW-NEXT: vmovdqa64 192(%rdx), %zmm1912548; AVX512BW-NEXT: vmovdqa64 192(%rcx), %zmm012549; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm3112550; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm3112551; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm3012552; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm3012553; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm112554; AVX512BW-NEXT: vpermt2q %zmm19, %zmm12, %zmm112555; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12556; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm112557; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm112558; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12559; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1912560; AVX512BW-NEXT: vmovdqa64 256(%rdx), %zmm1812561; AVX512BW-NEXT: vmovdqa64 256(%rcx), %zmm012562; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm2912563; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm2912564; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm2412565; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm2412566; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm112567; AVX512BW-NEXT: vpermt2q %zmm18, %zmm12, %zmm112568; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12569; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm112570; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm112571; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12572; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1812573; AVX512BW-NEXT: vmovdqa64 320(%rdx), %zmm712574; AVX512BW-NEXT: vmovdqa64 320(%rcx), %zmm012575; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm2312576; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm2312577; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm112578; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm112579; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm512580; AVX512BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm512581; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12582; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm512583; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm512584; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12585; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm712586; AVX512BW-NEXT: vmovdqa64 384(%rdx), %zmm1112587; AVX512BW-NEXT: vmovdqa64 384(%rcx), %zmm012588; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm1312589; AVX512BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm1312590; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm812591; AVX512BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm812592; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm512593; AVX512BW-NEXT: vpermt2q %zmm11, %zmm12, %zmm512594; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12595; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm512596; AVX512BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm512597; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12598; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1112599; AVX512BW-NEXT: vmovdqa64 448(%rdx), %zmm512600; AVX512BW-NEXT: vmovdqa64 448(%rcx), %zmm012601; AVX512BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm612602; AVX512BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm212603; AVX512BW-NEXT: vpermi2q %zmm5, %zmm0, %zmm1212604; AVX512BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm1012605; AVX512BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm512606; AVX512BW-NEXT: movb $49, %al12607; AVX512BW-NEXT: kmovd %eax, %k112608; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload12609; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12610; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12611; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}12612; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12613; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}12614; AVX512BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12615; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12616; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}12617; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12618; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}12619; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12620; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}12621; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12622; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}12623; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}12624; AVX512BW-NEXT: movb $-116, %al12625; AVX512BW-NEXT: kmovd %eax, %k312626; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload12627; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}12628; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12629; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}12630; AVX512BW-NEXT: movb $24, %al12631; AVX512BW-NEXT: kmovd %eax, %k212632; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload12633; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}12634; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload12635; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}12636; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12637; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}12638; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12639; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}12640; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12641; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}12642; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12643; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}12644; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload12645; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}12646; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12647; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}12648; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12649; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}12650; AVX512BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12651; AVX512BW-NEXT: movb $8, %al12652; AVX512BW-NEXT: kmovd %eax, %k312653; AVX512BW-NEXT: vmovdqa64 (%r8), %zmm212654; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}12655; AVX512BW-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill12656; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]12657; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm1612658; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12659; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]12660; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm012661; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12662; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]12663; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2712664; AVX512BW-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12665; AVX512BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]12666; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm2512667; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12668; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12669; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}12670; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12671; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12672; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}12673; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12674; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}12675; AVX512BW-NEXT: vmovdqa64 64(%r8), %zmm212676; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}12677; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12678; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2812679; AVX512BW-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12680; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm112681; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12682; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm312683; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12684; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm2612685; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12686; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12687; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12688; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12689; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12690; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}12691; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12692; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}12693; AVX512BW-NEXT: vmovdqa64 128(%r8), %zmm212694; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload12695; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}12696; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2212697; AVX512BW-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12698; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm312699; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12700; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm112701; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12702; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1412703; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12704; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12705; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}12706; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12707; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12708; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}12709; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12710; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}12711; AVX512BW-NEXT: vmovdqa64 192(%r8), %zmm212712; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}12713; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2012714; AVX512BW-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12715; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm312716; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12717; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm012718; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12719; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1912720; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12721; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12722; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}12723; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12724; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12725; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}12726; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12727; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}12728; AVX512BW-NEXT: vmovdqa64 256(%r8), %zmm212729; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}12730; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm312731; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm312732; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm2012733; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2812734; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1812735; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload12736; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12737; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}12738; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12739; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12740; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}12741; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12742; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}12743; AVX512BW-NEXT: vmovdqa64 320(%r8), %zmm212744; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}12745; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm112746; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm112747; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm2712748; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2212749; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm712750; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12751; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12752; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}12753; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12754; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12755; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}12756; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12757; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}12758; AVX512BW-NEXT: vmovdqa64 384(%r8), %zmm212759; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}12760; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload12761; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm1712762; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm912763; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm012764; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1112765; AVX512BW-NEXT: vmovdqa64 448(%r8), %zmm212766; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload12767; AVX512BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2412768; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12769; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}12770; AVX512BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm412771; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12772; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}12773; AVX512BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm812774; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload12775; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}12776; AVX512BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm512777; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}12778; AVX512BW-NEXT: vmovdqa64 %zmm5, 2496(%r9)12779; AVX512BW-NEXT: vmovdqa64 %zmm8, 2432(%r9)12780; AVX512BW-NEXT: vmovdqa64 %zmm6, 2368(%r9)12781; AVX512BW-NEXT: vmovdqa64 %zmm4, 2304(%r9)12782; AVX512BW-NEXT: vmovdqa64 %zmm24, 2240(%r9)12783; AVX512BW-NEXT: vmovdqa64 %zmm11, 2176(%r9)12784; AVX512BW-NEXT: vmovdqa64 %zmm0, 2112(%r9)12785; AVX512BW-NEXT: vmovdqa64 %zmm13, 2048(%r9)12786; AVX512BW-NEXT: vmovdqa64 %zmm9, 1984(%r9)12787; AVX512BW-NEXT: vmovdqa64 %zmm17, 1920(%r9)12788; AVX512BW-NEXT: vmovdqa64 %zmm7, 1856(%r9)12789; AVX512BW-NEXT: vmovdqa64 %zmm22, 1792(%r9)12790; AVX512BW-NEXT: vmovdqa64 %zmm23, 1728(%r9)12791; AVX512BW-NEXT: vmovdqa64 %zmm27, 1664(%r9)12792; AVX512BW-NEXT: vmovdqa64 %zmm1, 1600(%r9)12793; AVX512BW-NEXT: vmovdqa64 %zmm18, 1536(%r9)12794; AVX512BW-NEXT: vmovdqa64 %zmm28, 1472(%r9)12795; AVX512BW-NEXT: vmovdqa64 %zmm29, 1408(%r9)12796; AVX512BW-NEXT: vmovdqa64 %zmm20, 1344(%r9)12797; AVX512BW-NEXT: vmovdqa64 %zmm3, 1280(%r9)12798; AVX512BW-NEXT: vmovdqa64 %zmm19, 1216(%r9)12799; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12800; AVX512BW-NEXT: vmovaps %zmm0, 1152(%r9)12801; AVX512BW-NEXT: vmovdqa64 %zmm31, 1088(%r9)12802; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12803; AVX512BW-NEXT: vmovaps %zmm0, 1024(%r9)12804; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12805; AVX512BW-NEXT: vmovaps %zmm0, 960(%r9)12806; AVX512BW-NEXT: vmovdqa64 %zmm14, 896(%r9)12807; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12808; AVX512BW-NEXT: vmovaps %zmm0, 832(%r9)12809; AVX512BW-NEXT: vmovdqa64 %zmm30, 768(%r9)12810; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12811; AVX512BW-NEXT: vmovaps %zmm0, 704(%r9)12812; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12813; AVX512BW-NEXT: vmovaps %zmm0, 640(%r9)12814; AVX512BW-NEXT: vmovdqa64 %zmm26, 576(%r9)12815; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12816; AVX512BW-NEXT: vmovaps %zmm0, 512(%r9)12817; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12818; AVX512BW-NEXT: vmovaps %zmm0, 448(%r9)12819; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12820; AVX512BW-NEXT: vmovaps %zmm0, 384(%r9)12821; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12822; AVX512BW-NEXT: vmovaps %zmm0, 320(%r9)12823; AVX512BW-NEXT: vmovdqa64 %zmm25, 256(%r9)12824; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12825; AVX512BW-NEXT: vmovaps %zmm0, 192(%r9)12826; AVX512BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload12827; AVX512BW-NEXT: vmovaps %zmm0, 128(%r9)12828; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12829; AVX512BW-NEXT: vmovaps %zmm0, 64(%r9)12830; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12831; AVX512BW-NEXT: vmovaps %zmm0, (%r9)12832; AVX512BW-NEXT: addq $3144, %rsp # imm = 0xC4812833; AVX512BW-NEXT: vzeroupper12834; AVX512BW-NEXT: retq12835;12836; AVX512BW-FCP-LABEL: store_i64_stride5_vf64:12837; AVX512BW-FCP: # %bb.0:12838; AVX512BW-FCP-NEXT: subq $3144, %rsp # imm = 0xC4812839; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm612840; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm712841; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm1112842; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1012843; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm912844; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm812845; AVX512BW-FCP-NEXT: vmovdqa64 256(%rsi), %zmm112846; AVX512BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm512847; AVX512BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm412848; AVX512BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm312849; AVX512BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm212850; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]12851; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1212852; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm1212853; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill12854; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1212855; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm20, %zmm1212856; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12857; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1212858; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm1212859; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12860; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1212861; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm1212862; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12863; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm1212864; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm20, %zmm1212865; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12866; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]12867; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm012868; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm012869; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12870; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]12871; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm012872; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm012873; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12874; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]12875; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm012876; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm14, %zmm012877; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12878; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]12879; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12880; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm1112881; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12882; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm512883; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm512884; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12885; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm512886; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm512887; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12888; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm512889; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm14, %zmm512890; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12891; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1012892; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12893; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm412894; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm412895; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12896; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm412897; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm13, %zmm412898; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12899; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm412900; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm412901; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12902; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm912903; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12904; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm312905; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm312906; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12907; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm312908; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm312909; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12910; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm312911; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm312912; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12913; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm812914; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12915; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm212916; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm212917; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12918; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm212919; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm212920; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12921; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm212922; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm212923; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12924; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm712925; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12926; AVX512BW-FCP-NEXT: vmovdqa64 320(%rsi), %zmm112927; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm212928; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm212929; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12930; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm212931; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm212932; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12933; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm212934; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm212935; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12936; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm212937; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm212938; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12939; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm612940; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12941; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm312942; AVX512BW-FCP-NEXT: vmovdqa64 384(%rsi), %zmm112943; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm212944; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm212945; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12946; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm212947; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm212948; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12949; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm212950; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm212951; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12952; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm212953; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm212954; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12955; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm312956; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12957; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm212958; AVX512BW-FCP-NEXT: vmovdqa64 448(%rsi), %zmm112959; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm2012960; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm2112961; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1312962; AVX512BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12963; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1412964; AVX512BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12965; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm212966; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12967; AVX512BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm2512968; AVX512BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm012969; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]12970; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm312971; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm312972; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]12973; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm2212974; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2212975; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]12976; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2712977; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm2712978; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]12979; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12980; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm2812981; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm2812982; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]12983; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2512984; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm2612985; AVX512BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm012986; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm412987; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm412988; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1712989; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm1712990; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm112991; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm12, %zmm112992; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12993; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm112994; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm112995; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12996; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2612997; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm1412998; AVX512BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm012999; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm1513000; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1513001; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm913002; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm913003; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113004; AVX512BW-FCP-NEXT: vpermt2q %zmm14, %zmm12, %zmm113005; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13006; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm113007; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113008; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13009; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1413010; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1913011; AVX512BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm013012; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm3113013; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm3113014; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm3013015; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm3013016; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113017; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm12, %zmm113018; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13019; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm113020; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113021; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13022; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1913023; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1813024; AVX512BW-FCP-NEXT: vmovdqa64 256(%rcx), %zmm013025; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2913026; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2913027; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2413028; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2413029; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113030; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm113031; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13032; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm113033; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113034; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13035; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1813036; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdx), %zmm713037; AVX512BW-FCP-NEXT: vmovdqa64 320(%rcx), %zmm013038; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2313039; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2313040; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm113041; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm113042; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm513043; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm513044; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13045; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm513046; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm513047; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13048; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm713049; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1113050; AVX512BW-FCP-NEXT: vmovdqa64 384(%rcx), %zmm013051; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm1313052; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1313053; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm813054; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm813055; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm513056; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm12, %zmm513057; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13058; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm513059; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm513060; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13061; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1113062; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdx), %zmm513063; AVX512BW-FCP-NEXT: vmovdqa64 448(%rcx), %zmm013064; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm613065; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm213066; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm1213067; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm1013068; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm513069; AVX512BW-FCP-NEXT: movb $49, %al13070; AVX512BW-FCP-NEXT: kmovd %eax, %k113071; AVX512BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload13072; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13073; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13074; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}13075; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13076; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}13077; AVX512BW-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13078; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13079; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}13080; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13081; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}13082; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13083; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}13084; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13085; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}13086; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}13087; AVX512BW-FCP-NEXT: movb $-116, %al13088; AVX512BW-FCP-NEXT: kmovd %eax, %k313089; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload13090; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}13091; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13092; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}13093; AVX512BW-FCP-NEXT: movb $24, %al13094; AVX512BW-FCP-NEXT: kmovd %eax, %k213095; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload13096; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}13097; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload13098; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}13099; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload13100; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}13101; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload13102; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}13103; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload13104; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}13105; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13106; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}13107; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload13108; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}13109; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13110; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}13111; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13112; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}13113; AVX512BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13114; AVX512BW-FCP-NEXT: movb $8, %al13115; AVX512BW-FCP-NEXT: kmovd %eax, %k313116; AVX512BW-FCP-NEXT: vmovdqa64 (%r8), %zmm213117; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}13118; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill13119; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]13120; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1613121; AVX512BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13122; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]13123; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm013124; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13125; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]13126; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2713127; AVX512BW-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13128; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]13129; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2513130; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13131; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13132; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}13133; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13134; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13135; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}13136; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13137; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}13138; AVX512BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm213139; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}13140; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13141; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2813142; AVX512BW-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13143; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm113144; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13145; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm313146; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13147; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2613148; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13149; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13150; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13151; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13152; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13153; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}13154; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13155; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}13156; AVX512BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm213157; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload13158; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}13159; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2213160; AVX512BW-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13161; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm313162; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13163; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm113164; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13165; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1413166; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13167; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13168; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13169; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13170; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13171; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}13172; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13173; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}13174; AVX512BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm213175; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}13176; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2013177; AVX512BW-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13178; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm313179; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13180; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm013181; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13182; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1913183; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload13184; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13185; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}13186; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload13187; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13188; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}13189; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13190; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}13191; AVX512BW-FCP-NEXT: vmovdqa64 256(%r8), %zmm213192; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}13193; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm313194; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm313195; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2013196; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2813197; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1813198; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload13199; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13200; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}13201; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload13202; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13203; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}13204; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13205; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}13206; AVX512BW-FCP-NEXT: vmovdqa64 320(%r8), %zmm213207; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}13208; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm113209; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm113210; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2713211; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2213212; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm713213; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13214; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13215; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}13216; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13217; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13218; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}13219; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13220; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}13221; AVX512BW-FCP-NEXT: vmovdqa64 384(%r8), %zmm213222; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}13223; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload13224; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1713225; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm913226; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm013227; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1113228; AVX512BW-FCP-NEXT: vmovdqa64 448(%r8), %zmm213229; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload13230; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2413231; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload13232; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}13233; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm413234; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload13235; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}13236; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm813237; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload13238; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}13239; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm513240; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}13241; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 2496(%r9)13242; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, 2432(%r9)13243; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 2368(%r9)13244; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 2304(%r9)13245; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, 2240(%r9)13246; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 2176(%r9)13247; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 2112(%r9)13248; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 2048(%r9)13249; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 1984(%r9)13250; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 1920(%r9)13251; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 1856(%r9)13252; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 1792(%r9)13253; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, 1728(%r9)13254; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 1664(%r9)13255; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 1600(%r9)13256; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 1536(%r9)13257; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, 1472(%r9)13258; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, 1408(%r9)13259; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, 1344(%r9)13260; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 1280(%r9)13261; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 1216(%r9)13262; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13263; AVX512BW-FCP-NEXT: vmovaps %zmm0, 1152(%r9)13264; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, 1088(%r9)13265; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13266; AVX512BW-FCP-NEXT: vmovaps %zmm0, 1024(%r9)13267; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13268; AVX512BW-FCP-NEXT: vmovaps %zmm0, 960(%r9)13269; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 896(%r9)13270; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13271; AVX512BW-FCP-NEXT: vmovaps %zmm0, 832(%r9)13272; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, 768(%r9)13273; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13274; AVX512BW-FCP-NEXT: vmovaps %zmm0, 704(%r9)13275; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13276; AVX512BW-FCP-NEXT: vmovaps %zmm0, 640(%r9)13277; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, 576(%r9)13278; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13279; AVX512BW-FCP-NEXT: vmovaps %zmm0, 512(%r9)13280; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13281; AVX512BW-FCP-NEXT: vmovaps %zmm0, 448(%r9)13282; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13283; AVX512BW-FCP-NEXT: vmovaps %zmm0, 384(%r9)13284; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13285; AVX512BW-FCP-NEXT: vmovaps %zmm0, 320(%r9)13286; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 256(%r9)13287; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13288; AVX512BW-FCP-NEXT: vmovaps %zmm0, 192(%r9)13289; AVX512BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload13290; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%r9)13291; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13292; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%r9)13293; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13294; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%r9)13295; AVX512BW-FCP-NEXT: addq $3144, %rsp # imm = 0xC4813296; AVX512BW-FCP-NEXT: vzeroupper13297; AVX512BW-FCP-NEXT: retq13298;13299; AVX512DQ-BW-LABEL: store_i64_stride5_vf64:13300; AVX512DQ-BW: # %bb.0:13301; AVX512DQ-BW-NEXT: subq $3144, %rsp # imm = 0xC4813302; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm613303; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm713304; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm1113305; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm1013306; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm913307; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm813308; AVX512DQ-BW-NEXT: vmovdqa64 256(%rsi), %zmm113309; AVX512DQ-BW-NEXT: vmovdqa64 (%rsi), %zmm513310; AVX512DQ-BW-NEXT: vmovdqa64 64(%rsi), %zmm413311; AVX512DQ-BW-NEXT: vmovdqa64 128(%rsi), %zmm313312; AVX512DQ-BW-NEXT: vmovdqa64 192(%rsi), %zmm213313; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]13314; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm1213315; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm20, %zmm1213316; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill13317; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1213318; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm20, %zmm1213319; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13320; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm1213321; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm20, %zmm1213322; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13323; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm1213324; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm20, %zmm1213325; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13326; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm1213327; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm20, %zmm1213328; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13329; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]13330; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm013331; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm21, %zmm013332; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13333; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]13334; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm013335; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm13, %zmm013336; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13337; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]13338; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm013339; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm14, %zmm013340; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13341; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]13342; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13343; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm0, %zmm1113344; AVX512DQ-BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13345; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm513346; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm21, %zmm513347; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13348; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm513349; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm13, %zmm513350; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13351; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm513352; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm14, %zmm513353; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13354; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm0, %zmm1013355; AVX512DQ-BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13356; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm413357; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm413358; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13359; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm413360; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm13, %zmm413361; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13362; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm413363; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm14, %zmm413364; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13365; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm913366; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13367; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm313368; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm313369; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13370; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm313371; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm313372; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13373; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm313374; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm14, %zmm313375; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13376; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm813377; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13378; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm213379; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm213380; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13381; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm213382; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm213383; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13384; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm213385; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm213386; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13387; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm713388; AVX512DQ-BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13389; AVX512DQ-BW-NEXT: vmovdqa64 320(%rsi), %zmm113390; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm213391; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm20, %zmm213392; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13393; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm213394; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm213395; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13396; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm213397; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm213398; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13399; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm213400; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm213401; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13402; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm613403; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13404; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm313405; AVX512DQ-BW-NEXT: vmovdqa64 384(%rsi), %zmm113406; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm213407; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm20, %zmm213408; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13409; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm213410; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm213411; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13412; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm213413; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm13, %zmm213414; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13415; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm213416; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm14, %zmm213417; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13418; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm313419; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13420; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm213421; AVX512DQ-BW-NEXT: vmovdqa64 448(%rsi), %zmm113422; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm2013423; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm2113424; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm1313425; AVX512DQ-BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13426; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm1413427; AVX512DQ-BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13428; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm213429; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13430; AVX512DQ-BW-NEXT: vmovdqa64 (%rdx), %zmm2513431; AVX512DQ-BW-NEXT: vmovdqa64 (%rcx), %zmm013432; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]13433; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm313434; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm313435; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]13436; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm2213437; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm2213438; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]13439; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm2713440; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm12, %zmm2713441; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]13442; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13443; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm2813444; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm2813445; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]13446; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm2513447; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdx), %zmm2613448; AVX512DQ-BW-NEXT: vmovdqa64 64(%rcx), %zmm013449; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm413450; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm413451; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm1713452; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm1713453; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm113454; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm12, %zmm113455; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13456; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm113457; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm113458; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13459; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm2613460; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdx), %zmm1413461; AVX512DQ-BW-NEXT: vmovdqa64 128(%rcx), %zmm013462; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm1513463; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm1513464; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm913465; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm913466; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm113467; AVX512DQ-BW-NEXT: vpermt2q %zmm14, %zmm12, %zmm113468; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13469; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm113470; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm113471; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13472; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1413473; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdx), %zmm1913474; AVX512DQ-BW-NEXT: vmovdqa64 192(%rcx), %zmm013475; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm3113476; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm3113477; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm3013478; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm3013479; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm113480; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm12, %zmm113481; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13482; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm113483; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm113484; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13485; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1913486; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdx), %zmm1813487; AVX512DQ-BW-NEXT: vmovdqa64 256(%rcx), %zmm013488; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm2913489; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm2913490; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm2413491; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm2413492; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm113493; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm12, %zmm113494; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13495; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm113496; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm113497; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13498; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1813499; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdx), %zmm713500; AVX512DQ-BW-NEXT: vmovdqa64 320(%rcx), %zmm013501; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm2313502; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm2313503; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm113504; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm113505; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm513506; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm513507; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13508; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm513509; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm513510; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13511; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm713512; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdx), %zmm1113513; AVX512DQ-BW-NEXT: vmovdqa64 384(%rcx), %zmm013514; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm1313515; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm6, %zmm1313516; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm813517; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm2, %zmm813518; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm513519; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm12, %zmm513520; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13521; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm513522; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm10, %zmm513523; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13524; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm1113525; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdx), %zmm513526; AVX512DQ-BW-NEXT: vmovdqa64 448(%rcx), %zmm013527; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm613528; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm213529; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm0, %zmm1213530; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm5, %zmm1013531; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm16, %zmm513532; AVX512DQ-BW-NEXT: movb $49, %al13533; AVX512DQ-BW-NEXT: kmovd %eax, %k113534; AVX512DQ-BW-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload13535; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13536; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13537; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}13538; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13539; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}13540; AVX512DQ-BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13541; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13542; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}13543; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13544; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}13545; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13546; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}13547; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13548; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}13549; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}13550; AVX512DQ-BW-NEXT: movb $-116, %al13551; AVX512DQ-BW-NEXT: kmovd %eax, %k313552; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload13553; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}13554; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13555; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}13556; AVX512DQ-BW-NEXT: movb $24, %al13557; AVX512DQ-BW-NEXT: kmovd %eax, %k213558; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload13559; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}13560; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload13561; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}13562; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload13563; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}13564; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload13565; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}13566; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload13567; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}13568; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13569; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}13570; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload13571; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}13572; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13573; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}13574; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13575; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}13576; AVX512DQ-BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13577; AVX512DQ-BW-NEXT: movb $8, %al13578; AVX512DQ-BW-NEXT: kmovd %eax, %k313579; AVX512DQ-BW-NEXT: vmovdqa64 (%r8), %zmm213580; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}13581; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill13582; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]13583; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm1613584; AVX512DQ-BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13585; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]13586; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm013587; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13588; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]13589; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2713590; AVX512DQ-BW-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13591; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]13592; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm2513593; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13594; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13595; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}13596; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13597; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13598; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}13599; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13600; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}13601; AVX512DQ-BW-NEXT: vmovdqa64 64(%r8), %zmm213602; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}13603; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13604; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2813605; AVX512DQ-BW-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13606; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm113607; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13608; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm313609; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13610; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm2613611; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13612; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13613; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13614; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13615; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13616; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}13617; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13618; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}13619; AVX512DQ-BW-NEXT: vmovdqa64 128(%r8), %zmm213620; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload13621; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}13622; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2213623; AVX512DQ-BW-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13624; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm313625; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13626; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm113627; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13628; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1413629; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13630; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13631; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13632; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13633; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13634; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}13635; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13636; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}13637; AVX512DQ-BW-NEXT: vmovdqa64 192(%r8), %zmm213638; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}13639; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2013640; AVX512DQ-BW-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13641; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm313642; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13643; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm013644; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13645; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1913646; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload13647; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13648; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}13649; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload13650; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13651; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}13652; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13653; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}13654; AVX512DQ-BW-NEXT: vmovdqa64 256(%r8), %zmm213655; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}13656; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm313657; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm313658; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm2013659; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2813660; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1813661; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload13662; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13663; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}13664; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload13665; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13666; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}13667; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13668; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}13669; AVX512DQ-BW-NEXT: vmovdqa64 320(%r8), %zmm213670; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}13671; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm113672; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm113673; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm2713674; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm2213675; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm713676; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload13677; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13678; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}13679; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13680; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13681; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}13682; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13683; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}13684; AVX512DQ-BW-NEXT: vmovdqa64 384(%r8), %zmm213685; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}13686; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload13687; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm1713688; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm913689; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm013690; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm1113691; AVX512DQ-BW-NEXT: vmovdqa64 448(%r8), %zmm213692; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload13693; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm21, %zmm2413694; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload13695; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}13696; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm8, %zmm413697; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload13698; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}13699; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm15, %zmm813700; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload13701; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}13702; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm16, %zmm513703; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}13704; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 2496(%r9)13705; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, 2432(%r9)13706; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 2368(%r9)13707; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 2304(%r9)13708; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, 2240(%r9)13709; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 2176(%r9)13710; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 2112(%r9)13711; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 2048(%r9)13712; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 1984(%r9)13713; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 1920(%r9)13714; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 1856(%r9)13715; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 1792(%r9)13716; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 1728(%r9)13717; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, 1664(%r9)13718; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 1600(%r9)13719; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 1536(%r9)13720; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 1472(%r9)13721; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, 1408(%r9)13722; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, 1344(%r9)13723; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 1280(%r9)13724; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 1216(%r9)13725; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13726; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1152(%r9)13727; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, 1088(%r9)13728; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13729; AVX512DQ-BW-NEXT: vmovaps %zmm0, 1024(%r9)13730; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13731; AVX512DQ-BW-NEXT: vmovaps %zmm0, 960(%r9)13732; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 896(%r9)13733; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13734; AVX512DQ-BW-NEXT: vmovaps %zmm0, 832(%r9)13735; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, 768(%r9)13736; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13737; AVX512DQ-BW-NEXT: vmovaps %zmm0, 704(%r9)13738; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13739; AVX512DQ-BW-NEXT: vmovaps %zmm0, 640(%r9)13740; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, 576(%r9)13741; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13742; AVX512DQ-BW-NEXT: vmovaps %zmm0, 512(%r9)13743; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13744; AVX512DQ-BW-NEXT: vmovaps %zmm0, 448(%r9)13745; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13746; AVX512DQ-BW-NEXT: vmovaps %zmm0, 384(%r9)13747; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13748; AVX512DQ-BW-NEXT: vmovaps %zmm0, 320(%r9)13749; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 256(%r9)13750; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13751; AVX512DQ-BW-NEXT: vmovaps %zmm0, 192(%r9)13752; AVX512DQ-BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload13753; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%r9)13754; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13755; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%r9)13756; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13757; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%r9)13758; AVX512DQ-BW-NEXT: addq $3144, %rsp # imm = 0xC4813759; AVX512DQ-BW-NEXT: vzeroupper13760; AVX512DQ-BW-NEXT: retq13761;13762; AVX512DQ-BW-FCP-LABEL: store_i64_stride5_vf64:13763; AVX512DQ-BW-FCP: # %bb.0:13764; AVX512DQ-BW-FCP-NEXT: subq $3144, %rsp # imm = 0xC4813765; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm613766; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm713767; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm1113768; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm1013769; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm913770; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm813771; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rsi), %zmm113772; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rsi), %zmm513773; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rsi), %zmm413774; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rsi), %zmm313775; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rsi), %zmm213776; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm20 = [3,0,0,0,12,4,0,0]13777; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1213778; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm20, %zmm1213779; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, (%rsp) # 64-byte Spill13780; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1213781; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm20, %zmm1213782; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13783; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1213784; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm20, %zmm1213785; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13786; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1213787; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm1213788; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13789; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm1213790; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm20, %zmm1213791; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13792; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,8,0,0,0,1,9,0]13793; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm013794; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm21, %zmm013795; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13796; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm13 = [0,0,2,10,0,0,0,3]13797; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm013798; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm13, %zmm013799; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13800; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm14 = [0,5,13,0,0,0,6,14]13801; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm013802; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm14, %zmm013803; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13804; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [15,7,15,7,15,7,15,7]13805; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13806; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm0, %zmm1113807; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13808; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm513809; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm21, %zmm513810; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13811; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm513812; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm513813; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13814; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm513815; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm14, %zmm513816; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13817; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm0, %zmm1013818; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13819; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm413820; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm413821; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13822; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm413823; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm13, %zmm413824; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13825; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm413826; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm413827; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13828; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm913829; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13830; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm313831; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm313832; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13833; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm313834; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm313835; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13836; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm313837; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm313838; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13839; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm813840; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13841; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm213842; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm213843; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13844; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm213845; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm213846; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13847; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm213848; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm213849; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13850; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm713851; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13852; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rsi), %zmm113853; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm213854; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm20, %zmm213855; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13856; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm213857; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm213858; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13859; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm213860; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm213861; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13862; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm213863; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm213864; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13865; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm613866; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13867; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm313868; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rsi), %zmm113869; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm213870; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm20, %zmm213871; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13872; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm213873; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm213874; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13875; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm213876; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm13, %zmm213877; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13878; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm213879; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm14, %zmm213880; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13881; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm313882; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13883; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm213884; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rsi), %zmm113885; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm2013886; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm2113887; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1313888; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13889; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm1413890; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13891; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm213892; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13893; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdx), %zmm2513894; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rcx), %zmm013895; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm6 = [0,3,11,0,0,0,4,12]13896; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm313897; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm313898; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm2 = [0,0,0,8,0,0,0,1]13899; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm2213900; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2213901; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm12 = [1,0,0,0,10,2,0,0]13902; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2713903; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm12, %zmm2713904; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [13,5,13,5,13,5,13,5]13905; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]13906; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm2813907; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm2813908; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [6,14,0,0,0,7,15,0]13909; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2513910; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdx), %zmm2613911; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rcx), %zmm013912; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm413913; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm413914; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1713915; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm1713916; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113917; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm12, %zmm113918; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13919; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm113920; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113921; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13922; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm2613923; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdx), %zmm1413924; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rcx), %zmm013925; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm1513926; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1513927; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm913928; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm913929; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113930; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm14, %zmm12, %zmm113931; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13932; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm113933; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113934; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13935; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1413936; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdx), %zmm1913937; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rcx), %zmm013938; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm3113939; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm3113940; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm3013941; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm3013942; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113943; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm12, %zmm113944; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13945; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm113946; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113947; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13948; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1913949; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdx), %zmm1813950; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rcx), %zmm013951; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2913952; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2913953; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2413954; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm2413955; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm113956; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm12, %zmm113957; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13958; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm113959; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm113960; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13961; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1813962; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdx), %zmm713963; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rcx), %zmm013964; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm2313965; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm2313966; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm113967; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm113968; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm513969; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm513970; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13971; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm513972; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm513973; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13974; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm713975; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdx), %zmm1113976; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rcx), %zmm013977; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm1313978; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm6, %zmm1313979; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm813980; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm813981; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm513982; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm12, %zmm513983; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13984; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm513985; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm10, %zmm513986; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13987; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm1113988; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdx), %zmm513989; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rcx), %zmm013990; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm613991; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm213992; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm0, %zmm1213993; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm5, %zmm1013994; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm16, %zmm513995; AVX512DQ-BW-FCP-NEXT: movb $49, %al13996; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k113997; AVX512DQ-BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm0 # 64-byte Reload13998; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}13999; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14000; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm4 {%k1}14001; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14002; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k1}14003; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14004; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14005; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm31 {%k1}14006; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14007; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k1}14008; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14009; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm23 {%k1}14010; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14011; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm13 {%k1}14012; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm6 {%k1}14013; AVX512DQ-BW-FCP-NEXT: movb $-116, %al14014; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k314015; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload14016; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm16 {%k3}14017; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14018; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm0 {%k1}14019; AVX512DQ-BW-FCP-NEXT: movb $24, %al14020; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k214021; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload14022; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm27 {%k2}14023; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload14024; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm25 {%k2}14025; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload14026; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm28 {%k3}14027; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload14028; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm22 {%k3}14029; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload14030; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm20 {%k3}14031; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload14032; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm9 {%k3}14033; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload14034; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm17 {%k3}14035; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14036; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1 {%k3}14037; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14038; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm21 {%k3}14039; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14040; AVX512DQ-BW-FCP-NEXT: movb $8, %al14041; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k314042; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%r8), %zmm214043; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k3}14044; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, (%rsp) # 64-byte Spill14045; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm21 = [0,1,2,3,8,5,6,7]14046; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1614047; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14048; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm8 = [0,9,2,3,4,5,10,7]14049; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm014050; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14051; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm15 = [12,1,2,3,4,13,6,7]14052; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2714053; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14054; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} zmm16 = [0,1,14,3,4,5,6,15]14055; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2514056; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14057; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14058; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}14059; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14060; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14061; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k2}14062; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14063; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}14064; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%r8), %zmm214065; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k3}14066; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14067; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2814068; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14069; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm114070; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14071; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm314072; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14073; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm2614074; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14075; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14076; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}14077; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14078; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14079; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}14080; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14081; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}14082; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%r8), %zmm214083; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload14084; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm30 {%k3}14085; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2214086; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14087; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm314088; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14089; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm114090; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14091; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1414092; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload14093; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14094; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm3 {%k1}14095; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14096; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14097; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k2}14098; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14099; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm19 {%k2}14100; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%r8), %zmm214101; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm31 {%k3}14102; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2014103; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14104; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm314105; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14106; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm014107; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14108; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1914109; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload14110; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14111; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm20 {%k1}14112; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload14113; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14114; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}14115; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14116; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}14117; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%r8), %zmm214118; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm29 {%k3}14119; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm314120; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm314121; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2014122; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2814123; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1814124; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm27 # 64-byte Reload14125; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14126; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm27 {%k1}14127; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload14128; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14129; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}14130; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14131; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm7 {%k2}14132; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%r8), %zmm214133; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm23 {%k3}14134; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm114135; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm114136; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm2714137; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm2214138; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm714139; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload14140; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14141; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm9 {%k1}14142; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14143; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14144; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm0 {%k2}14145; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14146; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm11 {%k2}14147; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%r8), %zmm214148; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm13 {%k3}14149; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload14150; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm1714151; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm914152; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm014153; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm1114154; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%r8), %zmm214155; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload14156; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm21, %zmm2414157; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload14158; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm4 {%k1}14159; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm414160; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload14161; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm8 {%k2}14162; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm814163; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload14164; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm5 {%k2}14165; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm16, %zmm514166; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm6 {%k3}14167; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 2496(%r9)14168; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, 2432(%r9)14169; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 2368(%r9)14170; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 2304(%r9)14171; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, 2240(%r9)14172; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 2176(%r9)14173; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 2112(%r9)14174; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 2048(%r9)14175; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 1984(%r9)14176; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 1920(%r9)14177; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 1856(%r9)14178; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 1792(%r9)14179; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, 1728(%r9)14180; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 1664(%r9)14181; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 1600(%r9)14182; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 1536(%r9)14183; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 1472(%r9)14184; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 1408(%r9)14185; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, 1344(%r9)14186; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 1280(%r9)14187; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 1216(%r9)14188; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14189; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1152(%r9)14190; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, 1088(%r9)14191; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14192; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 1024(%r9)14193; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14194; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 960(%r9)14195; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 896(%r9)14196; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14197; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 832(%r9)14198; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, 768(%r9)14199; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14200; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 704(%r9)14201; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14202; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 640(%r9)14203; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, 576(%r9)14204; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14205; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 512(%r9)14206; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14207; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 448(%r9)14208; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14209; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 384(%r9)14210; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14211; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 320(%r9)14212; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 256(%r9)14213; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14214; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 192(%r9)14215; AVX512DQ-BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload14216; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%r9)14217; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14218; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%r9)14219; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload14220; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%r9)14221; AVX512DQ-BW-FCP-NEXT: addq $3144, %rsp # imm = 0xC4814222; AVX512DQ-BW-FCP-NEXT: vzeroupper14223; AVX512DQ-BW-FCP-NEXT: retq14224 %in.vec0 = load <64 x i64>, ptr %in.vecptr0, align 6414225 %in.vec1 = load <64 x i64>, ptr %in.vecptr1, align 6414226 %in.vec2 = load <64 x i64>, ptr %in.vecptr2, align 6414227 %in.vec3 = load <64 x i64>, ptr %in.vecptr3, align 6414228 %in.vec4 = load <64 x i64>, ptr %in.vecptr4, align 6414229 %1 = shufflevector <64 x i64> %in.vec0, <64 x i64> %in.vec1, <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>14230 %2 = shufflevector <64 x i64> %in.vec2, <64 x i64> %in.vec3, <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>14231 %3 = shufflevector <128 x i64> %1, <128 x i64> %2, <256 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127, i32 128, i32 129, i32 130, i32 131, i32 132, i32 133, i32 134, i32 135, i32 136, i32 137, i32 138, i32 139, i32 140, i32 141, i32 142, i32 143, i32 144, i32 145, i32 146, i32 147, i32 148, i32 149, i32 150, i32 151, i32 152, i32 153, i32 154, i32 155, i32 156, i32 157, i32 158, i32 159, i32 160, i32 161, i32 162, i32 163, i32 164, i32 165, i32 166, i32 167, i32 168, i32 169, i32 170, i32 171, i32 172, i32 173, i32 174, i32 175, i32 176, i32 177, i32 178, i32 179, i32 180, i32 181, i32 182, i32 183, i32 184, i32 185, i32 186, i32 187, i32 188, i32 189, i32 190, i32 191, i32 192, i32 193, i32 194, i32 195, i32 196, i32 197, i32 198, i32 199, i32 200, i32 201, i32 202, i32 203, i32 204, i32 205, i32 206, i32 207, i32 208, i32 209, i32 210, i32 211, i32 212, i32 213, i32 214, i32 215, i32 216, i32 217, i32 218, i32 219, i32 220, i32 221, i32 222, i32 223, i32 224, i32 225, i32 226, i32 227, i32 228, i32 229, i32 230, i32 231, i32 232, i32 233, i32 234, i32 235, i32 236, i32 237, i32 238, i32 239, i32 240, i32 241, i32 242, i32 243, i32 244, i32 245, i32 246, i32 247, i32 248, i32 249, i32 250, i32 251, i32 252, i32 253, i32 254, i32 255>14232 %4 = shufflevector <64 x i64> %in.vec4, <64 x i64> poison, <256 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 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, 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, 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>14233 %5 = shufflevector <256 x i64> %3, <256 x i64> %4, <320 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127, i32 128, i32 129, i32 130, i32 131, i32 132, i32 133, i32 134, i32 135, i32 136, i32 137, i32 138, i32 139, i32 140, i32 141, i32 142, i32 143, i32 144, i32 145, i32 146, i32 147, i32 148, i32 149, i32 150, i32 151, i32 152, i32 153, i32 154, i32 155, i32 156, i32 157, i32 158, i32 159, i32 160, i32 161, i32 162, i32 163, i32 164, i32 165, i32 166, i32 167, i32 168, i32 169, i32 170, i32 171, i32 172, i32 173, i32 174, i32 175, i32 176, i32 177, i32 178, i32 179, i32 180, i32 181, i32 182, i32 183, i32 184, i32 185, i32 186, i32 187, i32 188, i32 189, i32 190, i32 191, i32 192, i32 193, i32 194, i32 195, i32 196, i32 197, i32 198, i32 199, i32 200, i32 201, i32 202, i32 203, i32 204, i32 205, i32 206, i32 207, i32 208, i32 209, i32 210, i32 211, i32 212, i32 213, i32 214, i32 215, i32 216, i32 217, i32 218, i32 219, i32 220, i32 221, i32 222, i32 223, i32 224, i32 225, i32 226, i32 227, i32 228, i32 229, i32 230, i32 231, i32 232, i32 233, i32 234, i32 235, i32 236, i32 237, i32 238, i32 239, i32 240, i32 241, i32 242, i32 243, i32 244, i32 245, i32 246, i32 247, i32 248, i32 249, i32 250, i32 251, i32 252, i32 253, i32 254, i32 255, i32 256, i32 257, i32 258, i32 259, i32 260, i32 261, i32 262, i32 263, i32 264, i32 265, i32 266, i32 267, i32 268, i32 269, i32 270, i32 271, i32 272, i32 273, i32 274, i32 275, i32 276, i32 277, i32 278, i32 279, i32 280, i32 281, i32 282, i32 283, i32 284, i32 285, i32 286, i32 287, i32 288, i32 289, i32 290, i32 291, i32 292, i32 293, i32 294, i32 295, i32 296, i32 297, i32 298, i32 299, i32 300, i32 301, i32 302, i32 303, i32 304, i32 305, i32 306, i32 307, i32 308, i32 309, i32 310, i32 311, i32 312, i32 313, i32 314, i32 315, i32 316, i32 317, i32 318, i32 319>14234 %interleaved.vec = shufflevector <320 x i64> %5, <320 x i64> poison, <320 x i32> <i32 0, i32 64, i32 128, i32 192, i32 256, i32 1, i32 65, i32 129, i32 193, i32 257, i32 2, i32 66, i32 130, i32 194, i32 258, i32 3, i32 67, i32 131, i32 195, i32 259, i32 4, i32 68, i32 132, i32 196, i32 260, i32 5, i32 69, i32 133, i32 197, i32 261, i32 6, i32 70, i32 134, i32 198, i32 262, i32 7, i32 71, i32 135, i32 199, i32 263, i32 8, i32 72, i32 136, i32 200, i32 264, i32 9, i32 73, i32 137, i32 201, i32 265, i32 10, i32 74, i32 138, i32 202, i32 266, i32 11, i32 75, i32 139, i32 203, i32 267, i32 12, i32 76, i32 140, i32 204, i32 268, i32 13, i32 77, i32 141, i32 205, i32 269, i32 14, i32 78, i32 142, i32 206, i32 270, i32 15, i32 79, i32 143, i32 207, i32 271, i32 16, i32 80, i32 144, i32 208, i32 272, i32 17, i32 81, i32 145, i32 209, i32 273, i32 18, i32 82, i32 146, i32 210, i32 274, i32 19, i32 83, i32 147, i32 211, i32 275, i32 20, i32 84, i32 148, i32 212, i32 276, i32 21, i32 85, i32 149, i32 213, i32 277, i32 22, i32 86, i32 150, i32 214, i32 278, i32 23, i32 87, i32 151, i32 215, i32 279, i32 24, i32 88, i32 152, i32 216, i32 280, i32 25, i32 89, i32 153, i32 217, i32 281, i32 26, i32 90, i32 154, i32 218, i32 282, i32 27, i32 91, i32 155, i32 219, i32 283, i32 28, i32 92, i32 156, i32 220, i32 284, i32 29, i32 93, i32 157, i32 221, i32 285, i32 30, i32 94, i32 158, i32 222, i32 286, i32 31, i32 95, i32 159, i32 223, i32 287, i32 32, i32 96, i32 160, i32 224, i32 288, i32 33, i32 97, i32 161, i32 225, i32 289, i32 34, i32 98, i32 162, i32 226, i32 290, i32 35, i32 99, i32 163, i32 227, i32 291, i32 36, i32 100, i32 164, i32 228, i32 292, i32 37, i32 101, i32 165, i32 229, i32 293, i32 38, i32 102, i32 166, i32 230, i32 294, i32 39, i32 103, i32 167, i32 231, i32 295, i32 40, i32 104, i32 168, i32 232, i32 296, i32 41, i32 105, i32 169, i32 233, i32 297, i32 42, i32 106, i32 170, i32 234, i32 298, i32 43, i32 107, i32 171, i32 235, i32 299, i32 44, i32 108, i32 172, i32 236, i32 300, i32 45, i32 109, i32 173, i32 237, i32 301, i32 46, i32 110, i32 174, i32 238, i32 302, i32 47, i32 111, i32 175, i32 239, i32 303, i32 48, i32 112, i32 176, i32 240, i32 304, i32 49, i32 113, i32 177, i32 241, i32 305, i32 50, i32 114, i32 178, i32 242, i32 306, i32 51, i32 115, i32 179, i32 243, i32 307, i32 52, i32 116, i32 180, i32 244, i32 308, i32 53, i32 117, i32 181, i32 245, i32 309, i32 54, i32 118, i32 182, i32 246, i32 310, i32 55, i32 119, i32 183, i32 247, i32 311, i32 56, i32 120, i32 184, i32 248, i32 312, i32 57, i32 121, i32 185, i32 249, i32 313, i32 58, i32 122, i32 186, i32 250, i32 314, i32 59, i32 123, i32 187, i32 251, i32 315, i32 60, i32 124, i32 188, i32 252, i32 316, i32 61, i32 125, i32 189, i32 253, i32 317, i32 62, i32 126, i32 190, i32 254, i32 318, i32 63, i32 127, i32 191, i32 255, i32 319>14235 store <320 x i64> %interleaved.vec, ptr %out.vec, align 6414236 ret void14237}14238