brintos

brintos / llvm-project-archived public Read only

0
0
Text · 325.1 KiB · fe39c76 Raw
5986 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_stride3_vf2(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {19; SSE-LABEL: store_i64_stride3_vf2:20; SSE:       # %bb.0:21; SSE-NEXT:    movapd (%rdi), %xmm022; SSE-NEXT:    movapd (%rsi), %xmm123; SSE-NEXT:    movapd (%rdx), %xmm224; SSE-NEXT:    movapd %xmm0, %xmm325; SSE-NEXT:    unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm1[0]26; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]27; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm2[0],xmm0[1]28; SSE-NEXT:    movapd %xmm0, 16(%rcx)29; SSE-NEXT:    movapd %xmm1, 32(%rcx)30; SSE-NEXT:    movapd %xmm3, (%rcx)31; SSE-NEXT:    retq32;33; AVX-LABEL: store_i64_stride3_vf2:34; AVX:       # %bb.0:35; AVX-NEXT:    vmovaps (%rdi), %xmm036; AVX-NEXT:    vmovaps (%rsi), %xmm137; AVX-NEXT:    vmovaps (%rdx), %xmm238; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm339; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm040; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[0],ymm3[0],ymm0[2],ymm3[3]41; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]42; AVX-NEXT:    vmovaps %xmm1, 32(%rcx)43; AVX-NEXT:    vmovapd %ymm0, (%rcx)44; AVX-NEXT:    vzeroupper45; AVX-NEXT:    retq46;47; AVX2-LABEL: store_i64_stride3_vf2:48; AVX2:       # %bb.0:49; AVX2-NEXT:    vmovaps (%rdi), %xmm050; AVX2-NEXT:    vmovaps (%rsi), %xmm151; AVX2-NEXT:    vmovaps (%rdx), %xmm252; AVX2-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm053; AVX2-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm354; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]55; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]56; AVX2-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]57; AVX2-NEXT:    vmovaps %xmm1, 32(%rcx)58; AVX2-NEXT:    vmovaps %ymm0, (%rcx)59; AVX2-NEXT:    vzeroupper60; AVX2-NEXT:    retq61;62; AVX2-FP-LABEL: store_i64_stride3_vf2:63; AVX2-FP:       # %bb.0:64; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm065; AVX2-FP-NEXT:    vmovaps (%rsi), %xmm166; AVX2-FP-NEXT:    vmovaps (%rdx), %xmm267; AVX2-FP-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm068; AVX2-FP-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm369; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]70; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]71; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]72; AVX2-FP-NEXT:    vmovaps %xmm1, 32(%rcx)73; AVX2-FP-NEXT:    vmovaps %ymm0, (%rcx)74; AVX2-FP-NEXT:    vzeroupper75; AVX2-FP-NEXT:    retq76;77; AVX2-FCP-LABEL: store_i64_stride3_vf2:78; AVX2-FCP:       # %bb.0:79; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm080; AVX2-FCP-NEXT:    vmovaps (%rsi), %xmm181; AVX2-FCP-NEXT:    vmovaps (%rdx), %xmm282; AVX2-FCP-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm083; AVX2-FCP-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm384; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,2,1]85; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5],ymm0[6,7]86; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]87; AVX2-FCP-NEXT:    vmovaps %xmm1, 32(%rcx)88; AVX2-FCP-NEXT:    vmovaps %ymm0, (%rcx)89; AVX2-FCP-NEXT:    vzeroupper90; AVX2-FCP-NEXT:    retq91;92; AVX512-LABEL: store_i64_stride3_vf2:93; AVX512:       # %bb.0:94; AVX512-NEXT:    vmovaps (%rdi), %xmm095; AVX512-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm096; AVX512-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm097; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]98; AVX512-NEXT:    vpermpd %zmm0, %zmm1, %zmm099; AVX512-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)100; AVX512-NEXT:    vmovaps %ymm0, (%rcx)101; AVX512-NEXT:    vzeroupper102; AVX512-NEXT:    retq103;104; AVX512-FCP-LABEL: store_i64_stride3_vf2:105; AVX512-FCP:       # %bb.0:106; AVX512-FCP-NEXT:    vmovaps (%rdi), %xmm0107; AVX512-FCP-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0108; AVX512-FCP-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0109; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]110; AVX512-FCP-NEXT:    vpermpd %zmm0, %zmm1, %zmm0111; AVX512-FCP-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)112; AVX512-FCP-NEXT:    vmovaps %ymm0, (%rcx)113; AVX512-FCP-NEXT:    vzeroupper114; AVX512-FCP-NEXT:    retq115;116; AVX512DQ-LABEL: store_i64_stride3_vf2:117; AVX512DQ:       # %bb.0:118; AVX512DQ-NEXT:    vmovaps (%rdi), %xmm0119; AVX512DQ-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0120; AVX512DQ-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0121; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]122; AVX512DQ-NEXT:    vpermpd %zmm0, %zmm1, %zmm0123; AVX512DQ-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)124; AVX512DQ-NEXT:    vmovaps %ymm0, (%rcx)125; AVX512DQ-NEXT:    vzeroupper126; AVX512DQ-NEXT:    retq127;128; AVX512DQ-FCP-LABEL: store_i64_stride3_vf2:129; AVX512DQ-FCP:       # %bb.0:130; AVX512DQ-FCP-NEXT:    vmovaps (%rdi), %xmm0131; AVX512DQ-FCP-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0132; AVX512DQ-FCP-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0133; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]134; AVX512DQ-FCP-NEXT:    vpermpd %zmm0, %zmm1, %zmm0135; AVX512DQ-FCP-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)136; AVX512DQ-FCP-NEXT:    vmovaps %ymm0, (%rcx)137; AVX512DQ-FCP-NEXT:    vzeroupper138; AVX512DQ-FCP-NEXT:    retq139;140; AVX512BW-LABEL: store_i64_stride3_vf2:141; AVX512BW:       # %bb.0:142; AVX512BW-NEXT:    vmovaps (%rdi), %xmm0143; AVX512BW-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0144; AVX512BW-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0145; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]146; AVX512BW-NEXT:    vpermpd %zmm0, %zmm1, %zmm0147; AVX512BW-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)148; AVX512BW-NEXT:    vmovaps %ymm0, (%rcx)149; AVX512BW-NEXT:    vzeroupper150; AVX512BW-NEXT:    retq151;152; AVX512BW-FCP-LABEL: store_i64_stride3_vf2:153; AVX512BW-FCP:       # %bb.0:154; AVX512BW-FCP-NEXT:    vmovaps (%rdi), %xmm0155; AVX512BW-FCP-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0156; AVX512BW-FCP-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0157; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]158; AVX512BW-FCP-NEXT:    vpermpd %zmm0, %zmm1, %zmm0159; AVX512BW-FCP-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)160; AVX512BW-FCP-NEXT:    vmovaps %ymm0, (%rcx)161; AVX512BW-FCP-NEXT:    vzeroupper162; AVX512BW-FCP-NEXT:    retq163;164; AVX512DQ-BW-LABEL: store_i64_stride3_vf2:165; AVX512DQ-BW:       # %bb.0:166; AVX512DQ-BW-NEXT:    vmovaps (%rdi), %xmm0167; AVX512DQ-BW-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0168; AVX512DQ-BW-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0169; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]170; AVX512DQ-BW-NEXT:    vpermpd %zmm0, %zmm1, %zmm0171; AVX512DQ-BW-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)172; AVX512DQ-BW-NEXT:    vmovaps %ymm0, (%rcx)173; AVX512DQ-BW-NEXT:    vzeroupper174; AVX512DQ-BW-NEXT:    retq175;176; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf2:177; AVX512DQ-BW-FCP:       # %bb.0:178; AVX512DQ-BW-FCP-NEXT:    vmovaps (%rdi), %xmm0179; AVX512DQ-BW-FCP-NEXT:    vinsertf128 $1, (%rsi), %ymm0, %ymm0180; AVX512DQ-BW-FCP-NEXT:    vinsertf32x4 $2, (%rdx), %zmm0, %zmm0181; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm1 = [0,2,4,1,3,5,0,0]182; AVX512DQ-BW-FCP-NEXT:    vpermpd %zmm0, %zmm1, %zmm0183; AVX512DQ-BW-FCP-NEXT:    vextractf32x4 $2, %zmm0, 32(%rcx)184; AVX512DQ-BW-FCP-NEXT:    vmovaps %ymm0, (%rcx)185; AVX512DQ-BW-FCP-NEXT:    vzeroupper186; AVX512DQ-BW-FCP-NEXT:    retq187  %in.vec0 = load <2 x i64>, ptr %in.vecptr0, align 64188  %in.vec1 = load <2 x i64>, ptr %in.vecptr1, align 64189  %in.vec2 = load <2 x i64>, ptr %in.vecptr2, align 64190  %1 = shufflevector <2 x i64> %in.vec0, <2 x i64> %in.vec1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>191  %2 = shufflevector <2 x i64> %in.vec2, <2 x i64> poison, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>192  %3 = shufflevector <4 x i64> %1, <4 x i64> %2, <6 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5>193  %interleaved.vec = shufflevector <6 x i64> %3, <6 x i64> poison, <6 x i32> <i32 0, i32 2, i32 4, i32 1, i32 3, i32 5>194  store <6 x i64> %interleaved.vec, ptr %out.vec, align 64195  ret void196}197 198define void @store_i64_stride3_vf4(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {199; SSE-LABEL: store_i64_stride3_vf4:200; SSE:       # %bb.0:201; SSE-NEXT:    movaps (%rdi), %xmm0202; SSE-NEXT:    movaps 16(%rdi), %xmm1203; SSE-NEXT:    movaps (%rsi), %xmm2204; SSE-NEXT:    movaps 16(%rsi), %xmm3205; SSE-NEXT:    movaps (%rdx), %xmm4206; SSE-NEXT:    movaps 16(%rdx), %xmm5207; SSE-NEXT:    movaps %xmm3, %xmm6208; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm5[1]209; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm1[2,3]210; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm3[0]211; SSE-NEXT:    movaps %xmm2, %xmm3212; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]213; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm0[2,3]214; SSE-NEXT:    movlhps {{.*#+}} xmm0 = xmm0[0],xmm2[0]215; SSE-NEXT:    movaps %xmm0, (%rcx)216; SSE-NEXT:    movaps %xmm4, 16(%rcx)217; SSE-NEXT:    movaps %xmm3, 32(%rcx)218; SSE-NEXT:    movaps %xmm1, 48(%rcx)219; SSE-NEXT:    movaps %xmm5, 64(%rcx)220; SSE-NEXT:    movaps %xmm6, 80(%rcx)221; SSE-NEXT:    retq222;223; AVX-LABEL: store_i64_stride3_vf4:224; AVX:       # %bb.0:225; AVX-NEXT:    vmovapd (%rsi), %ymm0226; AVX-NEXT:    vmovapd (%rdx), %ymm1227; AVX-NEXT:    vmovaps (%rdi), %xmm2228; AVX-NEXT:    vmovapd 16(%rdi), %xmm3229; AVX-NEXT:    vunpcklpd {{.*#+}} xmm4 = xmm2[0],mem[0]230; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm4, %ymm2231; AVX-NEXT:    vinsertf128 $1, (%rdx), %ymm4, %ymm4232; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]233; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm1[2,3]234; AVX-NEXT:    vshufpd {{.*#+}} ymm4 = ymm0[0,0,3,2]235; AVX-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm1[2,3],ymm4[2,3]236; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm4[0],ymm3[1],ymm4[2],ymm3[3]237; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1,0,2,2]238; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]239; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[2,3]240; AVX-NEXT:    vmovapd %ymm3, 64(%rcx)241; AVX-NEXT:    vmovapd %ymm0, 32(%rcx)242; AVX-NEXT:    vmovaps %ymm2, (%rcx)243; AVX-NEXT:    vzeroupper244; AVX-NEXT:    retq245;246; AVX2-LABEL: store_i64_stride3_vf4:247; AVX2:       # %bb.0:248; AVX2-NEXT:    vmovaps (%rdi), %ymm0249; AVX2-NEXT:    vmovaps (%rsi), %ymm1250; AVX2-NEXT:    vmovaps (%rdx), %ymm2251; AVX2-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]252; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]253; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3],ymm4[4,5,6,7]254; AVX2-NEXT:    vbroadcastsd (%rdx), %ymm4255; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5],ymm3[6,7]256; AVX2-NEXT:    vshufps {{.*#+}} ymm4 = ymm1[2,3,0,1,6,7,4,5]257; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5],ymm4[6,7]258; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]259; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]260; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]261; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]262; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]263; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)264; AVX2-NEXT:    vmovaps %ymm4, 32(%rcx)265; AVX2-NEXT:    vmovaps %ymm3, (%rcx)266; AVX2-NEXT:    vzeroupper267; AVX2-NEXT:    retq268;269; AVX2-FP-LABEL: store_i64_stride3_vf4:270; AVX2-FP:       # %bb.0:271; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm0272; AVX2-FP-NEXT:    vmovaps (%rsi), %ymm1273; AVX2-FP-NEXT:    vmovaps (%rdx), %ymm2274; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]275; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]276; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3],ymm4[4,5,6,7]277; AVX2-FP-NEXT:    vbroadcastsd (%rdx), %ymm4278; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5],ymm3[6,7]279; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm4 = ymm1[2,3,0,1,6,7,4,5]280; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5],ymm4[6,7]281; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]282; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]283; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]284; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]285; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]286; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)287; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rcx)288; AVX2-FP-NEXT:    vmovaps %ymm3, (%rcx)289; AVX2-FP-NEXT:    vzeroupper290; AVX2-FP-NEXT:    retq291;292; AVX2-FCP-LABEL: store_i64_stride3_vf4:293; AVX2-FCP:       # %bb.0:294; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm0295; AVX2-FCP-NEXT:    vmovaps (%rsi), %ymm1296; AVX2-FCP-NEXT:    vmovaps (%rdx), %ymm2297; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]298; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]299; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3],ymm4[4,5,6,7]300; AVX2-FCP-NEXT:    vbroadcastsd (%rdx), %ymm4301; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5],ymm3[6,7]302; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm4 = ymm1[2,3,0,1,6,7,4,5]303; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5],ymm4[6,7]304; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]305; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]306; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]307; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]308; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]309; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)310; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rcx)311; AVX2-FCP-NEXT:    vmovaps %ymm3, (%rcx)312; AVX2-FCP-NEXT:    vzeroupper313; AVX2-FCP-NEXT:    retq314;315; AVX512-LABEL: store_i64_stride3_vf4:316; AVX512:       # %bb.0:317; AVX512-NEXT:    vmovdqa (%rdi), %ymm0318; AVX512-NEXT:    vmovdqa (%rdx), %ymm1319; AVX512-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0320; AVX512-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]321; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2322; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]323; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3324; AVX512-NEXT:    vmovdqa64 %zmm3, (%rcx)325; AVX512-NEXT:    vmovdqa %ymm2, 64(%rcx)326; AVX512-NEXT:    vzeroupper327; AVX512-NEXT:    retq328;329; AVX512-FCP-LABEL: store_i64_stride3_vf4:330; AVX512-FCP:       # %bb.0:331; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm0332; AVX512-FCP-NEXT:    vmovdqa (%rdx), %ymm1333; AVX512-FCP-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0334; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]335; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2336; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]337; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3338; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)339; AVX512-FCP-NEXT:    vmovdqa %ymm2, 64(%rcx)340; AVX512-FCP-NEXT:    vzeroupper341; AVX512-FCP-NEXT:    retq342;343; AVX512DQ-LABEL: store_i64_stride3_vf4:344; AVX512DQ:       # %bb.0:345; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm0346; AVX512DQ-NEXT:    vmovdqa (%rdx), %ymm1347; AVX512DQ-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0348; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]349; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2350; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]351; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3352; AVX512DQ-NEXT:    vmovdqa64 %zmm3, (%rcx)353; AVX512DQ-NEXT:    vmovdqa %ymm2, 64(%rcx)354; AVX512DQ-NEXT:    vzeroupper355; AVX512DQ-NEXT:    retq356;357; AVX512DQ-FCP-LABEL: store_i64_stride3_vf4:358; AVX512DQ-FCP:       # %bb.0:359; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm0360; AVX512DQ-FCP-NEXT:    vmovdqa (%rdx), %ymm1361; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0362; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]363; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2364; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]365; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3366; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)367; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, 64(%rcx)368; AVX512DQ-FCP-NEXT:    vzeroupper369; AVX512DQ-FCP-NEXT:    retq370;371; AVX512BW-LABEL: store_i64_stride3_vf4:372; AVX512BW:       # %bb.0:373; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm0374; AVX512BW-NEXT:    vmovdqa (%rdx), %ymm1375; AVX512BW-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0376; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]377; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2378; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]379; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3380; AVX512BW-NEXT:    vmovdqa64 %zmm3, (%rcx)381; AVX512BW-NEXT:    vmovdqa %ymm2, 64(%rcx)382; AVX512BW-NEXT:    vzeroupper383; AVX512BW-NEXT:    retq384;385; AVX512BW-FCP-LABEL: store_i64_stride3_vf4:386; AVX512BW-FCP:       # %bb.0:387; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0388; AVX512BW-FCP-NEXT:    vmovdqa (%rdx), %ymm1389; AVX512BW-FCP-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0390; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]391; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2392; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]393; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3394; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)395; AVX512BW-FCP-NEXT:    vmovdqa %ymm2, 64(%rcx)396; AVX512BW-FCP-NEXT:    vzeroupper397; AVX512BW-FCP-NEXT:    retq398;399; AVX512DQ-BW-LABEL: store_i64_stride3_vf4:400; AVX512DQ-BW:       # %bb.0:401; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm0402; AVX512DQ-BW-NEXT:    vmovdqa (%rdx), %ymm1403; AVX512DQ-BW-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0404; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]405; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2406; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]407; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3408; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, (%rcx)409; AVX512DQ-BW-NEXT:    vmovdqa %ymm2, 64(%rcx)410; AVX512DQ-BW-NEXT:    vzeroupper411; AVX512DQ-BW-NEXT:    retq412;413; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf4:414; AVX512DQ-BW-FCP:       # %bb.0:415; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0416; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdx), %ymm1417; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, (%rsi), %zmm0, %zmm0418; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [10,3,7,11]419; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2420; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,4,8,1,5,9,2,6]421; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3422; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)423; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm2, 64(%rcx)424; AVX512DQ-BW-FCP-NEXT:    vzeroupper425; AVX512DQ-BW-FCP-NEXT:    retq426  %in.vec0 = load <4 x i64>, ptr %in.vecptr0, align 64427  %in.vec1 = load <4 x i64>, ptr %in.vecptr1, align 64428  %in.vec2 = load <4 x i64>, ptr %in.vecptr2, align 64429  %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>430  %2 = shufflevector <4 x i64> %in.vec2, <4 x i64> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>431  %3 = shufflevector <8 x i64> %1, <8 x i64> %2, <12 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>432  %interleaved.vec = shufflevector <12 x i64> %3, <12 x i64> poison, <12 x i32> <i32 0, i32 4, i32 8, i32 1, i32 5, i32 9, i32 2, i32 6, i32 10, i32 3, i32 7, i32 11>433  store <12 x i64> %interleaved.vec, ptr %out.vec, align 64434  ret void435}436 437define void @store_i64_stride3_vf8(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {438; SSE-LABEL: store_i64_stride3_vf8:439; SSE:       # %bb.0:440; SSE-NEXT:    movaps (%rdi), %xmm3441; SSE-NEXT:    movaps 16(%rdi), %xmm2442; SSE-NEXT:    movaps 32(%rdi), %xmm1443; SSE-NEXT:    movaps 48(%rdi), %xmm0444; SSE-NEXT:    movaps (%rsi), %xmm7445; SSE-NEXT:    movaps 16(%rsi), %xmm8446; SSE-NEXT:    movaps 32(%rsi), %xmm9447; SSE-NEXT:    movaps 48(%rsi), %xmm10448; SSE-NEXT:    movaps (%rdx), %xmm11449; SSE-NEXT:    movaps 16(%rdx), %xmm12450; SSE-NEXT:    movaps 32(%rdx), %xmm6451; SSE-NEXT:    movaps 48(%rdx), %xmm5452; SSE-NEXT:    movaps %xmm10, %xmm4453; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm5[1]454; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm0[2,3]455; SSE-NEXT:    movlhps {{.*#+}} xmm0 = xmm0[0],xmm10[0]456; SSE-NEXT:    movaps %xmm9, %xmm10457; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm6[1]458; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm1[2,3]459; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm9[0]460; SSE-NEXT:    movaps %xmm8, %xmm9461; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm12[1]462; SSE-NEXT:    shufps {{.*#+}} xmm12 = xmm12[0,1],xmm2[2,3]463; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm8[0]464; SSE-NEXT:    movaps %xmm7, %xmm8465; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm11[1]466; SSE-NEXT:    shufps {{.*#+}} xmm11 = xmm11[0,1],xmm3[2,3]467; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm7[0]468; SSE-NEXT:    movaps %xmm3, (%rcx)469; SSE-NEXT:    movaps %xmm11, 16(%rcx)470; SSE-NEXT:    movaps %xmm8, 32(%rcx)471; SSE-NEXT:    movaps %xmm2, 48(%rcx)472; SSE-NEXT:    movaps %xmm12, 64(%rcx)473; SSE-NEXT:    movaps %xmm9, 80(%rcx)474; SSE-NEXT:    movaps %xmm1, 96(%rcx)475; SSE-NEXT:    movaps %xmm6, 112(%rcx)476; SSE-NEXT:    movaps %xmm10, 128(%rcx)477; SSE-NEXT:    movaps %xmm0, 144(%rcx)478; SSE-NEXT:    movaps %xmm5, 160(%rcx)479; SSE-NEXT:    movaps %xmm4, 176(%rcx)480; SSE-NEXT:    retq481;482; AVX-LABEL: store_i64_stride3_vf8:483; AVX:       # %bb.0:484; AVX-NEXT:    vmovapd (%rsi), %ymm0485; AVX-NEXT:    vmovapd 32(%rsi), %ymm1486; AVX-NEXT:    vmovapd (%rdx), %ymm2487; AVX-NEXT:    vmovapd 32(%rdx), %ymm3488; AVX-NEXT:    vmovaps (%rdi), %xmm4489; AVX-NEXT:    vmovapd 16(%rdi), %xmm5490; AVX-NEXT:    vmovaps 32(%rdi), %xmm6491; AVX-NEXT:    vmovapd 48(%rdi), %xmm7492; AVX-NEXT:    vunpcklpd {{.*#+}} xmm8 = xmm4[0],mem[0]493; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm8, %ymm4494; AVX-NEXT:    vinsertf128 $1, (%rdx), %ymm8, %ymm8495; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm8[0,1],ymm4[2,3],ymm8[4,5],ymm4[6,7]496; AVX-NEXT:    vunpcklpd {{.*#+}} xmm8 = xmm6[0],mem[0]497; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm8, %ymm6498; AVX-NEXT:    vinsertf128 $1, 32(%rdx), %ymm8, %ymm8499; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm8[0,1],ymm6[2,3],ymm8[4,5],ymm6[6,7]500; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm7[0,1],ymm3[2,3]501; AVX-NEXT:    vshufpd {{.*#+}} ymm8 = ymm1[0,0,3,2]502; AVX-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm3[2,3],ymm8[2,3]503; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm8[0],ymm7[1],ymm8[2],ymm7[3]504; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm2[2,3]505; AVX-NEXT:    vshufpd {{.*#+}} ymm8 = ymm0[0,0,3,2]506; AVX-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm2[2,3],ymm8[2,3]507; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm8[0],ymm5[1],ymm8[2],ymm5[3]508; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1,0,2,2]509; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]510; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2,3]511; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[1,0,2,2]512; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2],ymm1[3]513; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]514; AVX-NEXT:    vmovapd %ymm5, 64(%rcx)515; AVX-NEXT:    vmovapd %ymm7, 160(%rcx)516; AVX-NEXT:    vmovapd %ymm1, 128(%rcx)517; AVX-NEXT:    vmovapd %ymm0, 32(%rcx)518; AVX-NEXT:    vmovaps %ymm6, 96(%rcx)519; AVX-NEXT:    vmovaps %ymm4, (%rcx)520; AVX-NEXT:    vzeroupper521; AVX-NEXT:    retq522;523; AVX2-LABEL: store_i64_stride3_vf8:524; AVX2:       # %bb.0:525; AVX2-NEXT:    vmovaps (%rdi), %ymm0526; AVX2-NEXT:    vmovaps 32(%rdi), %ymm1527; AVX2-NEXT:    vmovaps (%rsi), %ymm2528; AVX2-NEXT:    vmovaps 32(%rsi), %ymm3529; AVX2-NEXT:    vmovaps (%rdx), %ymm4530; AVX2-NEXT:    vmovaps 32(%rdx), %ymm5531; AVX2-NEXT:    vshufps {{.*#+}} ymm6 = ymm2[2,3,0,1,6,7,4,5]532; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5],ymm6[6,7]533; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm4[2,3],ymm6[4,5,6,7]534; AVX2-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]535; AVX2-NEXT:    vpermpd {{.*#+}} ymm8 = ymm0[0,1,2,1]536; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]537; AVX2-NEXT:    vbroadcastsd (%rdx), %ymm8538; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm8[4,5],ymm7[6,7]539; AVX2-NEXT:    vshufps {{.*#+}} ymm8 = ymm3[2,3,0,1,6,7,4,5]540; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm1[4,5],ymm8[6,7]541; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]542; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]543; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]544; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[2,1,2,3]545; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]546; AVX2-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]547; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]548; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm5[2,3],ymm1[4,5,6,7]549; AVX2-NEXT:    vbroadcastsd 32(%rdx), %ymm5550; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5],ymm1[6,7]551; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]552; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]553; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm4[2,1,2,3]554; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]555; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)556; AVX2-NEXT:    vmovaps %ymm1, 96(%rcx)557; AVX2-NEXT:    vmovaps %ymm3, 160(%rcx)558; AVX2-NEXT:    vmovaps %ymm8, 128(%rcx)559; AVX2-NEXT:    vmovaps %ymm7, (%rcx)560; AVX2-NEXT:    vmovaps %ymm6, 32(%rcx)561; AVX2-NEXT:    vzeroupper562; AVX2-NEXT:    retq563;564; AVX2-FP-LABEL: store_i64_stride3_vf8:565; AVX2-FP:       # %bb.0:566; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm0567; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm1568; AVX2-FP-NEXT:    vmovaps (%rsi), %ymm2569; AVX2-FP-NEXT:    vmovaps 32(%rsi), %ymm3570; AVX2-FP-NEXT:    vmovaps (%rdx), %ymm4571; AVX2-FP-NEXT:    vmovaps 32(%rdx), %ymm5572; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm6 = ymm2[2,3,0,1,6,7,4,5]573; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5],ymm6[6,7]574; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm4[2,3],ymm6[4,5,6,7]575; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]576; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm0[0,1,2,1]577; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]578; AVX2-FP-NEXT:    vbroadcastsd (%rdx), %ymm8579; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm8[4,5],ymm7[6,7]580; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm8 = ymm3[2,3,0,1,6,7,4,5]581; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm1[4,5],ymm8[6,7]582; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]583; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]584; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]585; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[2,1,2,3]586; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]587; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]588; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]589; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm5[2,3],ymm1[4,5,6,7]590; AVX2-FP-NEXT:    vbroadcastsd 32(%rdx), %ymm5591; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5],ymm1[6,7]592; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]593; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]594; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm4[2,1,2,3]595; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]596; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)597; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rcx)598; AVX2-FP-NEXT:    vmovaps %ymm3, 160(%rcx)599; AVX2-FP-NEXT:    vmovaps %ymm8, 128(%rcx)600; AVX2-FP-NEXT:    vmovaps %ymm7, (%rcx)601; AVX2-FP-NEXT:    vmovaps %ymm6, 32(%rcx)602; AVX2-FP-NEXT:    vzeroupper603; AVX2-FP-NEXT:    retq604;605; AVX2-FCP-LABEL: store_i64_stride3_vf8:606; AVX2-FCP:       # %bb.0:607; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm0608; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm1609; AVX2-FCP-NEXT:    vmovaps (%rsi), %ymm2610; AVX2-FCP-NEXT:    vmovaps 32(%rsi), %ymm3611; AVX2-FCP-NEXT:    vmovaps (%rdx), %ymm4612; AVX2-FCP-NEXT:    vmovaps 32(%rdx), %ymm5613; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm6 = ymm2[2,3,0,1,6,7,4,5]614; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5],ymm6[6,7]615; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm4[2,3],ymm6[4,5,6,7]616; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]617; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm0[0,1,2,1]618; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]619; AVX2-FCP-NEXT:    vbroadcastsd (%rdx), %ymm8620; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm8[4,5],ymm7[6,7]621; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm8 = ymm3[2,3,0,1,6,7,4,5]622; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm1[4,5],ymm8[6,7]623; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]624; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm1[1],ymm3[1],ymm1[3],ymm3[3]625; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]626; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[2,1,2,3]627; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]628; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]629; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,1,2,1]630; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1],ymm5[2,3],ymm1[4,5,6,7]631; AVX2-FCP-NEXT:    vbroadcastsd 32(%rdx), %ymm5632; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5],ymm1[6,7]633; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]634; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]635; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm4[2,1,2,3]636; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]637; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)638; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rcx)639; AVX2-FCP-NEXT:    vmovaps %ymm3, 160(%rcx)640; AVX2-FCP-NEXT:    vmovaps %ymm8, 128(%rcx)641; AVX2-FCP-NEXT:    vmovaps %ymm7, (%rcx)642; AVX2-FCP-NEXT:    vmovaps %ymm6, 32(%rcx)643; AVX2-FCP-NEXT:    vzeroupper644; AVX2-FCP-NEXT:    retq645;646; AVX512-LABEL: store_i64_stride3_vf8:647; AVX512:       # %bb.0:648; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm0649; AVX512-NEXT:    vmovdqa64 (%rsi), %zmm1650; AVX512-NEXT:    vmovdqa64 (%rdx), %zmm2651; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]652; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3653; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]654; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4655; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]656; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3657; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]658; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5659; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]660; AVX512-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3661; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]662; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0663; AVX512-NEXT:    vmovdqa64 %zmm0, 128(%rcx)664; AVX512-NEXT:    vmovdqa64 %zmm5, 64(%rcx)665; AVX512-NEXT:    vmovdqa64 %zmm4, (%rcx)666; AVX512-NEXT:    vzeroupper667; AVX512-NEXT:    retq668;669; AVX512-FCP-LABEL: store_i64_stride3_vf8:670; AVX512-FCP:       # %bb.0:671; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0672; AVX512-FCP-NEXT:    vmovdqa64 (%rsi), %zmm1673; AVX512-FCP-NEXT:    vmovdqa64 (%rdx), %zmm2674; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]675; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3676; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]677; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4678; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]679; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3680; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]681; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5682; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]683; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3684; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]685; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0686; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)687; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, 64(%rcx)688; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, (%rcx)689; AVX512-FCP-NEXT:    vzeroupper690; AVX512-FCP-NEXT:    retq691;692; AVX512DQ-LABEL: store_i64_stride3_vf8:693; AVX512DQ:       # %bb.0:694; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm0695; AVX512DQ-NEXT:    vmovdqa64 (%rsi), %zmm1696; AVX512DQ-NEXT:    vmovdqa64 (%rdx), %zmm2697; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]698; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3699; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]700; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4701; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]702; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3703; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]704; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5705; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]706; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3707; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]708; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0709; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 128(%rcx)710; AVX512DQ-NEXT:    vmovdqa64 %zmm5, 64(%rcx)711; AVX512DQ-NEXT:    vmovdqa64 %zmm4, (%rcx)712; AVX512DQ-NEXT:    vzeroupper713; AVX512DQ-NEXT:    retq714;715; AVX512DQ-FCP-LABEL: store_i64_stride3_vf8:716; AVX512DQ-FCP:       # %bb.0:717; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0718; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rsi), %zmm1719; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdx), %zmm2720; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]721; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3722; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]723; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4724; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]725; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3726; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]727; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5728; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]729; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3730; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]731; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0732; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)733; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, 64(%rcx)734; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, (%rcx)735; AVX512DQ-FCP-NEXT:    vzeroupper736; AVX512DQ-FCP-NEXT:    retq737;738; AVX512BW-LABEL: store_i64_stride3_vf8:739; AVX512BW:       # %bb.0:740; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm0741; AVX512BW-NEXT:    vmovdqa64 (%rsi), %zmm1742; AVX512BW-NEXT:    vmovdqa64 (%rdx), %zmm2743; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]744; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3745; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]746; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4747; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]748; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3749; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]750; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5751; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]752; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3753; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]754; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0755; AVX512BW-NEXT:    vmovdqa64 %zmm0, 128(%rcx)756; AVX512BW-NEXT:    vmovdqa64 %zmm5, 64(%rcx)757; AVX512BW-NEXT:    vmovdqa64 %zmm4, (%rcx)758; AVX512BW-NEXT:    vzeroupper759; AVX512BW-NEXT:    retq760;761; AVX512BW-FCP-LABEL: store_i64_stride3_vf8:762; AVX512BW-FCP:       # %bb.0:763; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0764; AVX512BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm1765; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm2766; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]767; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3768; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]769; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4770; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]771; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3772; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]773; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5774; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]775; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3776; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]777; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0778; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)779; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, 64(%rcx)780; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rcx)781; AVX512BW-FCP-NEXT:    vzeroupper782; AVX512BW-FCP-NEXT:    retq783;784; AVX512DQ-BW-LABEL: store_i64_stride3_vf8:785; AVX512DQ-BW:       # %bb.0:786; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm0787; AVX512DQ-BW-NEXT:    vmovdqa64 (%rsi), %zmm1788; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdx), %zmm2789; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]790; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3791; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]792; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4793; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]794; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3795; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]796; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5797; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]798; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3799; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]800; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0801; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 128(%rcx)802; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, 64(%rcx)803; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, (%rcx)804; AVX512DQ-BW-NEXT:    vzeroupper805; AVX512DQ-BW-NEXT:    retq806;807; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf8:808; AVX512DQ-BW-FCP:       # %bb.0:809; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0810; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm1811; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm2812; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,8,0,1,9,0,2,10]813; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3814; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,8,3,4,9,6,7]815; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4816; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,11,0,4,12,0,5]817; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3818; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [10,1,2,11,4,5,12,7]819; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5820; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [5,0,14,6,0,15,7,0]821; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3822; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,13,2,3,14,5,6,15]823; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0824; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)825; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, 64(%rcx)826; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rcx)827; AVX512DQ-BW-FCP-NEXT:    vzeroupper828; AVX512DQ-BW-FCP-NEXT:    retq829  %in.vec0 = load <8 x i64>, ptr %in.vecptr0, align 64830  %in.vec1 = load <8 x i64>, ptr %in.vecptr1, align 64831  %in.vec2 = load <8 x i64>, ptr %in.vecptr2, align 64832  %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>833  %2 = shufflevector <8 x i64> %in.vec2, <8 x i64> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>834  %3 = shufflevector <16 x i64> %1, <16 x i64> %2, <24 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>835  %interleaved.vec = shufflevector <24 x i64> %3, <24 x i64> poison, <24 x i32> <i32 0, i32 8, i32 16, i32 1, i32 9, i32 17, i32 2, i32 10, i32 18, i32 3, i32 11, i32 19, i32 4, i32 12, i32 20, i32 5, i32 13, i32 21, i32 6, i32 14, i32 22, i32 7, i32 15, i32 23>836  store <24 x i64> %interleaved.vec, ptr %out.vec, align 64837  ret void838}839 840define void @store_i64_stride3_vf16(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {841; SSE-LABEL: store_i64_stride3_vf16:842; SSE:       # %bb.0:843; SSE-NEXT:    subq $24, %rsp844; SSE-NEXT:    movapd 64(%rdi), %xmm5845; SSE-NEXT:    movapd (%rdi), %xmm1846; SSE-NEXT:    movapd 16(%rdi), %xmm2847; SSE-NEXT:    movapd 32(%rdi), %xmm3848; SSE-NEXT:    movapd 48(%rdi), %xmm6849; SSE-NEXT:    movapd 64(%rsi), %xmm9850; SSE-NEXT:    movapd (%rsi), %xmm4851; SSE-NEXT:    movapd 16(%rsi), %xmm7852; SSE-NEXT:    movapd 32(%rsi), %xmm11853; SSE-NEXT:    movapd 48(%rsi), %xmm10854; SSE-NEXT:    movapd 64(%rdx), %xmm15855; SSE-NEXT:    movapd (%rdx), %xmm0856; SSE-NEXT:    movapd 16(%rdx), %xmm12857; SSE-NEXT:    movapd 32(%rdx), %xmm13858; SSE-NEXT:    movapd 48(%rdx), %xmm14859; SSE-NEXT:    movapd %xmm1, %xmm8860; SSE-NEXT:    unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm4[0]861; SSE-NEXT:    movapd %xmm8, (%rsp) # 16-byte Spill862; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]863; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill864; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm0[1]865; SSE-NEXT:    movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill866; SSE-NEXT:    movapd %xmm2, %xmm0867; SSE-NEXT:    unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm7[0]868; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill869; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm12[0],xmm0[1]870; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill871; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm12[1]872; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill873; SSE-NEXT:    movapd %xmm3, %xmm12874; SSE-NEXT:    unpcklpd {{.*#+}} xmm12 = xmm12[0],xmm11[0]875; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm13[0],xmm3[1]876; SSE-NEXT:    movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill877; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm13[1]878; SSE-NEXT:    movapd %xmm6, %xmm13879; SSE-NEXT:    unpcklpd {{.*#+}} xmm13 = xmm13[0],xmm10[0]880; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm14[0],xmm6[1]881; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill882; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm14[1]883; SSE-NEXT:    movapd %xmm5, %xmm14884; SSE-NEXT:    unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm9[0]885; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm15[0],xmm5[1]886; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill887; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm15[1]888; SSE-NEXT:    movapd 80(%rdi), %xmm15889; SSE-NEXT:    movapd 80(%rsi), %xmm7890; SSE-NEXT:    movapd %xmm15, %xmm8891; SSE-NEXT:    unpcklpd {{.*#+}} xmm8 = xmm8[0],xmm7[0]892; SSE-NEXT:    movapd 80(%rdx), %xmm0893; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm0[0],xmm15[1]894; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]895; SSE-NEXT:    movapd 96(%rdi), %xmm4896; SSE-NEXT:    movapd 96(%rsi), %xmm3897; SSE-NEXT:    movapd %xmm4, %xmm6898; SSE-NEXT:    unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]899; SSE-NEXT:    movapd 96(%rdx), %xmm2900; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm2[0],xmm4[1]901; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]902; SSE-NEXT:    movapd 112(%rdi), %xmm2903; SSE-NEXT:    movapd 112(%rsi), %xmm0904; SSE-NEXT:    movapd %xmm2, %xmm1905; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]906; SSE-NEXT:    movapd 112(%rdx), %xmm5907; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm5[0],xmm2[1]908; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]909; SSE-NEXT:    movapd %xmm0, 368(%rcx)910; SSE-NEXT:    movapd %xmm2, 352(%rcx)911; SSE-NEXT:    movapd %xmm1, 336(%rcx)912; SSE-NEXT:    movapd %xmm3, 320(%rcx)913; SSE-NEXT:    movapd %xmm4, 304(%rcx)914; SSE-NEXT:    movapd %xmm6, 288(%rcx)915; SSE-NEXT:    movapd %xmm7, 272(%rcx)916; SSE-NEXT:    movapd %xmm15, 256(%rcx)917; SSE-NEXT:    movapd %xmm8, 240(%rcx)918; SSE-NEXT:    movapd %xmm9, 224(%rcx)919; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload920; SSE-NEXT:    movaps %xmm0, 208(%rcx)921; SSE-NEXT:    movapd %xmm14, 192(%rcx)922; SSE-NEXT:    movapd %xmm10, 176(%rcx)923; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload924; SSE-NEXT:    movaps %xmm0, 160(%rcx)925; SSE-NEXT:    movapd %xmm13, 144(%rcx)926; SSE-NEXT:    movapd %xmm11, 128(%rcx)927; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload928; SSE-NEXT:    movaps %xmm0, 112(%rcx)929; SSE-NEXT:    movapd %xmm12, 96(%rcx)930; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload931; SSE-NEXT:    movaps %xmm0, 80(%rcx)932; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload933; SSE-NEXT:    movaps %xmm0, 64(%rcx)934; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload935; SSE-NEXT:    movaps %xmm0, 48(%rcx)936; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload937; SSE-NEXT:    movaps %xmm0, 32(%rcx)938; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload939; SSE-NEXT:    movaps %xmm0, 16(%rcx)940; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload941; SSE-NEXT:    movaps %xmm0, (%rcx)942; SSE-NEXT:    addq $24, %rsp943; SSE-NEXT:    retq944;945; AVX-LABEL: store_i64_stride3_vf16:946; AVX:       # %bb.0:947; AVX-NEXT:    vmovapd (%rsi), %ymm6948; AVX-NEXT:    vmovapd 32(%rsi), %ymm2949; AVX-NEXT:    vmovapd 64(%rsi), %ymm5950; AVX-NEXT:    vmovapd 96(%rsi), %ymm1951; AVX-NEXT:    vmovapd (%rdx), %ymm9952; AVX-NEXT:    vmovapd 32(%rdx), %ymm4953; AVX-NEXT:    vmovapd 64(%rdx), %ymm8954; AVX-NEXT:    vmovapd 96(%rdx), %ymm3955; AVX-NEXT:    vmovaps (%rdi), %xmm0956; AVX-NEXT:    vmovaps 32(%rdi), %xmm10957; AVX-NEXT:    vmovapd 48(%rdi), %xmm13958; AVX-NEXT:    vunpcklpd {{.*#+}} xmm7 = xmm0[0],mem[0]959; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm7, %ymm0960; AVX-NEXT:    vinsertf128 $1, (%rdx), %ymm7, %ymm7961; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3],ymm7[4,5],ymm0[6,7]962; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill963; AVX-NEXT:    vmovaps 64(%rdi), %xmm7964; AVX-NEXT:    vunpcklpd {{.*#+}} xmm11 = xmm7[0],mem[0]965; AVX-NEXT:    vinsertf128 $1, %xmm7, %ymm11, %ymm7966; AVX-NEXT:    vinsertf128 $1, 64(%rdx), %ymm11, %ymm11967; AVX-NEXT:    vblendps {{.*#+}} ymm7 = ymm11[0,1],ymm7[2,3],ymm11[4,5],ymm7[6,7]968; AVX-NEXT:    vunpcklpd {{.*#+}} xmm11 = xmm10[0],mem[0]969; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm11, %ymm10970; AVX-NEXT:    vinsertf128 $1, 32(%rdx), %ymm11, %ymm11971; AVX-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3],ymm11[4,5],ymm10[6,7]972; AVX-NEXT:    vmovaps 96(%rdi), %xmm11973; AVX-NEXT:    vunpcklpd {{.*#+}} xmm12 = xmm11[0],mem[0]974; AVX-NEXT:    vinsertf128 $1, %xmm11, %ymm12, %ymm11975; AVX-NEXT:    vinsertf128 $1, 96(%rdx), %ymm12, %ymm12976; AVX-NEXT:    vblendps {{.*#+}} ymm11 = ymm12[0,1],ymm11[2,3],ymm12[4,5],ymm11[6,7]977; AVX-NEXT:    vmovapd 80(%rdi), %xmm12978; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = ymm12[0,1],ymm8[2,3]979; AVX-NEXT:    vshufpd {{.*#+}} ymm14 = ymm5[0,0,3,2]980; AVX-NEXT:    vperm2f128 {{.*#+}} ymm14 = ymm8[2,3],ymm14[2,3]981; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = ymm14[0],ymm12[1],ymm14[2],ymm12[3]982; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm13[0,1],ymm4[2,3]983; AVX-NEXT:    vshufpd {{.*#+}} ymm14 = ymm2[0,0,3,2]984; AVX-NEXT:    vperm2f128 {{.*#+}} ymm14 = ymm4[2,3],ymm14[2,3]985; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm14[0],ymm13[1],ymm14[2],ymm13[3]986; AVX-NEXT:    vmovapd 112(%rdi), %xmm14987; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm14[0,1],ymm3[2,3]988; AVX-NEXT:    vshufpd {{.*#+}} ymm15 = ymm1[0,0,3,2]989; AVX-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm3[2,3],ymm15[2,3]990; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm15[0],ymm14[1],ymm15[2],ymm14[3]991; AVX-NEXT:    vmovapd 16(%rdi), %xmm15992; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],ymm9[2,3]993; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm6[0,0,3,2]994; AVX-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm0[2,3]995; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm15[1],ymm0[2],ymm15[3]996; AVX-NEXT:    vshufpd {{.*#+}} ymm6 = ymm6[1,0,2,2]997; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0,1],mem[2],ymm6[3]998; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0],ymm9[1],ymm6[2,3]999; AVX-NEXT:    vshufpd {{.*#+}} ymm5 = ymm5[1,0,2,2]1000; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm5[0,1],mem[2],ymm5[3]1001; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm5[0],ymm8[1],ymm5[2,3]1002; AVX-NEXT:    vshufpd {{.*#+}} ymm2 = ymm2[1,0,2,2]1003; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1],mem[2],ymm2[3]1004; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[2,3]1005; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[1,0,2,2]1006; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2],ymm1[3]1007; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0],ymm3[1],ymm1[2,3]1008; AVX-NEXT:    vmovapd %ymm0, 64(%rcx)1009; AVX-NEXT:    vmovapd %ymm14, 352(%rcx)1010; AVX-NEXT:    vmovapd %ymm1, 320(%rcx)1011; AVX-NEXT:    vmovapd %ymm13, 160(%rcx)1012; AVX-NEXT:    vmovapd %ymm2, 128(%rcx)1013; AVX-NEXT:    vmovapd %ymm5, 224(%rcx)1014; AVX-NEXT:    vmovapd %ymm12, 256(%rcx)1015; AVX-NEXT:    vmovapd %ymm6, 32(%rcx)1016; AVX-NEXT:    vmovaps %ymm11, 288(%rcx)1017; AVX-NEXT:    vmovaps %ymm10, 96(%rcx)1018; AVX-NEXT:    vmovaps %ymm7, 192(%rcx)1019; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1020; AVX-NEXT:    vmovaps %ymm0, (%rcx)1021; AVX-NEXT:    vzeroupper1022; AVX-NEXT:    retq1023;1024; AVX2-LABEL: store_i64_stride3_vf16:1025; AVX2:       # %bb.0:1026; AVX2-NEXT:    vmovaps (%rdi), %ymm01027; AVX2-NEXT:    vmovaps 32(%rdi), %ymm71028; AVX2-NEXT:    vmovaps 64(%rdi), %ymm81029; AVX2-NEXT:    vmovaps 96(%rdi), %ymm31030; AVX2-NEXT:    vmovaps (%rsi), %ymm11031; AVX2-NEXT:    vmovaps 32(%rsi), %ymm101032; AVX2-NEXT:    vmovaps 64(%rsi), %ymm91033; AVX2-NEXT:    vmovaps 96(%rsi), %ymm61034; AVX2-NEXT:    vmovaps 64(%rdx), %ymm111035; AVX2-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]1036; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]1037; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]1038; AVX2-NEXT:    vbroadcastsd (%rdx), %ymm41039; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]1040; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]1041; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]1042; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm11[2,1,2,3]1043; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3,4,5],ymm5[6,7]1044; AVX2-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]1045; AVX2-NEXT:    vpermpd {{.*#+}} ymm12 = ymm8[0,1,2,1]1046; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm12[0,1],ymm5[2,3],ymm12[4,5,6,7]1047; AVX2-NEXT:    vbroadcastsd 64(%rdx), %ymm121048; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm12[4,5],ymm5[6,7]1049; AVX2-NEXT:    vmovaps 32(%rdx), %ymm121050; AVX2-NEXT:    vshufps {{.*#+}} ymm9 = ymm9[2,3,0,1,6,7,4,5]1051; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5],ymm9[6,7]1052; AVX2-NEXT:    vmovaps 96(%rdx), %ymm131053; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm11[2,3],ymm8[4,5,6,7]1054; AVX2-NEXT:    vshufps {{.*#+}} ymm9 = ymm10[2,3,0,1,6,7,4,5]1055; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm7[4,5],ymm9[6,7]1056; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1],ymm12[2,3],ymm9[4,5,6,7]1057; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm10 = ymm7[1],ymm10[1],ymm7[3],ymm10[3]1058; AVX2-NEXT:    vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]1059; AVX2-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]1060; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3,4,5],ymm11[6,7]1061; AVX2-NEXT:    vmovddup {{.*#+}} xmm11 = mem[0,0]1062; AVX2-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[0,1,2,1]1063; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm11[2,3],ymm7[4,5,6,7]1064; AVX2-NEXT:    vbroadcastsd 32(%rdx), %ymm111065; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5],ymm7[6,7]1066; AVX2-NEXT:    vshufps {{.*#+}} ymm11 = ymm6[2,3,0,1,6,7,4,5]1067; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm3[4,5],ymm11[6,7]1068; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm13[2,3],ymm11[4,5,6,7]1069; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]1070; AVX2-NEXT:    vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]1071; AVX2-NEXT:    vpermpd {{.*#+}} ymm12 = ymm13[2,1,2,3]1072; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm12[0,1],ymm6[2,3,4,5],ymm12[6,7]1073; AVX2-NEXT:    vmovddup {{.*#+}} xmm12 = mem[0,0]1074; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]1075; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm12[2,3],ymm3[4,5,6,7]1076; AVX2-NEXT:    vbroadcastsd 96(%rdx), %ymm121077; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5],ymm3[6,7]1078; AVX2-NEXT:    vshufps {{.*#+}} ymm12 = ymm1[2,3,0,1,6,7,4,5]1079; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]1080; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1081; AVX2-NEXT:    vmovaps (%rdx), %ymm11082; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm1[2,3],ymm12[4,5,6,7]1083; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1084; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]1085; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]1086; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)1087; AVX2-NEXT:    vmovaps %ymm3, 288(%rcx)1088; AVX2-NEXT:    vmovaps %ymm6, 352(%rcx)1089; AVX2-NEXT:    vmovaps %ymm11, 320(%rcx)1090; AVX2-NEXT:    vmovaps %ymm7, 96(%rcx)1091; AVX2-NEXT:    vmovaps %ymm10, 160(%rcx)1092; AVX2-NEXT:    vmovaps %ymm9, 128(%rcx)1093; AVX2-NEXT:    vmovaps %ymm8, 224(%rcx)1094; AVX2-NEXT:    vmovaps %ymm5, 192(%rcx)1095; AVX2-NEXT:    vmovaps %ymm4, 256(%rcx)1096; AVX2-NEXT:    vmovaps %ymm2, (%rcx)1097; AVX2-NEXT:    vmovaps %ymm12, 32(%rcx)1098; AVX2-NEXT:    vzeroupper1099; AVX2-NEXT:    retq1100;1101; AVX2-FP-LABEL: store_i64_stride3_vf16:1102; AVX2-FP:       # %bb.0:1103; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm01104; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm71105; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm81106; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm31107; AVX2-FP-NEXT:    vmovaps (%rsi), %ymm11108; AVX2-FP-NEXT:    vmovaps 32(%rsi), %ymm101109; AVX2-FP-NEXT:    vmovaps 64(%rsi), %ymm91110; AVX2-FP-NEXT:    vmovaps 96(%rsi), %ymm61111; AVX2-FP-NEXT:    vmovaps 64(%rdx), %ymm111112; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]1113; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]1114; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]1115; AVX2-FP-NEXT:    vbroadcastsd (%rdx), %ymm41116; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]1117; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]1118; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]1119; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm11[2,1,2,3]1120; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3,4,5],ymm5[6,7]1121; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]1122; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm8[0,1,2,1]1123; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm12[0,1],ymm5[2,3],ymm12[4,5,6,7]1124; AVX2-FP-NEXT:    vbroadcastsd 64(%rdx), %ymm121125; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm12[4,5],ymm5[6,7]1126; AVX2-FP-NEXT:    vmovaps 32(%rdx), %ymm121127; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm9 = ymm9[2,3,0,1,6,7,4,5]1128; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5],ymm9[6,7]1129; AVX2-FP-NEXT:    vmovaps 96(%rdx), %ymm131130; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm11[2,3],ymm8[4,5,6,7]1131; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm9 = ymm10[2,3,0,1,6,7,4,5]1132; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm7[4,5],ymm9[6,7]1133; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1],ymm12[2,3],ymm9[4,5,6,7]1134; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm10 = ymm7[1],ymm10[1],ymm7[3],ymm10[3]1135; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]1136; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]1137; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3,4,5],ymm11[6,7]1138; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm11 = mem[0,0]1139; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[0,1,2,1]1140; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm11[2,3],ymm7[4,5,6,7]1141; AVX2-FP-NEXT:    vbroadcastsd 32(%rdx), %ymm111142; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5],ymm7[6,7]1143; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm11 = ymm6[2,3,0,1,6,7,4,5]1144; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm3[4,5],ymm11[6,7]1145; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm13[2,3],ymm11[4,5,6,7]1146; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]1147; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]1148; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm13[2,1,2,3]1149; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm12[0,1],ymm6[2,3,4,5],ymm12[6,7]1150; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm12 = mem[0,0]1151; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]1152; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm12[2,3],ymm3[4,5,6,7]1153; AVX2-FP-NEXT:    vbroadcastsd 96(%rdx), %ymm121154; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5],ymm3[6,7]1155; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm12 = ymm1[2,3,0,1,6,7,4,5]1156; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]1157; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1158; AVX2-FP-NEXT:    vmovaps (%rdx), %ymm11159; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm1[2,3],ymm12[4,5,6,7]1160; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1161; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]1162; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]1163; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)1164; AVX2-FP-NEXT:    vmovaps %ymm3, 288(%rcx)1165; AVX2-FP-NEXT:    vmovaps %ymm6, 352(%rcx)1166; AVX2-FP-NEXT:    vmovaps %ymm11, 320(%rcx)1167; AVX2-FP-NEXT:    vmovaps %ymm7, 96(%rcx)1168; AVX2-FP-NEXT:    vmovaps %ymm10, 160(%rcx)1169; AVX2-FP-NEXT:    vmovaps %ymm9, 128(%rcx)1170; AVX2-FP-NEXT:    vmovaps %ymm8, 224(%rcx)1171; AVX2-FP-NEXT:    vmovaps %ymm5, 192(%rcx)1172; AVX2-FP-NEXT:    vmovaps %ymm4, 256(%rcx)1173; AVX2-FP-NEXT:    vmovaps %ymm2, (%rcx)1174; AVX2-FP-NEXT:    vmovaps %ymm12, 32(%rcx)1175; AVX2-FP-NEXT:    vzeroupper1176; AVX2-FP-NEXT:    retq1177;1178; AVX2-FCP-LABEL: store_i64_stride3_vf16:1179; AVX2-FCP:       # %bb.0:1180; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm01181; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm71182; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm81183; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm31184; AVX2-FCP-NEXT:    vmovaps (%rsi), %ymm11185; AVX2-FCP-NEXT:    vmovaps 32(%rsi), %ymm101186; AVX2-FCP-NEXT:    vmovaps 64(%rsi), %ymm91187; AVX2-FCP-NEXT:    vmovaps 96(%rsi), %ymm61188; AVX2-FCP-NEXT:    vmovaps 64(%rdx), %ymm111189; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]1190; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]1191; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5,6,7]1192; AVX2-FCP-NEXT:    vbroadcastsd (%rdx), %ymm41193; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5],ymm2[6,7]1194; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]1195; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]1196; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm11[2,1,2,3]1197; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3,4,5],ymm5[6,7]1198; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]1199; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm8[0,1,2,1]1200; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm12[0,1],ymm5[2,3],ymm12[4,5,6,7]1201; AVX2-FCP-NEXT:    vbroadcastsd 64(%rdx), %ymm121202; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm12[4,5],ymm5[6,7]1203; AVX2-FCP-NEXT:    vmovaps 32(%rdx), %ymm121204; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm9 = ymm9[2,3,0,1,6,7,4,5]1205; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5],ymm9[6,7]1206; AVX2-FCP-NEXT:    vmovaps 96(%rdx), %ymm131207; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm11[2,3],ymm8[4,5,6,7]1208; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm9 = ymm10[2,3,0,1,6,7,4,5]1209; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm7[4,5],ymm9[6,7]1210; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1],ymm12[2,3],ymm9[4,5,6,7]1211; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm10 = ymm7[1],ymm10[1],ymm7[3],ymm10[3]1212; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm10 = ymm10[0,2,3,3]1213; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]1214; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3,4,5],ymm11[6,7]1215; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm11 = mem[0,0]1216; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[0,1,2,1]1217; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm11[2,3],ymm7[4,5,6,7]1218; AVX2-FCP-NEXT:    vbroadcastsd 32(%rdx), %ymm111219; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5],ymm7[6,7]1220; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm11 = ymm6[2,3,0,1,6,7,4,5]1221; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm3[4,5],ymm11[6,7]1222; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm13[2,3],ymm11[4,5,6,7]1223; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]1224; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm6 = ymm6[0,2,3,3]1225; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm13[2,1,2,3]1226; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm12[0,1],ymm6[2,3,4,5],ymm12[6,7]1227; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm12 = mem[0,0]1228; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,1,2,1]1229; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm12[2,3],ymm3[4,5,6,7]1230; AVX2-FCP-NEXT:    vbroadcastsd 96(%rdx), %ymm121231; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5],ymm3[6,7]1232; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm12 = ymm1[2,3,0,1,6,7,4,5]1233; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm0[4,5],ymm12[6,7]1234; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1235; AVX2-FCP-NEXT:    vmovaps (%rdx), %ymm11236; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm1[2,3],ymm12[4,5,6,7]1237; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]1238; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]1239; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]1240; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)1241; AVX2-FCP-NEXT:    vmovaps %ymm3, 288(%rcx)1242; AVX2-FCP-NEXT:    vmovaps %ymm6, 352(%rcx)1243; AVX2-FCP-NEXT:    vmovaps %ymm11, 320(%rcx)1244; AVX2-FCP-NEXT:    vmovaps %ymm7, 96(%rcx)1245; AVX2-FCP-NEXT:    vmovaps %ymm10, 160(%rcx)1246; AVX2-FCP-NEXT:    vmovaps %ymm9, 128(%rcx)1247; AVX2-FCP-NEXT:    vmovaps %ymm8, 224(%rcx)1248; AVX2-FCP-NEXT:    vmovaps %ymm5, 192(%rcx)1249; AVX2-FCP-NEXT:    vmovaps %ymm4, 256(%rcx)1250; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rcx)1251; AVX2-FCP-NEXT:    vmovaps %ymm12, 32(%rcx)1252; AVX2-FCP-NEXT:    vzeroupper1253; AVX2-FCP-NEXT:    retq1254;1255; AVX512-LABEL: store_i64_stride3_vf16:1256; AVX512:       # %bb.0:1257; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm01258; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm11259; AVX512-NEXT:    vmovdqa64 (%rsi), %zmm21260; AVX512-NEXT:    vmovdqa64 64(%rsi), %zmm31261; AVX512-NEXT:    vmovdqa64 (%rdx), %zmm41262; AVX512-NEXT:    vmovdqa64 64(%rdx), %zmm51263; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1264; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm71265; AVX512-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71266; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1267; AVX512-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71268; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1269; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm101270; AVX512-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101271; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1272; AVX512-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101273; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1274; AVX512-NEXT:    vmovdqa64 %zmm1, %zmm131275; AVX512-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131276; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1277; AVX512-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131278; AVX512-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11279; AVX512-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11280; AVX512-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91281; AVX512-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91282; AVX512-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01283; AVX512-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01284; AVX512-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1285; AVX512-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1286; AVX512-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1287; AVX512-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1288; AVX512-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1289; AVX512-NEXT:    vmovdqa64 %zmm7, (%rcx)1290; AVX512-NEXT:    vzeroupper1291; AVX512-NEXT:    retq1292;1293; AVX512-FCP-LABEL: store_i64_stride3_vf16:1294; AVX512-FCP:       # %bb.0:1295; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01296; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11297; AVX512-FCP-NEXT:    vmovdqa64 (%rsi), %zmm21298; AVX512-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm31299; AVX512-FCP-NEXT:    vmovdqa64 (%rdx), %zmm41300; AVX512-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm51301; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1302; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, %zmm71303; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71304; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1305; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71306; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1307; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm101308; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101309; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1310; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101311; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1312; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, %zmm131313; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131314; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1315; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131316; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11317; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11318; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91319; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91320; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01321; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01322; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1323; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1324; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1325; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1326; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1327; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, (%rcx)1328; AVX512-FCP-NEXT:    vzeroupper1329; AVX512-FCP-NEXT:    retq1330;1331; AVX512DQ-LABEL: store_i64_stride3_vf16:1332; AVX512DQ:       # %bb.0:1333; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm01334; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm11335; AVX512DQ-NEXT:    vmovdqa64 (%rsi), %zmm21336; AVX512DQ-NEXT:    vmovdqa64 64(%rsi), %zmm31337; AVX512DQ-NEXT:    vmovdqa64 (%rdx), %zmm41338; AVX512DQ-NEXT:    vmovdqa64 64(%rdx), %zmm51339; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1340; AVX512DQ-NEXT:    vmovdqa64 %zmm0, %zmm71341; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71342; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1343; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71344; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1345; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm101346; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101347; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1348; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101349; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1350; AVX512DQ-NEXT:    vmovdqa64 %zmm1, %zmm131351; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131352; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1353; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131354; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11355; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11356; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91357; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91358; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01359; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01360; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1361; AVX512DQ-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1362; AVX512DQ-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1363; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1364; AVX512DQ-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1365; AVX512DQ-NEXT:    vmovdqa64 %zmm7, (%rcx)1366; AVX512DQ-NEXT:    vzeroupper1367; AVX512DQ-NEXT:    retq1368;1369; AVX512DQ-FCP-LABEL: store_i64_stride3_vf16:1370; AVX512DQ-FCP:       # %bb.0:1371; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01372; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11373; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rsi), %zmm21374; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm31375; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdx), %zmm41376; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm51377; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1378; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, %zmm71379; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71380; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1381; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71382; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1383; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm101384; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101385; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1386; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101387; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1388; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, %zmm131389; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131390; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1391; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131392; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11393; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11394; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91395; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91396; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01397; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01398; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1399; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1400; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1401; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1402; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1403; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, (%rcx)1404; AVX512DQ-FCP-NEXT:    vzeroupper1405; AVX512DQ-FCP-NEXT:    retq1406;1407; AVX512BW-LABEL: store_i64_stride3_vf16:1408; AVX512BW:       # %bb.0:1409; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm01410; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm11411; AVX512BW-NEXT:    vmovdqa64 (%rsi), %zmm21412; AVX512BW-NEXT:    vmovdqa64 64(%rsi), %zmm31413; AVX512BW-NEXT:    vmovdqa64 (%rdx), %zmm41414; AVX512BW-NEXT:    vmovdqa64 64(%rdx), %zmm51415; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1416; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm71417; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71418; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1419; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71420; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1421; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm101422; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101423; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1424; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101425; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1426; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm131427; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131428; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1429; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131430; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11431; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11432; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91433; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91434; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01435; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01436; AVX512BW-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1437; AVX512BW-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1438; AVX512BW-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1439; AVX512BW-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1440; AVX512BW-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1441; AVX512BW-NEXT:    vmovdqa64 %zmm7, (%rcx)1442; AVX512BW-NEXT:    vzeroupper1443; AVX512BW-NEXT:    retq1444;1445; AVX512BW-FCP-LABEL: store_i64_stride3_vf16:1446; AVX512BW-FCP:       # %bb.0:1447; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01448; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11449; AVX512BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm21450; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm31451; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm41452; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm51453; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1454; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm71455; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71456; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1457; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71458; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1459; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm101460; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101461; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1462; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101463; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1464; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm131465; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131466; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1467; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131468; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11469; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11470; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91471; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91472; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01473; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01474; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1475; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1476; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1477; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1478; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1479; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, (%rcx)1480; AVX512BW-FCP-NEXT:    vzeroupper1481; AVX512BW-FCP-NEXT:    retq1482;1483; AVX512DQ-BW-LABEL: store_i64_stride3_vf16:1484; AVX512DQ-BW:       # %bb.0:1485; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm01486; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm11487; AVX512DQ-BW-NEXT:    vmovdqa64 (%rsi), %zmm21488; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rsi), %zmm31489; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdx), %zmm41490; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdx), %zmm51491; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1492; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, %zmm71493; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71494; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1495; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71496; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1497; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm101498; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101499; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1500; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101501; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1502; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm131503; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131504; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1505; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131506; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11507; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11508; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91509; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91510; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01511; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01512; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1513; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1514; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1515; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1516; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1517; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, (%rcx)1518; AVX512DQ-BW-NEXT:    vzeroupper1519; AVX512DQ-BW-NEXT:    retq1520;1521; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf16:1522; AVX512DQ-BW-FCP:       # %bb.0:1523; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01524; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11525; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm21526; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm31527; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm41528; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm51529; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,8,0,1,9,0,2,10]1530; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm71531; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm6, %zmm71532; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,8,3,4,9,6,7]1533; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm71534; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm9 = [5,0,14,6,0,15,7,0]1535; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm101536; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm9, %zmm101537; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,13,2,3,14,5,6,15]1538; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm11, %zmm101539; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,11,0,4,12,0,5]1540; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm131541; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm131542; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [10,1,2,11,4,5,12,7]1543; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm14, %zmm131544; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm11545; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm8, %zmm11546; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm2, %zmm91547; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm91548; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm01549; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm01550; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 64(%rcx)1551; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, 128(%rcx)1552; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, 192(%rcx)1553; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 256(%rcx)1554; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, 320(%rcx)1555; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, (%rcx)1556; AVX512DQ-BW-FCP-NEXT:    vzeroupper1557; AVX512DQ-BW-FCP-NEXT:    retq1558  %in.vec0 = load <16 x i64>, ptr %in.vecptr0, align 641559  %in.vec1 = load <16 x i64>, ptr %in.vecptr1, align 641560  %in.vec2 = load <16 x i64>, ptr %in.vecptr2, align 641561  %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>1562  %2 = shufflevector <16 x i64> %in.vec2, <16 x i64> poison, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>1563  %3 = shufflevector <32 x i64> %1, <32 x i64> %2, <48 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>1564  %interleaved.vec = shufflevector <48 x i64> %3, <48 x i64> poison, <48 x i32> <i32 0, i32 16, i32 32, i32 1, i32 17, i32 33, i32 2, i32 18, i32 34, i32 3, i32 19, i32 35, i32 4, i32 20, i32 36, i32 5, i32 21, i32 37, i32 6, i32 22, i32 38, i32 7, i32 23, i32 39, i32 8, i32 24, i32 40, i32 9, i32 25, i32 41, i32 10, i32 26, i32 42, i32 11, i32 27, i32 43, i32 12, i32 28, i32 44, i32 13, i32 29, i32 45, i32 14, i32 30, i32 46, i32 15, i32 31, i32 47>1565  store <48 x i64> %interleaved.vec, ptr %out.vec, align 641566  ret void1567}1568 1569define void @store_i64_stride3_vf32(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {1570; SSE-LABEL: store_i64_stride3_vf32:1571; SSE:       # %bb.0:1572; SSE-NEXT:    subq $408, %rsp # imm = 0x1981573; SSE-NEXT:    movapd 64(%rdi), %xmm81574; SSE-NEXT:    movapd (%rdi), %xmm51575; SSE-NEXT:    movapd 16(%rdi), %xmm61576; SSE-NEXT:    movapd 32(%rdi), %xmm71577; SSE-NEXT:    movapd 48(%rdi), %xmm91578; SSE-NEXT:    movapd 64(%rsi), %xmm131579; SSE-NEXT:    movapd (%rsi), %xmm101580; SSE-NEXT:    movapd 16(%rsi), %xmm111581; SSE-NEXT:    movapd 32(%rsi), %xmm121582; SSE-NEXT:    movapd 48(%rsi), %xmm141583; SSE-NEXT:    movapd 64(%rdx), %xmm01584; SSE-NEXT:    movapd (%rdx), %xmm11585; SSE-NEXT:    movapd 16(%rdx), %xmm21586; SSE-NEXT:    movapd 32(%rdx), %xmm31587; SSE-NEXT:    movapd 48(%rdx), %xmm41588; SSE-NEXT:    movapd %xmm5, %xmm151589; SSE-NEXT:    unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm10[0]1590; SSE-NEXT:    movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1591; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm1[0],xmm5[1]1592; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1593; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm1[1]1594; SSE-NEXT:    movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1595; SSE-NEXT:    movapd %xmm6, %xmm51596; SSE-NEXT:    unpcklpd {{.*#+}} xmm5 = xmm5[0],xmm11[0]1597; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1598; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm2[0],xmm6[1]1599; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1600; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm2[1]1601; SSE-NEXT:    movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1602; SSE-NEXT:    movapd %xmm7, %xmm21603; SSE-NEXT:    unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm12[0]1604; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1605; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm3[0],xmm7[1]1606; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1607; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm3[1]1608; SSE-NEXT:    movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1609; SSE-NEXT:    movapd %xmm9, %xmm11610; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm14[0]1611; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1612; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm4[0],xmm9[1]1613; SSE-NEXT:    movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1614; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm4[1]1615; SSE-NEXT:    movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1616; SSE-NEXT:    movapd %xmm8, %xmm11617; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm13[0]1618; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1619; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm0[0],xmm8[1]1620; SSE-NEXT:    movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1621; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]1622; SSE-NEXT:    movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1623; SSE-NEXT:    movapd 80(%rdi), %xmm11624; SSE-NEXT:    movapd 80(%rsi), %xmm21625; SSE-NEXT:    movapd %xmm1, %xmm01626; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1627; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1628; SSE-NEXT:    movapd 80(%rdx), %xmm01629; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1630; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1631; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1632; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1633; SSE-NEXT:    movapd 96(%rdi), %xmm11634; SSE-NEXT:    movapd 96(%rsi), %xmm21635; SSE-NEXT:    movapd %xmm1, %xmm01636; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1637; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1638; SSE-NEXT:    movapd 96(%rdx), %xmm01639; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1640; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1641; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1642; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1643; SSE-NEXT:    movapd 112(%rdi), %xmm11644; SSE-NEXT:    movapd 112(%rsi), %xmm21645; SSE-NEXT:    movapd %xmm1, %xmm01646; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1647; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1648; SSE-NEXT:    movapd 112(%rdx), %xmm01649; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1650; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1651; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1652; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1653; SSE-NEXT:    movapd 128(%rdi), %xmm11654; SSE-NEXT:    movapd 128(%rsi), %xmm21655; SSE-NEXT:    movapd %xmm1, %xmm01656; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1657; SSE-NEXT:    movapd %xmm0, (%rsp) # 16-byte Spill1658; SSE-NEXT:    movapd 128(%rdx), %xmm01659; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1660; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1661; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1662; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1663; SSE-NEXT:    movapd 144(%rdi), %xmm11664; SSE-NEXT:    movapd 144(%rsi), %xmm21665; SSE-NEXT:    movapd %xmm1, %xmm01666; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]1667; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1668; SSE-NEXT:    movapd 144(%rdx), %xmm01669; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1670; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1671; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1672; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1673; SSE-NEXT:    movapd 160(%rdi), %xmm11674; SSE-NEXT:    movapd 160(%rsi), %xmm151675; SSE-NEXT:    movapd %xmm1, %xmm01676; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm15[0]1677; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1678; SSE-NEXT:    movapd 160(%rdx), %xmm01679; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1680; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1681; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]1682; SSE-NEXT:    movapd 176(%rdi), %xmm131683; SSE-NEXT:    movapd 176(%rsi), %xmm121684; SSE-NEXT:    movapd %xmm13, %xmm01685; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm12[0]1686; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1687; SSE-NEXT:    movapd 176(%rdx), %xmm01688; SSE-NEXT:    movsd {{.*#+}} xmm13 = xmm0[0],xmm13[1]1689; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]1690; SSE-NEXT:    movapd 192(%rdi), %xmm91691; SSE-NEXT:    movapd 192(%rsi), %xmm81692; SSE-NEXT:    movapd %xmm9, %xmm141693; SSE-NEXT:    unpcklpd {{.*#+}} xmm14 = xmm14[0],xmm8[0]1694; SSE-NEXT:    movapd 192(%rdx), %xmm01695; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]1696; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]1697; SSE-NEXT:    movapd 208(%rdi), %xmm101698; SSE-NEXT:    movapd 208(%rsi), %xmm71699; SSE-NEXT:    movapd %xmm10, %xmm111700; SSE-NEXT:    unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm7[0]1701; SSE-NEXT:    movapd 208(%rdx), %xmm01702; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm0[0],xmm10[1]1703; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]1704; SSE-NEXT:    movapd 224(%rdi), %xmm41705; SSE-NEXT:    movapd 224(%rsi), %xmm31706; SSE-NEXT:    movapd %xmm4, %xmm61707; SSE-NEXT:    unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]1708; SSE-NEXT:    movapd 224(%rdx), %xmm21709; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm2[0],xmm4[1]1710; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]1711; SSE-NEXT:    movapd 240(%rdi), %xmm21712; SSE-NEXT:    movapd 240(%rsi), %xmm01713; SSE-NEXT:    movapd %xmm2, %xmm11714; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]1715; SSE-NEXT:    movapd 240(%rdx), %xmm51716; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm5[0],xmm2[1]1717; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]1718; SSE-NEXT:    movapd %xmm0, 752(%rcx)1719; SSE-NEXT:    movapd %xmm2, 736(%rcx)1720; SSE-NEXT:    movapd %xmm1, 720(%rcx)1721; SSE-NEXT:    movapd %xmm3, 704(%rcx)1722; SSE-NEXT:    movapd %xmm4, 688(%rcx)1723; SSE-NEXT:    movapd %xmm6, 672(%rcx)1724; SSE-NEXT:    movapd %xmm7, 656(%rcx)1725; SSE-NEXT:    movapd %xmm10, 640(%rcx)1726; SSE-NEXT:    movapd %xmm11, 624(%rcx)1727; SSE-NEXT:    movapd %xmm8, 608(%rcx)1728; SSE-NEXT:    movapd %xmm9, 592(%rcx)1729; SSE-NEXT:    movapd %xmm14, 576(%rcx)1730; SSE-NEXT:    movapd %xmm12, 560(%rcx)1731; SSE-NEXT:    movapd %xmm13, 544(%rcx)1732; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1733; SSE-NEXT:    movaps %xmm0, 528(%rcx)1734; SSE-NEXT:    movapd %xmm15, 512(%rcx)1735; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1736; SSE-NEXT:    movaps %xmm0, 496(%rcx)1737; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1738; SSE-NEXT:    movaps %xmm0, 480(%rcx)1739; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1740; SSE-NEXT:    movaps %xmm0, 464(%rcx)1741; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1742; SSE-NEXT:    movaps %xmm0, 448(%rcx)1743; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1744; SSE-NEXT:    movaps %xmm0, 432(%rcx)1745; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1746; SSE-NEXT:    movaps %xmm0, 416(%rcx)1747; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1748; SSE-NEXT:    movaps %xmm0, 400(%rcx)1749; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload1750; SSE-NEXT:    movaps %xmm0, 384(%rcx)1751; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1752; SSE-NEXT:    movaps %xmm0, 368(%rcx)1753; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1754; SSE-NEXT:    movaps %xmm0, 352(%rcx)1755; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1756; SSE-NEXT:    movaps %xmm0, 336(%rcx)1757; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1758; SSE-NEXT:    movaps %xmm0, 320(%rcx)1759; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1760; SSE-NEXT:    movaps %xmm0, 304(%rcx)1761; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1762; SSE-NEXT:    movaps %xmm0, 288(%rcx)1763; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1764; SSE-NEXT:    movaps %xmm0, 272(%rcx)1765; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1766; SSE-NEXT:    movaps %xmm0, 256(%rcx)1767; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1768; SSE-NEXT:    movaps %xmm0, 240(%rcx)1769; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1770; SSE-NEXT:    movaps %xmm0, 224(%rcx)1771; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1772; SSE-NEXT:    movaps %xmm0, 208(%rcx)1773; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1774; SSE-NEXT:    movaps %xmm0, 192(%rcx)1775; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1776; SSE-NEXT:    movaps %xmm0, 176(%rcx)1777; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1778; SSE-NEXT:    movaps %xmm0, 160(%rcx)1779; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1780; SSE-NEXT:    movaps %xmm0, 144(%rcx)1781; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1782; SSE-NEXT:    movaps %xmm0, 128(%rcx)1783; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1784; SSE-NEXT:    movaps %xmm0, 112(%rcx)1785; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1786; SSE-NEXT:    movaps %xmm0, 96(%rcx)1787; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1788; SSE-NEXT:    movaps %xmm0, 80(%rcx)1789; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1790; SSE-NEXT:    movaps %xmm0, 64(%rcx)1791; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1792; SSE-NEXT:    movaps %xmm0, 48(%rcx)1793; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1794; SSE-NEXT:    movaps %xmm0, 32(%rcx)1795; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1796; SSE-NEXT:    movaps %xmm0, 16(%rcx)1797; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1798; SSE-NEXT:    movaps %xmm0, (%rcx)1799; SSE-NEXT:    addq $408, %rsp # imm = 0x1981800; SSE-NEXT:    retq1801;1802; AVX-LABEL: store_i64_stride3_vf32:1803; AVX:       # %bb.0:1804; AVX-NEXT:    subq $424, %rsp # imm = 0x1A81805; AVX-NEXT:    vmovapd (%rsi), %ymm61806; AVX-NEXT:    vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1807; AVX-NEXT:    vmovapd 32(%rsi), %ymm51808; AVX-NEXT:    vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1809; AVX-NEXT:    vmovapd (%rdx), %ymm111810; AVX-NEXT:    vmovapd 32(%rdx), %ymm131811; AVX-NEXT:    vmovapd 64(%rdx), %ymm71812; AVX-NEXT:    vmovaps (%rdi), %xmm21813; AVX-NEXT:    vmovapd 16(%rdi), %xmm11814; AVX-NEXT:    vmovaps 32(%rdi), %xmm31815; AVX-NEXT:    vmovapd 48(%rdi), %xmm01816; AVX-NEXT:    vunpcklpd {{.*#+}} xmm4 = xmm2[0],mem[0]1817; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm4, %ymm21818; AVX-NEXT:    vinsertf128 $1, (%rdx), %ymm4, %ymm41819; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3],ymm4[4,5],ymm2[6,7]1820; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1821; AVX-NEXT:    vunpcklpd {{.*#+}} xmm2 = xmm3[0],mem[0]1822; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm2, %ymm31823; AVX-NEXT:    vinsertf128 $1, 32(%rdx), %ymm2, %ymm21824; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5],ymm3[6,7]1825; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1826; AVX-NEXT:    vmovaps 64(%rdi), %xmm21827; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1828; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21829; AVX-NEXT:    vinsertf128 $1, 64(%rdx), %ymm3, %ymm31830; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1831; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1832; AVX-NEXT:    vmovaps 96(%rdi), %xmm21833; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1834; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21835; AVX-NEXT:    vinsertf128 $1, 96(%rdx), %ymm3, %ymm31836; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1837; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1838; AVX-NEXT:    vmovaps 128(%rdi), %xmm21839; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1840; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21841; AVX-NEXT:    vinsertf128 $1, 128(%rdx), %ymm3, %ymm31842; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1843; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1844; AVX-NEXT:    vmovaps 160(%rdi), %xmm21845; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1846; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21847; AVX-NEXT:    vinsertf128 $1, 160(%rdx), %ymm3, %ymm31848; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1849; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1850; AVX-NEXT:    vmovaps 192(%rdi), %xmm21851; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1852; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21853; AVX-NEXT:    vinsertf128 $1, 192(%rdx), %ymm3, %ymm31854; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1855; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1856; AVX-NEXT:    vmovaps 224(%rdi), %xmm21857; AVX-NEXT:    vunpcklpd {{.*#+}} xmm3 = xmm2[0],mem[0]1858; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm21859; AVX-NEXT:    vinsertf128 $1, 224(%rdx), %ymm3, %ymm31860; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5],ymm2[6,7]1861; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1862; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm11[2,3]1863; AVX-NEXT:    vshufpd {{.*#+}} ymm2 = ymm6[0,0,3,2]1864; AVX-NEXT:    vperm2f128 {{.*#+}} ymm2 = ymm11[2,3],ymm2[2,3]1865; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm2[0],ymm1[1],ymm2[2],ymm1[3]1866; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1867; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm13[2,3]1868; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm5[0,0,3,2]1869; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm13[2,3],ymm1[2,3]1870; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]1871; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1872; AVX-NEXT:    vmovapd 80(%rdi), %xmm01873; AVX-NEXT:    vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1874; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3]1875; AVX-NEXT:    vmovapd 64(%rsi), %ymm101876; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm10[0,0,3,2]1877; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm7[2,3],ymm1[2,3]1878; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]1879; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1880; AVX-NEXT:    vmovapd 96(%rdx), %ymm51881; AVX-NEXT:    vmovapd 112(%rdi), %xmm01882; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3]1883; AVX-NEXT:    vmovapd 96(%rsi), %ymm91884; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm9[0,0,3,2]1885; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]1886; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]1887; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1888; AVX-NEXT:    vmovapd 128(%rdx), %ymm31889; AVX-NEXT:    vmovapd 144(%rdi), %xmm01890; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2,3]1891; AVX-NEXT:    vmovapd 128(%rsi), %ymm71892; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm7[0,0,3,2]1893; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]1894; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]1895; AVX-NEXT:    vmovupd %ymm0, (%rsp) # 32-byte Spill1896; AVX-NEXT:    vmovapd 160(%rdx), %ymm11897; AVX-NEXT:    vmovapd 176(%rdi), %xmm01898; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]1899; AVX-NEXT:    vmovapd 160(%rsi), %ymm61900; AVX-NEXT:    vshufpd {{.*#+}} ymm8 = ymm6[0,0,3,2]1901; AVX-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm1[2,3],ymm8[2,3]1902; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm8[0],ymm0[1],ymm8[2],ymm0[3]1903; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1904; AVX-NEXT:    vmovapd 192(%rdx), %ymm01905; AVX-NEXT:    vmovapd 208(%rdi), %xmm81906; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm8[0,1],ymm0[2,3]1907; AVX-NEXT:    vmovapd 192(%rsi), %ymm41908; AVX-NEXT:    vshufpd {{.*#+}} ymm15 = ymm4[0,0,3,2]1909; AVX-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm0[2,3],ymm15[2,3]1910; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm15[0],ymm8[1],ymm15[2],ymm8[3]1911; AVX-NEXT:    vmovapd 224(%rdx), %ymm151912; AVX-NEXT:    vmovapd 240(%rdi), %xmm141913; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm14[0,1],ymm15[2,3]1914; AVX-NEXT:    vmovapd 224(%rsi), %ymm21915; AVX-NEXT:    vshufpd {{.*#+}} ymm12 = ymm2[0,0,3,2]1916; AVX-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm15[2,3],ymm12[2,3]1917; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = ymm12[0],ymm14[1],ymm12[2],ymm14[3]1918; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload1919; AVX-NEXT:    # ymm14 = mem[1,0,2,2]1920; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm14[0,1],mem[2],ymm14[3]1921; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = ymm14[0],ymm11[1],ymm14[2,3]1922; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload1923; AVX-NEXT:    # ymm14 = mem[1,0,2,2]1924; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm14[0,1],mem[2],ymm14[3]1925; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm14[0],ymm13[1],ymm14[2,3]1926; AVX-NEXT:    vshufpd {{.*#+}} ymm10 = ymm10[1,0,2,2]1927; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm10[0,1],mem[2],ymm10[3]1928; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload1929; AVX-NEXT:    # ymm10 = ymm10[0],mem[1],ymm10[2,3]1930; AVX-NEXT:    vshufpd {{.*#+}} ymm9 = ymm9[1,0,2,2]1931; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = ymm9[0,1],mem[2],ymm9[3]1932; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm9[0],ymm5[1],ymm9[2,3]1933; AVX-NEXT:    vshufpd {{.*#+}} ymm7 = ymm7[1,0,2,2]1934; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm7[0,1],mem[2],ymm7[3]1935; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm7[0],ymm3[1],ymm7[2,3]1936; AVX-NEXT:    vshufpd {{.*#+}} ymm6 = ymm6[1,0,2,2]1937; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0,1],mem[2],ymm6[3]1938; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm6[0],ymm1[1],ymm6[2,3]1939; AVX-NEXT:    vshufpd {{.*#+}} ymm4 = ymm4[1,0,2,2]1940; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0,1],mem[2],ymm4[3]1941; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm4[0],ymm0[1],ymm4[2,3]1942; AVX-NEXT:    vshufpd {{.*#+}} ymm2 = ymm2[1,0,2,2]1943; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1],mem[2],ymm2[3]1944; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0],ymm15[1],ymm2[2,3]1945; AVX-NEXT:    vmovapd %ymm12, 736(%rcx)1946; AVX-NEXT:    vmovapd %ymm2, 704(%rcx)1947; AVX-NEXT:    vmovapd %ymm8, 640(%rcx)1948; AVX-NEXT:    vmovapd %ymm0, 608(%rcx)1949; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1950; AVX-NEXT:    vmovaps %ymm0, 544(%rcx)1951; AVX-NEXT:    vmovapd %ymm1, 512(%rcx)1952; AVX-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload1953; AVX-NEXT:    vmovaps %ymm0, 448(%rcx)1954; AVX-NEXT:    vmovapd %ymm3, 416(%rcx)1955; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1956; AVX-NEXT:    vmovaps %ymm0, 352(%rcx)1957; AVX-NEXT:    vmovapd %ymm5, 320(%rcx)1958; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1959; AVX-NEXT:    vmovaps %ymm0, 256(%rcx)1960; AVX-NEXT:    vmovapd %ymm10, 224(%rcx)1961; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1962; AVX-NEXT:    vmovaps %ymm0, 160(%rcx)1963; AVX-NEXT:    vmovapd %ymm13, 128(%rcx)1964; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1965; AVX-NEXT:    vmovaps %ymm0, 64(%rcx)1966; AVX-NEXT:    vmovapd %ymm11, 32(%rcx)1967; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1968; AVX-NEXT:    vmovaps %ymm0, 672(%rcx)1969; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1970; AVX-NEXT:    vmovaps %ymm0, 576(%rcx)1971; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1972; AVX-NEXT:    vmovaps %ymm0, 480(%rcx)1973; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1974; AVX-NEXT:    vmovaps %ymm0, 384(%rcx)1975; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1976; AVX-NEXT:    vmovaps %ymm0, 288(%rcx)1977; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1978; AVX-NEXT:    vmovaps %ymm0, 192(%rcx)1979; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1980; AVX-NEXT:    vmovaps %ymm0, 96(%rcx)1981; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1982; AVX-NEXT:    vmovaps %ymm0, (%rcx)1983; AVX-NEXT:    addq $424, %rsp # imm = 0x1A81984; AVX-NEXT:    vzeroupper1985; AVX-NEXT:    retq1986;1987; AVX2-LABEL: store_i64_stride3_vf32:1988; AVX2:       # %bb.0:1989; AVX2-NEXT:    subq $168, %rsp1990; AVX2-NEXT:    vmovaps 128(%rdi), %ymm111991; AVX2-NEXT:    vmovaps (%rdi), %ymm21992; AVX2-NEXT:    vmovaps 32(%rdi), %ymm01993; AVX2-NEXT:    vmovaps 64(%rdi), %ymm81994; AVX2-NEXT:    vmovaps 96(%rdi), %ymm121995; AVX2-NEXT:    vmovaps 128(%rsi), %ymm131996; AVX2-NEXT:    vmovaps (%rsi), %ymm31997; AVX2-NEXT:    vmovaps 32(%rsi), %ymm51998; AVX2-NEXT:    vmovaps 64(%rsi), %ymm91999; AVX2-NEXT:    vmovaps 96(%rsi), %ymm142000; AVX2-NEXT:    vmovaps (%rdx), %ymm42001; AVX2-NEXT:    vmovaps 32(%rdx), %ymm62002; AVX2-NEXT:    vmovaps 64(%rdx), %ymm12003; AVX2-NEXT:    vmovaps 96(%rdx), %ymm152004; AVX2-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]2005; AVX2-NEXT:    vpermpd {{.*#+}} ymm10 = ymm2[0,1,2,1]2006; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm7[2,3],ymm10[4,5,6,7]2007; AVX2-NEXT:    vbroadcastsd (%rdx), %ymm102008; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5],ymm7[6,7]2009; AVX2-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2010; AVX2-NEXT:    vshufps {{.*#+}} ymm7 = ymm3[2,3,0,1,6,7,4,5]2011; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm2[4,5],ymm7[6,7]2012; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm4[2,3],ymm7[4,5,6,7]2013; AVX2-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2014; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]2015; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]2016; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm4[2,1,2,3]2017; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]2018; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2019; AVX2-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]2020; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]2021; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2022; AVX2-NEXT:    vbroadcastsd 32(%rdx), %ymm32023; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]2024; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2025; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm5[2,3,0,1,6,7,4,5]2026; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2027; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm6[2,3],ymm2[4,5,6,7]2028; AVX2-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill2029; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]2030; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2031; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm6[2,1,2,3]2032; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]2033; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2034; AVX2-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2035; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm8[0,1,2,1]2036; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]2037; AVX2-NEXT:    vbroadcastsd 64(%rdx), %ymm22038; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]2039; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2040; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm9[2,3,0,1,6,7,4,5]2041; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5],ymm0[6,7]2042; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]2043; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2044; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]2045; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2046; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2047; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2048; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2049; AVX2-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2050; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm12[0,1,2,1]2051; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2052; AVX2-NEXT:    vbroadcastsd 96(%rdx), %ymm12053; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2054; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm14[2,3,0,1,6,7,4,5]2055; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5],ymm0[6,7]2056; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm15[2,3],ymm0[4,5,6,7]2057; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]2058; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2059; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[2,1,2,3]2060; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2061; AVX2-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2062; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,1,2,1]2063; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2064; AVX2-NEXT:    vbroadcastsd 128(%rdx), %ymm12065; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2066; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm13[2,3,0,1,6,7,4,5]2067; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]2068; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm11[1],ymm13[1],ymm11[3],ymm13[3]2069; AVX2-NEXT:    vmovaps 128(%rdx), %ymm22070; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2071; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm1[0,2,3,3]2072; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]2073; AVX2-NEXT:    vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2074; AVX2-NEXT:    vmovaps 160(%rdi), %ymm02075; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2076; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]2077; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2078; AVX2-NEXT:    vbroadcastsd 160(%rdx), %ymm22079; AVX2-NEXT:    vblendps {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]2080; AVX2-NEXT:    vmovaps 160(%rsi), %ymm12081; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]2082; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2083; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]2084; AVX2-NEXT:    vmovaps 160(%rdx), %ymm12085; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2086; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2087; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2088; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2089; AVX2-NEXT:    vmovaps 192(%rdi), %ymm02090; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2091; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]2092; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3],ymm4[4,5,6,7]2093; AVX2-NEXT:    vbroadcastsd 192(%rdx), %ymm42094; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm4[4,5],ymm1[6,7]2095; AVX2-NEXT:    vmovaps 192(%rsi), %ymm42096; AVX2-NEXT:    vshufps {{.*#+}} ymm5 = ymm4[2,3,0,1,6,7,4,5]2097; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5],ymm5[6,7]2098; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]2099; AVX2-NEXT:    vmovaps 192(%rdx), %ymm42100; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]2101; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2102; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[2,1,2,3]2103; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm0[2,3,4,5],ymm4[6,7]2104; AVX2-NEXT:    vmovaps 224(%rdi), %ymm42105; AVX2-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2106; AVX2-NEXT:    vpermpd {{.*#+}} ymm7 = ymm4[0,1,2,1]2107; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3],ymm7[4,5,6,7]2108; AVX2-NEXT:    vbroadcastsd 224(%rdx), %ymm72109; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5],ymm0[6,7]2110; AVX2-NEXT:    vmovaps 224(%rsi), %ymm72111; AVX2-NEXT:    vshufps {{.*#+}} ymm8 = ymm7[2,3,0,1,6,7,4,5]2112; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm4[4,5],ymm8[6,7]2113; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]2114; AVX2-NEXT:    vmovaps 224(%rdx), %ymm72115; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]2116; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]2117; AVX2-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[2,1,2,3]2118; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm7[0,1],ymm4[2,3,4,5],ymm7[6,7]2119; AVX2-NEXT:    vmovaps %ymm4, 736(%rcx)2120; AVX2-NEXT:    vmovaps %ymm8, 704(%rcx)2121; AVX2-NEXT:    vmovaps %ymm0, 672(%rcx)2122; AVX2-NEXT:    vmovaps %ymm1, 640(%rcx)2123; AVX2-NEXT:    vmovaps %ymm5, 608(%rcx)2124; AVX2-NEXT:    vmovaps %ymm2, 576(%rcx)2125; AVX2-NEXT:    vmovaps %ymm3, 544(%rcx)2126; AVX2-NEXT:    vmovaps %ymm6, 512(%rcx)2127; AVX2-NEXT:    vmovaps %ymm15, 480(%rcx)2128; AVX2-NEXT:    vmovaps %ymm13, 448(%rcx)2129; AVX2-NEXT:    vmovaps %ymm11, 416(%rcx)2130; AVX2-NEXT:    vmovaps %ymm14, 384(%rcx)2131; AVX2-NEXT:    vmovaps %ymm12, 352(%rcx)2132; AVX2-NEXT:    vmovaps %ymm10, 320(%rcx)2133; AVX2-NEXT:    vmovaps %ymm9, 288(%rcx)2134; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2135; AVX2-NEXT:    vmovaps %ymm0, 256(%rcx)2136; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2137; AVX2-NEXT:    vmovaps %ymm0, 224(%rcx)2138; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2139; AVX2-NEXT:    vmovaps %ymm0, 192(%rcx)2140; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2141; AVX2-NEXT:    vmovaps %ymm0, 160(%rcx)2142; AVX2-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload2143; AVX2-NEXT:    vmovaps %ymm0, 128(%rcx)2144; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2145; AVX2-NEXT:    vmovaps %ymm0, 96(%rcx)2146; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2147; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)2148; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2149; AVX2-NEXT:    vmovaps %ymm0, 32(%rcx)2150; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2151; AVX2-NEXT:    vmovaps %ymm0, (%rcx)2152; AVX2-NEXT:    addq $168, %rsp2153; AVX2-NEXT:    vzeroupper2154; AVX2-NEXT:    retq2155;2156; AVX2-FP-LABEL: store_i64_stride3_vf32:2157; AVX2-FP:       # %bb.0:2158; AVX2-FP-NEXT:    subq $168, %rsp2159; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm112160; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm22161; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm02162; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm82163; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm122164; AVX2-FP-NEXT:    vmovaps 128(%rsi), %ymm132165; AVX2-FP-NEXT:    vmovaps (%rsi), %ymm32166; AVX2-FP-NEXT:    vmovaps 32(%rsi), %ymm52167; AVX2-FP-NEXT:    vmovaps 64(%rsi), %ymm92168; AVX2-FP-NEXT:    vmovaps 96(%rsi), %ymm142169; AVX2-FP-NEXT:    vmovaps (%rdx), %ymm42170; AVX2-FP-NEXT:    vmovaps 32(%rdx), %ymm62171; AVX2-FP-NEXT:    vmovaps 64(%rdx), %ymm12172; AVX2-FP-NEXT:    vmovaps 96(%rdx), %ymm152173; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]2174; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm10 = ymm2[0,1,2,1]2175; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm7[2,3],ymm10[4,5,6,7]2176; AVX2-FP-NEXT:    vbroadcastsd (%rdx), %ymm102177; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5],ymm7[6,7]2178; AVX2-FP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2179; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm7 = ymm3[2,3,0,1,6,7,4,5]2180; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm2[4,5],ymm7[6,7]2181; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm4[2,3],ymm7[4,5,6,7]2182; AVX2-FP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2183; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]2184; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]2185; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm4[2,1,2,3]2186; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]2187; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2188; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]2189; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]2190; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2191; AVX2-FP-NEXT:    vbroadcastsd 32(%rdx), %ymm32192; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]2193; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2194; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm5[2,3,0,1,6,7,4,5]2195; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2196; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm6[2,3],ymm2[4,5,6,7]2197; AVX2-FP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill2198; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]2199; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2200; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm6[2,1,2,3]2201; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]2202; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2203; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2204; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm8[0,1,2,1]2205; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]2206; AVX2-FP-NEXT:    vbroadcastsd 64(%rdx), %ymm22207; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]2208; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2209; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm9[2,3,0,1,6,7,4,5]2210; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5],ymm0[6,7]2211; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]2212; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2213; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]2214; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2215; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2216; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2217; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2218; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2219; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm12[0,1,2,1]2220; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2221; AVX2-FP-NEXT:    vbroadcastsd 96(%rdx), %ymm12222; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2223; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm14[2,3,0,1,6,7,4,5]2224; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5],ymm0[6,7]2225; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm15[2,3],ymm0[4,5,6,7]2226; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]2227; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2228; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[2,1,2,3]2229; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2230; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2231; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,1,2,1]2232; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2233; AVX2-FP-NEXT:    vbroadcastsd 128(%rdx), %ymm12234; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2235; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm13[2,3,0,1,6,7,4,5]2236; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]2237; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm11[1],ymm13[1],ymm11[3],ymm13[3]2238; AVX2-FP-NEXT:    vmovaps 128(%rdx), %ymm22239; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2240; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm1[0,2,3,3]2241; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]2242; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2243; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm02244; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2245; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]2246; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2247; AVX2-FP-NEXT:    vbroadcastsd 160(%rdx), %ymm22248; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]2249; AVX2-FP-NEXT:    vmovaps 160(%rsi), %ymm12250; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]2251; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2252; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]2253; AVX2-FP-NEXT:    vmovaps 160(%rdx), %ymm12254; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2255; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2256; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2257; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2258; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm02259; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2260; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]2261; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3],ymm4[4,5,6,7]2262; AVX2-FP-NEXT:    vbroadcastsd 192(%rdx), %ymm42263; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm4[4,5],ymm1[6,7]2264; AVX2-FP-NEXT:    vmovaps 192(%rsi), %ymm42265; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm5 = ymm4[2,3,0,1,6,7,4,5]2266; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5],ymm5[6,7]2267; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]2268; AVX2-FP-NEXT:    vmovaps 192(%rdx), %ymm42269; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]2270; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2271; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[2,1,2,3]2272; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm0[2,3,4,5],ymm4[6,7]2273; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm42274; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2275; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm4[0,1,2,1]2276; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3],ymm7[4,5,6,7]2277; AVX2-FP-NEXT:    vbroadcastsd 224(%rdx), %ymm72278; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5],ymm0[6,7]2279; AVX2-FP-NEXT:    vmovaps 224(%rsi), %ymm72280; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm8 = ymm7[2,3,0,1,6,7,4,5]2281; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm4[4,5],ymm8[6,7]2282; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]2283; AVX2-FP-NEXT:    vmovaps 224(%rdx), %ymm72284; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]2285; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]2286; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[2,1,2,3]2287; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm7[0,1],ymm4[2,3,4,5],ymm7[6,7]2288; AVX2-FP-NEXT:    vmovaps %ymm4, 736(%rcx)2289; AVX2-FP-NEXT:    vmovaps %ymm8, 704(%rcx)2290; AVX2-FP-NEXT:    vmovaps %ymm0, 672(%rcx)2291; AVX2-FP-NEXT:    vmovaps %ymm1, 640(%rcx)2292; AVX2-FP-NEXT:    vmovaps %ymm5, 608(%rcx)2293; AVX2-FP-NEXT:    vmovaps %ymm2, 576(%rcx)2294; AVX2-FP-NEXT:    vmovaps %ymm3, 544(%rcx)2295; AVX2-FP-NEXT:    vmovaps %ymm6, 512(%rcx)2296; AVX2-FP-NEXT:    vmovaps %ymm15, 480(%rcx)2297; AVX2-FP-NEXT:    vmovaps %ymm13, 448(%rcx)2298; AVX2-FP-NEXT:    vmovaps %ymm11, 416(%rcx)2299; AVX2-FP-NEXT:    vmovaps %ymm14, 384(%rcx)2300; AVX2-FP-NEXT:    vmovaps %ymm12, 352(%rcx)2301; AVX2-FP-NEXT:    vmovaps %ymm10, 320(%rcx)2302; AVX2-FP-NEXT:    vmovaps %ymm9, 288(%rcx)2303; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2304; AVX2-FP-NEXT:    vmovaps %ymm0, 256(%rcx)2305; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2306; AVX2-FP-NEXT:    vmovaps %ymm0, 224(%rcx)2307; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2308; AVX2-FP-NEXT:    vmovaps %ymm0, 192(%rcx)2309; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2310; AVX2-FP-NEXT:    vmovaps %ymm0, 160(%rcx)2311; AVX2-FP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload2312; AVX2-FP-NEXT:    vmovaps %ymm0, 128(%rcx)2313; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2314; AVX2-FP-NEXT:    vmovaps %ymm0, 96(%rcx)2315; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2316; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)2317; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2318; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%rcx)2319; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2320; AVX2-FP-NEXT:    vmovaps %ymm0, (%rcx)2321; AVX2-FP-NEXT:    addq $168, %rsp2322; AVX2-FP-NEXT:    vzeroupper2323; AVX2-FP-NEXT:    retq2324;2325; AVX2-FCP-LABEL: store_i64_stride3_vf32:2326; AVX2-FCP:       # %bb.0:2327; AVX2-FCP-NEXT:    subq $168, %rsp2328; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm112329; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm22330; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm02331; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm82332; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm122333; AVX2-FCP-NEXT:    vmovaps 128(%rsi), %ymm132334; AVX2-FCP-NEXT:    vmovaps (%rsi), %ymm32335; AVX2-FCP-NEXT:    vmovaps 32(%rsi), %ymm52336; AVX2-FCP-NEXT:    vmovaps 64(%rsi), %ymm92337; AVX2-FCP-NEXT:    vmovaps 96(%rsi), %ymm142338; AVX2-FCP-NEXT:    vmovaps (%rdx), %ymm42339; AVX2-FCP-NEXT:    vmovaps 32(%rdx), %ymm62340; AVX2-FCP-NEXT:    vmovaps 64(%rdx), %ymm12341; AVX2-FCP-NEXT:    vmovaps 96(%rdx), %ymm152342; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm7 = mem[0,0]2343; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm10 = ymm2[0,1,2,1]2344; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm7[2,3],ymm10[4,5,6,7]2345; AVX2-FCP-NEXT:    vbroadcastsd (%rdx), %ymm102346; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5],ymm7[6,7]2347; AVX2-FCP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2348; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm7 = ymm3[2,3,0,1,6,7,4,5]2349; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm2[4,5],ymm7[6,7]2350; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1],ymm4[2,3],ymm7[4,5,6,7]2351; AVX2-FCP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2352; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]2353; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]2354; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm4[2,1,2,3]2355; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]2356; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2357; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]2358; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]2359; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2360; AVX2-FCP-NEXT:    vbroadcastsd 32(%rdx), %ymm32361; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]2362; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2363; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm5[2,3,0,1,6,7,4,5]2364; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2365; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm6[2,3],ymm2[4,5,6,7]2366; AVX2-FCP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill2367; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]2368; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2369; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm6[2,1,2,3]2370; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3,4,5],ymm2[6,7]2371; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2372; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2373; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm8[0,1,2,1]2374; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5,6,7]2375; AVX2-FCP-NEXT:    vbroadcastsd 64(%rdx), %ymm22376; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5],ymm0[6,7]2377; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2378; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm9[2,3,0,1,6,7,4,5]2379; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5],ymm0[6,7]2380; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]2381; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2382; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]2383; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2384; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2385; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2386; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2387; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2388; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm12[0,1,2,1]2389; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2390; AVX2-FCP-NEXT:    vbroadcastsd 96(%rdx), %ymm12391; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2392; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm14[2,3,0,1,6,7,4,5]2393; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm12[4,5],ymm0[6,7]2394; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1],ymm15[2,3],ymm0[4,5,6,7]2395; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]2396; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2397; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[2,1,2,3]2398; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2399; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2400; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,1,2,1]2401; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2402; AVX2-FCP-NEXT:    vbroadcastsd 128(%rdx), %ymm12403; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5],ymm0[6,7]2404; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm13[2,3,0,1,6,7,4,5]2405; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5],ymm0[6,7]2406; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm11[1],ymm13[1],ymm11[3],ymm13[3]2407; AVX2-FCP-NEXT:    vmovaps 128(%rdx), %ymm22408; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1],ymm2[2,3],ymm0[4,5,6,7]2409; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm1[0,2,3,3]2410; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm2[2,1,2,3]2411; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm13 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2412; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm02413; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2414; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]2415; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2416; AVX2-FCP-NEXT:    vbroadcastsd 160(%rdx), %ymm22417; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]2418; AVX2-FCP-NEXT:    vmovaps 160(%rsi), %ymm12419; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]2420; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]2421; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]2422; AVX2-FCP-NEXT:    vmovaps 160(%rdx), %ymm12423; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]2424; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2425; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]2426; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]2427; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm02428; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]2429; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm0[0,1,2,1]2430; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3],ymm4[4,5,6,7]2431; AVX2-FCP-NEXT:    vbroadcastsd 192(%rdx), %ymm42432; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm4[4,5],ymm1[6,7]2433; AVX2-FCP-NEXT:    vmovaps 192(%rsi), %ymm42434; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm5 = ymm4[2,3,0,1,6,7,4,5]2435; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5],ymm5[6,7]2436; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]2437; AVX2-FCP-NEXT:    vmovaps 192(%rdx), %ymm42438; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]2439; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]2440; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[2,1,2,3]2441; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1],ymm0[2,3,4,5],ymm4[6,7]2442; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm42443; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]2444; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm4[0,1,2,1]2445; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3],ymm7[4,5,6,7]2446; AVX2-FCP-NEXT:    vbroadcastsd 224(%rdx), %ymm72447; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5],ymm0[6,7]2448; AVX2-FCP-NEXT:    vmovaps 224(%rsi), %ymm72449; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm8 = ymm7[2,3,0,1,6,7,4,5]2450; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm4[4,5],ymm8[6,7]2451; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm7[1],ymm4[3],ymm7[3]2452; AVX2-FCP-NEXT:    vmovaps 224(%rdx), %ymm72453; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm7[2,3],ymm8[4,5,6,7]2454; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm4[0,2,3,3]2455; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm7 = ymm7[2,1,2,3]2456; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm7[0,1],ymm4[2,3,4,5],ymm7[6,7]2457; AVX2-FCP-NEXT:    vmovaps %ymm4, 736(%rcx)2458; AVX2-FCP-NEXT:    vmovaps %ymm8, 704(%rcx)2459; AVX2-FCP-NEXT:    vmovaps %ymm0, 672(%rcx)2460; AVX2-FCP-NEXT:    vmovaps %ymm1, 640(%rcx)2461; AVX2-FCP-NEXT:    vmovaps %ymm5, 608(%rcx)2462; AVX2-FCP-NEXT:    vmovaps %ymm2, 576(%rcx)2463; AVX2-FCP-NEXT:    vmovaps %ymm3, 544(%rcx)2464; AVX2-FCP-NEXT:    vmovaps %ymm6, 512(%rcx)2465; AVX2-FCP-NEXT:    vmovaps %ymm15, 480(%rcx)2466; AVX2-FCP-NEXT:    vmovaps %ymm13, 448(%rcx)2467; AVX2-FCP-NEXT:    vmovaps %ymm11, 416(%rcx)2468; AVX2-FCP-NEXT:    vmovaps %ymm14, 384(%rcx)2469; AVX2-FCP-NEXT:    vmovaps %ymm12, 352(%rcx)2470; AVX2-FCP-NEXT:    vmovaps %ymm10, 320(%rcx)2471; AVX2-FCP-NEXT:    vmovaps %ymm9, 288(%rcx)2472; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2473; AVX2-FCP-NEXT:    vmovaps %ymm0, 256(%rcx)2474; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2475; AVX2-FCP-NEXT:    vmovaps %ymm0, 224(%rcx)2476; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2477; AVX2-FCP-NEXT:    vmovaps %ymm0, 192(%rcx)2478; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2479; AVX2-FCP-NEXT:    vmovaps %ymm0, 160(%rcx)2480; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload2481; AVX2-FCP-NEXT:    vmovaps %ymm0, 128(%rcx)2482; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2483; AVX2-FCP-NEXT:    vmovaps %ymm0, 96(%rcx)2484; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2485; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)2486; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2487; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%rcx)2488; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2489; AVX2-FCP-NEXT:    vmovaps %ymm0, (%rcx)2490; AVX2-FCP-NEXT:    addq $168, %rsp2491; AVX2-FCP-NEXT:    vzeroupper2492; AVX2-FCP-NEXT:    retq2493;2494; AVX512-LABEL: store_i64_stride3_vf32:2495; AVX512:       # %bb.0:2496; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm32497; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm22498; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm12499; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm02500; AVX512-NEXT:    vmovdqa64 (%rsi), %zmm42501; AVX512-NEXT:    vmovdqa64 64(%rsi), %zmm52502; AVX512-NEXT:    vmovdqa64 128(%rsi), %zmm62503; AVX512-NEXT:    vmovdqa64 192(%rsi), %zmm72504; AVX512-NEXT:    vmovdqa64 (%rdx), %zmm82505; AVX512-NEXT:    vmovdqa64 64(%rdx), %zmm92506; AVX512-NEXT:    vmovdqa64 128(%rdx), %zmm102507; AVX512-NEXT:    vmovdqa64 192(%rdx), %zmm112508; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2509; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm132510; AVX512-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132511; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2512; AVX512-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132513; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2514; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm162515; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162516; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2517; AVX512-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162518; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2519; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm192520; AVX512-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192521; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2522; AVX512-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192523; AVX512-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02524; AVX512-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02525; AVX512-NEXT:    vmovdqa64 %zmm6, %zmm72526; AVX512-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72527; AVX512-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72528; AVX512-NEXT:    vmovdqa64 %zmm1, %zmm112529; AVX512-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112530; AVX512-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112531; AVX512-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12532; AVX512-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12533; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm62534; AVX512-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62535; AVX512-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62536; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm102537; AVX512-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102538; AVX512-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102539; AVX512-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22540; AVX512-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22541; AVX512-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152542; AVX512-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152543; AVX512-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32544; AVX512-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32545; AVX512-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2546; AVX512-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2547; AVX512-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2548; AVX512-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2549; AVX512-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2550; AVX512-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2551; AVX512-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2552; AVX512-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2553; AVX512-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2554; AVX512-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2555; AVX512-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2556; AVX512-NEXT:    vmovdqa64 %zmm13, (%rcx)2557; AVX512-NEXT:    vzeroupper2558; AVX512-NEXT:    retq2559;2560; AVX512-FCP-LABEL: store_i64_stride3_vf32:2561; AVX512-FCP:       # %bb.0:2562; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm32563; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm22564; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm12565; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm02566; AVX512-FCP-NEXT:    vmovdqa64 (%rsi), %zmm42567; AVX512-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm52568; AVX512-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm62569; AVX512-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm72570; AVX512-FCP-NEXT:    vmovdqa64 (%rdx), %zmm82571; AVX512-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm92572; AVX512-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm102573; AVX512-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm112574; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2575; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm132576; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132577; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2578; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132579; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2580; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm162581; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162582; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2583; AVX512-FCP-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162584; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2585; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, %zmm192586; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192587; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2588; AVX512-FCP-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192589; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02590; AVX512-FCP-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02591; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, %zmm72592; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72593; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72594; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, %zmm112595; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112596; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112597; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12598; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12599; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm62600; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62601; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62602; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102603; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102604; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102605; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22606; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22607; AVX512-FCP-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152608; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152609; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32610; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32611; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2612; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2613; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2614; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2615; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2616; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2617; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2618; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2619; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2620; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2621; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2622; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, (%rcx)2623; AVX512-FCP-NEXT:    vzeroupper2624; AVX512-FCP-NEXT:    retq2625;2626; AVX512DQ-LABEL: store_i64_stride3_vf32:2627; AVX512DQ:       # %bb.0:2628; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm32629; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm22630; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm12631; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm02632; AVX512DQ-NEXT:    vmovdqa64 (%rsi), %zmm42633; AVX512DQ-NEXT:    vmovdqa64 64(%rsi), %zmm52634; AVX512DQ-NEXT:    vmovdqa64 128(%rsi), %zmm62635; AVX512DQ-NEXT:    vmovdqa64 192(%rsi), %zmm72636; AVX512DQ-NEXT:    vmovdqa64 (%rdx), %zmm82637; AVX512DQ-NEXT:    vmovdqa64 64(%rdx), %zmm92638; AVX512DQ-NEXT:    vmovdqa64 128(%rdx), %zmm102639; AVX512DQ-NEXT:    vmovdqa64 192(%rdx), %zmm112640; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2641; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm132642; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132643; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2644; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132645; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2646; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm162647; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162648; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2649; AVX512DQ-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162650; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2651; AVX512DQ-NEXT:    vmovdqa64 %zmm0, %zmm192652; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192653; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2654; AVX512DQ-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192655; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02656; AVX512DQ-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02657; AVX512DQ-NEXT:    vmovdqa64 %zmm6, %zmm72658; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72659; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72660; AVX512DQ-NEXT:    vmovdqa64 %zmm1, %zmm112661; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112662; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112663; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12664; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12665; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm62666; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62667; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62668; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm102669; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102670; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102671; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22672; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22673; AVX512DQ-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152674; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152675; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32676; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32677; AVX512DQ-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2678; AVX512DQ-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2679; AVX512DQ-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2680; AVX512DQ-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2681; AVX512DQ-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2682; AVX512DQ-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2683; AVX512DQ-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2684; AVX512DQ-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2685; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2686; AVX512DQ-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2687; AVX512DQ-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2688; AVX512DQ-NEXT:    vmovdqa64 %zmm13, (%rcx)2689; AVX512DQ-NEXT:    vzeroupper2690; AVX512DQ-NEXT:    retq2691;2692; AVX512DQ-FCP-LABEL: store_i64_stride3_vf32:2693; AVX512DQ-FCP:       # %bb.0:2694; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm32695; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm22696; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm12697; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm02698; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rsi), %zmm42699; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm52700; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm62701; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm72702; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdx), %zmm82703; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm92704; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm102705; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm112706; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2707; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm132708; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132709; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2710; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132711; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2712; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm162713; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162714; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2715; AVX512DQ-FCP-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162716; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2717; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, %zmm192718; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192719; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2720; AVX512DQ-FCP-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192721; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02722; AVX512DQ-FCP-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02723; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, %zmm72724; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72725; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72726; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, %zmm112727; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112728; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112729; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12730; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12731; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm62732; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62733; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62734; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102735; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102736; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102737; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22738; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22739; AVX512DQ-FCP-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152740; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152741; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32742; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32743; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2744; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2745; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2746; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2747; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2748; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2749; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2750; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2751; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2752; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2753; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2754; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, (%rcx)2755; AVX512DQ-FCP-NEXT:    vzeroupper2756; AVX512DQ-FCP-NEXT:    retq2757;2758; AVX512BW-LABEL: store_i64_stride3_vf32:2759; AVX512BW:       # %bb.0:2760; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm32761; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm22762; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm12763; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm02764; AVX512BW-NEXT:    vmovdqa64 (%rsi), %zmm42765; AVX512BW-NEXT:    vmovdqa64 64(%rsi), %zmm52766; AVX512BW-NEXT:    vmovdqa64 128(%rsi), %zmm62767; AVX512BW-NEXT:    vmovdqa64 192(%rsi), %zmm72768; AVX512BW-NEXT:    vmovdqa64 (%rdx), %zmm82769; AVX512BW-NEXT:    vmovdqa64 64(%rdx), %zmm92770; AVX512BW-NEXT:    vmovdqa64 128(%rdx), %zmm102771; AVX512BW-NEXT:    vmovdqa64 192(%rdx), %zmm112772; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2773; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm132774; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132775; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2776; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132777; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2778; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm162779; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162780; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2781; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162782; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2783; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm192784; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192785; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2786; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192787; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02788; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02789; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm72790; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72791; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72792; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm112793; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112794; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112795; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12796; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12797; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm62798; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62799; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62800; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm102801; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102802; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102803; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22804; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22805; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152806; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152807; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32808; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32809; AVX512BW-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2810; AVX512BW-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2811; AVX512BW-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2812; AVX512BW-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2813; AVX512BW-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2814; AVX512BW-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2815; AVX512BW-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2816; AVX512BW-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2817; AVX512BW-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2818; AVX512BW-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2819; AVX512BW-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2820; AVX512BW-NEXT:    vmovdqa64 %zmm13, (%rcx)2821; AVX512BW-NEXT:    vzeroupper2822; AVX512BW-NEXT:    retq2823;2824; AVX512BW-FCP-LABEL: store_i64_stride3_vf32:2825; AVX512BW-FCP:       # %bb.0:2826; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm32827; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm22828; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm12829; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm02830; AVX512BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm42831; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm52832; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm62833; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm72834; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm82835; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm92836; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm102837; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm112838; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2839; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm132840; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132841; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2842; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132843; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2844; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm162845; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162846; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2847; AVX512BW-FCP-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162848; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2849; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm192850; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192851; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2852; AVX512BW-FCP-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192853; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02854; AVX512BW-FCP-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02855; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm72856; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72857; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72858; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm112859; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112860; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112861; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12862; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12863; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm62864; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62865; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62866; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102867; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102868; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102869; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22870; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22871; AVX512BW-FCP-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152872; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152873; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32874; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32875; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2876; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2877; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2878; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2879; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2880; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2881; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2882; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2883; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2884; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2885; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2886; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, (%rcx)2887; AVX512BW-FCP-NEXT:    vzeroupper2888; AVX512BW-FCP-NEXT:    retq2889;2890; AVX512DQ-BW-LABEL: store_i64_stride3_vf32:2891; AVX512DQ-BW:       # %bb.0:2892; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm32893; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm22894; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm12895; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm02896; AVX512DQ-BW-NEXT:    vmovdqa64 (%rsi), %zmm42897; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rsi), %zmm52898; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rsi), %zmm62899; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rsi), %zmm72900; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdx), %zmm82901; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdx), %zmm92902; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdx), %zmm102903; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdx), %zmm112904; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2905; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm132906; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132907; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2908; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132909; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2910; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm162911; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162912; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2913; AVX512DQ-BW-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162914; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2915; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, %zmm192916; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192917; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2918; AVX512DQ-BW-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192919; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02920; AVX512DQ-BW-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02921; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm72922; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72923; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72924; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm112925; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112926; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112927; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12928; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12929; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm62930; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62931; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62932; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm102933; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm18, %zmm102934; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm20, %zmm102935; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm12, %zmm22936; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm14, %zmm22937; AVX512DQ-BW-NEXT:    vpermi2q %zmm3, %zmm4, %zmm152938; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm17, %zmm152939; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm18, %zmm32940; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm20, %zmm32941; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, 64(%rcx)2942; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, 128(%rcx)2943; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, 192(%rcx)2944; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, 256(%rcx)2945; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, 320(%rcx)2946; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, 384(%rcx)2947; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, 448(%rcx)2948; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, 512(%rcx)2949; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 576(%rcx)2950; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, 640(%rcx)2951; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, 704(%rcx)2952; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, (%rcx)2953; AVX512DQ-BW-NEXT:    vzeroupper2954; AVX512DQ-BW-NEXT:    retq2955;2956; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf32:2957; AVX512DQ-BW-FCP:       # %bb.0:2958; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm32959; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm22960; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm12961; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm02962; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm42963; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm52964; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm62965; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm72966; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm82967; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm92968; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm102969; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm112970; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,8,0,1,9,0,2,10]2971; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm132972; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm132973; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,8,3,4,9,6,7]2974; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132975; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm15 = [5,0,14,6,0,15,7,0]2976; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm162977; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm162978; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,13,2,3,14,5,6,15]2979; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm11, %zmm17, %zmm162980; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,3,11,0,4,12,0,5]2981; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm192982; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm192983; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm20 = [10,1,2,11,4,5,12,7]2984; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm11, %zmm20, %zmm192985; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm12, %zmm02986; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm11, %zmm14, %zmm02987; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm72988; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm15, %zmm72989; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm17, %zmm72990; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm112991; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm112992; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm20, %zmm112993; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm12994; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm12995; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm62996; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm15, %zmm62997; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm17, %zmm62998; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102999; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm103000; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm20, %zmm103001; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm12, %zmm23002; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm14, %zmm23003; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm3, %zmm4, %zmm153004; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm153005; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm33006; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm20, %zmm33007; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, 64(%rcx)3008; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rcx)3009; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, 192(%rcx)3010; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)3011; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, 320(%rcx)3012; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, 384(%rcx)3013; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, 448(%rcx)3014; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, 512(%rcx)3015; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 576(%rcx)3016; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, 640(%rcx)3017; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, 704(%rcx)3018; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, (%rcx)3019; AVX512DQ-BW-FCP-NEXT:    vzeroupper3020; AVX512DQ-BW-FCP-NEXT:    retq3021  %in.vec0 = load <32 x i64>, ptr %in.vecptr0, align 643022  %in.vec1 = load <32 x i64>, ptr %in.vecptr1, align 643023  %in.vec2 = load <32 x i64>, ptr %in.vecptr2, align 643024  %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>3025  %2 = shufflevector <32 x i64> %in.vec2, <32 x i64> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>3026  %3 = shufflevector <64 x i64> %1, <64 x i64> %2, <96 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95>3027  %interleaved.vec = shufflevector <96 x i64> %3, <96 x i64> poison, <96 x i32> <i32 0, i32 32, i32 64, i32 1, i32 33, i32 65, i32 2, i32 34, i32 66, i32 3, i32 35, i32 67, i32 4, i32 36, i32 68, i32 5, i32 37, i32 69, i32 6, i32 38, i32 70, i32 7, i32 39, i32 71, i32 8, i32 40, i32 72, i32 9, i32 41, i32 73, i32 10, i32 42, i32 74, i32 11, i32 43, i32 75, i32 12, i32 44, i32 76, i32 13, i32 45, i32 77, i32 14, i32 46, i32 78, i32 15, i32 47, i32 79, i32 16, i32 48, i32 80, i32 17, i32 49, i32 81, i32 18, i32 50, i32 82, i32 19, i32 51, i32 83, i32 20, i32 52, i32 84, i32 21, i32 53, i32 85, i32 22, i32 54, i32 86, i32 23, i32 55, i32 87, i32 24, i32 56, i32 88, i32 25, i32 57, i32 89, i32 26, i32 58, i32 90, i32 27, i32 59, i32 91, i32 28, i32 60, i32 92, i32 29, i32 61, i32 93, i32 30, i32 62, i32 94, i32 31, i32 63, i32 95>3028  store <96 x i64> %interleaved.vec, ptr %out.vec, align 643029  ret void3030}3031 3032define void @store_i64_stride3_vf64(ptr %in.vecptr0, ptr %in.vecptr1, ptr %in.vecptr2, ptr %out.vec) nounwind {3033; SSE-LABEL: store_i64_stride3_vf64:3034; SSE:       # %bb.0:3035; SSE-NEXT:    subq $1176, %rsp # imm = 0x4983036; SSE-NEXT:    movapd 64(%rdi), %xmm83037; SSE-NEXT:    movapd (%rdi), %xmm53038; SSE-NEXT:    movapd 16(%rdi), %xmm63039; SSE-NEXT:    movapd 32(%rdi), %xmm73040; SSE-NEXT:    movapd 48(%rdi), %xmm93041; SSE-NEXT:    movapd 64(%rsi), %xmm133042; SSE-NEXT:    movapd (%rsi), %xmm103043; SSE-NEXT:    movapd 16(%rsi), %xmm113044; SSE-NEXT:    movapd 32(%rsi), %xmm123045; SSE-NEXT:    movapd 48(%rsi), %xmm143046; SSE-NEXT:    movapd 64(%rdx), %xmm03047; SSE-NEXT:    movapd (%rdx), %xmm13048; SSE-NEXT:    movapd 16(%rdx), %xmm23049; SSE-NEXT:    movapd 32(%rdx), %xmm33050; SSE-NEXT:    movapd 48(%rdx), %xmm43051; SSE-NEXT:    movapd %xmm5, %xmm153052; SSE-NEXT:    unpcklpd {{.*#+}} xmm15 = xmm15[0],xmm10[0]3053; SSE-NEXT:    movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3054; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm1[0],xmm5[1]3055; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3056; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm1[1]3057; SSE-NEXT:    movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3058; SSE-NEXT:    movapd %xmm6, %xmm13059; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm11[0]3060; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3061; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm2[0],xmm6[1]3062; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3063; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm2[1]3064; SSE-NEXT:    movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3065; SSE-NEXT:    movapd %xmm7, %xmm13066; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm12[0]3067; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3068; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm3[0],xmm7[1]3069; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3070; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm3[1]3071; SSE-NEXT:    movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3072; SSE-NEXT:    movapd %xmm9, %xmm13073; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm14[0]3074; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3075; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm4[0],xmm9[1]3076; SSE-NEXT:    movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3077; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm4[1]3078; SSE-NEXT:    movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3079; SSE-NEXT:    movapd %xmm8, %xmm13080; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm13[0]3081; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3082; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm0[0],xmm8[1]3083; SSE-NEXT:    movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3084; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]3085; SSE-NEXT:    movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3086; SSE-NEXT:    movapd 80(%rdi), %xmm13087; SSE-NEXT:    movapd 80(%rsi), %xmm23088; SSE-NEXT:    movapd %xmm1, %xmm03089; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3090; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3091; SSE-NEXT:    movapd 80(%rdx), %xmm03092; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3093; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3094; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3095; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3096; SSE-NEXT:    movapd 96(%rdi), %xmm13097; SSE-NEXT:    movapd 96(%rsi), %xmm23098; SSE-NEXT:    movapd %xmm1, %xmm03099; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3100; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3101; SSE-NEXT:    movapd 96(%rdx), %xmm03102; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3103; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3104; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3105; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3106; SSE-NEXT:    movapd 112(%rdi), %xmm13107; SSE-NEXT:    movapd 112(%rsi), %xmm23108; SSE-NEXT:    movapd %xmm1, %xmm03109; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3110; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3111; SSE-NEXT:    movapd 112(%rdx), %xmm03112; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3113; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3114; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3115; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3116; SSE-NEXT:    movapd 128(%rdi), %xmm13117; SSE-NEXT:    movapd 128(%rsi), %xmm23118; SSE-NEXT:    movapd %xmm1, %xmm03119; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3120; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3121; SSE-NEXT:    movapd 128(%rdx), %xmm03122; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3123; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3124; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3125; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3126; SSE-NEXT:    movapd 144(%rdi), %xmm13127; SSE-NEXT:    movapd 144(%rsi), %xmm23128; SSE-NEXT:    movapd %xmm1, %xmm03129; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3130; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3131; SSE-NEXT:    movapd 144(%rdx), %xmm03132; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3133; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3134; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3135; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3136; SSE-NEXT:    movapd 160(%rdi), %xmm13137; SSE-NEXT:    movapd 160(%rsi), %xmm23138; SSE-NEXT:    movapd %xmm1, %xmm03139; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3140; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3141; SSE-NEXT:    movapd 160(%rdx), %xmm03142; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3143; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3144; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3145; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3146; SSE-NEXT:    movapd 176(%rdi), %xmm13147; SSE-NEXT:    movapd 176(%rsi), %xmm23148; SSE-NEXT:    movapd %xmm1, %xmm03149; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3150; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3151; SSE-NEXT:    movapd 176(%rdx), %xmm03152; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3153; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3154; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3155; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3156; SSE-NEXT:    movapd 192(%rdi), %xmm13157; SSE-NEXT:    movapd 192(%rsi), %xmm23158; SSE-NEXT:    movapd %xmm1, %xmm03159; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3160; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3161; SSE-NEXT:    movapd 192(%rdx), %xmm03162; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3163; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3164; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3165; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3166; SSE-NEXT:    movapd 208(%rdi), %xmm13167; SSE-NEXT:    movapd 208(%rsi), %xmm23168; SSE-NEXT:    movapd %xmm1, %xmm03169; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3170; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3171; SSE-NEXT:    movapd 208(%rdx), %xmm03172; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3173; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3174; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3175; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3176; SSE-NEXT:    movapd 224(%rdi), %xmm13177; SSE-NEXT:    movapd 224(%rsi), %xmm23178; SSE-NEXT:    movapd %xmm1, %xmm03179; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3180; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3181; SSE-NEXT:    movapd 224(%rdx), %xmm03182; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3183; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3184; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3185; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3186; SSE-NEXT:    movapd 240(%rdi), %xmm13187; SSE-NEXT:    movapd 240(%rsi), %xmm23188; SSE-NEXT:    movapd %xmm1, %xmm03189; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3190; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3191; SSE-NEXT:    movapd 240(%rdx), %xmm03192; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3193; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3194; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3195; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3196; SSE-NEXT:    movapd 256(%rdi), %xmm13197; SSE-NEXT:    movapd 256(%rsi), %xmm23198; SSE-NEXT:    movapd %xmm1, %xmm03199; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3200; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3201; SSE-NEXT:    movapd 256(%rdx), %xmm03202; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3203; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3204; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3205; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3206; SSE-NEXT:    movapd 272(%rdi), %xmm13207; SSE-NEXT:    movapd 272(%rsi), %xmm23208; SSE-NEXT:    movapd %xmm1, %xmm03209; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3210; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3211; SSE-NEXT:    movapd 272(%rdx), %xmm03212; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3213; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3214; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3215; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3216; SSE-NEXT:    movapd 288(%rdi), %xmm13217; SSE-NEXT:    movapd 288(%rsi), %xmm23218; SSE-NEXT:    movapd %xmm1, %xmm03219; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3220; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3221; SSE-NEXT:    movapd 288(%rdx), %xmm03222; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3223; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3224; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3225; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3226; SSE-NEXT:    movapd 304(%rdi), %xmm13227; SSE-NEXT:    movapd 304(%rsi), %xmm23228; SSE-NEXT:    movapd %xmm1, %xmm03229; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3230; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3231; SSE-NEXT:    movapd 304(%rdx), %xmm03232; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3233; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3234; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3235; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3236; SSE-NEXT:    movapd 320(%rdi), %xmm13237; SSE-NEXT:    movapd 320(%rsi), %xmm23238; SSE-NEXT:    movapd %xmm1, %xmm03239; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3240; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3241; SSE-NEXT:    movapd 320(%rdx), %xmm03242; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3243; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3244; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3245; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3246; SSE-NEXT:    movapd 336(%rdi), %xmm13247; SSE-NEXT:    movapd 336(%rsi), %xmm23248; SSE-NEXT:    movapd %xmm1, %xmm03249; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3250; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3251; SSE-NEXT:    movapd 336(%rdx), %xmm03252; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3253; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3254; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3255; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3256; SSE-NEXT:    movapd 352(%rdi), %xmm13257; SSE-NEXT:    movapd 352(%rsi), %xmm23258; SSE-NEXT:    movapd %xmm1, %xmm03259; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3260; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3261; SSE-NEXT:    movapd 352(%rdx), %xmm03262; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3263; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3264; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3265; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3266; SSE-NEXT:    movapd 368(%rdi), %xmm13267; SSE-NEXT:    movapd 368(%rsi), %xmm23268; SSE-NEXT:    movapd %xmm1, %xmm03269; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3270; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3271; SSE-NEXT:    movapd 368(%rdx), %xmm03272; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3273; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3274; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3275; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3276; SSE-NEXT:    movapd 384(%rdi), %xmm13277; SSE-NEXT:    movapd 384(%rsi), %xmm23278; SSE-NEXT:    movapd %xmm1, %xmm03279; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3280; SSE-NEXT:    movapd %xmm0, (%rsp) # 16-byte Spill3281; SSE-NEXT:    movapd 384(%rdx), %xmm03282; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3283; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3284; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3285; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3286; SSE-NEXT:    movapd 400(%rdi), %xmm13287; SSE-NEXT:    movapd 400(%rsi), %xmm23288; SSE-NEXT:    movapd %xmm1, %xmm03289; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]3290; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3291; SSE-NEXT:    movapd 400(%rdx), %xmm03292; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3293; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3294; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]3295; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3296; SSE-NEXT:    movapd 416(%rdi), %xmm13297; SSE-NEXT:    movapd 416(%rsi), %xmm153298; SSE-NEXT:    movapd %xmm1, %xmm03299; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm15[0]3300; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3301; SSE-NEXT:    movapd 416(%rdx), %xmm03302; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3303; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3304; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]3305; SSE-NEXT:    movapd 432(%rdi), %xmm143306; SSE-NEXT:    movapd 432(%rsi), %xmm123307; SSE-NEXT:    movapd %xmm14, %xmm03308; SSE-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm12[0]3309; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3310; SSE-NEXT:    movapd 432(%rdx), %xmm03311; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm0[0],xmm14[1]3312; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]3313; SSE-NEXT:    movapd 448(%rdi), %xmm93314; SSE-NEXT:    movapd 448(%rsi), %xmm83315; SSE-NEXT:    movapd %xmm9, %xmm133316; SSE-NEXT:    unpcklpd {{.*#+}} xmm13 = xmm13[0],xmm8[0]3317; SSE-NEXT:    movapd 448(%rdx), %xmm03318; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]3319; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]3320; SSE-NEXT:    movapd 464(%rdi), %xmm103321; SSE-NEXT:    movapd 464(%rsi), %xmm73322; SSE-NEXT:    movapd %xmm10, %xmm113323; SSE-NEXT:    unpcklpd {{.*#+}} xmm11 = xmm11[0],xmm7[0]3324; SSE-NEXT:    movapd 464(%rdx), %xmm03325; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm0[0],xmm10[1]3326; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]3327; SSE-NEXT:    movapd 480(%rdi), %xmm43328; SSE-NEXT:    movapd 480(%rsi), %xmm33329; SSE-NEXT:    movapd %xmm4, %xmm63330; SSE-NEXT:    unpcklpd {{.*#+}} xmm6 = xmm6[0],xmm3[0]3331; SSE-NEXT:    movapd 480(%rdx), %xmm23332; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm2[0],xmm4[1]3333; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm2[1]3334; SSE-NEXT:    movapd 496(%rdi), %xmm23335; SSE-NEXT:    movapd 496(%rsi), %xmm03336; SSE-NEXT:    movapd %xmm2, %xmm13337; SSE-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]3338; SSE-NEXT:    movapd 496(%rdx), %xmm53339; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm5[0],xmm2[1]3340; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]3341; SSE-NEXT:    movapd %xmm0, 1520(%rcx)3342; SSE-NEXT:    movapd %xmm2, 1504(%rcx)3343; SSE-NEXT:    movapd %xmm1, 1488(%rcx)3344; SSE-NEXT:    movapd %xmm3, 1472(%rcx)3345; SSE-NEXT:    movapd %xmm4, 1456(%rcx)3346; SSE-NEXT:    movapd %xmm6, 1440(%rcx)3347; SSE-NEXT:    movapd %xmm7, 1424(%rcx)3348; SSE-NEXT:    movapd %xmm10, 1408(%rcx)3349; SSE-NEXT:    movapd %xmm11, 1392(%rcx)3350; SSE-NEXT:    movapd %xmm8, 1376(%rcx)3351; SSE-NEXT:    movapd %xmm9, 1360(%rcx)3352; SSE-NEXT:    movapd %xmm13, 1344(%rcx)3353; SSE-NEXT:    movapd %xmm12, 1328(%rcx)3354; SSE-NEXT:    movapd %xmm14, 1312(%rcx)3355; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3356; SSE-NEXT:    movaps %xmm0, 1296(%rcx)3357; SSE-NEXT:    movapd %xmm15, 1280(%rcx)3358; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3359; SSE-NEXT:    movaps %xmm0, 1264(%rcx)3360; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3361; SSE-NEXT:    movaps %xmm0, 1248(%rcx)3362; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3363; SSE-NEXT:    movaps %xmm0, 1232(%rcx)3364; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3365; SSE-NEXT:    movaps %xmm0, 1216(%rcx)3366; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3367; SSE-NEXT:    movaps %xmm0, 1200(%rcx)3368; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3369; SSE-NEXT:    movaps %xmm0, 1184(%rcx)3370; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3371; SSE-NEXT:    movaps %xmm0, 1168(%rcx)3372; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload3373; SSE-NEXT:    movaps %xmm0, 1152(%rcx)3374; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3375; SSE-NEXT:    movaps %xmm0, 1136(%rcx)3376; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3377; SSE-NEXT:    movaps %xmm0, 1120(%rcx)3378; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3379; SSE-NEXT:    movaps %xmm0, 1104(%rcx)3380; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3381; SSE-NEXT:    movaps %xmm0, 1088(%rcx)3382; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3383; SSE-NEXT:    movaps %xmm0, 1072(%rcx)3384; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3385; SSE-NEXT:    movaps %xmm0, 1056(%rcx)3386; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3387; SSE-NEXT:    movaps %xmm0, 1040(%rcx)3388; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3389; SSE-NEXT:    movaps %xmm0, 1024(%rcx)3390; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3391; SSE-NEXT:    movaps %xmm0, 1008(%rcx)3392; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3393; SSE-NEXT:    movaps %xmm0, 992(%rcx)3394; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3395; SSE-NEXT:    movaps %xmm0, 976(%rcx)3396; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3397; SSE-NEXT:    movaps %xmm0, 960(%rcx)3398; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3399; SSE-NEXT:    movaps %xmm0, 944(%rcx)3400; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3401; SSE-NEXT:    movaps %xmm0, 928(%rcx)3402; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3403; SSE-NEXT:    movaps %xmm0, 912(%rcx)3404; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3405; SSE-NEXT:    movaps %xmm0, 896(%rcx)3406; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3407; SSE-NEXT:    movaps %xmm0, 880(%rcx)3408; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3409; SSE-NEXT:    movaps %xmm0, 864(%rcx)3410; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3411; SSE-NEXT:    movaps %xmm0, 848(%rcx)3412; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3413; SSE-NEXT:    movaps %xmm0, 832(%rcx)3414; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3415; SSE-NEXT:    movaps %xmm0, 816(%rcx)3416; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3417; SSE-NEXT:    movaps %xmm0, 800(%rcx)3418; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3419; SSE-NEXT:    movaps %xmm0, 784(%rcx)3420; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3421; SSE-NEXT:    movaps %xmm0, 768(%rcx)3422; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3423; SSE-NEXT:    movaps %xmm0, 752(%rcx)3424; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3425; SSE-NEXT:    movaps %xmm0, 736(%rcx)3426; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3427; SSE-NEXT:    movaps %xmm0, 720(%rcx)3428; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3429; SSE-NEXT:    movaps %xmm0, 704(%rcx)3430; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3431; SSE-NEXT:    movaps %xmm0, 688(%rcx)3432; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3433; SSE-NEXT:    movaps %xmm0, 672(%rcx)3434; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3435; SSE-NEXT:    movaps %xmm0, 656(%rcx)3436; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3437; SSE-NEXT:    movaps %xmm0, 640(%rcx)3438; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3439; SSE-NEXT:    movaps %xmm0, 624(%rcx)3440; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3441; SSE-NEXT:    movaps %xmm0, 608(%rcx)3442; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3443; SSE-NEXT:    movaps %xmm0, 592(%rcx)3444; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3445; SSE-NEXT:    movaps %xmm0, 576(%rcx)3446; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3447; SSE-NEXT:    movaps %xmm0, 560(%rcx)3448; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3449; SSE-NEXT:    movaps %xmm0, 544(%rcx)3450; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3451; SSE-NEXT:    movaps %xmm0, 528(%rcx)3452; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3453; SSE-NEXT:    movaps %xmm0, 512(%rcx)3454; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3455; SSE-NEXT:    movaps %xmm0, 496(%rcx)3456; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3457; SSE-NEXT:    movaps %xmm0, 480(%rcx)3458; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3459; SSE-NEXT:    movaps %xmm0, 464(%rcx)3460; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3461; SSE-NEXT:    movaps %xmm0, 448(%rcx)3462; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3463; SSE-NEXT:    movaps %xmm0, 432(%rcx)3464; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3465; SSE-NEXT:    movaps %xmm0, 416(%rcx)3466; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3467; SSE-NEXT:    movaps %xmm0, 400(%rcx)3468; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3469; SSE-NEXT:    movaps %xmm0, 384(%rcx)3470; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3471; SSE-NEXT:    movaps %xmm0, 368(%rcx)3472; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3473; SSE-NEXT:    movaps %xmm0, 352(%rcx)3474; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3475; SSE-NEXT:    movaps %xmm0, 336(%rcx)3476; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3477; SSE-NEXT:    movaps %xmm0, 320(%rcx)3478; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3479; SSE-NEXT:    movaps %xmm0, 304(%rcx)3480; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3481; SSE-NEXT:    movaps %xmm0, 288(%rcx)3482; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3483; SSE-NEXT:    movaps %xmm0, 272(%rcx)3484; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3485; SSE-NEXT:    movaps %xmm0, 256(%rcx)3486; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3487; SSE-NEXT:    movaps %xmm0, 240(%rcx)3488; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3489; SSE-NEXT:    movaps %xmm0, 224(%rcx)3490; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3491; SSE-NEXT:    movaps %xmm0, 208(%rcx)3492; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3493; SSE-NEXT:    movaps %xmm0, 192(%rcx)3494; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3495; SSE-NEXT:    movaps %xmm0, 176(%rcx)3496; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3497; SSE-NEXT:    movaps %xmm0, 160(%rcx)3498; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3499; SSE-NEXT:    movaps %xmm0, 144(%rcx)3500; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3501; SSE-NEXT:    movaps %xmm0, 128(%rcx)3502; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3503; SSE-NEXT:    movaps %xmm0, 112(%rcx)3504; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3505; SSE-NEXT:    movaps %xmm0, 96(%rcx)3506; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3507; SSE-NEXT:    movaps %xmm0, 80(%rcx)3508; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3509; SSE-NEXT:    movaps %xmm0, 64(%rcx)3510; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3511; SSE-NEXT:    movaps %xmm0, 48(%rcx)3512; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3513; SSE-NEXT:    movaps %xmm0, 32(%rcx)3514; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3515; SSE-NEXT:    movaps %xmm0, 16(%rcx)3516; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3517; SSE-NEXT:    movaps %xmm0, (%rcx)3518; SSE-NEXT:    addq $1176, %rsp # imm = 0x4983519; SSE-NEXT:    retq3520;3521; AVX-LABEL: store_i64_stride3_vf64:3522; AVX:       # %bb.0:3523; AVX-NEXT:    subq $1480, %rsp # imm = 0x5C83524; AVX-NEXT:    vmovaps (%rdi), %xmm03525; AVX-NEXT:    vmovaps 32(%rdi), %xmm13526; AVX-NEXT:    vunpcklpd {{.*#+}} xmm2 = xmm0[0],mem[0]3527; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm03528; AVX-NEXT:    vinsertf128 $1, (%rdx), %ymm2, %ymm23529; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3],ymm2[4,5],ymm0[6,7]3530; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3531; AVX-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],mem[0]3532; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm13533; AVX-NEXT:    vinsertf128 $1, 32(%rdx), %ymm0, %ymm03534; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5],ymm1[6,7]3535; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3536; AVX-NEXT:    vmovaps 64(%rdi), %xmm03537; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3538; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03539; AVX-NEXT:    vinsertf128 $1, 64(%rdx), %ymm1, %ymm13540; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3541; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3542; AVX-NEXT:    vmovaps 96(%rdi), %xmm03543; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3544; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03545; AVX-NEXT:    vinsertf128 $1, 96(%rdx), %ymm1, %ymm13546; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3547; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3548; AVX-NEXT:    vmovaps 128(%rdi), %xmm03549; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3550; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03551; AVX-NEXT:    vinsertf128 $1, 128(%rdx), %ymm1, %ymm13552; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3553; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3554; AVX-NEXT:    vmovaps 160(%rdi), %xmm03555; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3556; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03557; AVX-NEXT:    vinsertf128 $1, 160(%rdx), %ymm1, %ymm13558; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3559; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3560; AVX-NEXT:    vmovaps 192(%rdi), %xmm03561; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3562; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03563; AVX-NEXT:    vinsertf128 $1, 192(%rdx), %ymm1, %ymm13564; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3565; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3566; AVX-NEXT:    vmovaps 224(%rdi), %xmm03567; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3568; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03569; AVX-NEXT:    vinsertf128 $1, 224(%rdx), %ymm1, %ymm13570; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3571; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3572; AVX-NEXT:    vmovaps 256(%rdi), %xmm03573; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3574; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03575; AVX-NEXT:    vinsertf128 $1, 256(%rdx), %ymm1, %ymm13576; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3577; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3578; AVX-NEXT:    vmovaps 288(%rdi), %xmm03579; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3580; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03581; AVX-NEXT:    vinsertf128 $1, 288(%rdx), %ymm1, %ymm13582; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3583; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3584; AVX-NEXT:    vmovaps 320(%rdi), %xmm03585; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3586; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03587; AVX-NEXT:    vinsertf128 $1, 320(%rdx), %ymm1, %ymm13588; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3589; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3590; AVX-NEXT:    vmovaps 352(%rdi), %xmm03591; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3592; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03593; AVX-NEXT:    vinsertf128 $1, 352(%rdx), %ymm1, %ymm13594; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3595; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3596; AVX-NEXT:    vmovaps 384(%rdi), %xmm03597; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3598; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03599; AVX-NEXT:    vinsertf128 $1, 384(%rdx), %ymm1, %ymm13600; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3601; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3602; AVX-NEXT:    vmovaps 416(%rdi), %xmm03603; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3604; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03605; AVX-NEXT:    vinsertf128 $1, 416(%rdx), %ymm1, %ymm13606; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3607; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3608; AVX-NEXT:    vmovaps 448(%rdi), %xmm03609; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3610; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03611; AVX-NEXT:    vinsertf128 $1, 448(%rdx), %ymm1, %ymm13612; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3613; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3614; AVX-NEXT:    vmovaps 480(%rdi), %xmm03615; AVX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm0[0],mem[0]3616; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm03617; AVX-NEXT:    vinsertf128 $1, 480(%rdx), %ymm1, %ymm13618; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5],ymm0[6,7]3619; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3620; AVX-NEXT:    vmovapd (%rdx), %ymm23621; AVX-NEXT:    vmovupd %ymm2, (%rsp) # 32-byte Spill3622; AVX-NEXT:    vmovapd 16(%rdi), %xmm03623; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3624; AVX-NEXT:    vmovapd (%rsi), %ymm13625; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3626; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3627; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3628; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3629; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3630; AVX-NEXT:    vmovapd 32(%rdx), %ymm23631; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3632; AVX-NEXT:    vmovapd 48(%rdi), %xmm03633; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3634; AVX-NEXT:    vmovapd 32(%rsi), %ymm13635; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3636; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3637; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3638; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3639; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3640; AVX-NEXT:    vmovapd 64(%rdx), %ymm23641; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3642; AVX-NEXT:    vmovapd 80(%rdi), %xmm03643; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3644; AVX-NEXT:    vmovapd 64(%rsi), %ymm13645; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3646; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3647; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3648; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3649; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3650; AVX-NEXT:    vmovapd 96(%rdx), %ymm23651; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3652; AVX-NEXT:    vmovapd 112(%rdi), %xmm03653; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3654; AVX-NEXT:    vmovapd 96(%rsi), %ymm13655; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3656; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3657; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3658; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3659; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3660; AVX-NEXT:    vmovapd 128(%rdx), %ymm23661; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3662; AVX-NEXT:    vmovapd 144(%rdi), %xmm03663; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3664; AVX-NEXT:    vmovapd 128(%rsi), %ymm13665; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3666; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3667; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3668; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3669; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3670; AVX-NEXT:    vmovapd 160(%rdx), %ymm23671; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3672; AVX-NEXT:    vmovapd 176(%rdi), %xmm03673; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3674; AVX-NEXT:    vmovapd 160(%rsi), %ymm13675; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3676; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3677; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3678; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3679; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3680; AVX-NEXT:    vmovapd 192(%rdx), %ymm143681; AVX-NEXT:    vmovapd 208(%rdi), %xmm03682; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm14[2,3]3683; AVX-NEXT:    vmovapd 192(%rsi), %ymm13684; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3685; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3686; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm14[2,3],ymm1[2,3]3687; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3688; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3689; AVX-NEXT:    vmovapd 224(%rdx), %ymm133690; AVX-NEXT:    vmovapd 240(%rdi), %xmm03691; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm13[2,3]3692; AVX-NEXT:    vmovapd 224(%rsi), %ymm13693; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3694; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3695; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm13[2,3],ymm1[2,3]3696; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3697; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3698; AVX-NEXT:    vmovapd 256(%rdx), %ymm113699; AVX-NEXT:    vmovapd 272(%rdi), %xmm03700; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm11[2,3]3701; AVX-NEXT:    vmovapd 256(%rsi), %ymm13702; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3703; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3704; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm11[2,3],ymm1[2,3]3705; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3706; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3707; AVX-NEXT:    vmovapd 288(%rdx), %ymm93708; AVX-NEXT:    vmovapd 304(%rdi), %xmm03709; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm9[2,3]3710; AVX-NEXT:    vmovapd 288(%rsi), %ymm13711; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3712; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3713; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm9[2,3],ymm1[2,3]3714; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3715; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3716; AVX-NEXT:    vmovapd 320(%rdx), %ymm73717; AVX-NEXT:    vmovapd 336(%rdi), %xmm03718; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm7[2,3]3719; AVX-NEXT:    vmovapd 320(%rsi), %ymm13720; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3721; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3722; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm7[2,3],ymm1[2,3]3723; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3724; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3725; AVX-NEXT:    vmovapd 352(%rdx), %ymm63726; AVX-NEXT:    vmovapd 368(%rdi), %xmm03727; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm6[2,3]3728; AVX-NEXT:    vmovapd 352(%rsi), %ymm13729; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3730; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm1[0,0,3,2]3731; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm6[2,3],ymm1[2,3]3732; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3733; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3734; AVX-NEXT:    vmovapd 384(%rdx), %ymm53735; AVX-NEXT:    vmovapd 400(%rdi), %xmm03736; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm5[2,3]3737; AVX-NEXT:    vmovapd 384(%rsi), %ymm123738; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm12[0,0,3,2]3739; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm5[2,3],ymm1[2,3]3740; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3741; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3742; AVX-NEXT:    vmovapd 416(%rdx), %ymm33743; AVX-NEXT:    vmovapd 432(%rdi), %xmm03744; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2,3]3745; AVX-NEXT:    vmovapd 416(%rsi), %ymm103746; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm10[0,0,3,2]3747; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]3748; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]3749; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3750; AVX-NEXT:    vmovapd 448(%rdx), %ymm23751; AVX-NEXT:    vmovapd 464(%rdi), %xmm03752; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]3753; AVX-NEXT:    vmovapd 448(%rsi), %ymm83754; AVX-NEXT:    vshufpd {{.*#+}} ymm4 = ymm8[0,0,3,2]3755; AVX-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm2[2,3],ymm4[2,3]3756; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm4[0],ymm0[1],ymm4[2],ymm0[3]3757; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3758; AVX-NEXT:    vmovapd 480(%rdx), %ymm13759; AVX-NEXT:    vmovapd 496(%rdi), %xmm43760; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm4[0,1],ymm1[2,3]3761; AVX-NEXT:    vmovapd 480(%rsi), %ymm43762; AVX-NEXT:    vshufpd {{.*#+}} ymm15 = ymm4[0,0,3,2]3763; AVX-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm1[2,3],ymm15[2,3]3764; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm15[0],ymm0[1],ymm15[2],ymm0[3]3765; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3766; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3767; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3768; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3769; AVX-NEXT:    vblendpd $2, (%rsp), %ymm0, %ymm0 # 32-byte Folded Reload3770; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3771; AVX-NEXT:    vmovupd %ymm0, (%rsp) # 32-byte Spill3772; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3773; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3774; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3775; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3776; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3777; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3778; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3779; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3780; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3781; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3782; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3783; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3784; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3785; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3786; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3787; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3788; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3789; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3790; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3791; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3792; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3793; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3794; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3795; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3796; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload3797; AVX-NEXT:    # ymm0 = mem[1,0,2,2]3798; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3]3799; AVX-NEXT:    vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3800; AVX-NEXT:    # ymm0 = ymm0[0],mem[1],ymm0[2,3]3801; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3802; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3803; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3804; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm15[0],ymm14[1],ymm15[2,3]3805; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3806; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3807; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3808; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm15[0],ymm13[1],ymm15[2,3]3809; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3810; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3811; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3812; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = ymm15[0],ymm11[1],ymm15[2,3]3813; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3814; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3815; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3816; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = ymm15[0],ymm9[1],ymm15[2,3]3817; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3818; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3819; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3820; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm15[0],ymm7[1],ymm15[2,3]3821; AVX-NEXT:    vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload3822; AVX-NEXT:    # ymm15 = mem[1,0,2,2]3823; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0,1],mem[2],ymm15[3]3824; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm15[0],ymm6[1],ymm15[2,3]3825; AVX-NEXT:    vshufpd {{.*#+}} ymm12 = ymm12[1,0,2,2]3826; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = ymm12[0,1],mem[2],ymm12[3]3827; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm12[0],ymm5[1],ymm12[2,3]3828; AVX-NEXT:    vshufpd {{.*#+}} ymm10 = ymm10[1,0,2,2]3829; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm10[0,1],mem[2],ymm10[3]3830; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm10[0],ymm3[1],ymm10[2,3]3831; AVX-NEXT:    vshufpd {{.*#+}} ymm8 = ymm8[1,0,2,2]3832; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm8[0,1],mem[2],ymm8[3]3833; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm8[0],ymm2[1],ymm8[2,3]3834; AVX-NEXT:    vshufpd {{.*#+}} ymm4 = ymm4[1,0,2,2]3835; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0,1],mem[2],ymm4[3]3836; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm4[0],ymm1[1],ymm4[2,3]3837; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload3838; AVX-NEXT:    vmovaps %ymm4, 1504(%rcx)3839; AVX-NEXT:    vmovapd %ymm1, 1472(%rcx)3840; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3841; AVX-NEXT:    vmovaps %ymm1, 1408(%rcx)3842; AVX-NEXT:    vmovapd %ymm2, 1376(%rcx)3843; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3844; AVX-NEXT:    vmovaps %ymm1, 1312(%rcx)3845; AVX-NEXT:    vmovapd %ymm3, 1280(%rcx)3846; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3847; AVX-NEXT:    vmovaps %ymm1, 1216(%rcx)3848; AVX-NEXT:    vmovapd %ymm5, 1184(%rcx)3849; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3850; AVX-NEXT:    vmovaps %ymm1, 1120(%rcx)3851; AVX-NEXT:    vmovapd %ymm6, 1088(%rcx)3852; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3853; AVX-NEXT:    vmovaps %ymm1, 1024(%rcx)3854; AVX-NEXT:    vmovapd %ymm7, 992(%rcx)3855; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3856; AVX-NEXT:    vmovaps %ymm1, 928(%rcx)3857; AVX-NEXT:    vmovapd %ymm9, 896(%rcx)3858; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3859; AVX-NEXT:    vmovaps %ymm1, 832(%rcx)3860; AVX-NEXT:    vmovapd %ymm11, 800(%rcx)3861; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3862; AVX-NEXT:    vmovaps %ymm1, 736(%rcx)3863; AVX-NEXT:    vmovapd %ymm13, 704(%rcx)3864; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3865; AVX-NEXT:    vmovaps %ymm1, 640(%rcx)3866; AVX-NEXT:    vmovapd %ymm14, 608(%rcx)3867; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3868; AVX-NEXT:    vmovaps %ymm1, 544(%rcx)3869; AVX-NEXT:    vmovapd %ymm0, 512(%rcx)3870; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3871; AVX-NEXT:    vmovaps %ymm0, 448(%rcx)3872; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3873; AVX-NEXT:    vmovaps %ymm0, 416(%rcx)3874; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3875; AVX-NEXT:    vmovaps %ymm0, 352(%rcx)3876; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3877; AVX-NEXT:    vmovaps %ymm0, 320(%rcx)3878; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3879; AVX-NEXT:    vmovaps %ymm0, 256(%rcx)3880; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3881; AVX-NEXT:    vmovaps %ymm0, 224(%rcx)3882; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3883; AVX-NEXT:    vmovaps %ymm0, 160(%rcx)3884; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3885; AVX-NEXT:    vmovaps %ymm0, 128(%rcx)3886; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3887; AVX-NEXT:    vmovaps %ymm0, 64(%rcx)3888; AVX-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload3889; AVX-NEXT:    vmovaps %ymm0, 32(%rcx)3890; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3891; AVX-NEXT:    vmovaps %ymm0, 1440(%rcx)3892; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3893; AVX-NEXT:    vmovaps %ymm0, 1344(%rcx)3894; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3895; AVX-NEXT:    vmovaps %ymm0, 1248(%rcx)3896; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3897; AVX-NEXT:    vmovaps %ymm0, 1152(%rcx)3898; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3899; AVX-NEXT:    vmovaps %ymm0, 1056(%rcx)3900; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3901; AVX-NEXT:    vmovaps %ymm0, 960(%rcx)3902; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3903; AVX-NEXT:    vmovaps %ymm0, 864(%rcx)3904; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3905; AVX-NEXT:    vmovaps %ymm0, 768(%rcx)3906; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3907; AVX-NEXT:    vmovaps %ymm0, 672(%rcx)3908; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3909; AVX-NEXT:    vmovaps %ymm0, 576(%rcx)3910; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3911; AVX-NEXT:    vmovaps %ymm0, 480(%rcx)3912; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3913; AVX-NEXT:    vmovaps %ymm0, 384(%rcx)3914; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3915; AVX-NEXT:    vmovaps %ymm0, 288(%rcx)3916; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3917; AVX-NEXT:    vmovaps %ymm0, 192(%rcx)3918; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3919; AVX-NEXT:    vmovaps %ymm0, 96(%rcx)3920; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3921; AVX-NEXT:    vmovaps %ymm0, (%rcx)3922; AVX-NEXT:    addq $1480, %rsp # imm = 0x5C83923; AVX-NEXT:    vzeroupper3924; AVX-NEXT:    retq3925;3926; AVX2-LABEL: store_i64_stride3_vf64:3927; AVX2:       # %bb.0:3928; AVX2-NEXT:    subq $936, %rsp # imm = 0x3A83929; AVX2-NEXT:    vmovaps 128(%rdi), %ymm03930; AVX2-NEXT:    vmovaps (%rdi), %ymm83931; AVX2-NEXT:    vmovaps 32(%rdi), %ymm53932; AVX2-NEXT:    vmovaps 64(%rdi), %ymm33933; AVX2-NEXT:    vmovaps 96(%rdi), %ymm23934; AVX2-NEXT:    vmovaps 128(%rsi), %ymm13935; AVX2-NEXT:    vmovaps (%rsi), %ymm113936; AVX2-NEXT:    vmovaps 32(%rsi), %ymm93937; AVX2-NEXT:    vmovaps 64(%rsi), %ymm63938; AVX2-NEXT:    vmovaps 96(%rsi), %ymm43939; AVX2-NEXT:    vmovaps (%rdx), %ymm123940; AVX2-NEXT:    vmovaps 32(%rdx), %ymm133941; AVX2-NEXT:    vmovaps 64(%rdx), %ymm103942; AVX2-NEXT:    vmovaps 96(%rdx), %ymm73943; AVX2-NEXT:    vmovddup {{.*#+}} xmm14 = mem[0,0]3944; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = ymm8[0,1,2,1]3945; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1],ymm14[2,3],ymm15[4,5,6,7]3946; AVX2-NEXT:    vbroadcastsd (%rdx), %ymm153947; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5],ymm14[6,7]3948; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3949; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm11[2,3,0,1,6,7,4,5]3950; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm8[4,5],ymm14[6,7]3951; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm12[2,3],ymm14[4,5,6,7]3952; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3953; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]3954; AVX2-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]3955; AVX2-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]3956; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3,4,5],ymm11[6,7]3957; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3958; AVX2-NEXT:    vmovddup {{.*#+}} xmm8 = mem[0,0]3959; AVX2-NEXT:    vpermpd {{.*#+}} ymm11 = ymm5[0,1,2,1]3960; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3],ymm11[4,5,6,7]3961; AVX2-NEXT:    vbroadcastsd 32(%rdx), %ymm113962; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm11[4,5],ymm8[6,7]3963; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3964; AVX2-NEXT:    vshufps {{.*#+}} ymm8 = ymm9[2,3,0,1,6,7,4,5]3965; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm5[4,5],ymm8[6,7]3966; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm13[2,3],ymm8[4,5,6,7]3967; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3968; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm9[1],ymm5[3],ymm9[3]3969; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]3970; AVX2-NEXT:    vpermpd {{.*#+}} ymm8 = ymm13[2,1,2,3]3971; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3,4,5],ymm8[6,7]3972; AVX2-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3973; AVX2-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]3974; AVX2-NEXT:    vpermpd {{.*#+}} ymm8 = ymm3[0,1,2,1]3975; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]3976; AVX2-NEXT:    vbroadcastsd 64(%rdx), %ymm83977; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm8[4,5],ymm5[6,7]3978; AVX2-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3979; AVX2-NEXT:    vshufps {{.*#+}} ymm5 = ymm6[2,3,0,1,6,7,4,5]3980; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]3981; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]3982; AVX2-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3983; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]3984; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]3985; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm10[2,1,2,3]3986; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]3987; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3988; AVX2-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]3989; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm2[0,1,2,1]3990; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3],ymm5[4,5,6,7]3991; AVX2-NEXT:    vbroadcastsd 96(%rdx), %ymm53992; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm5[4,5],ymm3[6,7]3993; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3994; AVX2-NEXT:    vshufps {{.*#+}} ymm3 = ymm4[2,3,0,1,6,7,4,5]3995; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm2[4,5],ymm3[6,7]3996; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm7[2,3],ymm3[4,5,6,7]3997; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3998; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]3999; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4000; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm7[2,1,2,3]4001; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]4002; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4003; AVX2-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]4004; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]4005; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]4006; AVX2-NEXT:    vbroadcastsd 128(%rdx), %ymm34007; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4008; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4009; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4010; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4011; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4012; AVX2-NEXT:    vmovaps 128(%rdx), %ymm14013; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4014; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4015; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4016; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4017; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4018; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4019; AVX2-NEXT:    vmovaps 160(%rdi), %ymm04020; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4021; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4022; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4023; AVX2-NEXT:    vbroadcastsd 160(%rdx), %ymm24024; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4025; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4026; AVX2-NEXT:    vmovaps 160(%rsi), %ymm14027; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4028; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4029; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4030; AVX2-NEXT:    vmovaps 160(%rdx), %ymm14031; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4032; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4033; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4034; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4035; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4036; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4037; AVX2-NEXT:    vmovaps 192(%rdi), %ymm04038; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4039; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4040; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4041; AVX2-NEXT:    vbroadcastsd 192(%rdx), %ymm24042; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4043; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4044; AVX2-NEXT:    vmovaps 192(%rsi), %ymm14045; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4046; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4047; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4048; AVX2-NEXT:    vmovaps 192(%rdx), %ymm14049; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4050; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4051; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4052; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4053; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4054; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4055; AVX2-NEXT:    vmovaps 224(%rdi), %ymm04056; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4057; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4058; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4059; AVX2-NEXT:    vbroadcastsd 224(%rdx), %ymm24060; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4061; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4062; AVX2-NEXT:    vmovaps 224(%rsi), %ymm14063; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4064; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4065; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4066; AVX2-NEXT:    vmovaps 224(%rdx), %ymm14067; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4068; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4069; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4070; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4071; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4072; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4073; AVX2-NEXT:    vmovaps 256(%rdi), %ymm04074; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4075; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4076; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4077; AVX2-NEXT:    vbroadcastsd 256(%rdx), %ymm24078; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4079; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4080; AVX2-NEXT:    vmovaps 256(%rsi), %ymm14081; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4082; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4083; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4084; AVX2-NEXT:    vmovaps 256(%rdx), %ymm14085; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4086; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4087; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4088; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4089; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4090; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4091; AVX2-NEXT:    vmovaps 288(%rdi), %ymm04092; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4093; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4094; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4095; AVX2-NEXT:    vbroadcastsd 288(%rdx), %ymm24096; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4097; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4098; AVX2-NEXT:    vmovaps 288(%rsi), %ymm14099; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4100; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4101; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4102; AVX2-NEXT:    vmovaps 288(%rdx), %ymm14103; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4104; AVX2-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill4105; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4106; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4107; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4108; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4109; AVX2-NEXT:    vmovaps 320(%rdi), %ymm04110; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4111; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4112; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4113; AVX2-NEXT:    vbroadcastsd 320(%rdx), %ymm24114; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4115; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4116; AVX2-NEXT:    vmovaps 320(%rsi), %ymm14117; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4118; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4119; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4120; AVX2-NEXT:    vmovaps 320(%rdx), %ymm14121; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4122; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4123; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4124; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4125; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4126; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4127; AVX2-NEXT:    vmovaps 352(%rdi), %ymm04128; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4129; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4130; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4131; AVX2-NEXT:    vbroadcastsd 352(%rdx), %ymm24132; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4133; AVX2-NEXT:    vmovaps 352(%rsi), %ymm14134; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4135; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4136; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4137; AVX2-NEXT:    vmovaps 352(%rdx), %ymm14138; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4139; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4140; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4141; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4142; AVX2-NEXT:    vmovaps 384(%rdi), %ymm04143; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4144; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4145; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4146; AVX2-NEXT:    vbroadcastsd 384(%rdx), %ymm24147; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4148; AVX2-NEXT:    vmovaps 384(%rsi), %ymm14149; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4150; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4151; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4152; AVX2-NEXT:    vmovaps 384(%rdx), %ymm14153; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4154; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4155; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4156; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4157; AVX2-NEXT:    vmovaps 416(%rdi), %ymm04158; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4159; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4160; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4161; AVX2-NEXT:    vbroadcastsd 416(%rdx), %ymm24162; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4163; AVX2-NEXT:    vmovaps 416(%rsi), %ymm14164; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4165; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4166; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4167; AVX2-NEXT:    vmovaps 416(%rdx), %ymm14168; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4169; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4170; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4171; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4172; AVX2-NEXT:    vmovaps 448(%rdi), %ymm04173; AVX2-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4174; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,1,2,1]4175; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm1[2,3],ymm15[4,5,6,7]4176; AVX2-NEXT:    vbroadcastsd 448(%rdx), %ymm154177; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm15[4,5],ymm1[6,7]4178; AVX2-NEXT:    vmovaps 448(%rsi), %ymm154179; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm15[2,3,0,1,6,7,4,5]4180; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm0[4,5],ymm14[6,7]4181; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]4182; AVX2-NEXT:    vmovaps 448(%rdx), %ymm154183; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm15[2,3],ymm14[4,5,6,7]4184; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4185; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4186; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm0[2,3,4,5],ymm15[6,7]4187; AVX2-NEXT:    vmovaps 480(%rdi), %ymm154188; AVX2-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]4189; AVX2-NEXT:    vpermpd {{.*#+}} ymm13 = ymm15[0,1,2,1]4190; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1],ymm0[2,3],ymm13[4,5,6,7]4191; AVX2-NEXT:    vbroadcastsd 480(%rdx), %ymm134192; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5],ymm0[6,7]4193; AVX2-NEXT:    vmovaps 480(%rsi), %ymm134194; AVX2-NEXT:    vshufps {{.*#+}} ymm12 = ymm13[2,3,0,1,6,7,4,5]4195; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm15[4,5],ymm12[6,7]4196; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]4197; AVX2-NEXT:    vmovaps 480(%rdx), %ymm154198; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm15[2,3],ymm12[4,5,6,7]4199; AVX2-NEXT:    vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]4200; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4201; AVX2-NEXT:    vblendps {{.*#+}} ymm13 = ymm15[0,1],ymm13[2,3,4,5],ymm15[6,7]4202; AVX2-NEXT:    vmovaps %ymm13, 1504(%rcx)4203; AVX2-NEXT:    vmovaps %ymm12, 1472(%rcx)4204; AVX2-NEXT:    vmovaps %ymm0, 1440(%rcx)4205; AVX2-NEXT:    vmovaps %ymm1, 1408(%rcx)4206; AVX2-NEXT:    vmovaps %ymm14, 1376(%rcx)4207; AVX2-NEXT:    vmovaps %ymm2, 1344(%rcx)4208; AVX2-NEXT:    vmovaps %ymm3, 1312(%rcx)4209; AVX2-NEXT:    vmovaps %ymm4, 1280(%rcx)4210; AVX2-NEXT:    vmovaps %ymm5, 1248(%rcx)4211; AVX2-NEXT:    vmovaps %ymm6, 1216(%rcx)4212; AVX2-NEXT:    vmovaps %ymm7, 1184(%rcx)4213; AVX2-NEXT:    vmovaps %ymm8, 1152(%rcx)4214; AVX2-NEXT:    vmovaps %ymm9, 1120(%rcx)4215; AVX2-NEXT:    vmovaps %ymm10, 1088(%rcx)4216; AVX2-NEXT:    vmovaps %ymm11, 1056(%rcx)4217; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4218; AVX2-NEXT:    vmovaps %ymm0, 1024(%rcx)4219; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4220; AVX2-NEXT:    vmovaps %ymm0, 992(%rcx)4221; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4222; AVX2-NEXT:    vmovaps %ymm0, 960(%rcx)4223; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4224; AVX2-NEXT:    vmovaps %ymm0, 928(%rcx)4225; AVX2-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload4226; AVX2-NEXT:    vmovaps %ymm0, 896(%rcx)4227; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4228; AVX2-NEXT:    vmovaps %ymm0, 864(%rcx)4229; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4230; AVX2-NEXT:    vmovaps %ymm0, 832(%rcx)4231; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4232; AVX2-NEXT:    vmovaps %ymm0, 800(%rcx)4233; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4234; AVX2-NEXT:    vmovaps %ymm0, 768(%rcx)4235; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4236; AVX2-NEXT:    vmovaps %ymm0, 736(%rcx)4237; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4238; AVX2-NEXT:    vmovaps %ymm0, 704(%rcx)4239; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4240; AVX2-NEXT:    vmovaps %ymm0, 672(%rcx)4241; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4242; AVX2-NEXT:    vmovaps %ymm0, 640(%rcx)4243; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4244; AVX2-NEXT:    vmovaps %ymm0, 608(%rcx)4245; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4246; AVX2-NEXT:    vmovaps %ymm0, 576(%rcx)4247; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4248; AVX2-NEXT:    vmovaps %ymm0, 544(%rcx)4249; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4250; AVX2-NEXT:    vmovaps %ymm0, 512(%rcx)4251; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4252; AVX2-NEXT:    vmovaps %ymm0, 480(%rcx)4253; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4254; AVX2-NEXT:    vmovaps %ymm0, 448(%rcx)4255; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4256; AVX2-NEXT:    vmovaps %ymm0, 416(%rcx)4257; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4258; AVX2-NEXT:    vmovaps %ymm0, 384(%rcx)4259; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4260; AVX2-NEXT:    vmovaps %ymm0, 352(%rcx)4261; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4262; AVX2-NEXT:    vmovaps %ymm0, 320(%rcx)4263; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4264; AVX2-NEXT:    vmovaps %ymm0, 288(%rcx)4265; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4266; AVX2-NEXT:    vmovaps %ymm0, 256(%rcx)4267; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4268; AVX2-NEXT:    vmovaps %ymm0, 224(%rcx)4269; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4270; AVX2-NEXT:    vmovaps %ymm0, 192(%rcx)4271; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4272; AVX2-NEXT:    vmovaps %ymm0, 160(%rcx)4273; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4274; AVX2-NEXT:    vmovaps %ymm0, 128(%rcx)4275; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4276; AVX2-NEXT:    vmovaps %ymm0, 96(%rcx)4277; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4278; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)4279; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4280; AVX2-NEXT:    vmovaps %ymm0, 32(%rcx)4281; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4282; AVX2-NEXT:    vmovaps %ymm0, (%rcx)4283; AVX2-NEXT:    addq $936, %rsp # imm = 0x3A84284; AVX2-NEXT:    vzeroupper4285; AVX2-NEXT:    retq4286;4287; AVX2-FP-LABEL: store_i64_stride3_vf64:4288; AVX2-FP:       # %bb.0:4289; AVX2-FP-NEXT:    subq $936, %rsp # imm = 0x3A84290; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm04291; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm84292; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm54293; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm34294; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm24295; AVX2-FP-NEXT:    vmovaps 128(%rsi), %ymm14296; AVX2-FP-NEXT:    vmovaps (%rsi), %ymm114297; AVX2-FP-NEXT:    vmovaps 32(%rsi), %ymm94298; AVX2-FP-NEXT:    vmovaps 64(%rsi), %ymm64299; AVX2-FP-NEXT:    vmovaps 96(%rsi), %ymm44300; AVX2-FP-NEXT:    vmovaps (%rdx), %ymm124301; AVX2-FP-NEXT:    vmovaps 32(%rdx), %ymm134302; AVX2-FP-NEXT:    vmovaps 64(%rdx), %ymm104303; AVX2-FP-NEXT:    vmovaps 96(%rdx), %ymm74304; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm14 = mem[0,0]4305; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm8[0,1,2,1]4306; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1],ymm14[2,3],ymm15[4,5,6,7]4307; AVX2-FP-NEXT:    vbroadcastsd (%rdx), %ymm154308; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5],ymm14[6,7]4309; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4310; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm11[2,3,0,1,6,7,4,5]4311; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm8[4,5],ymm14[6,7]4312; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm12[2,3],ymm14[4,5,6,7]4313; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4314; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]4315; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]4316; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]4317; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3,4,5],ymm11[6,7]4318; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4319; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm8 = mem[0,0]4320; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm5[0,1,2,1]4321; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3],ymm11[4,5,6,7]4322; AVX2-FP-NEXT:    vbroadcastsd 32(%rdx), %ymm114323; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm11[4,5],ymm8[6,7]4324; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4325; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm8 = ymm9[2,3,0,1,6,7,4,5]4326; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm5[4,5],ymm8[6,7]4327; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm13[2,3],ymm8[4,5,6,7]4328; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4329; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm9[1],ymm5[3],ymm9[3]4330; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]4331; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm13[2,1,2,3]4332; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3,4,5],ymm8[6,7]4333; AVX2-FP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4334; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]4335; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm3[0,1,2,1]4336; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]4337; AVX2-FP-NEXT:    vbroadcastsd 64(%rdx), %ymm84338; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm8[4,5],ymm5[6,7]4339; AVX2-FP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4340; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm5 = ymm6[2,3,0,1,6,7,4,5]4341; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]4342; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]4343; AVX2-FP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4344; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]4345; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]4346; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm10[2,1,2,3]4347; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]4348; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4349; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]4350; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm2[0,1,2,1]4351; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3],ymm5[4,5,6,7]4352; AVX2-FP-NEXT:    vbroadcastsd 96(%rdx), %ymm54353; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm5[4,5],ymm3[6,7]4354; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4355; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm3 = ymm4[2,3,0,1,6,7,4,5]4356; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm2[4,5],ymm3[6,7]4357; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm7[2,3],ymm3[4,5,6,7]4358; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4359; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]4360; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4361; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm7[2,1,2,3]4362; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]4363; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4364; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]4365; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]4366; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]4367; AVX2-FP-NEXT:    vbroadcastsd 128(%rdx), %ymm34368; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4369; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4370; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4371; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4372; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4373; AVX2-FP-NEXT:    vmovaps 128(%rdx), %ymm14374; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4375; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4376; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4377; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4378; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4379; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4380; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm04381; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4382; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4383; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4384; AVX2-FP-NEXT:    vbroadcastsd 160(%rdx), %ymm24385; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4386; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4387; AVX2-FP-NEXT:    vmovaps 160(%rsi), %ymm14388; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4389; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4390; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4391; AVX2-FP-NEXT:    vmovaps 160(%rdx), %ymm14392; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4393; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4394; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4395; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4396; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4397; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4398; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm04399; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4400; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4401; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4402; AVX2-FP-NEXT:    vbroadcastsd 192(%rdx), %ymm24403; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4404; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4405; AVX2-FP-NEXT:    vmovaps 192(%rsi), %ymm14406; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4407; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4408; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4409; AVX2-FP-NEXT:    vmovaps 192(%rdx), %ymm14410; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4411; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4412; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4413; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4414; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4415; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4416; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm04417; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4418; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4419; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4420; AVX2-FP-NEXT:    vbroadcastsd 224(%rdx), %ymm24421; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4422; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4423; AVX2-FP-NEXT:    vmovaps 224(%rsi), %ymm14424; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4425; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4426; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4427; AVX2-FP-NEXT:    vmovaps 224(%rdx), %ymm14428; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4429; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4430; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4431; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4432; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4433; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4434; AVX2-FP-NEXT:    vmovaps 256(%rdi), %ymm04435; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4436; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4437; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4438; AVX2-FP-NEXT:    vbroadcastsd 256(%rdx), %ymm24439; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4440; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4441; AVX2-FP-NEXT:    vmovaps 256(%rsi), %ymm14442; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4443; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4444; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4445; AVX2-FP-NEXT:    vmovaps 256(%rdx), %ymm14446; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4447; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4448; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4449; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4450; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4451; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4452; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm04453; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4454; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4455; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4456; AVX2-FP-NEXT:    vbroadcastsd 288(%rdx), %ymm24457; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4458; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4459; AVX2-FP-NEXT:    vmovaps 288(%rsi), %ymm14460; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4461; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4462; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4463; AVX2-FP-NEXT:    vmovaps 288(%rdx), %ymm14464; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4465; AVX2-FP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill4466; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4467; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4468; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4469; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4470; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm04471; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4472; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4473; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4474; AVX2-FP-NEXT:    vbroadcastsd 320(%rdx), %ymm24475; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4476; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4477; AVX2-FP-NEXT:    vmovaps 320(%rsi), %ymm14478; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4479; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4480; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4481; AVX2-FP-NEXT:    vmovaps 320(%rdx), %ymm14482; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4483; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4484; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4485; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4486; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4487; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4488; AVX2-FP-NEXT:    vmovaps 352(%rdi), %ymm04489; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4490; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4491; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4492; AVX2-FP-NEXT:    vbroadcastsd 352(%rdx), %ymm24493; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4494; AVX2-FP-NEXT:    vmovaps 352(%rsi), %ymm14495; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4496; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4497; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4498; AVX2-FP-NEXT:    vmovaps 352(%rdx), %ymm14499; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4500; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4501; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4502; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4503; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm04504; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4505; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4506; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4507; AVX2-FP-NEXT:    vbroadcastsd 384(%rdx), %ymm24508; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4509; AVX2-FP-NEXT:    vmovaps 384(%rsi), %ymm14510; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4511; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4512; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4513; AVX2-FP-NEXT:    vmovaps 384(%rdx), %ymm14514; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4515; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4516; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4517; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4518; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm04519; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4520; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4521; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4522; AVX2-FP-NEXT:    vbroadcastsd 416(%rdx), %ymm24523; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4524; AVX2-FP-NEXT:    vmovaps 416(%rsi), %ymm14525; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4526; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4527; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4528; AVX2-FP-NEXT:    vmovaps 416(%rdx), %ymm14529; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4530; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4531; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4532; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4533; AVX2-FP-NEXT:    vmovaps 448(%rdi), %ymm04534; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4535; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,1,2,1]4536; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm1[2,3],ymm15[4,5,6,7]4537; AVX2-FP-NEXT:    vbroadcastsd 448(%rdx), %ymm154538; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm15[4,5],ymm1[6,7]4539; AVX2-FP-NEXT:    vmovaps 448(%rsi), %ymm154540; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm15[2,3,0,1,6,7,4,5]4541; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm0[4,5],ymm14[6,7]4542; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]4543; AVX2-FP-NEXT:    vmovaps 448(%rdx), %ymm154544; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm15[2,3],ymm14[4,5,6,7]4545; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4546; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4547; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm0[2,3,4,5],ymm15[6,7]4548; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm154549; AVX2-FP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]4550; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm13 = ymm15[0,1,2,1]4551; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1],ymm0[2,3],ymm13[4,5,6,7]4552; AVX2-FP-NEXT:    vbroadcastsd 480(%rdx), %ymm134553; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5],ymm0[6,7]4554; AVX2-FP-NEXT:    vmovaps 480(%rsi), %ymm134555; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm12 = ymm13[2,3,0,1,6,7,4,5]4556; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm15[4,5],ymm12[6,7]4557; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]4558; AVX2-FP-NEXT:    vmovaps 480(%rdx), %ymm154559; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm15[2,3],ymm12[4,5,6,7]4560; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]4561; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4562; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm13 = ymm15[0,1],ymm13[2,3,4,5],ymm15[6,7]4563; AVX2-FP-NEXT:    vmovaps %ymm13, 1504(%rcx)4564; AVX2-FP-NEXT:    vmovaps %ymm12, 1472(%rcx)4565; AVX2-FP-NEXT:    vmovaps %ymm0, 1440(%rcx)4566; AVX2-FP-NEXT:    vmovaps %ymm1, 1408(%rcx)4567; AVX2-FP-NEXT:    vmovaps %ymm14, 1376(%rcx)4568; AVX2-FP-NEXT:    vmovaps %ymm2, 1344(%rcx)4569; AVX2-FP-NEXT:    vmovaps %ymm3, 1312(%rcx)4570; AVX2-FP-NEXT:    vmovaps %ymm4, 1280(%rcx)4571; AVX2-FP-NEXT:    vmovaps %ymm5, 1248(%rcx)4572; AVX2-FP-NEXT:    vmovaps %ymm6, 1216(%rcx)4573; AVX2-FP-NEXT:    vmovaps %ymm7, 1184(%rcx)4574; AVX2-FP-NEXT:    vmovaps %ymm8, 1152(%rcx)4575; AVX2-FP-NEXT:    vmovaps %ymm9, 1120(%rcx)4576; AVX2-FP-NEXT:    vmovaps %ymm10, 1088(%rcx)4577; AVX2-FP-NEXT:    vmovaps %ymm11, 1056(%rcx)4578; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4579; AVX2-FP-NEXT:    vmovaps %ymm0, 1024(%rcx)4580; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4581; AVX2-FP-NEXT:    vmovaps %ymm0, 992(%rcx)4582; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4583; AVX2-FP-NEXT:    vmovaps %ymm0, 960(%rcx)4584; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4585; AVX2-FP-NEXT:    vmovaps %ymm0, 928(%rcx)4586; AVX2-FP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload4587; AVX2-FP-NEXT:    vmovaps %ymm0, 896(%rcx)4588; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4589; AVX2-FP-NEXT:    vmovaps %ymm0, 864(%rcx)4590; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4591; AVX2-FP-NEXT:    vmovaps %ymm0, 832(%rcx)4592; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4593; AVX2-FP-NEXT:    vmovaps %ymm0, 800(%rcx)4594; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4595; AVX2-FP-NEXT:    vmovaps %ymm0, 768(%rcx)4596; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4597; AVX2-FP-NEXT:    vmovaps %ymm0, 736(%rcx)4598; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4599; AVX2-FP-NEXT:    vmovaps %ymm0, 704(%rcx)4600; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4601; AVX2-FP-NEXT:    vmovaps %ymm0, 672(%rcx)4602; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4603; AVX2-FP-NEXT:    vmovaps %ymm0, 640(%rcx)4604; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4605; AVX2-FP-NEXT:    vmovaps %ymm0, 608(%rcx)4606; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4607; AVX2-FP-NEXT:    vmovaps %ymm0, 576(%rcx)4608; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4609; AVX2-FP-NEXT:    vmovaps %ymm0, 544(%rcx)4610; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4611; AVX2-FP-NEXT:    vmovaps %ymm0, 512(%rcx)4612; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4613; AVX2-FP-NEXT:    vmovaps %ymm0, 480(%rcx)4614; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4615; AVX2-FP-NEXT:    vmovaps %ymm0, 448(%rcx)4616; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4617; AVX2-FP-NEXT:    vmovaps %ymm0, 416(%rcx)4618; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4619; AVX2-FP-NEXT:    vmovaps %ymm0, 384(%rcx)4620; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4621; AVX2-FP-NEXT:    vmovaps %ymm0, 352(%rcx)4622; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4623; AVX2-FP-NEXT:    vmovaps %ymm0, 320(%rcx)4624; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4625; AVX2-FP-NEXT:    vmovaps %ymm0, 288(%rcx)4626; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4627; AVX2-FP-NEXT:    vmovaps %ymm0, 256(%rcx)4628; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4629; AVX2-FP-NEXT:    vmovaps %ymm0, 224(%rcx)4630; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4631; AVX2-FP-NEXT:    vmovaps %ymm0, 192(%rcx)4632; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4633; AVX2-FP-NEXT:    vmovaps %ymm0, 160(%rcx)4634; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4635; AVX2-FP-NEXT:    vmovaps %ymm0, 128(%rcx)4636; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4637; AVX2-FP-NEXT:    vmovaps %ymm0, 96(%rcx)4638; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4639; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)4640; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4641; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%rcx)4642; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4643; AVX2-FP-NEXT:    vmovaps %ymm0, (%rcx)4644; AVX2-FP-NEXT:    addq $936, %rsp # imm = 0x3A84645; AVX2-FP-NEXT:    vzeroupper4646; AVX2-FP-NEXT:    retq4647;4648; AVX2-FCP-LABEL: store_i64_stride3_vf64:4649; AVX2-FCP:       # %bb.0:4650; AVX2-FCP-NEXT:    subq $936, %rsp # imm = 0x3A84651; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm04652; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm84653; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm54654; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm34655; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm24656; AVX2-FCP-NEXT:    vmovaps 128(%rsi), %ymm14657; AVX2-FCP-NEXT:    vmovaps (%rsi), %ymm114658; AVX2-FCP-NEXT:    vmovaps 32(%rsi), %ymm94659; AVX2-FCP-NEXT:    vmovaps 64(%rsi), %ymm64660; AVX2-FCP-NEXT:    vmovaps 96(%rsi), %ymm44661; AVX2-FCP-NEXT:    vmovaps (%rdx), %ymm124662; AVX2-FCP-NEXT:    vmovaps 32(%rdx), %ymm134663; AVX2-FCP-NEXT:    vmovaps 64(%rdx), %ymm104664; AVX2-FCP-NEXT:    vmovaps 96(%rdx), %ymm74665; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm14 = mem[0,0]4666; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm8[0,1,2,1]4667; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1],ymm14[2,3],ymm15[4,5,6,7]4668; AVX2-FCP-NEXT:    vbroadcastsd (%rdx), %ymm154669; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5],ymm14[6,7]4670; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4671; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm11[2,3,0,1,6,7,4,5]4672; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm8[4,5],ymm14[6,7]4673; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm12[2,3],ymm14[4,5,6,7]4674; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4675; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]4676; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm8[0,2,3,3]4677; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm12[2,1,2,3]4678; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3,4,5],ymm11[6,7]4679; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4680; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm8 = mem[0,0]4681; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm11 = ymm5[0,1,2,1]4682; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm11[0,1],ymm8[2,3],ymm11[4,5,6,7]4683; AVX2-FCP-NEXT:    vbroadcastsd 32(%rdx), %ymm114684; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm11[4,5],ymm8[6,7]4685; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4686; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm8 = ymm9[2,3,0,1,6,7,4,5]4687; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm5[4,5],ymm8[6,7]4688; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm13[2,3],ymm8[4,5,6,7]4689; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4690; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm9[1],ymm5[3],ymm9[3]4691; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm5[0,2,3,3]4692; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm13[2,1,2,3]4693; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3,4,5],ymm8[6,7]4694; AVX2-FCP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4695; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm5 = mem[0,0]4696; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm8 = ymm3[0,1,2,1]4697; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3],ymm8[4,5,6,7]4698; AVX2-FCP-NEXT:    vbroadcastsd 64(%rdx), %ymm84699; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm8[4,5],ymm5[6,7]4700; AVX2-FCP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4701; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm5 = ymm6[2,3,0,1,6,7,4,5]4702; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm3[4,5],ymm5[6,7]4703; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]4704; AVX2-FCP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4705; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm6[1],ymm3[3],ymm6[3]4706; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm3[0,2,3,3]4707; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm10[2,1,2,3]4708; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3,4,5],ymm5[6,7]4709; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4710; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm3 = mem[0,0]4711; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm2[0,1,2,1]4712; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1],ymm3[2,3],ymm5[4,5,6,7]4713; AVX2-FCP-NEXT:    vbroadcastsd 96(%rdx), %ymm54714; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm5[4,5],ymm3[6,7]4715; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4716; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm3 = ymm4[2,3,0,1,6,7,4,5]4717; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm2[4,5],ymm3[6,7]4718; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm7[2,3],ymm3[4,5,6,7]4719; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4720; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]4721; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm2[0,2,3,3]4722; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm7[2,1,2,3]4723; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3,4,5],ymm3[6,7]4724; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4725; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm2 = mem[0,0]4726; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm0[0,1,2,1]4727; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]4728; AVX2-FCP-NEXT:    vbroadcastsd 128(%rdx), %ymm34729; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5],ymm2[6,7]4730; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4731; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4732; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4733; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4734; AVX2-FCP-NEXT:    vmovaps 128(%rdx), %ymm14735; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4736; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4737; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4738; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4739; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4740; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4741; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm04742; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4743; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4744; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4745; AVX2-FCP-NEXT:    vbroadcastsd 160(%rdx), %ymm24746; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4747; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4748; AVX2-FCP-NEXT:    vmovaps 160(%rsi), %ymm14749; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4750; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4751; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4752; AVX2-FCP-NEXT:    vmovaps 160(%rdx), %ymm14753; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4754; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4755; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4756; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4757; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4758; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4759; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm04760; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4761; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4762; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4763; AVX2-FCP-NEXT:    vbroadcastsd 192(%rdx), %ymm24764; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4765; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4766; AVX2-FCP-NEXT:    vmovaps 192(%rsi), %ymm14767; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4768; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4769; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4770; AVX2-FCP-NEXT:    vmovaps 192(%rdx), %ymm14771; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4772; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4773; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4774; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4775; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4776; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4777; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm04778; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4779; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4780; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4781; AVX2-FCP-NEXT:    vbroadcastsd 224(%rdx), %ymm24782; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4783; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4784; AVX2-FCP-NEXT:    vmovaps 224(%rsi), %ymm14785; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4786; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4787; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4788; AVX2-FCP-NEXT:    vmovaps 224(%rdx), %ymm14789; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4790; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4791; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4792; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4793; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4794; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4795; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %ymm04796; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4797; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4798; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4799; AVX2-FCP-NEXT:    vbroadcastsd 256(%rdx), %ymm24800; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4801; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4802; AVX2-FCP-NEXT:    vmovaps 256(%rsi), %ymm14803; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4804; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4805; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4806; AVX2-FCP-NEXT:    vmovaps 256(%rdx), %ymm14807; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4808; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4809; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4810; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4811; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4812; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4813; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm04814; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4815; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4816; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4817; AVX2-FCP-NEXT:    vbroadcastsd 288(%rdx), %ymm24818; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4819; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4820; AVX2-FCP-NEXT:    vmovaps 288(%rsi), %ymm14821; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4822; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4823; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4824; AVX2-FCP-NEXT:    vmovaps 288(%rdx), %ymm14825; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4826; AVX2-FCP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill4827; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4828; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4829; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4830; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4831; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm04832; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4833; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4834; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4835; AVX2-FCP-NEXT:    vbroadcastsd 320(%rdx), %ymm24836; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4837; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4838; AVX2-FCP-NEXT:    vmovaps 320(%rsi), %ymm14839; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4840; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4841; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4842; AVX2-FCP-NEXT:    vmovaps 320(%rdx), %ymm14843; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4844; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4845; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4846; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4847; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4848; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4849; AVX2-FCP-NEXT:    vmovaps 352(%rdi), %ymm04850; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4851; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4852; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4853; AVX2-FCP-NEXT:    vbroadcastsd 352(%rdx), %ymm24854; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4855; AVX2-FCP-NEXT:    vmovaps 352(%rsi), %ymm14856; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4857; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4858; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4859; AVX2-FCP-NEXT:    vmovaps 352(%rdx), %ymm14860; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4861; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4862; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4863; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4864; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm04865; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4866; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4867; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4868; AVX2-FCP-NEXT:    vbroadcastsd 384(%rdx), %ymm24869; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4870; AVX2-FCP-NEXT:    vmovaps 384(%rsi), %ymm14871; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4872; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4873; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4874; AVX2-FCP-NEXT:    vmovaps 384(%rdx), %ymm14875; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4876; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4877; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4878; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4879; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm04880; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4881; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm0[0,1,2,1]4882; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4883; AVX2-FCP-NEXT:    vbroadcastsd 416(%rdx), %ymm24884; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm1[0,1,2,3],ymm2[4,5],ymm1[6,7]4885; AVX2-FCP-NEXT:    vmovaps 416(%rsi), %ymm14886; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm1[2,3,0,1,6,7,4,5]4887; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5],ymm2[6,7]4888; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]4889; AVX2-FCP-NEXT:    vmovaps 416(%rdx), %ymm14890; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm2[0,1],ymm1[2,3],ymm2[4,5,6,7]4891; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4892; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[2,1,2,3]4893; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1],ymm0[2,3,4,5],ymm1[6,7]4894; AVX2-FCP-NEXT:    vmovaps 448(%rdi), %ymm04895; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm1 = mem[0,0]4896; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,1,2,1]4897; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm1[2,3],ymm15[4,5,6,7]4898; AVX2-FCP-NEXT:    vbroadcastsd 448(%rdx), %ymm154899; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm15[4,5],ymm1[6,7]4900; AVX2-FCP-NEXT:    vmovaps 448(%rsi), %ymm154901; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm15[2,3,0,1,6,7,4,5]4902; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm0[4,5],ymm14[6,7]4903; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]4904; AVX2-FCP-NEXT:    vmovaps 448(%rdx), %ymm154905; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1],ymm15[2,3],ymm14[4,5,6,7]4906; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]4907; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4908; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm15[0,1],ymm0[2,3,4,5],ymm15[6,7]4909; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm154910; AVX2-FCP-NEXT:    vmovddup {{.*#+}} xmm0 = mem[0,0]4911; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm13 = ymm15[0,1,2,1]4912; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm13[0,1],ymm0[2,3],ymm13[4,5,6,7]4913; AVX2-FCP-NEXT:    vbroadcastsd 480(%rdx), %ymm134914; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5],ymm0[6,7]4915; AVX2-FCP-NEXT:    vmovaps 480(%rsi), %ymm134916; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm12 = ymm13[2,3,0,1,6,7,4,5]4917; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm15[4,5],ymm12[6,7]4918; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]4919; AVX2-FCP-NEXT:    vmovaps 480(%rdx), %ymm154920; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1],ymm15[2,3],ymm12[4,5,6,7]4921; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm13 = ymm13[0,2,3,3]4922; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm15[2,1,2,3]4923; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm13 = ymm15[0,1],ymm13[2,3,4,5],ymm15[6,7]4924; AVX2-FCP-NEXT:    vmovaps %ymm13, 1504(%rcx)4925; AVX2-FCP-NEXT:    vmovaps %ymm12, 1472(%rcx)4926; AVX2-FCP-NEXT:    vmovaps %ymm0, 1440(%rcx)4927; AVX2-FCP-NEXT:    vmovaps %ymm1, 1408(%rcx)4928; AVX2-FCP-NEXT:    vmovaps %ymm14, 1376(%rcx)4929; AVX2-FCP-NEXT:    vmovaps %ymm2, 1344(%rcx)4930; AVX2-FCP-NEXT:    vmovaps %ymm3, 1312(%rcx)4931; AVX2-FCP-NEXT:    vmovaps %ymm4, 1280(%rcx)4932; AVX2-FCP-NEXT:    vmovaps %ymm5, 1248(%rcx)4933; AVX2-FCP-NEXT:    vmovaps %ymm6, 1216(%rcx)4934; AVX2-FCP-NEXT:    vmovaps %ymm7, 1184(%rcx)4935; AVX2-FCP-NEXT:    vmovaps %ymm8, 1152(%rcx)4936; AVX2-FCP-NEXT:    vmovaps %ymm9, 1120(%rcx)4937; AVX2-FCP-NEXT:    vmovaps %ymm10, 1088(%rcx)4938; AVX2-FCP-NEXT:    vmovaps %ymm11, 1056(%rcx)4939; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4940; AVX2-FCP-NEXT:    vmovaps %ymm0, 1024(%rcx)4941; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4942; AVX2-FCP-NEXT:    vmovaps %ymm0, 992(%rcx)4943; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4944; AVX2-FCP-NEXT:    vmovaps %ymm0, 960(%rcx)4945; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4946; AVX2-FCP-NEXT:    vmovaps %ymm0, 928(%rcx)4947; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload4948; AVX2-FCP-NEXT:    vmovaps %ymm0, 896(%rcx)4949; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4950; AVX2-FCP-NEXT:    vmovaps %ymm0, 864(%rcx)4951; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4952; AVX2-FCP-NEXT:    vmovaps %ymm0, 832(%rcx)4953; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4954; AVX2-FCP-NEXT:    vmovaps %ymm0, 800(%rcx)4955; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4956; AVX2-FCP-NEXT:    vmovaps %ymm0, 768(%rcx)4957; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4958; AVX2-FCP-NEXT:    vmovaps %ymm0, 736(%rcx)4959; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4960; AVX2-FCP-NEXT:    vmovaps %ymm0, 704(%rcx)4961; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4962; AVX2-FCP-NEXT:    vmovaps %ymm0, 672(%rcx)4963; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4964; AVX2-FCP-NEXT:    vmovaps %ymm0, 640(%rcx)4965; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4966; AVX2-FCP-NEXT:    vmovaps %ymm0, 608(%rcx)4967; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4968; AVX2-FCP-NEXT:    vmovaps %ymm0, 576(%rcx)4969; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4970; AVX2-FCP-NEXT:    vmovaps %ymm0, 544(%rcx)4971; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4972; AVX2-FCP-NEXT:    vmovaps %ymm0, 512(%rcx)4973; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4974; AVX2-FCP-NEXT:    vmovaps %ymm0, 480(%rcx)4975; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4976; AVX2-FCP-NEXT:    vmovaps %ymm0, 448(%rcx)4977; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4978; AVX2-FCP-NEXT:    vmovaps %ymm0, 416(%rcx)4979; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4980; AVX2-FCP-NEXT:    vmovaps %ymm0, 384(%rcx)4981; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4982; AVX2-FCP-NEXT:    vmovaps %ymm0, 352(%rcx)4983; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4984; AVX2-FCP-NEXT:    vmovaps %ymm0, 320(%rcx)4985; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4986; AVX2-FCP-NEXT:    vmovaps %ymm0, 288(%rcx)4987; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4988; AVX2-FCP-NEXT:    vmovaps %ymm0, 256(%rcx)4989; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4990; AVX2-FCP-NEXT:    vmovaps %ymm0, 224(%rcx)4991; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4992; AVX2-FCP-NEXT:    vmovaps %ymm0, 192(%rcx)4993; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4994; AVX2-FCP-NEXT:    vmovaps %ymm0, 160(%rcx)4995; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4996; AVX2-FCP-NEXT:    vmovaps %ymm0, 128(%rcx)4997; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4998; AVX2-FCP-NEXT:    vmovaps %ymm0, 96(%rcx)4999; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5000; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)5001; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5002; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%rcx)5003; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5004; AVX2-FCP-NEXT:    vmovaps %ymm0, (%rcx)5005; AVX2-FCP-NEXT:    addq $936, %rsp # imm = 0x3A85006; AVX2-FCP-NEXT:    vzeroupper5007; AVX2-FCP-NEXT:    retq5008;5009; AVX512-LABEL: store_i64_stride3_vf64:5010; AVX512:       # %bb.0:5011; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm55012; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm115013; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm165014; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm245015; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm135016; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm205017; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm275018; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm305019; AVX512-NEXT:    vmovdqa64 448(%rsi), %zmm95020; AVX512-NEXT:    vmovdqa64 384(%rsi), %zmm85021; AVX512-NEXT:    vmovdqa64 320(%rsi), %zmm75022; AVX512-NEXT:    vmovdqa64 256(%rsi), %zmm45023; AVX512-NEXT:    vmovdqa64 (%rsi), %zmm05024; AVX512-NEXT:    vmovdqa64 64(%rsi), %zmm15025; AVX512-NEXT:    vmovdqa64 128(%rsi), %zmm25026; AVX512-NEXT:    vmovdqa64 192(%rsi), %zmm65027; AVX512-NEXT:    vmovdqa64 448(%rdx), %zmm125028; AVX512-NEXT:    vmovdqa64 384(%rdx), %zmm185029; AVX512-NEXT:    vmovdqa64 320(%rdx), %zmm265030; AVX512-NEXT:    vmovdqa64 256(%rdx), %zmm285031; AVX512-NEXT:    vmovdqa64 (%rdx), %zmm155032; AVX512-NEXT:    vmovdqa64 64(%rdx), %zmm255033; AVX512-NEXT:    vmovdqa64 128(%rdx), %zmm295034; AVX512-NEXT:    vmovdqa64 192(%rdx), %zmm315035; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5036; AVX512-NEXT:    vmovdqa64 %zmm13, %zmm35037; AVX512-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35038; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5039; AVX512-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35040; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5041; AVX512-NEXT:    vmovdqa64 %zmm13, %zmm105042; AVX512-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105043; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5044; AVX512-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105045; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5046; AVX512-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05047; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5048; AVX512-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05049; AVX512-NEXT:    vmovdqa64 %zmm20, %zmm135050; AVX512-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135051; AVX512-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135052; AVX512-NEXT:    vmovdqa64 %zmm20, %zmm155053; AVX512-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155054; AVX512-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155055; AVX512-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15056; AVX512-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15057; AVX512-NEXT:    vmovdqa64 %zmm27, %zmm205058; AVX512-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205059; AVX512-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205060; AVX512-NEXT:    vmovdqa64 %zmm27, %zmm255061; AVX512-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255062; AVX512-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255063; AVX512-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25064; AVX512-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25065; AVX512-NEXT:    vmovdqa64 %zmm30, %zmm275066; AVX512-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275067; AVX512-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275068; AVX512-NEXT:    vmovdqa64 %zmm30, %zmm295069; AVX512-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295070; AVX512-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295071; AVX512-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65072; AVX512-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65073; AVX512-NEXT:    vmovdqa64 %zmm24, %zmm305074; AVX512-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305075; AVX512-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305076; AVX512-NEXT:    vmovdqa64 %zmm24, %zmm315077; AVX512-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315078; AVX512-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315079; AVX512-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45080; AVX512-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45081; AVX512-NEXT:    vmovdqa64 %zmm16, %zmm245082; AVX512-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245083; AVX512-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245084; AVX512-NEXT:    vmovdqa64 %zmm16, %zmm285085; AVX512-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285086; AVX512-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285087; AVX512-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75088; AVX512-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75089; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm165090; AVX512-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165091; AVX512-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165092; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm265093; AVX512-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265094; AVX512-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265095; AVX512-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85096; AVX512-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85097; AVX512-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145098; AVX512-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145099; AVX512-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175100; AVX512-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175101; AVX512-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95102; AVX512-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95103; AVX512-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5104; AVX512-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5105; AVX512-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5106; AVX512-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5107; AVX512-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5108; AVX512-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5109; AVX512-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5110; AVX512-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5111; AVX512-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5112; AVX512-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5113; AVX512-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5114; AVX512-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5115; AVX512-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5116; AVX512-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5117; AVX512-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5118; AVX512-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5119; AVX512-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5120; AVX512-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5121; AVX512-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5122; AVX512-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5123; AVX512-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5124; AVX512-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5125; AVX512-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5126; AVX512-NEXT:    vmovdqa64 %zmm3, (%rcx)5127; AVX512-NEXT:    vzeroupper5128; AVX512-NEXT:    retq5129;5130; AVX512-FCP-LABEL: store_i64_stride3_vf64:5131; AVX512-FCP:       # %bb.0:5132; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm55133; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm115134; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm165135; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm245136; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm135137; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm205138; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm275139; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305140; AVX512-FCP-NEXT:    vmovdqa64 448(%rsi), %zmm95141; AVX512-FCP-NEXT:    vmovdqa64 384(%rsi), %zmm85142; AVX512-FCP-NEXT:    vmovdqa64 320(%rsi), %zmm75143; AVX512-FCP-NEXT:    vmovdqa64 256(%rsi), %zmm45144; AVX512-FCP-NEXT:    vmovdqa64 (%rsi), %zmm05145; AVX512-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm15146; AVX512-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm25147; AVX512-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm65148; AVX512-FCP-NEXT:    vmovdqa64 448(%rdx), %zmm125149; AVX512-FCP-NEXT:    vmovdqa64 384(%rdx), %zmm185150; AVX512-FCP-NEXT:    vmovdqa64 320(%rdx), %zmm265151; AVX512-FCP-NEXT:    vmovdqa64 256(%rdx), %zmm285152; AVX512-FCP-NEXT:    vmovdqa64 (%rdx), %zmm155153; AVX512-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm255154; AVX512-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm295155; AVX512-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm315156; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5157; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, %zmm35158; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35159; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5160; AVX512-FCP-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35161; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5162; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, %zmm105163; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105164; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5165; AVX512-FCP-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105166; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5167; AVX512-FCP-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05168; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5169; AVX512-FCP-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05170; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, %zmm135171; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135172; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135173; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, %zmm155174; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155175; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155176; AVX512-FCP-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15177; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15178; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, %zmm205179; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205180; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205181; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, %zmm255182; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255183; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255184; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25185; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25186; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, %zmm275187; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275188; AVX512-FCP-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275189; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, %zmm295190; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295191; AVX512-FCP-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295192; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65193; AVX512-FCP-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65194; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, %zmm305195; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305196; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305197; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, %zmm315198; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315199; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315200; AVX512-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45201; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45202; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, %zmm245203; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245204; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245205; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, %zmm285206; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285207; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285208; AVX512-FCP-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75209; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75210; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm165211; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165212; AVX512-FCP-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165213; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm265214; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265215; AVX512-FCP-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265216; AVX512-FCP-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85217; AVX512-FCP-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85218; AVX512-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145219; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145220; AVX512-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175221; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175222; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95223; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95224; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5225; AVX512-FCP-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5226; AVX512-FCP-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5227; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5228; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5229; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5230; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5231; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5232; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5233; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5234; AVX512-FCP-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5235; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5236; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5237; AVX512-FCP-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5238; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5239; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5240; AVX512-FCP-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5241; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5242; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5243; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5244; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5245; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5246; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5247; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)5248; AVX512-FCP-NEXT:    vzeroupper5249; AVX512-FCP-NEXT:    retq5250;5251; AVX512DQ-LABEL: store_i64_stride3_vf64:5252; AVX512DQ:       # %bb.0:5253; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm55254; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm115255; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm165256; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm245257; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm135258; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm205259; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm275260; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm305261; AVX512DQ-NEXT:    vmovdqa64 448(%rsi), %zmm95262; AVX512DQ-NEXT:    vmovdqa64 384(%rsi), %zmm85263; AVX512DQ-NEXT:    vmovdqa64 320(%rsi), %zmm75264; AVX512DQ-NEXT:    vmovdqa64 256(%rsi), %zmm45265; AVX512DQ-NEXT:    vmovdqa64 (%rsi), %zmm05266; AVX512DQ-NEXT:    vmovdqa64 64(%rsi), %zmm15267; AVX512DQ-NEXT:    vmovdqa64 128(%rsi), %zmm25268; AVX512DQ-NEXT:    vmovdqa64 192(%rsi), %zmm65269; AVX512DQ-NEXT:    vmovdqa64 448(%rdx), %zmm125270; AVX512DQ-NEXT:    vmovdqa64 384(%rdx), %zmm185271; AVX512DQ-NEXT:    vmovdqa64 320(%rdx), %zmm265272; AVX512DQ-NEXT:    vmovdqa64 256(%rdx), %zmm285273; AVX512DQ-NEXT:    vmovdqa64 (%rdx), %zmm155274; AVX512DQ-NEXT:    vmovdqa64 64(%rdx), %zmm255275; AVX512DQ-NEXT:    vmovdqa64 128(%rdx), %zmm295276; AVX512DQ-NEXT:    vmovdqa64 192(%rdx), %zmm315277; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5278; AVX512DQ-NEXT:    vmovdqa64 %zmm13, %zmm35279; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35280; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5281; AVX512DQ-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35282; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5283; AVX512DQ-NEXT:    vmovdqa64 %zmm13, %zmm105284; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105285; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5286; AVX512DQ-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105287; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5288; AVX512DQ-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05289; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5290; AVX512DQ-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05291; AVX512DQ-NEXT:    vmovdqa64 %zmm20, %zmm135292; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135293; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135294; AVX512DQ-NEXT:    vmovdqa64 %zmm20, %zmm155295; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155296; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155297; AVX512DQ-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15298; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15299; AVX512DQ-NEXT:    vmovdqa64 %zmm27, %zmm205300; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205301; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205302; AVX512DQ-NEXT:    vmovdqa64 %zmm27, %zmm255303; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255304; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255305; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25306; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25307; AVX512DQ-NEXT:    vmovdqa64 %zmm30, %zmm275308; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275309; AVX512DQ-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275310; AVX512DQ-NEXT:    vmovdqa64 %zmm30, %zmm295311; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295312; AVX512DQ-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295313; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65314; AVX512DQ-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65315; AVX512DQ-NEXT:    vmovdqa64 %zmm24, %zmm305316; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305317; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305318; AVX512DQ-NEXT:    vmovdqa64 %zmm24, %zmm315319; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315320; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315321; AVX512DQ-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45322; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45323; AVX512DQ-NEXT:    vmovdqa64 %zmm16, %zmm245324; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245325; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245326; AVX512DQ-NEXT:    vmovdqa64 %zmm16, %zmm285327; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285328; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285329; AVX512DQ-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75330; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75331; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm165332; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165333; AVX512DQ-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165334; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm265335; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265336; AVX512DQ-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265337; AVX512DQ-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85338; AVX512DQ-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85339; AVX512DQ-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145340; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145341; AVX512DQ-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175342; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175343; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95344; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95345; AVX512DQ-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5346; AVX512DQ-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5347; AVX512DQ-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5348; AVX512DQ-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5349; AVX512DQ-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5350; AVX512DQ-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5351; AVX512DQ-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5352; AVX512DQ-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5353; AVX512DQ-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5354; AVX512DQ-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5355; AVX512DQ-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5356; AVX512DQ-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5357; AVX512DQ-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5358; AVX512DQ-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5359; AVX512DQ-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5360; AVX512DQ-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5361; AVX512DQ-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5362; AVX512DQ-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5363; AVX512DQ-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5364; AVX512DQ-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5365; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5366; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5367; AVX512DQ-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5368; AVX512DQ-NEXT:    vmovdqa64 %zmm3, (%rcx)5369; AVX512DQ-NEXT:    vzeroupper5370; AVX512DQ-NEXT:    retq5371;5372; AVX512DQ-FCP-LABEL: store_i64_stride3_vf64:5373; AVX512DQ-FCP:       # %bb.0:5374; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm55375; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm115376; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm165377; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm245378; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm135379; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm205380; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm275381; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305382; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rsi), %zmm95383; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rsi), %zmm85384; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rsi), %zmm75385; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rsi), %zmm45386; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rsi), %zmm05387; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm15388; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm25389; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm65390; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdx), %zmm125391; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdx), %zmm185392; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdx), %zmm265393; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdx), %zmm285394; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdx), %zmm155395; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm255396; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm295397; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm315398; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5399; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, %zmm35400; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35401; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5402; AVX512DQ-FCP-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35403; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5404; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, %zmm105405; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105406; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5407; AVX512DQ-FCP-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105408; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5409; AVX512DQ-FCP-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05410; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5411; AVX512DQ-FCP-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05412; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, %zmm135413; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135414; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135415; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, %zmm155416; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155417; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155418; AVX512DQ-FCP-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15419; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15420; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, %zmm205421; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205422; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205423; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, %zmm255424; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255425; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255426; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25427; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25428; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, %zmm275429; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275430; AVX512DQ-FCP-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275431; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, %zmm295432; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295433; AVX512DQ-FCP-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295434; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65435; AVX512DQ-FCP-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65436; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, %zmm305437; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305438; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305439; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, %zmm315440; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315441; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315442; AVX512DQ-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45443; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45444; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, %zmm245445; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245446; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245447; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, %zmm285448; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285449; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285450; AVX512DQ-FCP-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75451; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75452; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm165453; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165454; AVX512DQ-FCP-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165455; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm265456; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265457; AVX512DQ-FCP-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265458; AVX512DQ-FCP-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85459; AVX512DQ-FCP-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85460; AVX512DQ-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145461; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145462; AVX512DQ-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175463; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175464; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95465; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95466; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5467; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5468; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5469; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5470; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5471; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5472; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5473; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5474; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5475; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5476; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5477; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5478; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5479; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5480; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5481; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5482; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5483; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5484; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5485; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5486; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5487; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5488; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5489; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)5490; AVX512DQ-FCP-NEXT:    vzeroupper5491; AVX512DQ-FCP-NEXT:    retq5492;5493; AVX512BW-LABEL: store_i64_stride3_vf64:5494; AVX512BW:       # %bb.0:5495; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm55496; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm115497; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm165498; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm245499; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm135500; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm205501; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm275502; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm305503; AVX512BW-NEXT:    vmovdqa64 448(%rsi), %zmm95504; AVX512BW-NEXT:    vmovdqa64 384(%rsi), %zmm85505; AVX512BW-NEXT:    vmovdqa64 320(%rsi), %zmm75506; AVX512BW-NEXT:    vmovdqa64 256(%rsi), %zmm45507; AVX512BW-NEXT:    vmovdqa64 (%rsi), %zmm05508; AVX512BW-NEXT:    vmovdqa64 64(%rsi), %zmm15509; AVX512BW-NEXT:    vmovdqa64 128(%rsi), %zmm25510; AVX512BW-NEXT:    vmovdqa64 192(%rsi), %zmm65511; AVX512BW-NEXT:    vmovdqa64 448(%rdx), %zmm125512; AVX512BW-NEXT:    vmovdqa64 384(%rdx), %zmm185513; AVX512BW-NEXT:    vmovdqa64 320(%rdx), %zmm265514; AVX512BW-NEXT:    vmovdqa64 256(%rdx), %zmm285515; AVX512BW-NEXT:    vmovdqa64 (%rdx), %zmm155516; AVX512BW-NEXT:    vmovdqa64 64(%rdx), %zmm255517; AVX512BW-NEXT:    vmovdqa64 128(%rdx), %zmm295518; AVX512BW-NEXT:    vmovdqa64 192(%rdx), %zmm315519; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5520; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm35521; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35522; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5523; AVX512BW-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35524; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5525; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm105526; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105527; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5528; AVX512BW-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105529; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5530; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05531; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5532; AVX512BW-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05533; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm135534; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135535; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135536; AVX512BW-NEXT:    vmovdqa64 %zmm20, %zmm155537; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155538; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155539; AVX512BW-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15540; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15541; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm205542; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205543; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205544; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm255545; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255546; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255547; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25548; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25549; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm275550; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275551; AVX512BW-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275552; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm295553; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295554; AVX512BW-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295555; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65556; AVX512BW-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65557; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm305558; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305559; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305560; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm315561; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315562; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315563; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45564; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45565; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm245566; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245567; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245568; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm285569; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285570; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285571; AVX512BW-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75572; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75573; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm165574; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165575; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165576; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm265577; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265578; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265579; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85580; AVX512BW-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85581; AVX512BW-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145582; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145583; AVX512BW-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175584; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175585; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95586; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95587; AVX512BW-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5588; AVX512BW-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5589; AVX512BW-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5590; AVX512BW-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5591; AVX512BW-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5592; AVX512BW-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5593; AVX512BW-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5594; AVX512BW-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5595; AVX512BW-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5596; AVX512BW-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5597; AVX512BW-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5598; AVX512BW-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5599; AVX512BW-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5600; AVX512BW-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5601; AVX512BW-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5602; AVX512BW-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5603; AVX512BW-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5604; AVX512BW-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5605; AVX512BW-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5606; AVX512BW-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5607; AVX512BW-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5608; AVX512BW-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5609; AVX512BW-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5610; AVX512BW-NEXT:    vmovdqa64 %zmm3, (%rcx)5611; AVX512BW-NEXT:    vzeroupper5612; AVX512BW-NEXT:    retq5613;5614; AVX512BW-FCP-LABEL: store_i64_stride3_vf64:5615; AVX512BW-FCP:       # %bb.0:5616; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm55617; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm115618; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm165619; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm245620; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm135621; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm205622; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm275623; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305624; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rsi), %zmm95625; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rsi), %zmm85626; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rsi), %zmm75627; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rsi), %zmm45628; AVX512BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm05629; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm15630; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm25631; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm65632; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdx), %zmm125633; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdx), %zmm185634; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdx), %zmm265635; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdx), %zmm285636; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm155637; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm255638; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm295639; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm315640; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5641; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm35642; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35643; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5644; AVX512BW-FCP-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35645; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5646; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm105647; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105648; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5649; AVX512BW-FCP-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105650; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5651; AVX512BW-FCP-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05652; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5653; AVX512BW-FCP-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05654; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, %zmm135655; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135656; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135657; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, %zmm155658; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155659; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155660; AVX512BW-FCP-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15661; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15662; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm205663; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205664; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205665; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm255666; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255667; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255668; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25669; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25670; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm275671; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275672; AVX512BW-FCP-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275673; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm295674; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295675; AVX512BW-FCP-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295676; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65677; AVX512BW-FCP-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65678; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm305679; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305680; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305681; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm315682; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315683; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315684; AVX512BW-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45685; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45686; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm245687; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245688; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245689; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm285690; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285691; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285692; AVX512BW-FCP-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75693; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75694; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm165695; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165696; AVX512BW-FCP-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165697; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm265698; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265699; AVX512BW-FCP-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265700; AVX512BW-FCP-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85701; AVX512BW-FCP-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85702; AVX512BW-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145703; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145704; AVX512BW-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175705; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175706; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95707; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95708; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5709; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5710; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5711; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5712; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5713; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5714; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5715; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5716; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5717; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5718; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5719; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5720; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5721; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5722; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5723; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5724; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5725; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5726; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5727; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5728; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5729; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5730; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5731; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)5732; AVX512BW-FCP-NEXT:    vzeroupper5733; AVX512BW-FCP-NEXT:    retq5734;5735; AVX512DQ-BW-LABEL: store_i64_stride3_vf64:5736; AVX512DQ-BW:       # %bb.0:5737; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm55738; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm115739; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm165740; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm245741; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm135742; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm205743; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm275744; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm305745; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rsi), %zmm95746; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rsi), %zmm85747; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rsi), %zmm75748; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rsi), %zmm45749; AVX512DQ-BW-NEXT:    vmovdqa64 (%rsi), %zmm05750; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rsi), %zmm15751; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rsi), %zmm25752; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rsi), %zmm65753; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdx), %zmm125754; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdx), %zmm185755; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdx), %zmm265756; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdx), %zmm285757; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdx), %zmm155758; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdx), %zmm255759; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdx), %zmm295760; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdx), %zmm315761; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5762; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm35763; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35764; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5765; AVX512DQ-BW-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35766; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5767; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm105768; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105769; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5770; AVX512DQ-BW-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105771; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5772; AVX512DQ-BW-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05773; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5774; AVX512DQ-BW-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05775; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, %zmm135776; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135777; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135778; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, %zmm155779; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155780; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155781; AVX512DQ-BW-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15782; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15783; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, %zmm205784; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205785; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205786; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, %zmm255787; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255788; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255789; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25790; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25791; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, %zmm275792; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275793; AVX512DQ-BW-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275794; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, %zmm295795; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295796; AVX512DQ-BW-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295797; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65798; AVX512DQ-BW-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65799; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, %zmm305800; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305801; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305802; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, %zmm315803; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315804; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315805; AVX512DQ-BW-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45806; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45807; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, %zmm245808; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245809; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245810; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, %zmm285811; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285812; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285813; AVX512DQ-BW-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75814; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75815; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm165816; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165817; AVX512DQ-BW-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165818; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm265819; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265820; AVX512DQ-BW-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265821; AVX512DQ-BW-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85822; AVX512DQ-BW-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85823; AVX512DQ-BW-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145824; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145825; AVX512DQ-BW-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175826; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175827; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95828; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95829; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5830; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5831; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5832; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5833; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5834; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5835; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5836; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5837; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5838; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5839; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5840; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5841; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5842; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5843; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5844; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5845; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5846; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5847; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5848; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5849; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5850; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5851; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5852; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, (%rcx)5853; AVX512DQ-BW-NEXT:    vzeroupper5854; AVX512DQ-BW-NEXT:    retq5855;5856; AVX512DQ-BW-FCP-LABEL: store_i64_stride3_vf64:5857; AVX512DQ-BW-FCP:       # %bb.0:5858; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm55859; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm115860; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm165861; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm245862; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm135863; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm205864; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm275865; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305866; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rsi), %zmm95867; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rsi), %zmm85868; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rsi), %zmm75869; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rsi), %zmm45870; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rsi), %zmm05871; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rsi), %zmm15872; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rsi), %zmm25873; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rsi), %zmm65874; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdx), %zmm125875; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdx), %zmm185876; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdx), %zmm265877; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdx), %zmm285878; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdx), %zmm155879; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdx), %zmm255880; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdx), %zmm295881; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdx), %zmm315882; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,8,0,1,9,0,2,10]5883; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm35884; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm35885; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm19 = [0,1,8,3,4,9,6,7]5886; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm15, %zmm19, %zmm35887; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm17 = [0,3,11,0,4,12,0,5]5888; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm105889; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm17, %zmm105890; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [10,1,2,11,4,5,12,7]5891; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm15, %zmm21, %zmm105892; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm22 = [5,0,14,6,0,15,7,0]5893; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm13, %zmm22, %zmm05894; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm23 = [0,13,2,3,14,5,6,15]5895; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm15, %zmm23, %zmm05896; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, %zmm135897; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm135898; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm19, %zmm135899; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, %zmm155900; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm17, %zmm155901; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm21, %zmm155902; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm20, %zmm22, %zmm15903; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm23, %zmm15904; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm205905; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm205906; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm19, %zmm205907; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm255908; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm17, %zmm255909; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm21, %zmm255910; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm25911; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm23, %zmm25912; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm275913; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm275914; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm31, %zmm19, %zmm275915; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm295916; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm17, %zmm295917; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm31, %zmm21, %zmm295918; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm65919; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm31, %zmm23, %zmm65920; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm305921; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm305922; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm19, %zmm305923; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm315924; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm17, %zmm315925; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm21, %zmm315926; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm45927; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm23, %zmm45928; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm245929; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm14, %zmm245930; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm19, %zmm245931; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm285932; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm17, %zmm285933; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm21, %zmm285934; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm16, %zmm22, %zmm75935; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm23, %zmm75936; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm165937; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm165938; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm18, %zmm19, %zmm165939; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm265940; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm17, %zmm265941; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm18, %zmm21, %zmm265942; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm11, %zmm22, %zmm85943; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm18, %zmm23, %zmm85944; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm145945; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm145946; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm9, %zmm5, %zmm175947; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm175948; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm22, %zmm95949; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm23, %zmm95950; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, 1472(%rcx)5951; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm17, 1408(%rcx)5952; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, 1344(%rcx)5953; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, 1280(%rcx)5954; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, 1216(%rcx)5955; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, 1152(%rcx)5956; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, 1088(%rcx)5957; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, 1024(%rcx)5958; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, 960(%rcx)5959; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, 896(%rcx)5960; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm31, 832(%rcx)5961; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, 768(%rcx)5962; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, 704(%rcx)5963; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm29, 640(%rcx)5964; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, 576(%rcx)5965; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, 512(%rcx)5966; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm25, 448(%rcx)5967; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rcx)5968; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, 320(%rcx)5969; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, 256(%rcx)5970; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 192(%rcx)5971; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 128(%rcx)5972; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, 64(%rcx)5973; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)5974; AVX512DQ-BW-FCP-NEXT:    vzeroupper5975; AVX512DQ-BW-FCP-NEXT:    retq5976  %in.vec0 = load <64 x i64>, ptr %in.vecptr0, align 645977  %in.vec1 = load <64 x i64>, ptr %in.vecptr1, align 645978  %in.vec2 = load <64 x i64>, ptr %in.vecptr2, align 645979  %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>5980  %2 = shufflevector <64 x i64> %in.vec2, <64 x i64> poison, <128 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>5981  %3 = shufflevector <128 x i64> %1, <128 x i64> %2, <192 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127, i32 128, i32 129, i32 130, i32 131, i32 132, i32 133, i32 134, i32 135, i32 136, i32 137, i32 138, i32 139, i32 140, i32 141, i32 142, i32 143, i32 144, i32 145, i32 146, i32 147, i32 148, i32 149, i32 150, i32 151, i32 152, i32 153, i32 154, i32 155, i32 156, i32 157, i32 158, i32 159, i32 160, i32 161, i32 162, i32 163, i32 164, i32 165, i32 166, i32 167, i32 168, i32 169, i32 170, i32 171, i32 172, i32 173, i32 174, i32 175, i32 176, i32 177, i32 178, i32 179, i32 180, i32 181, i32 182, i32 183, i32 184, i32 185, i32 186, i32 187, i32 188, i32 189, i32 190, i32 191>5982  %interleaved.vec = shufflevector <192 x i64> %3, <192 x i64> poison, <192 x i32> <i32 0, i32 64, i32 128, i32 1, i32 65, i32 129, i32 2, i32 66, i32 130, i32 3, i32 67, i32 131, i32 4, i32 68, i32 132, i32 5, i32 69, i32 133, i32 6, i32 70, i32 134, i32 7, i32 71, i32 135, i32 8, i32 72, i32 136, i32 9, i32 73, i32 137, i32 10, i32 74, i32 138, i32 11, i32 75, i32 139, i32 12, i32 76, i32 140, i32 13, i32 77, i32 141, i32 14, i32 78, i32 142, i32 15, i32 79, i32 143, i32 16, i32 80, i32 144, i32 17, i32 81, i32 145, i32 18, i32 82, i32 146, i32 19, i32 83, i32 147, i32 20, i32 84, i32 148, i32 21, i32 85, i32 149, i32 22, i32 86, i32 150, i32 23, i32 87, i32 151, i32 24, i32 88, i32 152, i32 25, i32 89, i32 153, i32 26, i32 90, i32 154, i32 27, i32 91, i32 155, i32 28, i32 92, i32 156, i32 29, i32 93, i32 157, i32 30, i32 94, i32 158, i32 31, i32 95, i32 159, i32 32, i32 96, i32 160, i32 33, i32 97, i32 161, i32 34, i32 98, i32 162, i32 35, i32 99, i32 163, i32 36, i32 100, i32 164, i32 37, i32 101, i32 165, i32 38, i32 102, i32 166, i32 39, i32 103, i32 167, i32 40, i32 104, i32 168, i32 41, i32 105, i32 169, i32 42, i32 106, i32 170, i32 43, i32 107, i32 171, i32 44, i32 108, i32 172, i32 45, i32 109, i32 173, i32 46, i32 110, i32 174, i32 47, i32 111, i32 175, i32 48, i32 112, i32 176, i32 49, i32 113, i32 177, i32 50, i32 114, i32 178, i32 51, i32 115, i32 179, i32 52, i32 116, i32 180, i32 53, i32 117, i32 181, i32 54, i32 118, i32 182, i32 55, i32 119, i32 183, i32 56, i32 120, i32 184, i32 57, i32 121, i32 185, i32 58, i32 122, i32 186, i32 59, i32 123, i32 187, i32 60, i32 124, i32 188, i32 61, i32 125, i32 189, i32 62, i32 126, i32 190, i32 63, i32 127, i32 191>5983  store <192 x i64> %interleaved.vec, ptr %out.vec, align 645984  ret void5985}5986