brintos

brintos / llvm-project-archived public Read only

0
0
Text · 563.9 KiB · 0c7c3f4 Raw
9935 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 loads.17 18define void @load_i64_stride4_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {19; SSE-LABEL: load_i64_stride4_vf2:20; SSE:       # %bb.0:21; SSE-NEXT:    movaps (%rdi), %xmm022; SSE-NEXT:    movaps 16(%rdi), %xmm123; SSE-NEXT:    movaps 32(%rdi), %xmm224; SSE-NEXT:    movaps 48(%rdi), %xmm325; SSE-NEXT:    movaps %xmm0, %xmm426; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]27; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]28; SSE-NEXT:    movaps %xmm1, %xmm229; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]30; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm3[1]31; SSE-NEXT:    movaps %xmm4, (%rsi)32; SSE-NEXT:    movaps %xmm0, (%rdx)33; SSE-NEXT:    movaps %xmm2, (%rcx)34; SSE-NEXT:    movaps %xmm1, (%r8)35; SSE-NEXT:    retq36;37; AVX-LABEL: load_i64_stride4_vf2:38; AVX:       # %bb.0:39; AVX-NEXT:    vmovaps 32(%rdi), %xmm040; AVX-NEXT:    vmovaps (%rdi), %xmm141; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]42; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]43; AVX-NEXT:    vmovaps 48(%rdi), %xmm144; AVX-NEXT:    vmovaps 16(%rdi), %xmm345; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm1[0]46; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm1[1]47; AVX-NEXT:    vmovaps %xmm2, (%rsi)48; AVX-NEXT:    vmovaps %xmm0, (%rdx)49; AVX-NEXT:    vmovaps %xmm4, (%rcx)50; AVX-NEXT:    vmovaps %xmm1, (%r8)51; AVX-NEXT:    retq52;53; AVX2-LABEL: load_i64_stride4_vf2:54; AVX2:       # %bb.0:55; AVX2-NEXT:    vmovaps (%rdi), %xmm056; AVX2-NEXT:    vmovaps 32(%rdi), %xmm157; AVX2-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]58; AVX2-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]59; AVX2-NEXT:    vmovaps 32(%rdi), %ymm160; AVX2-NEXT:    vmovaps (%rdi), %ymm361; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]62; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]63; AVX2-NEXT:    vmovaps %xmm2, (%rsi)64; AVX2-NEXT:    vmovaps %xmm0, (%rdx)65; AVX2-NEXT:    vextractf128 $1, %ymm4, (%rcx)66; AVX2-NEXT:    vextractf128 $1, %ymm1, (%r8)67; AVX2-NEXT:    vzeroupper68; AVX2-NEXT:    retq69;70; AVX2-FP-LABEL: load_i64_stride4_vf2:71; AVX2-FP:       # %bb.0:72; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm073; AVX2-FP-NEXT:    vmovaps 32(%rdi), %xmm174; AVX2-FP-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]75; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]76; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm177; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm378; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]79; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]80; AVX2-FP-NEXT:    vmovaps %xmm2, (%rsi)81; AVX2-FP-NEXT:    vmovaps %xmm0, (%rdx)82; AVX2-FP-NEXT:    vextractf128 $1, %ymm4, (%rcx)83; AVX2-FP-NEXT:    vextractf128 $1, %ymm1, (%r8)84; AVX2-FP-NEXT:    vzeroupper85; AVX2-FP-NEXT:    retq86;87; AVX2-FCP-LABEL: load_i64_stride4_vf2:88; AVX2-FCP:       # %bb.0:89; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm090; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %xmm191; AVX2-FCP-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]92; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]93; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm194; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm395; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]96; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]97; AVX2-FCP-NEXT:    vmovaps %xmm2, (%rsi)98; AVX2-FCP-NEXT:    vmovaps %xmm0, (%rdx)99; AVX2-FCP-NEXT:    vextractf128 $1, %ymm4, (%rcx)100; AVX2-FCP-NEXT:    vextractf128 $1, %ymm1, (%r8)101; AVX2-FCP-NEXT:    vzeroupper102; AVX2-FCP-NEXT:    retq103;104; AVX512-LABEL: load_i64_stride4_vf2:105; AVX512:       # %bb.0:106; AVX512-NEXT:    vmovaps (%rdi), %xmm0107; AVX512-NEXT:    vmovaps 32(%rdi), %xmm1108; AVX512-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]109; AVX512-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]110; AVX512-NEXT:    vmovaps 32(%rdi), %ymm1111; AVX512-NEXT:    vmovaps (%rdi), %ymm3112; AVX512-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]113; AVX512-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]114; AVX512-NEXT:    vmovaps %xmm2, (%rsi)115; AVX512-NEXT:    vmovaps %xmm0, (%rdx)116; AVX512-NEXT:    vextractf128 $1, %ymm4, (%rcx)117; AVX512-NEXT:    vextractf128 $1, %ymm1, (%r8)118; AVX512-NEXT:    vzeroupper119; AVX512-NEXT:    retq120;121; AVX512-FCP-LABEL: load_i64_stride4_vf2:122; AVX512-FCP:       # %bb.0:123; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [0,4]124; AVX512-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0125; AVX512-FCP-NEXT:    vmovaps (%rdi), %xmm1126; AVX512-FCP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]127; AVX512-FCP-NEXT:    vmovaps (%rdi), %ymm2128; AVX512-FCP-NEXT:    vmovaps 32(%rdi), %ymm3129; AVX512-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]130; AVX512-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]131; AVX512-FCP-NEXT:    vmovaps %xmm0, (%rsi)132; AVX512-FCP-NEXT:    vmovaps %xmm1, (%rdx)133; AVX512-FCP-NEXT:    vextractf128 $1, %ymm4, (%rcx)134; AVX512-FCP-NEXT:    vextractf128 $1, %ymm2, (%r8)135; AVX512-FCP-NEXT:    vzeroupper136; AVX512-FCP-NEXT:    retq137;138; AVX512DQ-LABEL: load_i64_stride4_vf2:139; AVX512DQ:       # %bb.0:140; AVX512DQ-NEXT:    vmovaps (%rdi), %xmm0141; AVX512DQ-NEXT:    vmovaps 32(%rdi), %xmm1142; AVX512DQ-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]143; AVX512DQ-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]144; AVX512DQ-NEXT:    vmovaps 32(%rdi), %ymm1145; AVX512DQ-NEXT:    vmovaps (%rdi), %ymm3146; AVX512DQ-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]147; AVX512DQ-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]148; AVX512DQ-NEXT:    vmovaps %xmm2, (%rsi)149; AVX512DQ-NEXT:    vmovaps %xmm0, (%rdx)150; AVX512DQ-NEXT:    vextractf128 $1, %ymm4, (%rcx)151; AVX512DQ-NEXT:    vextractf128 $1, %ymm1, (%r8)152; AVX512DQ-NEXT:    vzeroupper153; AVX512DQ-NEXT:    retq154;155; AVX512DQ-FCP-LABEL: load_i64_stride4_vf2:156; AVX512DQ-FCP:       # %bb.0:157; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [0,4]158; AVX512DQ-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0159; AVX512DQ-FCP-NEXT:    vmovaps (%rdi), %xmm1160; AVX512DQ-FCP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]161; AVX512DQ-FCP-NEXT:    vmovaps (%rdi), %ymm2162; AVX512DQ-FCP-NEXT:    vmovaps 32(%rdi), %ymm3163; AVX512DQ-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]164; AVX512DQ-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]165; AVX512DQ-FCP-NEXT:    vmovaps %xmm0, (%rsi)166; AVX512DQ-FCP-NEXT:    vmovaps %xmm1, (%rdx)167; AVX512DQ-FCP-NEXT:    vextractf128 $1, %ymm4, (%rcx)168; AVX512DQ-FCP-NEXT:    vextractf128 $1, %ymm2, (%r8)169; AVX512DQ-FCP-NEXT:    vzeroupper170; AVX512DQ-FCP-NEXT:    retq171;172; AVX512BW-LABEL: load_i64_stride4_vf2:173; AVX512BW:       # %bb.0:174; AVX512BW-NEXT:    vmovaps (%rdi), %xmm0175; AVX512BW-NEXT:    vmovaps 32(%rdi), %xmm1176; AVX512BW-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]177; AVX512BW-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]178; AVX512BW-NEXT:    vmovaps 32(%rdi), %ymm1179; AVX512BW-NEXT:    vmovaps (%rdi), %ymm3180; AVX512BW-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]181; AVX512BW-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]182; AVX512BW-NEXT:    vmovaps %xmm2, (%rsi)183; AVX512BW-NEXT:    vmovaps %xmm0, (%rdx)184; AVX512BW-NEXT:    vextractf128 $1, %ymm4, (%rcx)185; AVX512BW-NEXT:    vextractf128 $1, %ymm1, (%r8)186; AVX512BW-NEXT:    vzeroupper187; AVX512BW-NEXT:    retq188;189; AVX512BW-FCP-LABEL: load_i64_stride4_vf2:190; AVX512BW-FCP:       # %bb.0:191; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [0,4]192; AVX512BW-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0193; AVX512BW-FCP-NEXT:    vmovaps (%rdi), %xmm1194; AVX512BW-FCP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]195; AVX512BW-FCP-NEXT:    vmovaps (%rdi), %ymm2196; AVX512BW-FCP-NEXT:    vmovaps 32(%rdi), %ymm3197; AVX512BW-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]198; AVX512BW-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]199; AVX512BW-FCP-NEXT:    vmovaps %xmm0, (%rsi)200; AVX512BW-FCP-NEXT:    vmovaps %xmm1, (%rdx)201; AVX512BW-FCP-NEXT:    vextractf128 $1, %ymm4, (%rcx)202; AVX512BW-FCP-NEXT:    vextractf128 $1, %ymm2, (%r8)203; AVX512BW-FCP-NEXT:    vzeroupper204; AVX512BW-FCP-NEXT:    retq205;206; AVX512DQ-BW-LABEL: load_i64_stride4_vf2:207; AVX512DQ-BW:       # %bb.0:208; AVX512DQ-BW-NEXT:    vmovaps (%rdi), %xmm0209; AVX512DQ-BW-NEXT:    vmovaps 32(%rdi), %xmm1210; AVX512DQ-BW-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]211; AVX512DQ-BW-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]212; AVX512DQ-BW-NEXT:    vmovaps 32(%rdi), %ymm1213; AVX512DQ-BW-NEXT:    vmovaps (%rdi), %ymm3214; AVX512DQ-BW-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm1[0],ymm3[2],ymm1[2]215; AVX512DQ-BW-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm1[1],ymm3[3],ymm1[3]216; AVX512DQ-BW-NEXT:    vmovaps %xmm2, (%rsi)217; AVX512DQ-BW-NEXT:    vmovaps %xmm0, (%rdx)218; AVX512DQ-BW-NEXT:    vextractf128 $1, %ymm4, (%rcx)219; AVX512DQ-BW-NEXT:    vextractf128 $1, %ymm1, (%r8)220; AVX512DQ-BW-NEXT:    vzeroupper221; AVX512DQ-BW-NEXT:    retq222;223; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf2:224; AVX512DQ-BW-FCP:       # %bb.0:225; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [0,4]226; AVX512DQ-BW-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0227; AVX512DQ-BW-FCP-NEXT:    vmovaps (%rdi), %xmm1228; AVX512DQ-BW-FCP-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],mem[1]229; AVX512DQ-BW-FCP-NEXT:    vmovaps (%rdi), %ymm2230; AVX512DQ-BW-FCP-NEXT:    vmovaps 32(%rdi), %ymm3231; AVX512DQ-BW-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]232; AVX512DQ-BW-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]233; AVX512DQ-BW-FCP-NEXT:    vmovaps %xmm0, (%rsi)234; AVX512DQ-BW-FCP-NEXT:    vmovaps %xmm1, (%rdx)235; AVX512DQ-BW-FCP-NEXT:    vextractf128 $1, %ymm4, (%rcx)236; AVX512DQ-BW-FCP-NEXT:    vextractf128 $1, %ymm2, (%r8)237; AVX512DQ-BW-FCP-NEXT:    vzeroupper238; AVX512DQ-BW-FCP-NEXT:    retq239  %wide.vec = load <8 x i64>, ptr %in.vec, align 64240  %strided.vec0 = shufflevector <8 x i64> %wide.vec, <8 x i64> poison, <2 x i32> <i32 0, i32 4>241  %strided.vec1 = shufflevector <8 x i64> %wide.vec, <8 x i64> poison, <2 x i32> <i32 1, i32 5>242  %strided.vec2 = shufflevector <8 x i64> %wide.vec, <8 x i64> poison, <2 x i32> <i32 2, i32 6>243  %strided.vec3 = shufflevector <8 x i64> %wide.vec, <8 x i64> poison, <2 x i32> <i32 3, i32 7>244  store <2 x i64> %strided.vec0, ptr %out.vec0, align 64245  store <2 x i64> %strided.vec1, ptr %out.vec1, align 64246  store <2 x i64> %strided.vec2, ptr %out.vec2, align 64247  store <2 x i64> %strided.vec3, ptr %out.vec3, align 64248  ret void249}250 251define void @load_i64_stride4_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {252; SSE-LABEL: load_i64_stride4_vf4:253; SSE:       # %bb.0:254; SSE-NEXT:    movaps 112(%rdi), %xmm0255; SSE-NEXT:    movaps 80(%rdi), %xmm1256; SSE-NEXT:    movaps (%rdi), %xmm2257; SSE-NEXT:    movaps 16(%rdi), %xmm3258; SSE-NEXT:    movaps 32(%rdi), %xmm4259; SSE-NEXT:    movaps 48(%rdi), %xmm5260; SSE-NEXT:    movaps 96(%rdi), %xmm6261; SSE-NEXT:    movaps 64(%rdi), %xmm7262; SSE-NEXT:    movaps %xmm7, %xmm8263; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm6[0]264; SSE-NEXT:    movaps %xmm2, %xmm9265; SSE-NEXT:    movlhps {{.*#+}} xmm9 = xmm9[0],xmm4[0]266; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm6[1]267; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]268; SSE-NEXT:    movaps %xmm1, %xmm4269; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]270; SSE-NEXT:    movaps %xmm3, %xmm6271; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]272; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]273; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm5[1]274; SSE-NEXT:    movaps %xmm8, 16(%rsi)275; SSE-NEXT:    movaps %xmm9, (%rsi)276; SSE-NEXT:    movaps %xmm7, 16(%rdx)277; SSE-NEXT:    movaps %xmm2, (%rdx)278; SSE-NEXT:    movaps %xmm4, 16(%rcx)279; SSE-NEXT:    movaps %xmm6, (%rcx)280; SSE-NEXT:    movaps %xmm1, 16(%r8)281; SSE-NEXT:    movaps %xmm3, (%r8)282; SSE-NEXT:    retq283;284; AVX-LABEL: load_i64_stride4_vf4:285; AVX:       # %bb.0:286; AVX-NEXT:    vmovaps (%rdi), %ymm0287; AVX-NEXT:    vmovaps 32(%rdi), %ymm1288; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm2289; AVX-NEXT:    vinsertf128 $1, 96(%rdi), %ymm1, %ymm3290; AVX-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],mem[2,3]291; AVX-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],mem[2,3]292; AVX-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]293; AVX-NEXT:    vunpcklpd {{.*#+}} ymm5 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]294; AVX-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]295; AVX-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]296; AVX-NEXT:    vmovaps %ymm4, (%rsi)297; AVX-NEXT:    vmovaps %ymm2, (%rdx)298; AVX-NEXT:    vmovaps %ymm5, (%rcx)299; AVX-NEXT:    vmovaps %ymm0, (%r8)300; AVX-NEXT:    vzeroupper301; AVX-NEXT:    retq302;303; AVX2-LABEL: load_i64_stride4_vf4:304; AVX2:       # %bb.0:305; AVX2-NEXT:    vmovaps (%rdi), %ymm0306; AVX2-NEXT:    vmovaps 32(%rdi), %ymm1307; AVX2-NEXT:    vmovaps 64(%rdi), %ymm2308; AVX2-NEXT:    vmovaps 96(%rdi), %ymm3309; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]310; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]311; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]312; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]313; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]314; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]315; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]316; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]317; AVX2-NEXT:    vmovaps %ymm2, (%rsi)318; AVX2-NEXT:    vmovaps %ymm4, (%rdx)319; AVX2-NEXT:    vmovaps %ymm3, (%rcx)320; AVX2-NEXT:    vmovaps %ymm0, (%r8)321; AVX2-NEXT:    vzeroupper322; AVX2-NEXT:    retq323;324; AVX2-FP-LABEL: load_i64_stride4_vf4:325; AVX2-FP:       # %bb.0:326; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm0327; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm1328; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm2329; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm3330; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]331; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]332; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]333; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]334; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]335; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]336; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]337; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]338; AVX2-FP-NEXT:    vmovaps %ymm2, (%rsi)339; AVX2-FP-NEXT:    vmovaps %ymm4, (%rdx)340; AVX2-FP-NEXT:    vmovaps %ymm3, (%rcx)341; AVX2-FP-NEXT:    vmovaps %ymm0, (%r8)342; AVX2-FP-NEXT:    vzeroupper343; AVX2-FP-NEXT:    retq344;345; AVX2-FCP-LABEL: load_i64_stride4_vf4:346; AVX2-FCP:       # %bb.0:347; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm0348; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm1349; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm2350; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm3351; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]352; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]353; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]354; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]355; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]356; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]357; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]358; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]359; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rsi)360; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rdx)361; AVX2-FCP-NEXT:    vmovaps %ymm3, (%rcx)362; AVX2-FCP-NEXT:    vmovaps %ymm0, (%r8)363; AVX2-FCP-NEXT:    vzeroupper364; AVX2-FCP-NEXT:    retq365;366; AVX512-LABEL: load_i64_stride4_vf4:367; AVX512:       # %bb.0:368; AVX512-NEXT:    vmovdqa (%rdi), %ymm0369; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm1370; AVX512-NEXT:    vmovdqa 64(%rdi), %ymm2371; AVX512-NEXT:    vmovdqa 96(%rdi), %ymm3372; AVX512-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]373; AVX512-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]374; AVX512-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]375; AVX512-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]376; AVX512-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]377; AVX512-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]378; AVX512-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]379; AVX512-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]380; AVX512-NEXT:    vmovdqa %ymm2, (%rsi)381; AVX512-NEXT:    vmovdqa %ymm4, (%rdx)382; AVX512-NEXT:    vmovdqa %ymm3, (%rcx)383; AVX512-NEXT:    vmovdqa %ymm0, (%r8)384; AVX512-NEXT:    vzeroupper385; AVX512-NEXT:    retq386;387; AVX512-FCP-LABEL: load_i64_stride4_vf4:388; AVX512-FCP:       # %bb.0:389; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm0390; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1391; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %ymm2392; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %ymm3393; AVX512-FCP-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]394; AVX512-FCP-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]395; AVX512-FCP-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]396; AVX512-FCP-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]397; AVX512-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]398; AVX512-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]399; AVX512-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]400; AVX512-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]401; AVX512-FCP-NEXT:    vmovdqa %ymm2, (%rsi)402; AVX512-FCP-NEXT:    vmovdqa %ymm4, (%rdx)403; AVX512-FCP-NEXT:    vmovdqa %ymm3, (%rcx)404; AVX512-FCP-NEXT:    vmovdqa %ymm0, (%r8)405; AVX512-FCP-NEXT:    vzeroupper406; AVX512-FCP-NEXT:    retq407;408; AVX512DQ-LABEL: load_i64_stride4_vf4:409; AVX512DQ:       # %bb.0:410; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm0411; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm1412; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %ymm2413; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %ymm3414; AVX512DQ-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]415; AVX512DQ-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]416; AVX512DQ-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]417; AVX512DQ-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]418; AVX512DQ-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]419; AVX512DQ-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]420; AVX512DQ-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]421; AVX512DQ-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]422; AVX512DQ-NEXT:    vmovdqa %ymm2, (%rsi)423; AVX512DQ-NEXT:    vmovdqa %ymm4, (%rdx)424; AVX512DQ-NEXT:    vmovdqa %ymm3, (%rcx)425; AVX512DQ-NEXT:    vmovdqa %ymm0, (%r8)426; AVX512DQ-NEXT:    vzeroupper427; AVX512DQ-NEXT:    retq428;429; AVX512DQ-FCP-LABEL: load_i64_stride4_vf4:430; AVX512DQ-FCP:       # %bb.0:431; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm0432; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1433; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %ymm2434; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %ymm3435; AVX512DQ-FCP-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]436; AVX512DQ-FCP-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]437; AVX512DQ-FCP-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]438; AVX512DQ-FCP-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]439; AVX512DQ-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]440; AVX512DQ-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]441; AVX512DQ-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]442; AVX512DQ-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]443; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, (%rsi)444; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, (%rdx)445; AVX512DQ-FCP-NEXT:    vmovdqa %ymm3, (%rcx)446; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, (%r8)447; AVX512DQ-FCP-NEXT:    vzeroupper448; AVX512DQ-FCP-NEXT:    retq449;450; AVX512BW-LABEL: load_i64_stride4_vf4:451; AVX512BW:       # %bb.0:452; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm0453; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm1454; AVX512BW-NEXT:    vmovdqa 64(%rdi), %ymm2455; AVX512BW-NEXT:    vmovdqa 96(%rdi), %ymm3456; AVX512BW-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]457; AVX512BW-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]458; AVX512BW-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]459; AVX512BW-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]460; AVX512BW-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]461; AVX512BW-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]462; AVX512BW-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]463; AVX512BW-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]464; AVX512BW-NEXT:    vmovdqa %ymm2, (%rsi)465; AVX512BW-NEXT:    vmovdqa %ymm4, (%rdx)466; AVX512BW-NEXT:    vmovdqa %ymm3, (%rcx)467; AVX512BW-NEXT:    vmovdqa %ymm0, (%r8)468; AVX512BW-NEXT:    vzeroupper469; AVX512BW-NEXT:    retq470;471; AVX512BW-FCP-LABEL: load_i64_stride4_vf4:472; AVX512BW-FCP:       # %bb.0:473; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0474; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1475; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm2476; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm3477; AVX512BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]478; AVX512BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]479; AVX512BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]480; AVX512BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]481; AVX512BW-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]482; AVX512BW-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]483; AVX512BW-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]484; AVX512BW-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]485; AVX512BW-FCP-NEXT:    vmovdqa %ymm2, (%rsi)486; AVX512BW-FCP-NEXT:    vmovdqa %ymm4, (%rdx)487; AVX512BW-FCP-NEXT:    vmovdqa %ymm3, (%rcx)488; AVX512BW-FCP-NEXT:    vmovdqa %ymm0, (%r8)489; AVX512BW-FCP-NEXT:    vzeroupper490; AVX512BW-FCP-NEXT:    retq491;492; AVX512DQ-BW-LABEL: load_i64_stride4_vf4:493; AVX512DQ-BW:       # %bb.0:494; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm0495; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm1496; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %ymm2497; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %ymm3498; AVX512DQ-BW-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]499; AVX512DQ-BW-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]500; AVX512DQ-BW-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]501; AVX512DQ-BW-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]502; AVX512DQ-BW-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]503; AVX512DQ-BW-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]504; AVX512DQ-BW-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]505; AVX512DQ-BW-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]506; AVX512DQ-BW-NEXT:    vmovdqa %ymm2, (%rsi)507; AVX512DQ-BW-NEXT:    vmovdqa %ymm4, (%rdx)508; AVX512DQ-BW-NEXT:    vmovdqa %ymm3, (%rcx)509; AVX512DQ-BW-NEXT:    vmovdqa %ymm0, (%r8)510; AVX512DQ-BW-NEXT:    vzeroupper511; AVX512DQ-BW-NEXT:    retq512;513; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf4:514; AVX512DQ-BW-FCP:       # %bb.0:515; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0516; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1517; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm2518; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm3519; AVX512DQ-BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm4 = ymm0[0,1],ymm2[0,1]520; AVX512DQ-BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm5 = ymm1[0,1],ymm3[0,1]521; AVX512DQ-BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]522; AVX512DQ-BW-FCP-NEXT:    vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]523; AVX512DQ-BW-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]524; AVX512DQ-BW-FCP-NEXT:    vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]525; AVX512DQ-BW-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]526; AVX512DQ-BW-FCP-NEXT:    vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]527; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm2, (%rsi)528; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm4, (%rdx)529; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm3, (%rcx)530; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm0, (%r8)531; AVX512DQ-BW-FCP-NEXT:    vzeroupper532; AVX512DQ-BW-FCP-NEXT:    retq533  %wide.vec = load <16 x i64>, ptr %in.vec, align 64534  %strided.vec0 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <4 x i32> <i32 0, i32 4, i32 8, i32 12>535  %strided.vec1 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <4 x i32> <i32 1, i32 5, i32 9, i32 13>536  %strided.vec2 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <4 x i32> <i32 2, i32 6, i32 10, i32 14>537  %strided.vec3 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <4 x i32> <i32 3, i32 7, i32 11, i32 15>538  store <4 x i64> %strided.vec0, ptr %out.vec0, align 64539  store <4 x i64> %strided.vec1, ptr %out.vec1, align 64540  store <4 x i64> %strided.vec2, ptr %out.vec2, align 64541  store <4 x i64> %strided.vec3, ptr %out.vec3, align 64542  ret void543}544 545define void @load_i64_stride4_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {546; SSE-LABEL: load_i64_stride4_vf8:547; SSE:       # %bb.0:548; SSE-NEXT:    movaps 240(%rdi), %xmm5549; SSE-NEXT:    movaps 208(%rdi), %xmm3550; SSE-NEXT:    movaps 176(%rdi), %xmm9551; SSE-NEXT:    movaps 144(%rdi), %xmm1552; SSE-NEXT:    movaps 112(%rdi), %xmm11553; SSE-NEXT:    movaps 80(%rdi), %xmm2554; SSE-NEXT:    movaps (%rdi), %xmm4555; SSE-NEXT:    movaps 16(%rdi), %xmm0556; SSE-NEXT:    movaps 32(%rdi), %xmm13557; SSE-NEXT:    movaps 224(%rdi), %xmm14558; SSE-NEXT:    movaps 192(%rdi), %xmm7559; SSE-NEXT:    movaps 160(%rdi), %xmm15560; SSE-NEXT:    movaps 128(%rdi), %xmm6561; SSE-NEXT:    movaps 96(%rdi), %xmm12562; SSE-NEXT:    movaps 64(%rdi), %xmm8563; SSE-NEXT:    movaps %xmm8, %xmm10564; SSE-NEXT:    movlhps {{.*#+}} xmm10 = xmm10[0],xmm12[0]565; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm12[1]566; SSE-NEXT:    movaps %xmm6, %xmm12567; SSE-NEXT:    movlhps {{.*#+}} xmm12 = xmm12[0],xmm15[0]568; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm15[1]569; SSE-NEXT:    movaps %xmm7, %xmm15570; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm14[0]571; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm14[1]572; SSE-NEXT:    movaps %xmm4, %xmm14573; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm13[0]574; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm13[1]575; SSE-NEXT:    movaps %xmm2, %xmm13576; SSE-NEXT:    movlhps {{.*#+}} xmm13 = xmm13[0],xmm11[0]577; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm11[1]578; SSE-NEXT:    movaps %xmm1, %xmm11579; SSE-NEXT:    movlhps {{.*#+}} xmm11 = xmm11[0],xmm9[0]580; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm9[1]581; SSE-NEXT:    movaps %xmm3, %xmm9582; SSE-NEXT:    movlhps {{.*#+}} xmm9 = xmm9[0],xmm5[0]583; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm5[1]584; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill585; SSE-NEXT:    movaps 48(%rdi), %xmm5586; SSE-NEXT:    movaps %xmm0, %xmm3587; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm5[0]588; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm5[1]589; SSE-NEXT:    movaps %xmm15, 48(%rsi)590; SSE-NEXT:    movaps %xmm14, (%rsi)591; SSE-NEXT:    movaps %xmm12, 32(%rsi)592; SSE-NEXT:    movaps %xmm10, 16(%rsi)593; SSE-NEXT:    movaps %xmm7, 48(%rdx)594; SSE-NEXT:    movaps %xmm4, (%rdx)595; SSE-NEXT:    movaps %xmm6, 32(%rdx)596; SSE-NEXT:    movaps %xmm8, 16(%rdx)597; SSE-NEXT:    movaps %xmm9, 48(%rcx)598; SSE-NEXT:    movaps %xmm11, 32(%rcx)599; SSE-NEXT:    movaps %xmm13, 16(%rcx)600; SSE-NEXT:    movaps %xmm3, (%rcx)601; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload602; SSE-NEXT:    movaps %xmm3, 48(%r8)603; SSE-NEXT:    movaps %xmm1, 32(%r8)604; SSE-NEXT:    movaps %xmm2, 16(%r8)605; SSE-NEXT:    movaps %xmm0, (%r8)606; SSE-NEXT:    retq607;608; AVX-LABEL: load_i64_stride4_vf8:609; AVX:       # %bb.0:610; AVX-NEXT:    vmovaps 224(%rdi), %ymm3611; AVX-NEXT:    vmovaps 192(%rdi), %ymm2612; AVX-NEXT:    vmovaps 96(%rdi), %ymm4613; AVX-NEXT:    vmovaps 64(%rdi), %ymm5614; AVX-NEXT:    vmovaps 96(%rdi), %xmm6615; AVX-NEXT:    vmovaps 64(%rdi), %xmm7616; AVX-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm7[0],xmm6[0]617; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill618; AVX-NEXT:    vmovaps 32(%rdi), %xmm8619; AVX-NEXT:    vmovaps (%rdi), %xmm9620; AVX-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm9[0],xmm8[0]621; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill622; AVX-NEXT:    vmovaps 224(%rdi), %xmm10623; AVX-NEXT:    vmovaps 192(%rdi), %xmm11624; AVX-NEXT:    vmovlhps {{.*#+}} xmm12 = xmm11[0],xmm10[0]625; AVX-NEXT:    vmovaps 160(%rdi), %xmm13626; AVX-NEXT:    vmovaps 128(%rdi), %xmm14627; AVX-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm14[0],xmm13[0]628; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm7[1],xmm6[1]629; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill630; AVX-NEXT:    vunpckhpd {{.*#+}} xmm7 = xmm9[1],xmm8[1]631; AVX-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm11[1],xmm10[1]632; AVX-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm14[1],xmm13[1]633; AVX-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]634; AVX-NEXT:    vmovaps 48(%rdi), %xmm11635; AVX-NEXT:    vmovaps 16(%rdi), %xmm13636; AVX-NEXT:    vmovlhps {{.*#+}} xmm14 = xmm13[0],xmm11[0]637; AVX-NEXT:    vblendps {{.*#+}} ymm10 = ymm14[0,1,2,3],ymm10[4,5,6,7]638; AVX-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]639; AVX-NEXT:    vmovaps 176(%rdi), %xmm1640; AVX-NEXT:    vmovaps 144(%rdi), %xmm0641; AVX-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm0[0],xmm1[0]642; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm14[4,5,6,7]643; AVX-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]644; AVX-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm13[1],xmm11[1]645; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]646; AVX-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]647; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]648; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]649; AVX-NEXT:    vmovaps %xmm15, 32(%rsi)650; AVX-NEXT:    vmovaps %xmm12, 48(%rsi)651; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload652; AVX-NEXT:    vmovaps %xmm1, (%rsi)653; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload654; AVX-NEXT:    vmovaps %xmm1, 16(%rsi)655; AVX-NEXT:    vmovaps %xmm9, 32(%rdx)656; AVX-NEXT:    vmovaps %xmm8, 48(%rdx)657; AVX-NEXT:    vmovaps %xmm7, (%rdx)658; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload659; AVX-NEXT:    vmovaps %xmm1, 16(%rdx)660; AVX-NEXT:    vmovaps %ymm6, 32(%rcx)661; AVX-NEXT:    vmovaps %ymm10, (%rcx)662; AVX-NEXT:    vmovaps %ymm0, 32(%r8)663; AVX-NEXT:    vmovaps %ymm4, (%r8)664; AVX-NEXT:    vzeroupper665; AVX-NEXT:    retq666;667; AVX2-LABEL: load_i64_stride4_vf8:668; AVX2:       # %bb.0:669; AVX2-NEXT:    vmovaps 160(%rdi), %ymm0670; AVX2-NEXT:    vmovaps 128(%rdi), %ymm1671; AVX2-NEXT:    vmovaps 224(%rdi), %ymm2672; AVX2-NEXT:    vmovaps 192(%rdi), %ymm3673; AVX2-NEXT:    vmovaps 32(%rdi), %ymm4674; AVX2-NEXT:    vmovaps (%rdi), %ymm5675; AVX2-NEXT:    vmovaps 96(%rdi), %ymm6676; AVX2-NEXT:    vmovaps 64(%rdi), %ymm7677; AVX2-NEXT:    vmovaps (%rdi), %xmm8678; AVX2-NEXT:    vmovaps 32(%rdi), %xmm9679; AVX2-NEXT:    vinsertf128 $1, 96(%rdi), %ymm9, %ymm9680; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm8681; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]682; AVX2-NEXT:    vmovaps 160(%rdi), %xmm11683; AVX2-NEXT:    vinsertf128 $1, 224(%rdi), %ymm11, %ymm11684; AVX2-NEXT:    vmovaps 128(%rdi), %xmm12685; AVX2-NEXT:    vinsertf128 $1, 192(%rdi), %ymm12, %ymm12686; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]687; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]688; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm9 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]689; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm11 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]690; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]691; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]692; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]693; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]694; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm14[2,3],ymm12[2,3]695; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]696; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]697; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]698; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]699; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]700; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]701; AVX2-NEXT:    vmovaps %ymm13, 32(%rsi)702; AVX2-NEXT:    vmovaps %ymm10, (%rsi)703; AVX2-NEXT:    vmovaps %ymm9, 32(%rdx)704; AVX2-NEXT:    vmovaps %ymm8, (%rdx)705; AVX2-NEXT:    vmovaps %ymm12, 32(%rcx)706; AVX2-NEXT:    vmovaps %ymm11, (%rcx)707; AVX2-NEXT:    vmovaps %ymm0, 32(%r8)708; AVX2-NEXT:    vmovaps %ymm4, (%r8)709; AVX2-NEXT:    vzeroupper710; AVX2-NEXT:    retq711;712; AVX2-FP-LABEL: load_i64_stride4_vf8:713; AVX2-FP:       # %bb.0:714; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm0715; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm1716; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm2717; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm3718; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm4719; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm5720; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm6721; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm7722; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm8723; AVX2-FP-NEXT:    vmovaps 32(%rdi), %xmm9724; AVX2-FP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm9, %ymm9725; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm8726; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]727; AVX2-FP-NEXT:    vmovaps 160(%rdi), %xmm11728; AVX2-FP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm11, %ymm11729; AVX2-FP-NEXT:    vmovaps 128(%rdi), %xmm12730; AVX2-FP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm12, %ymm12731; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]732; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]733; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm9 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]734; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm11 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]735; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]736; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]737; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]738; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]739; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm14[2,3],ymm12[2,3]740; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]741; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]742; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]743; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]744; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]745; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]746; AVX2-FP-NEXT:    vmovaps %ymm13, 32(%rsi)747; AVX2-FP-NEXT:    vmovaps %ymm10, (%rsi)748; AVX2-FP-NEXT:    vmovaps %ymm9, 32(%rdx)749; AVX2-FP-NEXT:    vmovaps %ymm8, (%rdx)750; AVX2-FP-NEXT:    vmovaps %ymm12, 32(%rcx)751; AVX2-FP-NEXT:    vmovaps %ymm11, (%rcx)752; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%r8)753; AVX2-FP-NEXT:    vmovaps %ymm4, (%r8)754; AVX2-FP-NEXT:    vzeroupper755; AVX2-FP-NEXT:    retq756;757; AVX2-FCP-LABEL: load_i64_stride4_vf8:758; AVX2-FCP:       # %bb.0:759; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm0760; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm1761; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm2762; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm3763; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm4764; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm5765; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm6766; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm7767; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm8768; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %xmm9769; AVX2-FCP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm9, %ymm9770; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm8771; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm8[0],ymm9[0],ymm8[2],ymm9[2]772; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %xmm11773; AVX2-FCP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm11, %ymm11774; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %xmm12775; AVX2-FCP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm12, %ymm12776; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]777; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm9[1],ymm8[3],ymm9[3]778; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm9 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]779; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm11 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]780; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]781; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]782; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]783; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]784; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm14[2,3],ymm12[2,3]785; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]786; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]787; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]788; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]789; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]790; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]791; AVX2-FCP-NEXT:    vmovaps %ymm13, 32(%rsi)792; AVX2-FCP-NEXT:    vmovaps %ymm10, (%rsi)793; AVX2-FCP-NEXT:    vmovaps %ymm9, 32(%rdx)794; AVX2-FCP-NEXT:    vmovaps %ymm8, (%rdx)795; AVX2-FCP-NEXT:    vmovaps %ymm12, 32(%rcx)796; AVX2-FCP-NEXT:    vmovaps %ymm11, (%rcx)797; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%r8)798; AVX2-FCP-NEXT:    vmovaps %ymm4, (%r8)799; AVX2-FCP-NEXT:    vzeroupper800; AVX2-FCP-NEXT:    retq801;802; AVX512-LABEL: load_i64_stride4_vf8:803; AVX512:       # %bb.0:804; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm0805; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm1806; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm2807; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm3808; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]809; AVX512-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]810; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm5811; AVX512-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5812; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4813; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]814; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]815; AVX512-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]816; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm6817; AVX512-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6818; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5819; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]820; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]821; AVX512-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]822; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm7823; AVX512-NEXT:    vpermt2q %zmm3, %zmm6, %zmm7824; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm6825; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]826; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]827; AVX512-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]828; AVX512-NEXT:    vpermt2q %zmm3, %zmm7, %zmm2829; AVX512-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0830; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]831; AVX512-NEXT:    vmovdqa64 %zmm4, (%rsi)832; AVX512-NEXT:    vmovdqa64 %zmm5, (%rdx)833; AVX512-NEXT:    vmovdqa64 %zmm6, (%rcx)834; AVX512-NEXT:    vmovdqa64 %zmm0, (%r8)835; AVX512-NEXT:    vzeroupper836; AVX512-NEXT:    retq837;838; AVX512-FCP-LABEL: load_i64_stride4_vf8:839; AVX512-FCP:       # %bb.0:840; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0841; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1842; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2843; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm3844; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]845; AVX512-FCP-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]846; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm5847; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5848; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4849; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]850; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]851; AVX512-FCP-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]852; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm6853; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6854; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5855; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]856; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]857; AVX512-FCP-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]858; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm7859; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm7860; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm6861; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]862; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]863; AVX512-FCP-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]864; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm7, %zmm2865; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0866; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]867; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)868; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)869; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, (%rcx)870; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)871; AVX512-FCP-NEXT:    vzeroupper872; AVX512-FCP-NEXT:    retq873;874; AVX512DQ-LABEL: load_i64_stride4_vf8:875; AVX512DQ:       # %bb.0:876; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm0877; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm1878; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm2879; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm3880; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]881; AVX512DQ-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]882; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm5883; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5884; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4885; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]886; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]887; AVX512DQ-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]888; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm6889; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6890; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5891; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]892; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]893; AVX512DQ-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]894; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm7895; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm6, %zmm7896; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm6897; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]898; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]899; AVX512DQ-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]900; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm7, %zmm2901; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0902; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]903; AVX512DQ-NEXT:    vmovdqa64 %zmm4, (%rsi)904; AVX512DQ-NEXT:    vmovdqa64 %zmm5, (%rdx)905; AVX512DQ-NEXT:    vmovdqa64 %zmm6, (%rcx)906; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%r8)907; AVX512DQ-NEXT:    vzeroupper908; AVX512DQ-NEXT:    retq909;910; AVX512DQ-FCP-LABEL: load_i64_stride4_vf8:911; AVX512DQ-FCP:       # %bb.0:912; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0913; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1914; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2915; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm3916; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]917; AVX512DQ-FCP-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]918; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm5919; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5920; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4921; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]922; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]923; AVX512DQ-FCP-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]924; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm6925; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6926; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5927; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]928; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]929; AVX512DQ-FCP-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]930; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm7931; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm7932; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm6933; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]934; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]935; AVX512DQ-FCP-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]936; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm7, %zmm2937; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0938; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]939; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)940; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)941; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, (%rcx)942; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)943; AVX512DQ-FCP-NEXT:    vzeroupper944; AVX512DQ-FCP-NEXT:    retq945;946; AVX512BW-LABEL: load_i64_stride4_vf8:947; AVX512BW:       # %bb.0:948; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm0949; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1950; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm2951; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm3952; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]953; AVX512BW-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]954; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm5955; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5956; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4957; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]958; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]959; AVX512BW-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]960; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm6961; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6962; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5963; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]964; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]965; AVX512BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]966; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm7967; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm6, %zmm7968; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm6969; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]970; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]971; AVX512BW-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]972; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm7, %zmm2973; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm7, %zmm0974; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]975; AVX512BW-NEXT:    vmovdqa64 %zmm4, (%rsi)976; AVX512BW-NEXT:    vmovdqa64 %zmm5, (%rdx)977; AVX512BW-NEXT:    vmovdqa64 %zmm6, (%rcx)978; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%r8)979; AVX512BW-NEXT:    vzeroupper980; AVX512BW-NEXT:    retq981;982; AVX512BW-FCP-LABEL: load_i64_stride4_vf8:983; AVX512BW-FCP:       # %bb.0:984; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0985; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1986; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2987; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm3988; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]989; AVX512BW-FCP-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]990; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm5991; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm4, %zmm5992; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4993; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]994; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]995; AVX512BW-FCP-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]996; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm6997; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm5, %zmm6998; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm5999; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]1000; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]1001; AVX512BW-FCP-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]1002; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm71003; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm71004; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm61005; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]1006; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]1007; AVX512BW-FCP-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]1008; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm7, %zmm21009; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm7, %zmm01010; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1011; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)1012; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)1013; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, (%rcx)1014; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)1015; AVX512BW-FCP-NEXT:    vzeroupper1016; AVX512BW-FCP-NEXT:    retq1017;1018; AVX512DQ-BW-LABEL: load_i64_stride4_vf8:1019; AVX512DQ-BW:       # %bb.0:1020; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm01021; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm11022; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm21023; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm31024; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]1025; AVX512DQ-BW-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]1026; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm51027; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm4, %zmm51028; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm41029; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]1030; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]1031; AVX512DQ-BW-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]1032; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm61033; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm5, %zmm61034; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm51035; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]1036; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]1037; AVX512DQ-BW-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]1038; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm71039; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm6, %zmm71040; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm61041; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]1042; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]1043; AVX512DQ-BW-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]1044; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm7, %zmm21045; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm7, %zmm01046; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1047; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, (%rsi)1048; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, (%rdx)1049; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, (%rcx)1050; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%r8)1051; AVX512DQ-BW-NEXT:    vzeroupper1052; AVX512DQ-BW-NEXT:    retq1053;1054; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf8:1055; AVX512DQ-BW-FCP:       # %bb.0:1056; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01057; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11058; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm21059; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm31060; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm4 = [0,4,8,12,0,4,8,12]1061; AVX512DQ-BW-FCP-NEXT:    # zmm4 = mem[0,1,2,3,0,1,2,3]1062; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm51063; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm4, %zmm51064; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm41065; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm4[0,1,2,3],zmm5[4,5,6,7]1066; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm5 = [1,5,9,13,1,5,9,13]1067; AVX512DQ-BW-FCP-NEXT:    # zmm5 = mem[0,1,2,3,0,1,2,3]1068; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm61069; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm5, %zmm61070; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm51071; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm5[0,1,2,3],zmm6[4,5,6,7]1072; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm6 = [2,6,10,14,2,6,10,14]1073; AVX512DQ-BW-FCP-NEXT:    # zmm6 = mem[0,1,2,3,0,1,2,3]1074; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm71075; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm6, %zmm71076; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm61077; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm7[4,5,6,7]1078; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm7 = [3,7,11,15,3,7,11,15]1079; AVX512DQ-BW-FCP-NEXT:    # zmm7 = mem[0,1,2,3,0,1,2,3]1080; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm7, %zmm21081; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm7, %zmm01082; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1083; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)1084; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)1085; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, (%rcx)1086; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)1087; AVX512DQ-BW-FCP-NEXT:    vzeroupper1088; AVX512DQ-BW-FCP-NEXT:    retq1089  %wide.vec = load <32 x i64>, ptr %in.vec, align 641090  %strided.vec0 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <8 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 28>1091  %strided.vec1 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <8 x i32> <i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 29>1092  %strided.vec2 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <8 x i32> <i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 30>1093  %strided.vec3 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <8 x i32> <i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27, i32 31>1094  store <8 x i64> %strided.vec0, ptr %out.vec0, align 641095  store <8 x i64> %strided.vec1, ptr %out.vec1, align 641096  store <8 x i64> %strided.vec2, ptr %out.vec2, align 641097  store <8 x i64> %strided.vec3, ptr %out.vec3, align 641098  ret void1099}1100 1101define void @load_i64_stride4_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {1102; SSE-LABEL: load_i64_stride4_vf16:1103; SSE:       # %bb.0:1104; SSE-NEXT:    subq $152, %rsp1105; SSE-NEXT:    movaps (%rdi), %xmm71106; SSE-NEXT:    movaps 416(%rdi), %xmm01107; SSE-NEXT:    movaps 384(%rdi), %xmm81108; SSE-NEXT:    movaps 160(%rdi), %xmm11109; SSE-NEXT:    movaps 128(%rdi), %xmm91110; SSE-NEXT:    movaps 480(%rdi), %xmm21111; SSE-NEXT:    movaps 448(%rdi), %xmm101112; SSE-NEXT:    movaps 224(%rdi), %xmm31113; SSE-NEXT:    movaps 192(%rdi), %xmm111114; SSE-NEXT:    movaps 288(%rdi), %xmm41115; SSE-NEXT:    movaps 256(%rdi), %xmm131116; SSE-NEXT:    movaps 352(%rdi), %xmm51117; SSE-NEXT:    movaps 320(%rdi), %xmm121118; SSE-NEXT:    movaps 96(%rdi), %xmm61119; SSE-NEXT:    movaps 64(%rdi), %xmm141120; SSE-NEXT:    movaps %xmm14, %xmm151121; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm6[0]1122; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1123; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm6[1]1124; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1125; SSE-NEXT:    movaps %xmm12, %xmm61126; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]1127; SSE-NEXT:    movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1128; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]1129; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1130; SSE-NEXT:    movaps %xmm13, %xmm51131; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]1132; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1133; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm4[1]1134; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1135; SSE-NEXT:    movaps %xmm11, %xmm41136; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]1137; SSE-NEXT:    movaps %xmm4, (%rsp) # 16-byte Spill1138; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm3[1]1139; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1140; SSE-NEXT:    movaps %xmm10, %xmm31141; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]1142; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1143; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm2[1]1144; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1145; SSE-NEXT:    movaps %xmm9, %xmm21146; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]1147; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1148; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm1[1]1149; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1150; SSE-NEXT:    movaps %xmm8, %xmm11151; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1152; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1153; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]1154; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1155; SSE-NEXT:    movaps 32(%rdi), %xmm01156; SSE-NEXT:    movaps %xmm7, %xmm11157; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1158; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1159; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]1160; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1161; SSE-NEXT:    movaps 112(%rdi), %xmm01162; SSE-NEXT:    movaps 80(%rdi), %xmm151163; SSE-NEXT:    movaps %xmm15, %xmm11164; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1165; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1166; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]1167; SSE-NEXT:    movaps 176(%rdi), %xmm01168; SSE-NEXT:    movaps 144(%rdi), %xmm111169; SSE-NEXT:    movaps %xmm11, %xmm141170; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]1171; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]1172; SSE-NEXT:    movaps 240(%rdi), %xmm01173; SSE-NEXT:    movaps 208(%rdi), %xmm121174; SSE-NEXT:    movaps %xmm12, %xmm131175; SSE-NEXT:    movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]1176; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]1177; SSE-NEXT:    movaps 304(%rdi), %xmm01178; SSE-NEXT:    movaps 272(%rdi), %xmm71179; SSE-NEXT:    movaps %xmm7, %xmm101180; SSE-NEXT:    movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]1181; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]1182; SSE-NEXT:    movaps 368(%rdi), %xmm01183; SSE-NEXT:    movaps 336(%rdi), %xmm81184; SSE-NEXT:    movaps %xmm8, %xmm91185; SSE-NEXT:    movlhps {{.*#+}} xmm9 = xmm9[0],xmm0[0]1186; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]1187; SSE-NEXT:    movaps 432(%rdi), %xmm01188; SSE-NEXT:    movaps 400(%rdi), %xmm51189; SSE-NEXT:    movaps %xmm5, %xmm61190; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]1191; SSE-NEXT:    unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]1192; SSE-NEXT:    movaps 496(%rdi), %xmm11193; SSE-NEXT:    movaps 464(%rdi), %xmm21194; SSE-NEXT:    movaps %xmm2, %xmm41195; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm1[0]1196; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm1[1]1197; SSE-NEXT:    movaps 16(%rdi), %xmm11198; SSE-NEXT:    movaps 48(%rdi), %xmm01199; SSE-NEXT:    movaps %xmm1, %xmm31200; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]1201; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]1202; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1203; SSE-NEXT:    movaps %xmm0, 96(%rsi)1204; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1205; SSE-NEXT:    movaps %xmm0, 32(%rsi)1206; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1207; SSE-NEXT:    movaps %xmm0, 112(%rsi)1208; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload1209; SSE-NEXT:    movaps %xmm0, 48(%rsi)1210; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1211; SSE-NEXT:    movaps %xmm0, 64(%rsi)1212; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1213; SSE-NEXT:    movaps %xmm0, (%rsi)1214; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1215; SSE-NEXT:    movaps %xmm0, 80(%rsi)1216; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1217; SSE-NEXT:    movaps %xmm0, 16(%rsi)1218; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1219; SSE-NEXT:    movaps %xmm0, 96(%rdx)1220; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1221; SSE-NEXT:    movaps %xmm0, 32(%rdx)1222; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1223; SSE-NEXT:    movaps %xmm0, 112(%rdx)1224; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1225; SSE-NEXT:    movaps %xmm0, 48(%rdx)1226; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1227; SSE-NEXT:    movaps %xmm0, 64(%rdx)1228; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1229; SSE-NEXT:    movaps %xmm0, (%rdx)1230; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1231; SSE-NEXT:    movaps %xmm0, 80(%rdx)1232; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1233; SSE-NEXT:    movaps %xmm0, 16(%rdx)1234; SSE-NEXT:    movaps %xmm6, 96(%rcx)1235; SSE-NEXT:    movaps %xmm14, 32(%rcx)1236; SSE-NEXT:    movaps %xmm4, 112(%rcx)1237; SSE-NEXT:    movaps %xmm13, 48(%rcx)1238; SSE-NEXT:    movaps %xmm10, 64(%rcx)1239; SSE-NEXT:    movaps %xmm3, (%rcx)1240; SSE-NEXT:    movaps %xmm9, 80(%rcx)1241; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1242; SSE-NEXT:    movaps %xmm0, 16(%rcx)1243; SSE-NEXT:    movaps %xmm2, 112(%r8)1244; SSE-NEXT:    movaps %xmm5, 96(%r8)1245; SSE-NEXT:    movaps %xmm8, 80(%r8)1246; SSE-NEXT:    movaps %xmm7, 64(%r8)1247; SSE-NEXT:    movaps %xmm12, 48(%r8)1248; SSE-NEXT:    movaps %xmm11, 32(%r8)1249; SSE-NEXT:    movaps %xmm15, 16(%r8)1250; SSE-NEXT:    movaps %xmm1, (%r8)1251; SSE-NEXT:    addq $152, %rsp1252; SSE-NEXT:    retq1253;1254; AVX-LABEL: load_i64_stride4_vf16:1255; AVX:       # %bb.0:1256; AVX-NEXT:    subq $296, %rsp # imm = 0x1281257; AVX-NEXT:    vmovaps 224(%rdi), %xmm01258; AVX-NEXT:    vmovaps 192(%rdi), %xmm11259; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]1260; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1261; AVX-NEXT:    vmovaps 160(%rdi), %xmm21262; AVX-NEXT:    vmovaps 128(%rdi), %xmm31263; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]1264; AVX-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1265; AVX-NEXT:    vmovaps 416(%rdi), %xmm41266; AVX-NEXT:    vmovaps 384(%rdi), %xmm81267; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm8[0],xmm4[0]1268; AVX-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1269; AVX-NEXT:    vmovaps 480(%rdi), %xmm71270; AVX-NEXT:    vmovaps 448(%rdi), %xmm91271; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm9[0],xmm7[0]1272; AVX-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1273; AVX-NEXT:    vmovaps 352(%rdi), %xmm101274; AVX-NEXT:    vmovaps 320(%rdi), %xmm121275; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm12[0],xmm10[0]1276; AVX-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1277; AVX-NEXT:    vmovaps 288(%rdi), %xmm131278; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]1279; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1280; AVX-NEXT:    vmovaps 256(%rdi), %xmm01281; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]1282; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1283; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm13[0]1284; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1285; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm9[1],xmm7[1]1286; AVX-NEXT:    vmovaps %xmm1, (%rsp) # 16-byte Spill1287; AVX-NEXT:    vmovaps 32(%rdi), %xmm11288; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm4[1]1289; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1290; AVX-NEXT:    vmovaps 96(%rdi), %xmm21291; AVX-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm12[1],xmm10[1]1292; AVX-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1293; AVX-NEXT:    vmovaps 64(%rdi), %xmm31294; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm13[1]1295; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1296; AVX-NEXT:    vmovlhps {{.*#+}} xmm0 = xmm3[0],xmm2[0]1297; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1298; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]1299; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1300; AVX-NEXT:    vmovaps (%rdi), %xmm01301; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]1302; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1303; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]1304; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1305; AVX-NEXT:    vmovaps 224(%rdi), %ymm01306; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1307; AVX-NEXT:    vmovaps 192(%rdi), %ymm11308; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1309; AVX-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1310; AVX-NEXT:    vmovaps 176(%rdi), %xmm141311; AVX-NEXT:    vmovaps 144(%rdi), %xmm131312; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm13[0],xmm14[0]1313; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm2[4,5,6,7]1314; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1315; AVX-NEXT:    vmovaps 480(%rdi), %ymm121316; AVX-NEXT:    vmovaps 448(%rdi), %ymm111317; AVX-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]1318; AVX-NEXT:    vmovaps 432(%rdi), %xmm101319; AVX-NEXT:    vmovaps 400(%rdi), %xmm91320; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm9[0],xmm10[0]1321; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm2[4,5,6,7]1322; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1323; AVX-NEXT:    vmovaps 96(%rdi), %ymm81324; AVX-NEXT:    vmovaps 64(%rdi), %ymm71325; AVX-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]1326; AVX-NEXT:    vmovaps 48(%rdi), %xmm61327; AVX-NEXT:    vmovaps 16(%rdi), %xmm41328; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm6[0]1329; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm2[4,5,6,7]1330; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1331; AVX-NEXT:    vmovaps 352(%rdi), %ymm31332; AVX-NEXT:    vmovaps 320(%rdi), %ymm21333; AVX-NEXT:    vunpcklpd {{.*#+}} ymm5 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]1334; AVX-NEXT:    vmovaps 304(%rdi), %xmm11335; AVX-NEXT:    vmovaps 272(%rdi), %xmm01336; AVX-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm0[0],xmm1[0]1337; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm5[4,5,6,7]1338; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload1339; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload1340; AVX-NEXT:    # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]1341; AVX-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]1342; AVX-NEXT:    vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm15[4,5,6,7]1343; AVX-NEXT:    vunpckhpd {{.*#+}} ymm11 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]1344; AVX-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]1345; AVX-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm11[4,5,6,7]1346; AVX-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]1347; AVX-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]1348; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm7[4,5,6,7]1349; AVX-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]1350; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]1351; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]1352; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1353; AVX-NEXT:    vmovaps %xmm1, 16(%rsi)1354; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1355; AVX-NEXT:    vmovaps %xmm1, (%rsi)1356; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1357; AVX-NEXT:    vmovaps %xmm1, 64(%rsi)1358; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1359; AVX-NEXT:    vmovaps %xmm1, 80(%rsi)1360; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1361; AVX-NEXT:    vmovaps %xmm1, 112(%rsi)1362; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1363; AVX-NEXT:    vmovaps %xmm1, 96(%rsi)1364; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1365; AVX-NEXT:    vmovaps %xmm1, 32(%rsi)1366; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1367; AVX-NEXT:    vmovaps %xmm1, 48(%rsi)1368; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1369; AVX-NEXT:    vmovaps %xmm1, (%rdx)1370; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1371; AVX-NEXT:    vmovaps %xmm1, 16(%rdx)1372; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1373; AVX-NEXT:    vmovaps %xmm1, 64(%rdx)1374; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1375; AVX-NEXT:    vmovaps %xmm1, 80(%rdx)1376; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1377; AVX-NEXT:    vmovaps %xmm1, 96(%rdx)1378; AVX-NEXT:    vmovaps (%rsp), %xmm1 # 16-byte Reload1379; AVX-NEXT:    vmovaps %xmm1, 112(%rdx)1380; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1381; AVX-NEXT:    vmovaps %xmm1, 32(%rdx)1382; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1383; AVX-NEXT:    vmovaps %xmm1, 48(%rdx)1384; AVX-NEXT:    vmovaps %ymm5, 64(%rcx)1385; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1386; AVX-NEXT:    vmovaps %ymm1, (%rcx)1387; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1388; AVX-NEXT:    vmovaps %ymm1, 96(%rcx)1389; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1390; AVX-NEXT:    vmovaps %ymm1, 32(%rcx)1391; AVX-NEXT:    vmovaps %ymm0, 64(%r8)1392; AVX-NEXT:    vmovaps %ymm4, (%r8)1393; AVX-NEXT:    vmovaps %ymm9, 96(%r8)1394; AVX-NEXT:    vmovaps %ymm13, 32(%r8)1395; AVX-NEXT:    addq $296, %rsp # imm = 0x1281396; AVX-NEXT:    vzeroupper1397; AVX-NEXT:    retq1398;1399; AVX2-LABEL: load_i64_stride4_vf16:1400; AVX2:       # %bb.0:1401; AVX2-NEXT:    subq $360, %rsp # imm = 0x1681402; AVX2-NEXT:    vmovaps 416(%rdi), %ymm31403; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1404; AVX2-NEXT:    vmovaps 384(%rdi), %ymm41405; AVX2-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1406; AVX2-NEXT:    vmovaps 160(%rdi), %ymm01407; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1408; AVX2-NEXT:    vmovaps 128(%rdi), %ymm61409; AVX2-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1410; AVX2-NEXT:    vmovaps 224(%rdi), %ymm01411; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1412; AVX2-NEXT:    vmovaps 192(%rdi), %ymm51413; AVX2-NEXT:    vmovaps 160(%rdi), %xmm21414; AVX2-NEXT:    vinsertf128 $1, 224(%rdi), %ymm2, %ymm91415; AVX2-NEXT:    vmovaps 128(%rdi), %xmm21416; AVX2-NEXT:    vinsertf128 $1, 192(%rdi), %ymm2, %ymm101417; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1418; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1419; AVX2-NEXT:    vmovaps 416(%rdi), %xmm71420; AVX2-NEXT:    vinsertf128 $1, 480(%rdi), %ymm7, %ymm111421; AVX2-NEXT:    vmovaps 384(%rdi), %xmm71422; AVX2-NEXT:    vinsertf128 $1, 448(%rdi), %ymm7, %ymm121423; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1424; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1425; AVX2-NEXT:    vmovaps (%rdi), %xmm81426; AVX2-NEXT:    vmovaps 32(%rdi), %xmm131427; AVX2-NEXT:    vinsertf128 $1, 96(%rdi), %ymm13, %ymm131428; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm151429; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm13[0],ymm15[2],ymm13[2]1430; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1431; AVX2-NEXT:    vmovaps 288(%rdi), %xmm141432; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm14, %ymm11433; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1434; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1435; AVX2-NEXT:    vmovaps 256(%rdi), %xmm101436; AVX2-NEXT:    vinsertf128 $1, 320(%rdi), %ymm10, %ymm01437; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]1438; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1439; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1440; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1441; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]1442; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1443; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1444; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1445; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload1446; AVX2-NEXT:    vmovaps %ymm5, %ymm101447; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm14[0],ymm5[2],ymm14[2]1448; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload1449; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm6[0],ymm13[0],ymm6[2],ymm13[2]1450; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1451; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1452; AVX2-NEXT:    vmovaps 480(%rdi), %ymm111453; AVX2-NEXT:    vmovaps 448(%rdi), %ymm81454; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm8[0],ymm11[0],ymm8[2],ymm11[2]1455; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]1456; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm15[2,3]1457; AVX2-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill1458; AVX2-NEXT:    vmovaps 32(%rdi), %ymm91459; AVX2-NEXT:    vmovaps (%rdi), %ymm61460; AVX2-NEXT:    vmovaps 96(%rdi), %ymm51461; AVX2-NEXT:    vmovaps 64(%rdi), %ymm41462; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]1463; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1464; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm7[2,3],ymm0[2,3]1465; AVX2-NEXT:    vmovaps 288(%rdi), %ymm71466; AVX2-NEXT:    vmovaps 256(%rdi), %ymm31467; AVX2-NEXT:    vmovaps 352(%rdi), %ymm11468; AVX2-NEXT:    vmovaps 320(%rdi), %ymm01469; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1470; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm7[0],ymm3[2],ymm7[2]1471; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm2 = ymm12[2,3],ymm2[2,3]1472; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm12 = ymm10[1],ymm14[1],ymm10[3],ymm14[3]1473; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1474; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm10[1],ymm13[1],ymm10[3],ymm13[3]1475; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm13[2,3],ymm12[2,3]1476; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]1477; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1478; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload1479; AVX2-NEXT:    # ymm10 = ymm10[1],mem[1],ymm10[3],mem[3]1480; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]1481; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]1482; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]1483; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm5[2,3],ymm4[2,3]1484; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1485; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1486; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1487; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1488; AVX2-NEXT:    vmovaps %ymm1, 64(%rsi)1489; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1490; AVX2-NEXT:    vmovaps %ymm1, (%rsi)1491; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1492; AVX2-NEXT:    vmovaps %ymm1, 96(%rsi)1493; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1494; AVX2-NEXT:    vmovaps %ymm1, 32(%rsi)1495; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1496; AVX2-NEXT:    vmovaps %ymm1, 64(%rdx)1497; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1498; AVX2-NEXT:    vmovaps %ymm1, (%rdx)1499; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1500; AVX2-NEXT:    vmovaps %ymm1, 96(%rdx)1501; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1502; AVX2-NEXT:    vmovaps %ymm1, 32(%rdx)1503; AVX2-NEXT:    vmovaps %ymm2, 64(%rcx)1504; AVX2-NEXT:    vmovaps %ymm15, (%rcx)1505; AVX2-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload1506; AVX2-NEXT:    vmovaps %ymm1, 96(%rcx)1507; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1508; AVX2-NEXT:    vmovaps %ymm1, 32(%rcx)1509; AVX2-NEXT:    vmovaps %ymm0, 64(%r8)1510; AVX2-NEXT:    vmovaps %ymm4, (%r8)1511; AVX2-NEXT:    vmovaps %ymm8, 96(%r8)1512; AVX2-NEXT:    vmovaps %ymm12, 32(%r8)1513; AVX2-NEXT:    addq $360, %rsp # imm = 0x1681514; AVX2-NEXT:    vzeroupper1515; AVX2-NEXT:    retq1516;1517; AVX2-FP-LABEL: load_i64_stride4_vf16:1518; AVX2-FP:       # %bb.0:1519; AVX2-FP-NEXT:    subq $360, %rsp # imm = 0x1681520; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm31521; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1522; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm41523; AVX2-FP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1524; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm01525; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1526; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm61527; AVX2-FP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1528; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm01529; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1530; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm51531; AVX2-FP-NEXT:    vmovaps 160(%rdi), %xmm21532; AVX2-FP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm2, %ymm91533; AVX2-FP-NEXT:    vmovaps 128(%rdi), %xmm21534; AVX2-FP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm2, %ymm101535; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1536; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1537; AVX2-FP-NEXT:    vmovaps 416(%rdi), %xmm71538; AVX2-FP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm7, %ymm111539; AVX2-FP-NEXT:    vmovaps 384(%rdi), %xmm71540; AVX2-FP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm7, %ymm121541; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1542; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1543; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm81544; AVX2-FP-NEXT:    vmovaps 32(%rdi), %xmm131545; AVX2-FP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm13, %ymm131546; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm151547; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm13[0],ymm15[2],ymm13[2]1548; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1549; AVX2-FP-NEXT:    vmovaps 288(%rdi), %xmm141550; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm14, %ymm11551; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1552; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1553; AVX2-FP-NEXT:    vmovaps 256(%rdi), %xmm101554; AVX2-FP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm10, %ymm01555; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]1556; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1557; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1558; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1559; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]1560; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1561; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1562; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1563; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload1564; AVX2-FP-NEXT:    vmovaps %ymm5, %ymm101565; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm14[0],ymm5[2],ymm14[2]1566; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload1567; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm6[0],ymm13[0],ymm6[2],ymm13[2]1568; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1569; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1570; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm111571; AVX2-FP-NEXT:    vmovaps 448(%rdi), %ymm81572; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm8[0],ymm11[0],ymm8[2],ymm11[2]1573; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]1574; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm15[2,3]1575; AVX2-FP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill1576; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm91577; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm61578; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm51579; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm41580; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]1581; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1582; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm7[2,3],ymm0[2,3]1583; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm71584; AVX2-FP-NEXT:    vmovaps 256(%rdi), %ymm31585; AVX2-FP-NEXT:    vmovaps 352(%rdi), %ymm11586; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm01587; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1588; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm7[0],ymm3[2],ymm7[2]1589; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm2 = ymm12[2,3],ymm2[2,3]1590; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm12 = ymm10[1],ymm14[1],ymm10[3],ymm14[3]1591; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1592; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm10[1],ymm13[1],ymm10[3],ymm13[3]1593; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm13[2,3],ymm12[2,3]1594; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]1595; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1596; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload1597; AVX2-FP-NEXT:    # ymm10 = ymm10[1],mem[1],ymm10[3],mem[3]1598; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]1599; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]1600; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]1601; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm5[2,3],ymm4[2,3]1602; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1603; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1604; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1605; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1606; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rsi)1607; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1608; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)1609; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1610; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rsi)1611; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1612; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rsi)1613; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1614; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rdx)1615; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1616; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)1617; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1618; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rdx)1619; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1620; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rdx)1621; AVX2-FP-NEXT:    vmovaps %ymm2, 64(%rcx)1622; AVX2-FP-NEXT:    vmovaps %ymm15, (%rcx)1623; AVX2-FP-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload1624; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rcx)1625; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1626; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rcx)1627; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%r8)1628; AVX2-FP-NEXT:    vmovaps %ymm4, (%r8)1629; AVX2-FP-NEXT:    vmovaps %ymm8, 96(%r8)1630; AVX2-FP-NEXT:    vmovaps %ymm12, 32(%r8)1631; AVX2-FP-NEXT:    addq $360, %rsp # imm = 0x1681632; AVX2-FP-NEXT:    vzeroupper1633; AVX2-FP-NEXT:    retq1634;1635; AVX2-FCP-LABEL: load_i64_stride4_vf16:1636; AVX2-FCP:       # %bb.0:1637; AVX2-FCP-NEXT:    subq $360, %rsp # imm = 0x1681638; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm31639; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1640; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm41641; AVX2-FCP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1642; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm01643; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1644; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm61645; AVX2-FCP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1646; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm01647; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1648; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm51649; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %xmm21650; AVX2-FCP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm2, %ymm91651; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %xmm21652; AVX2-FCP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm2, %ymm101653; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1654; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1655; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %xmm71656; AVX2-FCP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm7, %ymm111657; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %xmm71658; AVX2-FCP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm7, %ymm121659; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1660; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1661; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm81662; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %xmm131663; AVX2-FCP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm13, %ymm131664; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm8, %ymm151665; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm13[0],ymm15[2],ymm13[2]1666; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1667; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %xmm141668; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm14, %ymm11669; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1670; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1671; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %xmm101672; AVX2-FCP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm10, %ymm01673; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]1674; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1675; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1676; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1677; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm15[1],ymm13[1],ymm15[3],ymm13[3]1678; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1679; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1680; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1681; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload1682; AVX2-FCP-NEXT:    vmovaps %ymm5, %ymm101683; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm14[0],ymm5[2],ymm14[2]1684; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload1685; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm6[0],ymm13[0],ymm6[2],ymm13[2]1686; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1687; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1688; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm111689; AVX2-FCP-NEXT:    vmovaps 448(%rdi), %ymm81690; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm8[0],ymm11[0],ymm8[2],ymm11[2]1691; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]1692; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm15[2,3]1693; AVX2-FCP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill1694; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm91695; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm61696; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm51697; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm41698; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]1699; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]1700; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm7[2,3],ymm0[2,3]1701; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm71702; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %ymm31703; AVX2-FCP-NEXT:    vmovaps 352(%rdi), %ymm11704; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm01705; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1706; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm12 = ymm3[0],ymm7[0],ymm3[2],ymm7[2]1707; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm2 = ymm12[2,3],ymm2[2,3]1708; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm12 = ymm10[1],ymm14[1],ymm10[3],ymm14[3]1709; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1710; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm13 = ymm10[1],ymm13[1],ymm10[3],ymm13[3]1711; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm12 = ymm13[2,3],ymm12[2,3]1712; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm11[1],ymm8[3],ymm11[3]1713; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload1714; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload1715; AVX2-FCP-NEXT:    # ymm10 = ymm10[1],mem[1],ymm10[3],mem[3]1716; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm8 = ymm10[2,3],ymm8[2,3]1717; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]1718; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]1719; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm4 = ymm5[2,3],ymm4[2,3]1720; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1721; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1722; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1723; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1724; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rsi)1725; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1726; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rsi)1727; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1728; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rsi)1729; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1730; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rsi)1731; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1732; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rdx)1733; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1734; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rdx)1735; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1736; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rdx)1737; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1738; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rdx)1739; AVX2-FCP-NEXT:    vmovaps %ymm2, 64(%rcx)1740; AVX2-FCP-NEXT:    vmovaps %ymm15, (%rcx)1741; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload1742; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rcx)1743; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1744; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rcx)1745; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%r8)1746; AVX2-FCP-NEXT:    vmovaps %ymm4, (%r8)1747; AVX2-FCP-NEXT:    vmovaps %ymm8, 96(%r8)1748; AVX2-FCP-NEXT:    vmovaps %ymm12, 32(%r8)1749; AVX2-FCP-NEXT:    addq $360, %rsp # imm = 0x1681750; AVX2-FCP-NEXT:    vzeroupper1751; AVX2-FCP-NEXT:    retq1752;1753; AVX512-LABEL: load_i64_stride4_vf16:1754; AVX512:       # %bb.0:1755; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm01756; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm11757; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm21758; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm31759; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm41760; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm51761; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm61762; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm71763; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]1764; AVX512-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]1765; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm91766; AVX512-NEXT:    vpermt2q %zmm6, %zmm8, %zmm91767; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm101768; AVX512-NEXT:    vpermt2q %zmm4, %zmm8, %zmm101769; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]1770; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm101771; AVX512-NEXT:    vpermt2q %zmm3, %zmm8, %zmm101772; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm81773; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]1774; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]1775; AVX512-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]1776; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm111777; AVX512-NEXT:    vpermt2q %zmm6, %zmm10, %zmm111778; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm121779; AVX512-NEXT:    vpermt2q %zmm4, %zmm10, %zmm121780; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]1781; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm121782; AVX512-NEXT:    vpermt2q %zmm3, %zmm10, %zmm121783; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm101784; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]1785; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]1786; AVX512-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]1787; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm131788; AVX512-NEXT:    vpermt2q %zmm6, %zmm12, %zmm131789; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm141790; AVX512-NEXT:    vpermt2q %zmm4, %zmm12, %zmm141791; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]1792; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm141793; AVX512-NEXT:    vpermt2q %zmm3, %zmm12, %zmm141794; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm121795; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]1796; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]1797; AVX512-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]1798; AVX512-NEXT:    vpermt2q %zmm6, %zmm14, %zmm71799; AVX512-NEXT:    vpermt2q %zmm4, %zmm14, %zmm51800; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]1801; AVX512-NEXT:    vpermt2q %zmm3, %zmm14, %zmm21802; AVX512-NEXT:    vpermt2q %zmm1, %zmm14, %zmm01803; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1804; AVX512-NEXT:    vmovdqa64 %zmm9, 64(%rsi)1805; AVX512-NEXT:    vmovdqa64 %zmm8, (%rsi)1806; AVX512-NEXT:    vmovdqa64 %zmm11, 64(%rdx)1807; AVX512-NEXT:    vmovdqa64 %zmm10, (%rdx)1808; AVX512-NEXT:    vmovdqa64 %zmm13, 64(%rcx)1809; AVX512-NEXT:    vmovdqa64 %zmm12, (%rcx)1810; AVX512-NEXT:    vmovdqa64 %zmm4, 64(%r8)1811; AVX512-NEXT:    vmovdqa64 %zmm0, (%r8)1812; AVX512-NEXT:    vzeroupper1813; AVX512-NEXT:    retq1814;1815; AVX512-FCP-LABEL: load_i64_stride4_vf16:1816; AVX512-FCP:       # %bb.0:1817; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01818; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11819; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm21820; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm31821; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm41822; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm51823; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm61824; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm71825; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]1826; AVX512-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]1827; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm91828; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm8, %zmm91829; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm101830; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm101831; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]1832; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm101833; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm8, %zmm101834; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm81835; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]1836; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]1837; AVX512-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]1838; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm111839; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm10, %zmm111840; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm121841; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm121842; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]1843; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm121844; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm10, %zmm121845; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm101846; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]1847; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]1848; AVX512-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]1849; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm131850; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm131851; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm141852; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm141853; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]1854; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm141855; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm141856; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm121857; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]1858; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]1859; AVX512-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]1860; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm71861; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm51862; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]1863; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm14, %zmm21864; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm01865; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1866; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rsi)1867; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)1868; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, 64(%rdx)1869; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, (%rdx)1870; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rcx)1871; AVX512-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)1872; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, 64(%r8)1873; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)1874; AVX512-FCP-NEXT:    vzeroupper1875; AVX512-FCP-NEXT:    retq1876;1877; AVX512DQ-LABEL: load_i64_stride4_vf16:1878; AVX512DQ:       # %bb.0:1879; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm01880; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm11881; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm21882; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm31883; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm41884; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm51885; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm61886; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm71887; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]1888; AVX512DQ-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]1889; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm91890; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm8, %zmm91891; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm101892; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm8, %zmm101893; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]1894; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm101895; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm8, %zmm101896; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm81897; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]1898; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]1899; AVX512DQ-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]1900; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm111901; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm10, %zmm111902; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm121903; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm10, %zmm121904; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]1905; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm121906; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm10, %zmm121907; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm101908; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]1909; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]1910; AVX512DQ-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]1911; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm131912; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm12, %zmm131913; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm141914; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm12, %zmm141915; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]1916; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm141917; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm12, %zmm141918; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm121919; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]1920; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]1921; AVX512DQ-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]1922; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm14, %zmm71923; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm14, %zmm51924; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]1925; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm14, %zmm21926; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm14, %zmm01927; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1928; AVX512DQ-NEXT:    vmovdqa64 %zmm9, 64(%rsi)1929; AVX512DQ-NEXT:    vmovdqa64 %zmm8, (%rsi)1930; AVX512DQ-NEXT:    vmovdqa64 %zmm11, 64(%rdx)1931; AVX512DQ-NEXT:    vmovdqa64 %zmm10, (%rdx)1932; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 64(%rcx)1933; AVX512DQ-NEXT:    vmovdqa64 %zmm12, (%rcx)1934; AVX512DQ-NEXT:    vmovdqa64 %zmm4, 64(%r8)1935; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%r8)1936; AVX512DQ-NEXT:    vzeroupper1937; AVX512DQ-NEXT:    retq1938;1939; AVX512DQ-FCP-LABEL: load_i64_stride4_vf16:1940; AVX512DQ-FCP:       # %bb.0:1941; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01942; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm11943; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm21944; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm31945; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm41946; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm51947; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm61948; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm71949; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]1950; AVX512DQ-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]1951; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm91952; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm8, %zmm91953; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm101954; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm101955; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]1956; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm101957; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm8, %zmm101958; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm81959; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]1960; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]1961; AVX512DQ-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]1962; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm111963; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm10, %zmm111964; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm121965; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm121966; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]1967; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm121968; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm10, %zmm121969; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm101970; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]1971; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]1972; AVX512DQ-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]1973; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm131974; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm131975; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm141976; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm141977; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]1978; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm141979; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm141980; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm121981; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]1982; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]1983; AVX512DQ-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]1984; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm71985; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm51986; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]1987; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm14, %zmm21988; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm01989; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]1990; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rsi)1991; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)1992; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, 64(%rdx)1993; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, (%rdx)1994; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rcx)1995; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)1996; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, 64(%r8)1997; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)1998; AVX512DQ-FCP-NEXT:    vzeroupper1999; AVX512DQ-FCP-NEXT:    retq2000;2001; AVX512BW-LABEL: load_i64_stride4_vf16:2002; AVX512BW:       # %bb.0:2003; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm02004; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm12005; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm22006; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm32007; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm42008; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm52009; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm62010; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm72011; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]2012; AVX512BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]2013; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm92014; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm8, %zmm92015; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm102016; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm102017; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]2018; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm102019; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm8, %zmm102020; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm82021; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]2022; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]2023; AVX512BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]2024; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm112025; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm10, %zmm112026; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm122027; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm10, %zmm122028; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]2029; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm122030; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm10, %zmm122031; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm102032; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]2033; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]2034; AVX512BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]2035; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm132036; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm12, %zmm132037; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm142038; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm12, %zmm142039; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]2040; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm142041; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm12, %zmm142042; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm122043; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]2044; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]2045; AVX512BW-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]2046; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm72047; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm52048; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]2049; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm14, %zmm22050; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm02051; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]2052; AVX512BW-NEXT:    vmovdqa64 %zmm9, 64(%rsi)2053; AVX512BW-NEXT:    vmovdqa64 %zmm8, (%rsi)2054; AVX512BW-NEXT:    vmovdqa64 %zmm11, 64(%rdx)2055; AVX512BW-NEXT:    vmovdqa64 %zmm10, (%rdx)2056; AVX512BW-NEXT:    vmovdqa64 %zmm13, 64(%rcx)2057; AVX512BW-NEXT:    vmovdqa64 %zmm12, (%rcx)2058; AVX512BW-NEXT:    vmovdqa64 %zmm4, 64(%r8)2059; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%r8)2060; AVX512BW-NEXT:    vzeroupper2061; AVX512BW-NEXT:    retq2062;2063; AVX512BW-FCP-LABEL: load_i64_stride4_vf16:2064; AVX512BW-FCP:       # %bb.0:2065; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm02066; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm12067; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm22068; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm32069; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm42070; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm52071; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm62072; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72073; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]2074; AVX512BW-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]2075; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm92076; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm8, %zmm92077; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm102078; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm102079; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]2080; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102081; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm8, %zmm102082; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm82083; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]2084; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]2085; AVX512BW-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]2086; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm112087; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm10, %zmm112088; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm122089; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm122090; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]2091; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm122092; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm10, %zmm122093; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm102094; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]2095; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]2096; AVX512BW-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]2097; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm132098; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm132099; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm142100; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm142101; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]2102; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm142103; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm142104; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm122105; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]2106; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]2107; AVX512BW-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]2108; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm72109; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm52110; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]2111; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm14, %zmm22112; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm02113; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]2114; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rsi)2115; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)2116; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, 64(%rdx)2117; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rdx)2118; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rcx)2119; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)2120; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, 64(%r8)2121; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)2122; AVX512BW-FCP-NEXT:    vzeroupper2123; AVX512BW-FCP-NEXT:    retq2124;2125; AVX512DQ-BW-LABEL: load_i64_stride4_vf16:2126; AVX512DQ-BW:       # %bb.0:2127; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm02128; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm12129; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm22130; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm32131; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm42132; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm52133; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm62134; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm72135; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]2136; AVX512DQ-BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]2137; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm92138; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm8, %zmm92139; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm102140; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm102141; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]2142; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm102143; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm8, %zmm102144; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm82145; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]2146; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]2147; AVX512DQ-BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]2148; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm112149; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm10, %zmm112150; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm122151; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm10, %zmm122152; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]2153; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm122154; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm10, %zmm122155; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm102156; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]2157; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]2158; AVX512DQ-BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]2159; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm132160; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm12, %zmm132161; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm142162; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm12, %zmm142163; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]2164; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm142165; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm12, %zmm142166; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm122167; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]2168; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]2169; AVX512DQ-BW-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]2170; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm72171; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm52172; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]2173; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm14, %zmm22174; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm02175; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]2176; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, 64(%rsi)2177; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, (%rsi)2178; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, 64(%rdx)2179; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, (%rdx)2180; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 64(%rcx)2181; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, (%rcx)2182; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, 64(%r8)2183; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%r8)2184; AVX512DQ-BW-NEXT:    vzeroupper2185; AVX512DQ-BW-NEXT:    retq2186;2187; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf16:2188; AVX512DQ-BW-FCP:       # %bb.0:2189; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm02190; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm12191; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm22192; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm32193; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm42194; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm52195; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm62196; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72197; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm8 = [0,4,8,12,0,4,8,12]2198; AVX512DQ-BW-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3]2199; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm92200; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm8, %zmm92201; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm102202; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm102203; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm10[0,1,2,3],zmm9[4,5,6,7]2204; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm102205; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm8, %zmm102206; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm82207; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm8 = zmm8[0,1,2,3],zmm10[4,5,6,7]2208; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm10 = [1,5,9,13,1,5,9,13]2209; AVX512DQ-BW-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3]2210; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm112211; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm10, %zmm112212; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm122213; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm122214; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm12[0,1,2,3],zmm11[4,5,6,7]2215; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm122216; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm10, %zmm122217; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm102218; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm10[0,1,2,3],zmm12[4,5,6,7]2219; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm12 = [2,6,10,14,2,6,10,14]2220; AVX512DQ-BW-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3]2221; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm132222; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm12, %zmm132223; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm142224; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm12, %zmm142225; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm14[0,1,2,3],zmm13[4,5,6,7]2226; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm142227; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm12, %zmm142228; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm122229; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm14[4,5,6,7]2230; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm14 = [3,7,11,15,3,7,11,15]2231; AVX512DQ-BW-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3]2232; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm72233; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm52234; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]2235; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm14, %zmm22236; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm02237; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]2238; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rsi)2239; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)2240; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, 64(%rdx)2241; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rdx)2242; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rcx)2243; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)2244; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, 64(%r8)2245; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)2246; AVX512DQ-BW-FCP-NEXT:    vzeroupper2247; AVX512DQ-BW-FCP-NEXT:    retq2248  %wide.vec = load <64 x i64>, ptr %in.vec, align 642249  %strided.vec0 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <16 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 28, i32 32, i32 36, i32 40, i32 44, i32 48, i32 52, i32 56, i32 60>2250  %strided.vec1 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <16 x i32> <i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 29, i32 33, i32 37, i32 41, i32 45, i32 49, i32 53, i32 57, i32 61>2251  %strided.vec2 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <16 x i32> <i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 30, i32 34, i32 38, i32 42, i32 46, i32 50, i32 54, i32 58, i32 62>2252  %strided.vec3 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <16 x i32> <i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27, i32 31, i32 35, i32 39, i32 43, i32 47, i32 51, i32 55, i32 59, i32 63>2253  store <16 x i64> %strided.vec0, ptr %out.vec0, align 642254  store <16 x i64> %strided.vec1, ptr %out.vec1, align 642255  store <16 x i64> %strided.vec2, ptr %out.vec2, align 642256  store <16 x i64> %strided.vec3, ptr %out.vec3, align 642257  ret void2258}2259 2260define void @load_i64_stride4_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {2261; SSE-LABEL: load_i64_stride4_vf32:2262; SSE:       # %bb.0:2263; SSE-NEXT:    subq $664, %rsp # imm = 0x2982264; SSE-NEXT:    movaps 416(%rdi), %xmm02265; SSE-NEXT:    movaps 384(%rdi), %xmm92266; SSE-NEXT:    movaps 160(%rdi), %xmm32267; SSE-NEXT:    movaps 128(%rdi), %xmm82268; SSE-NEXT:    movaps 480(%rdi), %xmm12269; SSE-NEXT:    movaps 448(%rdi), %xmm112270; SSE-NEXT:    movaps 224(%rdi), %xmm52271; SSE-NEXT:    movaps 192(%rdi), %xmm102272; SSE-NEXT:    movaps 288(%rdi), %xmm42273; SSE-NEXT:    movaps 256(%rdi), %xmm122274; SSE-NEXT:    movaps 608(%rdi), %xmm22275; SSE-NEXT:    movaps 352(%rdi), %xmm62276; SSE-NEXT:    movaps 320(%rdi), %xmm142277; SSE-NEXT:    movaps 96(%rdi), %xmm72278; SSE-NEXT:    movaps 64(%rdi), %xmm132279; SSE-NEXT:    movaps %xmm13, %xmm152280; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]2281; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2282; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm7[1]2283; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2284; SSE-NEXT:    movaps %xmm10, %xmm72285; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm5[0]2286; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2287; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm5[1]2288; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2289; SSE-NEXT:    movaps %xmm8, %xmm52290; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm3[0]2291; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2292; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm3[1]2293; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2294; SSE-NEXT:    movaps %xmm14, %xmm32295; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm6[0]2296; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2297; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm6[1]2298; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2299; SSE-NEXT:    movaps %xmm12, %xmm32300; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm4[0]2301; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2302; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm4[1]2303; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2304; SSE-NEXT:    movaps %xmm11, %xmm32305; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm1[0]2306; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2307; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm1[1]2308; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2309; SSE-NEXT:    movaps %xmm9, %xmm12310; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2311; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2312; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]2313; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2314; SSE-NEXT:    movaps 576(%rdi), %xmm02315; SSE-NEXT:    movaps %xmm0, %xmm12316; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]2317; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2318; SSE-NEXT:    unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]2319; SSE-NEXT:    movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2320; SSE-NEXT:    movaps 544(%rdi), %xmm02321; SSE-NEXT:    movaps 512(%rdi), %xmm12322; SSE-NEXT:    movaps %xmm1, %xmm22323; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2324; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2325; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2326; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2327; SSE-NEXT:    movaps 736(%rdi), %xmm02328; SSE-NEXT:    movaps 704(%rdi), %xmm12329; SSE-NEXT:    movaps %xmm1, %xmm22330; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2331; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2332; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2333; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2334; SSE-NEXT:    movaps 672(%rdi), %xmm02335; SSE-NEXT:    movaps 640(%rdi), %xmm12336; SSE-NEXT:    movaps %xmm1, %xmm22337; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2338; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2339; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2340; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2341; SSE-NEXT:    movaps 864(%rdi), %xmm02342; SSE-NEXT:    movaps 832(%rdi), %xmm12343; SSE-NEXT:    movaps %xmm1, %xmm22344; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2345; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2346; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2347; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2348; SSE-NEXT:    movaps 800(%rdi), %xmm02349; SSE-NEXT:    movaps 768(%rdi), %xmm12350; SSE-NEXT:    movaps %xmm1, %xmm22351; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2352; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2353; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2354; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2355; SSE-NEXT:    movaps 992(%rdi), %xmm02356; SSE-NEXT:    movaps 960(%rdi), %xmm12357; SSE-NEXT:    movaps %xmm1, %xmm22358; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2359; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2360; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2361; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2362; SSE-NEXT:    movaps 928(%rdi), %xmm02363; SSE-NEXT:    movaps 896(%rdi), %xmm12364; SSE-NEXT:    movaps %xmm1, %xmm22365; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2366; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2367; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2368; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2369; SSE-NEXT:    movaps (%rdi), %xmm12370; SSE-NEXT:    movaps 32(%rdi), %xmm02371; SSE-NEXT:    movaps %xmm1, %xmm22372; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2373; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2374; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2375; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2376; SSE-NEXT:    movaps 112(%rdi), %xmm02377; SSE-NEXT:    movaps 80(%rdi), %xmm12378; SSE-NEXT:    movaps %xmm1, %xmm22379; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2380; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2381; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2382; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2383; SSE-NEXT:    movaps 176(%rdi), %xmm02384; SSE-NEXT:    movaps 144(%rdi), %xmm12385; SSE-NEXT:    movaps %xmm1, %xmm22386; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2387; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2388; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2389; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2390; SSE-NEXT:    movaps 240(%rdi), %xmm02391; SSE-NEXT:    movaps 208(%rdi), %xmm12392; SSE-NEXT:    movaps %xmm1, %xmm22393; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2394; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2395; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2396; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2397; SSE-NEXT:    movaps 304(%rdi), %xmm02398; SSE-NEXT:    movaps 272(%rdi), %xmm12399; SSE-NEXT:    movaps %xmm1, %xmm22400; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2401; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2402; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2403; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2404; SSE-NEXT:    movaps 368(%rdi), %xmm02405; SSE-NEXT:    movaps 336(%rdi), %xmm12406; SSE-NEXT:    movaps %xmm1, %xmm22407; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2408; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2409; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2410; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2411; SSE-NEXT:    movaps 432(%rdi), %xmm02412; SSE-NEXT:    movaps 400(%rdi), %xmm12413; SSE-NEXT:    movaps %xmm1, %xmm22414; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2415; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2416; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2417; SSE-NEXT:    movaps %xmm1, (%rsp) # 16-byte Spill2418; SSE-NEXT:    movaps 496(%rdi), %xmm02419; SSE-NEXT:    movaps 464(%rdi), %xmm12420; SSE-NEXT:    movaps %xmm1, %xmm22421; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2422; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2423; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2424; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2425; SSE-NEXT:    movaps 560(%rdi), %xmm02426; SSE-NEXT:    movaps 528(%rdi), %xmm12427; SSE-NEXT:    movaps %xmm1, %xmm22428; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2429; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2430; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2431; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2432; SSE-NEXT:    movaps 624(%rdi), %xmm02433; SSE-NEXT:    movaps 592(%rdi), %xmm142434; SSE-NEXT:    movaps %xmm14, %xmm12435; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2436; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2437; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]2438; SSE-NEXT:    movaps 688(%rdi), %xmm02439; SSE-NEXT:    movaps 656(%rdi), %xmm132440; SSE-NEXT:    movaps %xmm13, %xmm152441; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]2442; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]2443; SSE-NEXT:    movaps 752(%rdi), %xmm02444; SSE-NEXT:    movaps 720(%rdi), %xmm112445; SSE-NEXT:    movaps %xmm11, %xmm122446; SSE-NEXT:    movlhps {{.*#+}} xmm12 = xmm12[0],xmm0[0]2447; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]2448; SSE-NEXT:    movaps 816(%rdi), %xmm02449; SSE-NEXT:    movaps 784(%rdi), %xmm92450; SSE-NEXT:    movaps %xmm9, %xmm102451; SSE-NEXT:    movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]2452; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]2453; SSE-NEXT:    movaps 880(%rdi), %xmm02454; SSE-NEXT:    movaps 848(%rdi), %xmm72455; SSE-NEXT:    movaps %xmm7, %xmm82456; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]2457; SSE-NEXT:    unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]2458; SSE-NEXT:    movaps 944(%rdi), %xmm02459; SSE-NEXT:    movaps 912(%rdi), %xmm32460; SSE-NEXT:    movaps %xmm3, %xmm52461; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm0[0]2462; SSE-NEXT:    unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm0[1]2463; SSE-NEXT:    movaps 1008(%rdi), %xmm42464; SSE-NEXT:    movaps 976(%rdi), %xmm22465; SSE-NEXT:    movaps %xmm2, %xmm12466; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm4[0]2467; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm4[1]2468; SSE-NEXT:    movaps 16(%rdi), %xmm42469; SSE-NEXT:    movaps 48(%rdi), %xmm02470; SSE-NEXT:    movaps %xmm4, %xmm62471; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]2472; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm0[1]2473; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2474; SSE-NEXT:    movaps %xmm0, 224(%rsi)2475; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2476; SSE-NEXT:    movaps %xmm0, 160(%rsi)2477; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2478; SSE-NEXT:    movaps %xmm0, 96(%rsi)2479; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2480; SSE-NEXT:    movaps %xmm0, 32(%rsi)2481; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2482; SSE-NEXT:    movaps %xmm0, 240(%rsi)2483; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2484; SSE-NEXT:    movaps %xmm0, 176(%rsi)2485; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2486; SSE-NEXT:    movaps %xmm0, 112(%rsi)2487; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2488; SSE-NEXT:    movaps %xmm0, 48(%rsi)2489; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2490; SSE-NEXT:    movaps %xmm0, 192(%rsi)2491; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2492; SSE-NEXT:    movaps %xmm0, 128(%rsi)2493; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2494; SSE-NEXT:    movaps %xmm0, 64(%rsi)2495; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2496; SSE-NEXT:    movaps %xmm0, (%rsi)2497; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2498; SSE-NEXT:    movaps %xmm0, 208(%rsi)2499; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2500; SSE-NEXT:    movaps %xmm0, 144(%rsi)2501; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2502; SSE-NEXT:    movaps %xmm0, 80(%rsi)2503; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2504; SSE-NEXT:    movaps %xmm0, 16(%rsi)2505; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2506; SSE-NEXT:    movaps %xmm0, 224(%rdx)2507; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2508; SSE-NEXT:    movaps %xmm0, 240(%rdx)2509; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2510; SSE-NEXT:    movaps %xmm0, 192(%rdx)2511; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2512; SSE-NEXT:    movaps %xmm0, 208(%rdx)2513; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2514; SSE-NEXT:    movaps %xmm0, 160(%rdx)2515; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2516; SSE-NEXT:    movaps %xmm0, 176(%rdx)2517; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2518; SSE-NEXT:    movaps %xmm0, 128(%rdx)2519; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2520; SSE-NEXT:    movaps %xmm0, 144(%rdx)2521; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2522; SSE-NEXT:    movaps %xmm0, 96(%rdx)2523; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2524; SSE-NEXT:    movaps %xmm0, 112(%rdx)2525; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2526; SSE-NEXT:    movaps %xmm0, 64(%rdx)2527; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2528; SSE-NEXT:    movaps %xmm0, 80(%rdx)2529; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2530; SSE-NEXT:    movaps %xmm0, 32(%rdx)2531; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2532; SSE-NEXT:    movaps %xmm0, 48(%rdx)2533; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2534; SSE-NEXT:    movaps %xmm0, (%rdx)2535; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2536; SSE-NEXT:    movaps %xmm0, 16(%rdx)2537; SSE-NEXT:    movaps %xmm1, 240(%rcx)2538; SSE-NEXT:    movaps %xmm5, 224(%rcx)2539; SSE-NEXT:    movaps %xmm8, 208(%rcx)2540; SSE-NEXT:    movaps %xmm10, 192(%rcx)2541; SSE-NEXT:    movaps %xmm12, 176(%rcx)2542; SSE-NEXT:    movaps %xmm15, 160(%rcx)2543; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2544; SSE-NEXT:    movaps %xmm0, 144(%rcx)2545; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2546; SSE-NEXT:    movaps %xmm0, 128(%rcx)2547; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2548; SSE-NEXT:    movaps %xmm0, 112(%rcx)2549; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2550; SSE-NEXT:    movaps %xmm0, 96(%rcx)2551; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2552; SSE-NEXT:    movaps %xmm0, 80(%rcx)2553; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2554; SSE-NEXT:    movaps %xmm0, 64(%rcx)2555; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2556; SSE-NEXT:    movaps %xmm0, 48(%rcx)2557; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2558; SSE-NEXT:    movaps %xmm0, 32(%rcx)2559; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2560; SSE-NEXT:    movaps %xmm0, 16(%rcx)2561; SSE-NEXT:    movaps %xmm6, (%rcx)2562; SSE-NEXT:    movaps %xmm2, 240(%r8)2563; SSE-NEXT:    movaps %xmm3, 224(%r8)2564; SSE-NEXT:    movaps %xmm7, 208(%r8)2565; SSE-NEXT:    movaps %xmm9, 192(%r8)2566; SSE-NEXT:    movaps %xmm11, 176(%r8)2567; SSE-NEXT:    movaps %xmm13, 160(%r8)2568; SSE-NEXT:    movaps %xmm14, 144(%r8)2569; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2570; SSE-NEXT:    movaps %xmm0, 128(%r8)2571; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2572; SSE-NEXT:    movaps %xmm0, 112(%r8)2573; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload2574; SSE-NEXT:    movaps %xmm0, 96(%r8)2575; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2576; SSE-NEXT:    movaps %xmm0, 80(%r8)2577; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2578; SSE-NEXT:    movaps %xmm0, 64(%r8)2579; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2580; SSE-NEXT:    movaps %xmm0, 48(%r8)2581; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2582; SSE-NEXT:    movaps %xmm0, 32(%r8)2583; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2584; SSE-NEXT:    movaps %xmm0, 16(%r8)2585; SSE-NEXT:    movaps %xmm4, (%r8)2586; SSE-NEXT:    addq $664, %rsp # imm = 0x2982587; SSE-NEXT:    retq2588;2589; AVX-LABEL: load_i64_stride4_vf32:2590; AVX:       # %bb.0:2591; AVX-NEXT:    subq $1112, %rsp # imm = 0x4582592; AVX-NEXT:    vmovaps 480(%rdi), %xmm02593; AVX-NEXT:    vmovaps 448(%rdi), %xmm12594; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2595; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2596; AVX-NEXT:    vmovaps 736(%rdi), %xmm32597; AVX-NEXT:    vmovaps 704(%rdi), %xmm52598; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm5[0],xmm3[0]2599; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2600; AVX-NEXT:    vmovaps 224(%rdi), %xmm22601; AVX-NEXT:    vmovaps 192(%rdi), %xmm42602; AVX-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm2[0]2603; AVX-NEXT:    vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2604; AVX-NEXT:    vmovaps 672(%rdi), %xmm62605; AVX-NEXT:    vmovaps 640(%rdi), %xmm72606; AVX-NEXT:    vmovaps 928(%rdi), %xmm82607; AVX-NEXT:    vmovaps 896(%rdi), %xmm92608; AVX-NEXT:    vmovaps 992(%rdi), %xmm102609; AVX-NEXT:    vmovaps 960(%rdi), %xmm112610; AVX-NEXT:    vmovlhps {{.*#+}} xmm12 = xmm11[0],xmm10[0]2611; AVX-NEXT:    vmovaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2612; AVX-NEXT:    vunpckhpd {{.*#+}} xmm10 = xmm11[1],xmm10[1]2613; AVX-NEXT:    vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2614; AVX-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm9[0],xmm8[0]2615; AVX-NEXT:    vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2616; AVX-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm9[1],xmm8[1]2617; AVX-NEXT:    vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2618; AVX-NEXT:    vmovlhps {{.*#+}} xmm8 = xmm7[0],xmm6[0]2619; AVX-NEXT:    vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2620; AVX-NEXT:    vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm3[1]2621; AVX-NEXT:    vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2622; AVX-NEXT:    vmovaps 160(%rdi), %xmm32623; AVX-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm7[1],xmm6[1]2624; AVX-NEXT:    vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2625; AVX-NEXT:    vmovaps 128(%rdi), %xmm52626; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm4[1],xmm2[1]2627; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2628; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm5[0],xmm3[0]2629; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2630; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm3[1]2631; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2632; AVX-NEXT:    vmovaps 416(%rdi), %xmm22633; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2634; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2635; AVX-NEXT:    vmovaps 384(%rdi), %xmm02636; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm2[0]2637; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2638; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]2639; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2640; AVX-NEXT:    vmovaps 864(%rdi), %xmm02641; AVX-NEXT:    vmovaps 832(%rdi), %xmm12642; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2643; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2644; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2645; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2646; AVX-NEXT:    vmovaps 800(%rdi), %xmm02647; AVX-NEXT:    vmovaps 768(%rdi), %xmm12648; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2649; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2650; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2651; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2652; AVX-NEXT:    vmovaps 96(%rdi), %xmm02653; AVX-NEXT:    vmovaps 64(%rdi), %xmm12654; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2655; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2656; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2657; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2658; AVX-NEXT:    vmovaps 32(%rdi), %xmm02659; AVX-NEXT:    vmovaps (%rdi), %xmm12660; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2661; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2662; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2663; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2664; AVX-NEXT:    vmovaps 608(%rdi), %xmm02665; AVX-NEXT:    vmovaps 576(%rdi), %xmm12666; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2667; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2668; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2669; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2670; AVX-NEXT:    vmovaps 544(%rdi), %xmm02671; AVX-NEXT:    vmovaps 512(%rdi), %xmm12672; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2673; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2674; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2675; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2676; AVX-NEXT:    vmovaps 352(%rdi), %xmm02677; AVX-NEXT:    vmovaps 320(%rdi), %xmm12678; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2679; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2680; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2681; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2682; AVX-NEXT:    vmovaps 288(%rdi), %xmm02683; AVX-NEXT:    vmovaps 256(%rdi), %xmm12684; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]2685; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2686; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]2687; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2688; AVX-NEXT:    vmovaps 224(%rdi), %ymm12689; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2690; AVX-NEXT:    vmovaps 192(%rdi), %ymm02691; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2692; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2693; AVX-NEXT:    vmovaps 176(%rdi), %xmm22694; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2695; AVX-NEXT:    vmovaps 144(%rdi), %xmm12696; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2697; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]2698; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2699; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2700; AVX-NEXT:    vmovaps 480(%rdi), %ymm12701; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2702; AVX-NEXT:    vmovaps 448(%rdi), %ymm02703; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2704; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2705; AVX-NEXT:    vmovaps 432(%rdi), %xmm22706; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2707; AVX-NEXT:    vmovaps 400(%rdi), %xmm12708; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2709; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]2710; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2711; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2712; AVX-NEXT:    vmovaps 736(%rdi), %ymm12713; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2714; AVX-NEXT:    vmovaps 704(%rdi), %ymm02715; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2716; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2717; AVX-NEXT:    vmovaps 688(%rdi), %xmm22718; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2719; AVX-NEXT:    vmovaps 656(%rdi), %xmm12720; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2721; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]2722; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2723; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2724; AVX-NEXT:    vmovaps 992(%rdi), %ymm12725; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2726; AVX-NEXT:    vmovaps 960(%rdi), %ymm02727; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2728; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2729; AVX-NEXT:    vmovaps 944(%rdi), %xmm22730; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2731; AVX-NEXT:    vmovaps 912(%rdi), %xmm12732; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2733; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]2734; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2735; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2736; AVX-NEXT:    vmovaps 96(%rdi), %ymm12737; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2738; AVX-NEXT:    vmovaps 64(%rdi), %ymm02739; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2740; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2741; AVX-NEXT:    vmovaps 48(%rdi), %xmm142742; AVX-NEXT:    vmovaps 16(%rdi), %xmm132743; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]2744; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2745; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2746; AVX-NEXT:    vmovaps 352(%rdi), %ymm122747; AVX-NEXT:    vmovaps 320(%rdi), %ymm112748; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]2749; AVX-NEXT:    vmovaps 304(%rdi), %xmm102750; AVX-NEXT:    vmovaps 272(%rdi), %xmm92751; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]2752; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2753; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2754; AVX-NEXT:    vmovaps 608(%rdi), %ymm82755; AVX-NEXT:    vmovaps 576(%rdi), %ymm72756; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]2757; AVX-NEXT:    vmovaps 560(%rdi), %xmm62758; AVX-NEXT:    vmovaps 528(%rdi), %xmm52759; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]2760; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2761; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2762; AVX-NEXT:    vmovaps 864(%rdi), %ymm42763; AVX-NEXT:    vmovaps 832(%rdi), %ymm32764; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]2765; AVX-NEXT:    vmovaps 816(%rdi), %xmm22766; AVX-NEXT:    vmovaps 784(%rdi), %xmm12767; AVX-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]2768; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]2769; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2770; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2771; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2772; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]2773; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload2774; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload2775; AVX-NEXT:    # xmm15 = mem[0,1],xmm15[2,3]2776; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]2777; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2778; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2779; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2780; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]2781; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload2782; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload2783; AVX-NEXT:    # xmm15 = mem[0,1],xmm15[2,3]2784; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]2785; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2786; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2787; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2788; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]2789; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload2790; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload2791; AVX-NEXT:    # xmm15 = mem[0,1],xmm15[2,3]2792; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]2793; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2794; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2795; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2796; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]2797; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload2798; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload2799; AVX-NEXT:    # xmm15 = mem[0,1],xmm15[2,3]2800; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]2801; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2802; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload2803; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]2804; AVX-NEXT:    vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]2805; AVX-NEXT:    vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]2806; AVX-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]2807; AVX-NEXT:    vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]2808; AVX-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]2809; AVX-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]2810; AVX-NEXT:    vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]2811; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]2812; AVX-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]2813; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]2814; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm3[4,5,6,7]2815; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2816; AVX-NEXT:    vmovaps %xmm1, 208(%rsi)2817; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2818; AVX-NEXT:    vmovaps %xmm1, 192(%rsi)2819; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2820; AVX-NEXT:    vmovaps %xmm1, 128(%rsi)2821; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2822; AVX-NEXT:    vmovaps %xmm1, 64(%rsi)2823; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2824; AVX-NEXT:    vmovaps %xmm1, (%rsi)2825; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2826; AVX-NEXT:    vmovaps %xmm1, 144(%rsi)2827; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2828; AVX-NEXT:    vmovaps %xmm1, 80(%rsi)2829; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2830; AVX-NEXT:    vmovaps %xmm1, 16(%rsi)2831; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2832; AVX-NEXT:    vmovaps %xmm1, 240(%rsi)2833; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2834; AVX-NEXT:    vmovaps %xmm1, 224(%rsi)2835; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2836; AVX-NEXT:    vmovaps %xmm1, 32(%rsi)2837; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2838; AVX-NEXT:    vmovaps %xmm1, 160(%rsi)2839; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2840; AVX-NEXT:    vmovaps %xmm1, 96(%rsi)2841; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2842; AVX-NEXT:    vmovaps %xmm1, 48(%rsi)2843; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2844; AVX-NEXT:    vmovaps %xmm1, 176(%rsi)2845; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2846; AVX-NEXT:    vmovaps %xmm1, 112(%rsi)2847; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2848; AVX-NEXT:    vmovaps %xmm1, 64(%rdx)2849; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2850; AVX-NEXT:    vmovaps %xmm1, 80(%rdx)2851; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2852; AVX-NEXT:    vmovaps %xmm1, 128(%rdx)2853; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2854; AVX-NEXT:    vmovaps %xmm1, 144(%rdx)2855; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2856; AVX-NEXT:    vmovaps %xmm1, (%rdx)2857; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2858; AVX-NEXT:    vmovaps %xmm1, 16(%rdx)2859; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2860; AVX-NEXT:    vmovaps %xmm1, 192(%rdx)2861; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2862; AVX-NEXT:    vmovaps %xmm1, 208(%rdx)2863; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2864; AVX-NEXT:    vmovaps %xmm1, 96(%rdx)2865; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2866; AVX-NEXT:    vmovaps %xmm1, 112(%rdx)2867; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2868; AVX-NEXT:    vmovaps %xmm1, 32(%rdx)2869; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2870; AVX-NEXT:    vmovaps %xmm1, 48(%rdx)2871; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2872; AVX-NEXT:    vmovaps %xmm1, 160(%rdx)2873; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2874; AVX-NEXT:    vmovaps %xmm1, 176(%rdx)2875; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2876; AVX-NEXT:    vmovaps %xmm1, 224(%rdx)2877; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2878; AVX-NEXT:    vmovaps %xmm1, 240(%rdx)2879; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2880; AVX-NEXT:    vmovaps %ymm1, 192(%rcx)2881; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2882; AVX-NEXT:    vmovaps %ymm1, 128(%rcx)2883; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2884; AVX-NEXT:    vmovaps %ymm1, 64(%rcx)2885; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2886; AVX-NEXT:    vmovaps %ymm1, (%rcx)2887; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2888; AVX-NEXT:    vmovaps %ymm1, 224(%rcx)2889; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2890; AVX-NEXT:    vmovaps %ymm1, 160(%rcx)2891; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2892; AVX-NEXT:    vmovaps %ymm1, 96(%rcx)2893; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2894; AVX-NEXT:    vmovaps %ymm1, 32(%rcx)2895; AVX-NEXT:    vmovaps %ymm2, 192(%r8)2896; AVX-NEXT:    vmovaps %ymm0, 128(%r8)2897; AVX-NEXT:    vmovaps %ymm9, 64(%r8)2898; AVX-NEXT:    vmovaps %ymm13, (%r8)2899; AVX-NEXT:    vmovaps %ymm15, 224(%r8)2900; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2901; AVX-NEXT:    vmovaps %ymm0, 160(%r8)2902; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2903; AVX-NEXT:    vmovaps %ymm0, 96(%r8)2904; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload2905; AVX-NEXT:    vmovaps %ymm0, 32(%r8)2906; AVX-NEXT:    addq $1112, %rsp # imm = 0x4582907; AVX-NEXT:    vzeroupper2908; AVX-NEXT:    retq2909;2910; AVX2-LABEL: load_i64_stride4_vf32:2911; AVX2:       # %bb.0:2912; AVX2-NEXT:    subq $1224, %rsp # imm = 0x4C82913; AVX2-NEXT:    vmovaps 160(%rdi), %xmm02914; AVX2-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm02915; AVX2-NEXT:    vmovaps 128(%rdi), %xmm12916; AVX2-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm12917; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2918; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2919; AVX2-NEXT:    vmovaps 416(%rdi), %xmm22920; AVX2-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm22921; AVX2-NEXT:    vmovaps 384(%rdi), %xmm32922; AVX2-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm32923; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]2924; AVX2-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2925; AVX2-NEXT:    vmovaps 672(%rdi), %xmm42926; AVX2-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm42927; AVX2-NEXT:    vmovaps 640(%rdi), %xmm52928; AVX2-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm52929; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]2930; AVX2-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2931; AVX2-NEXT:    vmovaps 928(%rdi), %xmm62932; AVX2-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm62933; AVX2-NEXT:    vmovaps 896(%rdi), %xmm72934; AVX2-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm72935; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]2936; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2937; AVX2-NEXT:    vmovaps (%rdi), %xmm92938; AVX2-NEXT:    vmovaps 32(%rdi), %xmm82939; AVX2-NEXT:    vinsertf128 $1, 96(%rdi), %ymm8, %ymm82940; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm9, %ymm92941; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]2942; AVX2-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2943; AVX2-NEXT:    vmovaps 288(%rdi), %xmm102944; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm10, %ymm102945; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]2946; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2947; AVX2-NEXT:    vmovaps 256(%rdi), %xmm02948; AVX2-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm02949; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]2950; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2951; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]2952; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2953; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]2954; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2955; AVX2-NEXT:    vmovaps 544(%rdi), %xmm12956; AVX2-NEXT:    vinsertf128 $1, 608(%rdi), %ymm1, %ymm12957; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]2958; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2959; AVX2-NEXT:    vmovaps 512(%rdi), %xmm22960; AVX2-NEXT:    vinsertf128 $1, 576(%rdi), %ymm2, %ymm22961; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]2962; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2963; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]2964; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2965; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]2966; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2967; AVX2-NEXT:    vmovaps 800(%rdi), %xmm02968; AVX2-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm02969; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]2970; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2971; AVX2-NEXT:    vmovaps 768(%rdi), %xmm12972; AVX2-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm12973; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]2974; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2975; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]2976; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2977; AVX2-NEXT:    vmovaps 160(%rdi), %ymm22978; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2979; AVX2-NEXT:    vmovaps 128(%rdi), %ymm32980; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2981; AVX2-NEXT:    vmovaps 224(%rdi), %ymm12982; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2983; AVX2-NEXT:    vmovaps 192(%rdi), %ymm02984; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2985; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2986; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]2987; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]2988; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2989; AVX2-NEXT:    vmovaps 416(%rdi), %ymm22990; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2991; AVX2-NEXT:    vmovaps 384(%rdi), %ymm32992; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2993; AVX2-NEXT:    vmovaps 480(%rdi), %ymm12994; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2995; AVX2-NEXT:    vmovaps 448(%rdi), %ymm02996; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2997; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]2998; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]2999; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3000; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3001; AVX2-NEXT:    vmovaps 672(%rdi), %ymm23002; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3003; AVX2-NEXT:    vmovaps 640(%rdi), %ymm33004; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3005; AVX2-NEXT:    vmovaps 736(%rdi), %ymm13006; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3007; AVX2-NEXT:    vmovaps 704(%rdi), %ymm03008; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3009; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3010; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3011; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3012; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3013; AVX2-NEXT:    vmovaps 928(%rdi), %ymm23014; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3015; AVX2-NEXT:    vmovaps 896(%rdi), %ymm33016; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3017; AVX2-NEXT:    vmovaps 992(%rdi), %ymm13018; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3019; AVX2-NEXT:    vmovaps 960(%rdi), %ymm03020; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3021; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3022; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3023; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3024; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3025; AVX2-NEXT:    vmovaps 32(%rdi), %ymm23026; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3027; AVX2-NEXT:    vmovaps (%rdi), %ymm13028; AVX2-NEXT:    vmovups %ymm1, (%rsp) # 32-byte Spill3029; AVX2-NEXT:    vmovaps 96(%rdi), %ymm123030; AVX2-NEXT:    vmovaps 64(%rdi), %ymm113031; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]3032; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3033; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3034; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3035; AVX2-NEXT:    vmovaps 288(%rdi), %ymm103036; AVX2-NEXT:    vmovaps 256(%rdi), %ymm93037; AVX2-NEXT:    vmovaps 352(%rdi), %ymm83038; AVX2-NEXT:    vmovaps 320(%rdi), %ymm73039; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]3040; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]3041; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]3042; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3043; AVX2-NEXT:    vmovaps 544(%rdi), %ymm63044; AVX2-NEXT:    vmovaps 512(%rdi), %ymm153045; AVX2-NEXT:    vmovaps 608(%rdi), %ymm53046; AVX2-NEXT:    vmovaps 576(%rdi), %ymm33047; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]3048; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]3049; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]3050; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3051; AVX2-NEXT:    vmovaps 800(%rdi), %ymm43052; AVX2-NEXT:    vmovaps 768(%rdi), %ymm143053; AVX2-NEXT:    vmovaps 864(%rdi), %ymm23054; AVX2-NEXT:    vmovaps 832(%rdi), %ymm13055; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3056; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]3057; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3058; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3059; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3060; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3061; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3062; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3063; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3064; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3065; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3066; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3067; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3068; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3069; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3070; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3071; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3072; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3073; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3074; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3075; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3076; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3077; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3078; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3079; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3080; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3081; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3082; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3083; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3084; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3085; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3086; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3087; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3088; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3089; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3090; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm11 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]3091; AVX2-NEXT:    vmovups (%rsp), %ymm12 # 32-byte Reload3092; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload3093; AVX2-NEXT:    # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]3094; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]3095; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]3096; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]3097; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]3098; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]3099; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]3100; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]3101; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]3102; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]3103; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3104; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3105; AVX2-NEXT:    vmovaps %ymm2, 192(%rsi)3106; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3107; AVX2-NEXT:    vmovaps %ymm2, 128(%rsi)3108; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3109; AVX2-NEXT:    vmovaps %ymm2, 64(%rsi)3110; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3111; AVX2-NEXT:    vmovaps %ymm2, (%rsi)3112; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3113; AVX2-NEXT:    vmovaps %ymm2, 224(%rsi)3114; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3115; AVX2-NEXT:    vmovaps %ymm2, 160(%rsi)3116; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3117; AVX2-NEXT:    vmovaps %ymm2, 96(%rsi)3118; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3119; AVX2-NEXT:    vmovaps %ymm2, 32(%rsi)3120; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3121; AVX2-NEXT:    vmovaps %ymm2, 192(%rdx)3122; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3123; AVX2-NEXT:    vmovaps %ymm2, 128(%rdx)3124; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3125; AVX2-NEXT:    vmovaps %ymm2, 64(%rdx)3126; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3127; AVX2-NEXT:    vmovaps %ymm2, (%rdx)3128; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3129; AVX2-NEXT:    vmovaps %ymm2, 224(%rdx)3130; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3131; AVX2-NEXT:    vmovaps %ymm2, 160(%rdx)3132; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3133; AVX2-NEXT:    vmovaps %ymm2, 96(%rdx)3134; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3135; AVX2-NEXT:    vmovaps %ymm2, 32(%rdx)3136; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3137; AVX2-NEXT:    vmovaps %ymm2, 192(%rcx)3138; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3139; AVX2-NEXT:    vmovaps %ymm2, 128(%rcx)3140; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3141; AVX2-NEXT:    vmovaps %ymm2, 64(%rcx)3142; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3143; AVX2-NEXT:    vmovaps %ymm2, (%rcx)3144; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3145; AVX2-NEXT:    vmovaps %ymm2, 224(%rcx)3146; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3147; AVX2-NEXT:    vmovaps %ymm2, 160(%rcx)3148; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3149; AVX2-NEXT:    vmovaps %ymm2, 96(%rcx)3150; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3151; AVX2-NEXT:    vmovaps %ymm2, 32(%rcx)3152; AVX2-NEXT:    vmovaps %ymm1, 192(%r8)3153; AVX2-NEXT:    vmovaps %ymm3, 128(%r8)3154; AVX2-NEXT:    vmovaps %ymm7, 64(%r8)3155; AVX2-NEXT:    vmovaps %ymm11, (%r8)3156; AVX2-NEXT:    vmovaps %ymm0, 224(%r8)3157; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3158; AVX2-NEXT:    vmovaps %ymm0, 160(%r8)3159; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3160; AVX2-NEXT:    vmovaps %ymm0, 96(%r8)3161; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3162; AVX2-NEXT:    vmovaps %ymm0, 32(%r8)3163; AVX2-NEXT:    addq $1224, %rsp # imm = 0x4C83164; AVX2-NEXT:    vzeroupper3165; AVX2-NEXT:    retq3166;3167; AVX2-FP-LABEL: load_i64_stride4_vf32:3168; AVX2-FP:       # %bb.0:3169; AVX2-FP-NEXT:    subq $1224, %rsp # imm = 0x4C83170; AVX2-FP-NEXT:    vmovaps 160(%rdi), %xmm03171; AVX2-FP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm03172; AVX2-FP-NEXT:    vmovaps 128(%rdi), %xmm13173; AVX2-FP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm13174; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3175; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3176; AVX2-FP-NEXT:    vmovaps 416(%rdi), %xmm23177; AVX2-FP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm23178; AVX2-FP-NEXT:    vmovaps 384(%rdi), %xmm33179; AVX2-FP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm33180; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3181; AVX2-FP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3182; AVX2-FP-NEXT:    vmovaps 672(%rdi), %xmm43183; AVX2-FP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm43184; AVX2-FP-NEXT:    vmovaps 640(%rdi), %xmm53185; AVX2-FP-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm53186; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]3187; AVX2-FP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3188; AVX2-FP-NEXT:    vmovaps 928(%rdi), %xmm63189; AVX2-FP-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm63190; AVX2-FP-NEXT:    vmovaps 896(%rdi), %xmm73191; AVX2-FP-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm73192; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3193; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3194; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm93195; AVX2-FP-NEXT:    vmovaps 32(%rdi), %xmm83196; AVX2-FP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm8, %ymm83197; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm9, %ymm93198; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3199; AVX2-FP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3200; AVX2-FP-NEXT:    vmovaps 288(%rdi), %xmm103201; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm10, %ymm103202; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3203; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3204; AVX2-FP-NEXT:    vmovaps 256(%rdi), %xmm03205; AVX2-FP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm03206; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]3207; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3208; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]3209; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3210; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]3211; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3212; AVX2-FP-NEXT:    vmovaps 544(%rdi), %xmm13213; AVX2-FP-NEXT:    vinsertf128 $1, 608(%rdi), %ymm1, %ymm13214; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3215; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3216; AVX2-FP-NEXT:    vmovaps 512(%rdi), %xmm23217; AVX2-FP-NEXT:    vinsertf128 $1, 576(%rdi), %ymm2, %ymm23218; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3219; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3220; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3221; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3222; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]3223; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3224; AVX2-FP-NEXT:    vmovaps 800(%rdi), %xmm03225; AVX2-FP-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm03226; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]3227; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3228; AVX2-FP-NEXT:    vmovaps 768(%rdi), %xmm13229; AVX2-FP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm13230; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3231; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3232; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3233; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3234; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm23235; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3236; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm33237; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3238; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm13239; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3240; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm03241; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3242; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3243; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3244; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3245; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3246; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm23247; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3248; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm33249; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3250; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm13251; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3252; AVX2-FP-NEXT:    vmovaps 448(%rdi), %ymm03253; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3254; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3255; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3256; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3257; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3258; AVX2-FP-NEXT:    vmovaps 672(%rdi), %ymm23259; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3260; AVX2-FP-NEXT:    vmovaps 640(%rdi), %ymm33261; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3262; AVX2-FP-NEXT:    vmovaps 736(%rdi), %ymm13263; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3264; AVX2-FP-NEXT:    vmovaps 704(%rdi), %ymm03265; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3266; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3267; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3268; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3269; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3270; AVX2-FP-NEXT:    vmovaps 928(%rdi), %ymm23271; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3272; AVX2-FP-NEXT:    vmovaps 896(%rdi), %ymm33273; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3274; AVX2-FP-NEXT:    vmovaps 992(%rdi), %ymm13275; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3276; AVX2-FP-NEXT:    vmovaps 960(%rdi), %ymm03277; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3278; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3279; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3280; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3281; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3282; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm23283; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3284; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm13285; AVX2-FP-NEXT:    vmovups %ymm1, (%rsp) # 32-byte Spill3286; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm123287; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm113288; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]3289; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3290; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3291; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3292; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm103293; AVX2-FP-NEXT:    vmovaps 256(%rdi), %ymm93294; AVX2-FP-NEXT:    vmovaps 352(%rdi), %ymm83295; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm73296; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]3297; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]3298; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]3299; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3300; AVX2-FP-NEXT:    vmovaps 544(%rdi), %ymm63301; AVX2-FP-NEXT:    vmovaps 512(%rdi), %ymm153302; AVX2-FP-NEXT:    vmovaps 608(%rdi), %ymm53303; AVX2-FP-NEXT:    vmovaps 576(%rdi), %ymm33304; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]3305; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]3306; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]3307; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3308; AVX2-FP-NEXT:    vmovaps 800(%rdi), %ymm43309; AVX2-FP-NEXT:    vmovaps 768(%rdi), %ymm143310; AVX2-FP-NEXT:    vmovaps 864(%rdi), %ymm23311; AVX2-FP-NEXT:    vmovaps 832(%rdi), %ymm13312; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3313; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]3314; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3315; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3316; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3317; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3318; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3319; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3320; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3321; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3322; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3323; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3324; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3325; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3326; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3327; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3328; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3329; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3330; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3331; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3332; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3333; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3334; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3335; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3336; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3337; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3338; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3339; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3340; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3341; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3342; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3343; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3344; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3345; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3346; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3347; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm11 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]3348; AVX2-FP-NEXT:    vmovups (%rsp), %ymm12 # 32-byte Reload3349; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload3350; AVX2-FP-NEXT:    # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]3351; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]3352; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]3353; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]3354; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]3355; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]3356; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]3357; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]3358; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]3359; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]3360; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3361; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3362; AVX2-FP-NEXT:    vmovaps %ymm2, 192(%rsi)3363; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3364; AVX2-FP-NEXT:    vmovaps %ymm2, 128(%rsi)3365; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3366; AVX2-FP-NEXT:    vmovaps %ymm2, 64(%rsi)3367; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3368; AVX2-FP-NEXT:    vmovaps %ymm2, (%rsi)3369; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3370; AVX2-FP-NEXT:    vmovaps %ymm2, 224(%rsi)3371; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3372; AVX2-FP-NEXT:    vmovaps %ymm2, 160(%rsi)3373; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3374; AVX2-FP-NEXT:    vmovaps %ymm2, 96(%rsi)3375; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3376; AVX2-FP-NEXT:    vmovaps %ymm2, 32(%rsi)3377; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3378; AVX2-FP-NEXT:    vmovaps %ymm2, 192(%rdx)3379; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3380; AVX2-FP-NEXT:    vmovaps %ymm2, 128(%rdx)3381; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3382; AVX2-FP-NEXT:    vmovaps %ymm2, 64(%rdx)3383; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3384; AVX2-FP-NEXT:    vmovaps %ymm2, (%rdx)3385; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3386; AVX2-FP-NEXT:    vmovaps %ymm2, 224(%rdx)3387; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3388; AVX2-FP-NEXT:    vmovaps %ymm2, 160(%rdx)3389; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3390; AVX2-FP-NEXT:    vmovaps %ymm2, 96(%rdx)3391; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3392; AVX2-FP-NEXT:    vmovaps %ymm2, 32(%rdx)3393; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3394; AVX2-FP-NEXT:    vmovaps %ymm2, 192(%rcx)3395; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3396; AVX2-FP-NEXT:    vmovaps %ymm2, 128(%rcx)3397; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3398; AVX2-FP-NEXT:    vmovaps %ymm2, 64(%rcx)3399; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3400; AVX2-FP-NEXT:    vmovaps %ymm2, (%rcx)3401; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3402; AVX2-FP-NEXT:    vmovaps %ymm2, 224(%rcx)3403; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3404; AVX2-FP-NEXT:    vmovaps %ymm2, 160(%rcx)3405; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3406; AVX2-FP-NEXT:    vmovaps %ymm2, 96(%rcx)3407; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3408; AVX2-FP-NEXT:    vmovaps %ymm2, 32(%rcx)3409; AVX2-FP-NEXT:    vmovaps %ymm1, 192(%r8)3410; AVX2-FP-NEXT:    vmovaps %ymm3, 128(%r8)3411; AVX2-FP-NEXT:    vmovaps %ymm7, 64(%r8)3412; AVX2-FP-NEXT:    vmovaps %ymm11, (%r8)3413; AVX2-FP-NEXT:    vmovaps %ymm0, 224(%r8)3414; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3415; AVX2-FP-NEXT:    vmovaps %ymm0, 160(%r8)3416; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3417; AVX2-FP-NEXT:    vmovaps %ymm0, 96(%r8)3418; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3419; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%r8)3420; AVX2-FP-NEXT:    addq $1224, %rsp # imm = 0x4C83421; AVX2-FP-NEXT:    vzeroupper3422; AVX2-FP-NEXT:    retq3423;3424; AVX2-FCP-LABEL: load_i64_stride4_vf32:3425; AVX2-FCP:       # %bb.0:3426; AVX2-FCP-NEXT:    subq $1224, %rsp # imm = 0x4C83427; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %xmm03428; AVX2-FCP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm03429; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %xmm13430; AVX2-FCP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm13431; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3432; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3433; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %xmm23434; AVX2-FCP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm23435; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %xmm33436; AVX2-FCP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm33437; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3438; AVX2-FCP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3439; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %xmm43440; AVX2-FCP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm43441; AVX2-FCP-NEXT:    vmovaps 640(%rdi), %xmm53442; AVX2-FCP-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm53443; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]3444; AVX2-FCP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3445; AVX2-FCP-NEXT:    vmovaps 928(%rdi), %xmm63446; AVX2-FCP-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm63447; AVX2-FCP-NEXT:    vmovaps 896(%rdi), %xmm73448; AVX2-FCP-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm73449; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3450; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3451; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm93452; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %xmm83453; AVX2-FCP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm8, %ymm83454; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm9, %ymm93455; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3456; AVX2-FCP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3457; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %xmm103458; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm10, %ymm103459; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3460; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3461; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %xmm03462; AVX2-FCP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm0, %ymm03463; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]3464; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3465; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]3466; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3467; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]3468; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3469; AVX2-FCP-NEXT:    vmovaps 544(%rdi), %xmm13470; AVX2-FCP-NEXT:    vinsertf128 $1, 608(%rdi), %ymm1, %ymm13471; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3472; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3473; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %xmm23474; AVX2-FCP-NEXT:    vinsertf128 $1, 576(%rdi), %ymm2, %ymm23475; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3476; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3477; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3478; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3479; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]3480; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3481; AVX2-FCP-NEXT:    vmovaps 800(%rdi), %xmm03482; AVX2-FCP-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm03483; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]3484; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3485; AVX2-FCP-NEXT:    vmovaps 768(%rdi), %xmm13486; AVX2-FCP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm13487; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3488; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3489; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3490; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3491; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm23492; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3493; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm33494; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3495; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm13496; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3497; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm03498; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3499; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3500; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3501; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3502; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3503; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm23504; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3505; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm33506; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3507; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm13508; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3509; AVX2-FCP-NEXT:    vmovaps 448(%rdi), %ymm03510; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3511; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3512; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3513; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3514; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3515; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %ymm23516; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3517; AVX2-FCP-NEXT:    vmovaps 640(%rdi), %ymm33518; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3519; AVX2-FCP-NEXT:    vmovaps 736(%rdi), %ymm13520; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3521; AVX2-FCP-NEXT:    vmovaps 704(%rdi), %ymm03522; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3523; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3524; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3525; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3526; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3527; AVX2-FCP-NEXT:    vmovaps 928(%rdi), %ymm23528; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3529; AVX2-FCP-NEXT:    vmovaps 896(%rdi), %ymm33530; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3531; AVX2-FCP-NEXT:    vmovaps 992(%rdi), %ymm13532; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3533; AVX2-FCP-NEXT:    vmovaps 960(%rdi), %ymm03534; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3535; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3536; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]3537; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3538; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3539; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm23540; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3541; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm13542; AVX2-FCP-NEXT:    vmovups %ymm1, (%rsp) # 32-byte Spill3543; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm123544; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm113545; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]3546; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3547; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3548; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3549; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm103550; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %ymm93551; AVX2-FCP-NEXT:    vmovaps 352(%rdi), %ymm83552; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm73553; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]3554; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]3555; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]3556; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3557; AVX2-FCP-NEXT:    vmovaps 544(%rdi), %ymm63558; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %ymm153559; AVX2-FCP-NEXT:    vmovaps 608(%rdi), %ymm53560; AVX2-FCP-NEXT:    vmovaps 576(%rdi), %ymm33561; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]3562; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]3563; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]3564; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3565; AVX2-FCP-NEXT:    vmovaps 800(%rdi), %ymm43566; AVX2-FCP-NEXT:    vmovaps 768(%rdi), %ymm143567; AVX2-FCP-NEXT:    vmovaps 864(%rdi), %ymm23568; AVX2-FCP-NEXT:    vmovaps 832(%rdi), %ymm13569; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]3570; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]3571; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3572; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3573; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3574; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3575; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3576; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3577; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3578; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3579; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3580; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3581; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3582; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3583; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3584; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3585; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3586; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3587; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3588; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3589; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3590; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3591; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3592; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3593; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3594; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3595; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3596; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3597; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3598; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload3599; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]3600; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload3601; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload3602; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]3603; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]3604; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm11 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]3605; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm12 # 32-byte Reload3606; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload3607; AVX2-FCP-NEXT:    # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]3608; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]3609; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm7 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]3610; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm8 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]3611; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm8[2,3],ymm7[2,3]3612; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]3613; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm5 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]3614; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]3615; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]3616; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]3617; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]3618; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3619; AVX2-FCP-NEXT:    vmovaps %ymm2, 192(%rsi)3620; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3621; AVX2-FCP-NEXT:    vmovaps %ymm2, 128(%rsi)3622; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3623; AVX2-FCP-NEXT:    vmovaps %ymm2, 64(%rsi)3624; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3625; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rsi)3626; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3627; AVX2-FCP-NEXT:    vmovaps %ymm2, 224(%rsi)3628; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3629; AVX2-FCP-NEXT:    vmovaps %ymm2, 160(%rsi)3630; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3631; AVX2-FCP-NEXT:    vmovaps %ymm2, 96(%rsi)3632; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3633; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rsi)3634; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3635; AVX2-FCP-NEXT:    vmovaps %ymm2, 192(%rdx)3636; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3637; AVX2-FCP-NEXT:    vmovaps %ymm2, 128(%rdx)3638; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3639; AVX2-FCP-NEXT:    vmovaps %ymm2, 64(%rdx)3640; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3641; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rdx)3642; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3643; AVX2-FCP-NEXT:    vmovaps %ymm2, 224(%rdx)3644; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3645; AVX2-FCP-NEXT:    vmovaps %ymm2, 160(%rdx)3646; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3647; AVX2-FCP-NEXT:    vmovaps %ymm2, 96(%rdx)3648; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3649; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rdx)3650; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3651; AVX2-FCP-NEXT:    vmovaps %ymm2, 192(%rcx)3652; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3653; AVX2-FCP-NEXT:    vmovaps %ymm2, 128(%rcx)3654; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3655; AVX2-FCP-NEXT:    vmovaps %ymm2, 64(%rcx)3656; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3657; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rcx)3658; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3659; AVX2-FCP-NEXT:    vmovaps %ymm2, 224(%rcx)3660; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3661; AVX2-FCP-NEXT:    vmovaps %ymm2, 160(%rcx)3662; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3663; AVX2-FCP-NEXT:    vmovaps %ymm2, 96(%rcx)3664; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3665; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rcx)3666; AVX2-FCP-NEXT:    vmovaps %ymm1, 192(%r8)3667; AVX2-FCP-NEXT:    vmovaps %ymm3, 128(%r8)3668; AVX2-FCP-NEXT:    vmovaps %ymm7, 64(%r8)3669; AVX2-FCP-NEXT:    vmovaps %ymm11, (%r8)3670; AVX2-FCP-NEXT:    vmovaps %ymm0, 224(%r8)3671; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3672; AVX2-FCP-NEXT:    vmovaps %ymm0, 160(%r8)3673; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3674; AVX2-FCP-NEXT:    vmovaps %ymm0, 96(%r8)3675; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3676; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%r8)3677; AVX2-FCP-NEXT:    addq $1224, %rsp # imm = 0x4C83678; AVX2-FCP-NEXT:    vzeroupper3679; AVX2-FCP-NEXT:    retq3680;3681; AVX512-LABEL: load_i64_stride4_vf32:3682; AVX512:       # %bb.0:3683; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm03684; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm13685; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm23686; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm33687; AVX512-NEXT:    vmovdqa64 832(%rdi), %zmm43688; AVX512-NEXT:    vmovdqa64 768(%rdi), %zmm53689; AVX512-NEXT:    vmovdqa64 960(%rdi), %zmm103690; AVX512-NEXT:    vmovdqa64 896(%rdi), %zmm73691; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm143692; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm153693; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm173694; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm163695; AVX512-NEXT:    vmovdqa64 576(%rdi), %zmm83696; AVX512-NEXT:    vmovdqa64 512(%rdi), %zmm93697; AVX512-NEXT:    vmovdqa64 704(%rdi), %zmm123698; AVX512-NEXT:    vmovdqa64 640(%rdi), %zmm113699; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]3700; AVX512-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]3701; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm63702; AVX512-NEXT:    vpermt2q %zmm12, %zmm19, %zmm63703; AVX512-NEXT:    vmovdqa64 %zmm9, %zmm133704; AVX512-NEXT:    vpermt2q %zmm8, %zmm19, %zmm133705; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]3706; AVX512-NEXT:    vmovdqa64 %zmm16, %zmm133707; AVX512-NEXT:    vpermt2q %zmm17, %zmm19, %zmm133708; AVX512-NEXT:    vmovdqa64 %zmm15, %zmm183709; AVX512-NEXT:    vpermt2q %zmm14, %zmm19, %zmm183710; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]3711; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm183712; AVX512-NEXT:    vpermt2q %zmm10, %zmm19, %zmm183713; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm203714; AVX512-NEXT:    vpermt2q %zmm4, %zmm19, %zmm203715; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]3716; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm203717; AVX512-NEXT:    vpermt2q %zmm3, %zmm19, %zmm203718; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm193719; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]3720; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]3721; AVX512-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]3722; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm203723; AVX512-NEXT:    vpermt2q %zmm12, %zmm21, %zmm203724; AVX512-NEXT:    vmovdqa64 %zmm9, %zmm223725; AVX512-NEXT:    vpermt2q %zmm8, %zmm21, %zmm223726; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]3727; AVX512-NEXT:    vmovdqa64 %zmm16, %zmm223728; AVX512-NEXT:    vpermt2q %zmm17, %zmm21, %zmm223729; AVX512-NEXT:    vmovdqa64 %zmm15, %zmm233730; AVX512-NEXT:    vpermt2q %zmm14, %zmm21, %zmm233731; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]3732; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm233733; AVX512-NEXT:    vpermt2q %zmm10, %zmm21, %zmm233734; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm243735; AVX512-NEXT:    vpermt2q %zmm4, %zmm21, %zmm243736; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]3737; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm243738; AVX512-NEXT:    vpermt2q %zmm3, %zmm21, %zmm243739; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm213740; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]3741; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]3742; AVX512-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]3743; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm253744; AVX512-NEXT:    vpermt2q %zmm12, %zmm24, %zmm253745; AVX512-NEXT:    vmovdqa64 %zmm9, %zmm263746; AVX512-NEXT:    vpermt2q %zmm8, %zmm24, %zmm263747; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]3748; AVX512-NEXT:    vmovdqa64 %zmm16, %zmm263749; AVX512-NEXT:    vpermt2q %zmm17, %zmm24, %zmm263750; AVX512-NEXT:    vmovdqa64 %zmm15, %zmm273751; AVX512-NEXT:    vpermt2q %zmm14, %zmm24, %zmm273752; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]3753; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm273754; AVX512-NEXT:    vpermt2q %zmm10, %zmm24, %zmm273755; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm283756; AVX512-NEXT:    vpermt2q %zmm4, %zmm24, %zmm283757; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]3758; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm283759; AVX512-NEXT:    vpermt2q %zmm3, %zmm24, %zmm283760; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm243761; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]3762; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]3763; AVX512-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]3764; AVX512-NEXT:    vpermt2q %zmm17, %zmm28, %zmm163765; AVX512-NEXT:    vpermt2q %zmm14, %zmm28, %zmm153766; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]3767; AVX512-NEXT:    vpermt2q %zmm10, %zmm28, %zmm73768; AVX512-NEXT:    vpermt2q %zmm4, %zmm28, %zmm53769; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]3770; AVX512-NEXT:    vpermt2q %zmm12, %zmm28, %zmm113771; AVX512-NEXT:    vpermt2q %zmm8, %zmm28, %zmm93772; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]3773; AVX512-NEXT:    vpermt2q %zmm3, %zmm28, %zmm23774; AVX512-NEXT:    vpermt2q %zmm1, %zmm28, %zmm03775; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]3776; AVX512-NEXT:    vmovdqa64 %zmm18, 192(%rsi)3777; AVX512-NEXT:    vmovdqa64 %zmm19, (%rsi)3778; AVX512-NEXT:    vmovdqa64 %zmm13, 64(%rsi)3779; AVX512-NEXT:    vmovdqa64 %zmm6, 128(%rsi)3780; AVX512-NEXT:    vmovdqa64 %zmm23, 192(%rdx)3781; AVX512-NEXT:    vmovdqa64 %zmm21, (%rdx)3782; AVX512-NEXT:    vmovdqa64 %zmm22, 64(%rdx)3783; AVX512-NEXT:    vmovdqa64 %zmm20, 128(%rdx)3784; AVX512-NEXT:    vmovdqa64 %zmm27, 192(%rcx)3785; AVX512-NEXT:    vmovdqa64 %zmm24, (%rcx)3786; AVX512-NEXT:    vmovdqa64 %zmm26, 64(%rcx)3787; AVX512-NEXT:    vmovdqa64 %zmm25, 128(%rcx)3788; AVX512-NEXT:    vmovdqa64 %zmm5, 128(%r8)3789; AVX512-NEXT:    vmovdqa64 %zmm4, 192(%r8)3790; AVX512-NEXT:    vmovdqa64 %zmm0, (%r8)3791; AVX512-NEXT:    vmovdqa64 %zmm14, 64(%r8)3792; AVX512-NEXT:    vzeroupper3793; AVX512-NEXT:    retq3794;3795; AVX512-FCP-LABEL: load_i64_stride4_vf32:3796; AVX512-FCP:       # %bb.0:3797; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm03798; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm13799; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm23800; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm33801; AVX512-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm43802; AVX512-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm53803; AVX512-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm103804; AVX512-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm73805; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm143806; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm153807; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm173808; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm163809; AVX512-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm83810; AVX512-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm93811; AVX512-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm123812; AVX512-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm113813; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]3814; AVX512-FCP-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]3815; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm63816; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm63817; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, %zmm133818; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm19, %zmm133819; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]3820; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, %zmm133821; AVX512-FCP-NEXT:    vpermt2q %zmm17, %zmm19, %zmm133822; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, %zmm183823; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm19, %zmm183824; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]3825; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm183826; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm19, %zmm183827; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm203828; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm19, %zmm203829; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]3830; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm203831; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm19, %zmm203832; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm193833; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]3834; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]3835; AVX512-FCP-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]3836; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm203837; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm203838; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, %zmm223839; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm223840; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]3841; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, %zmm223842; AVX512-FCP-NEXT:    vpermt2q %zmm17, %zmm21, %zmm223843; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, %zmm233844; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm233845; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]3846; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm233847; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm233848; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm243849; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm21, %zmm243850; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]3851; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm243852; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm21, %zmm243853; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm213854; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]3855; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]3856; AVX512-FCP-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]3857; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm253858; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm24, %zmm253859; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, %zmm263860; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm24, %zmm263861; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]3862; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, %zmm263863; AVX512-FCP-NEXT:    vpermt2q %zmm17, %zmm24, %zmm263864; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, %zmm273865; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm24, %zmm273866; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]3867; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm273868; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm24, %zmm273869; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm283870; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm24, %zmm283871; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]3872; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm283873; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm24, %zmm283874; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm243875; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]3876; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]3877; AVX512-FCP-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]3878; AVX512-FCP-NEXT:    vpermt2q %zmm17, %zmm28, %zmm163879; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm28, %zmm153880; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]3881; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm28, %zmm73882; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm28, %zmm53883; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]3884; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm28, %zmm113885; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm28, %zmm93886; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]3887; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm28, %zmm23888; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm28, %zmm03889; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]3890; AVX512-FCP-NEXT:    vmovdqa64 %zmm18, 192(%rsi)3891; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)3892; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)3893; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, 128(%rsi)3894; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, 192(%rdx)3895; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)3896; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, 64(%rdx)3897; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, 128(%rdx)3898; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, 192(%rcx)3899; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, (%rcx)3900; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, 64(%rcx)3901; AVX512-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)3902; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, 128(%r8)3903; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, 192(%r8)3904; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)3905; AVX512-FCP-NEXT:    vmovdqa64 %zmm14, 64(%r8)3906; AVX512-FCP-NEXT:    vzeroupper3907; AVX512-FCP-NEXT:    retq3908;3909; AVX512DQ-LABEL: load_i64_stride4_vf32:3910; AVX512DQ:       # %bb.0:3911; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm03912; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm13913; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm23914; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm33915; AVX512DQ-NEXT:    vmovdqa64 832(%rdi), %zmm43916; AVX512DQ-NEXT:    vmovdqa64 768(%rdi), %zmm53917; AVX512DQ-NEXT:    vmovdqa64 960(%rdi), %zmm103918; AVX512DQ-NEXT:    vmovdqa64 896(%rdi), %zmm73919; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm143920; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm153921; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm173922; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm163923; AVX512DQ-NEXT:    vmovdqa64 576(%rdi), %zmm83924; AVX512DQ-NEXT:    vmovdqa64 512(%rdi), %zmm93925; AVX512DQ-NEXT:    vmovdqa64 704(%rdi), %zmm123926; AVX512DQ-NEXT:    vmovdqa64 640(%rdi), %zmm113927; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]3928; AVX512DQ-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]3929; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm63930; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm19, %zmm63931; AVX512DQ-NEXT:    vmovdqa64 %zmm9, %zmm133932; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm19, %zmm133933; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]3934; AVX512DQ-NEXT:    vmovdqa64 %zmm16, %zmm133935; AVX512DQ-NEXT:    vpermt2q %zmm17, %zmm19, %zmm133936; AVX512DQ-NEXT:    vmovdqa64 %zmm15, %zmm183937; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm19, %zmm183938; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]3939; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm183940; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm19, %zmm183941; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm203942; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm19, %zmm203943; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]3944; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm203945; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm19, %zmm203946; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm193947; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]3948; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]3949; AVX512DQ-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]3950; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm203951; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm21, %zmm203952; AVX512DQ-NEXT:    vmovdqa64 %zmm9, %zmm223953; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm21, %zmm223954; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]3955; AVX512DQ-NEXT:    vmovdqa64 %zmm16, %zmm223956; AVX512DQ-NEXT:    vpermt2q %zmm17, %zmm21, %zmm223957; AVX512DQ-NEXT:    vmovdqa64 %zmm15, %zmm233958; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm21, %zmm233959; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]3960; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm233961; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm21, %zmm233962; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm243963; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm21, %zmm243964; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]3965; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm243966; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm21, %zmm243967; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm213968; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]3969; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]3970; AVX512DQ-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]3971; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm253972; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm24, %zmm253973; AVX512DQ-NEXT:    vmovdqa64 %zmm9, %zmm263974; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm24, %zmm263975; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]3976; AVX512DQ-NEXT:    vmovdqa64 %zmm16, %zmm263977; AVX512DQ-NEXT:    vpermt2q %zmm17, %zmm24, %zmm263978; AVX512DQ-NEXT:    vmovdqa64 %zmm15, %zmm273979; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm24, %zmm273980; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]3981; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm273982; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm24, %zmm273983; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm283984; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm24, %zmm283985; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]3986; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm283987; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm24, %zmm283988; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm243989; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]3990; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]3991; AVX512DQ-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]3992; AVX512DQ-NEXT:    vpermt2q %zmm17, %zmm28, %zmm163993; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm28, %zmm153994; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]3995; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm28, %zmm73996; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm28, %zmm53997; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]3998; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm28, %zmm113999; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94000; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4001; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24002; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04003; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4004; AVX512DQ-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4005; AVX512DQ-NEXT:    vmovdqa64 %zmm19, (%rsi)4006; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4007; AVX512DQ-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4008; AVX512DQ-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4009; AVX512DQ-NEXT:    vmovdqa64 %zmm21, (%rdx)4010; AVX512DQ-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4011; AVX512DQ-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4012; AVX512DQ-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4013; AVX512DQ-NEXT:    vmovdqa64 %zmm24, (%rcx)4014; AVX512DQ-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4015; AVX512DQ-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4016; AVX512DQ-NEXT:    vmovdqa64 %zmm5, 128(%r8)4017; AVX512DQ-NEXT:    vmovdqa64 %zmm4, 192(%r8)4018; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%r8)4019; AVX512DQ-NEXT:    vmovdqa64 %zmm14, 64(%r8)4020; AVX512DQ-NEXT:    vzeroupper4021; AVX512DQ-NEXT:    retq4022;4023; AVX512DQ-FCP-LABEL: load_i64_stride4_vf32:4024; AVX512DQ-FCP:       # %bb.0:4025; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm04026; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm14027; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm24028; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm34029; AVX512DQ-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm44030; AVX512DQ-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm54031; AVX512DQ-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm104032; AVX512DQ-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm74033; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm144034; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm154035; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm174036; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm164037; AVX512DQ-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm84038; AVX512DQ-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm94039; AVX512DQ-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm124040; AVX512DQ-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm114041; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]4042; AVX512DQ-FCP-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]4043; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm64044; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm64045; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, %zmm134046; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm19, %zmm134047; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]4048; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, %zmm134049; AVX512DQ-FCP-NEXT:    vpermt2q %zmm17, %zmm19, %zmm134050; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, %zmm184051; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm19, %zmm184052; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]4053; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm184054; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm19, %zmm184055; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm204056; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm19, %zmm204057; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]4058; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm204059; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm19, %zmm204060; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm194061; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]4062; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]4063; AVX512DQ-FCP-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]4064; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm204065; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm204066; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, %zmm224067; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm224068; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]4069; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, %zmm224070; AVX512DQ-FCP-NEXT:    vpermt2q %zmm17, %zmm21, %zmm224071; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, %zmm234072; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm234073; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]4074; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm234075; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm234076; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm244077; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm21, %zmm244078; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]4079; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm244080; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm21, %zmm244081; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm214082; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]4083; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]4084; AVX512DQ-FCP-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]4085; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm254086; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm24, %zmm254087; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, %zmm264088; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm24, %zmm264089; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]4090; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, %zmm264091; AVX512DQ-FCP-NEXT:    vpermt2q %zmm17, %zmm24, %zmm264092; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, %zmm274093; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm24, %zmm274094; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]4095; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm274096; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm24, %zmm274097; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm284098; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm24, %zmm284099; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]4100; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm284101; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm24, %zmm284102; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm244103; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]4104; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]4105; AVX512DQ-FCP-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]4106; AVX512DQ-FCP-NEXT:    vpermt2q %zmm17, %zmm28, %zmm164107; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm28, %zmm154108; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]4109; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm28, %zmm74110; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm28, %zmm54111; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]4112; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm28, %zmm114113; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94114; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4115; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24116; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04117; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4118; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4119; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)4120; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4121; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4122; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4123; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)4124; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4125; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4126; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4127; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, (%rcx)4128; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4129; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4130; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, 128(%r8)4131; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, 192(%r8)4132; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)4133; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm14, 64(%r8)4134; AVX512DQ-FCP-NEXT:    vzeroupper4135; AVX512DQ-FCP-NEXT:    retq4136;4137; AVX512BW-LABEL: load_i64_stride4_vf32:4138; AVX512BW:       # %bb.0:4139; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm04140; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm14141; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm24142; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm34143; AVX512BW-NEXT:    vmovdqa64 832(%rdi), %zmm44144; AVX512BW-NEXT:    vmovdqa64 768(%rdi), %zmm54145; AVX512BW-NEXT:    vmovdqa64 960(%rdi), %zmm104146; AVX512BW-NEXT:    vmovdqa64 896(%rdi), %zmm74147; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm144148; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm154149; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm174150; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm164151; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm84152; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm94153; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm124154; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm114155; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]4156; AVX512BW-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]4157; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm64158; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm19, %zmm64159; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm134160; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm19, %zmm134161; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]4162; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm134163; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm19, %zmm134164; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm184165; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm19, %zmm184166; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]4167; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm184168; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm19, %zmm184169; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm204170; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm19, %zmm204171; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]4172; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm204173; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm19, %zmm204174; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm194175; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]4176; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]4177; AVX512BW-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]4178; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm204179; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm204180; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm224181; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm21, %zmm224182; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]4183; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm224184; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm21, %zmm224185; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm234186; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm21, %zmm234187; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]4188; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm234189; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm21, %zmm234190; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm244191; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm21, %zmm244192; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]4193; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm244194; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm21, %zmm244195; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm214196; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]4197; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]4198; AVX512BW-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]4199; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm254200; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm24, %zmm254201; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm264202; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm24, %zmm264203; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]4204; AVX512BW-NEXT:    vmovdqa64 %zmm16, %zmm264205; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm24, %zmm264206; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm274207; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm24, %zmm274208; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]4209; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm274210; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm24, %zmm274211; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm284212; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm24, %zmm284213; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]4214; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm284215; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm24, %zmm284216; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm244217; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]4218; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]4219; AVX512BW-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]4220; AVX512BW-NEXT:    vpermt2q %zmm17, %zmm28, %zmm164221; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm28, %zmm154222; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]4223; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm28, %zmm74224; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm28, %zmm54225; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]4226; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm28, %zmm114227; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94228; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4229; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24230; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04231; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4232; AVX512BW-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4233; AVX512BW-NEXT:    vmovdqa64 %zmm19, (%rsi)4234; AVX512BW-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4235; AVX512BW-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4236; AVX512BW-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4237; AVX512BW-NEXT:    vmovdqa64 %zmm21, (%rdx)4238; AVX512BW-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4239; AVX512BW-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4240; AVX512BW-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4241; AVX512BW-NEXT:    vmovdqa64 %zmm24, (%rcx)4242; AVX512BW-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4243; AVX512BW-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4244; AVX512BW-NEXT:    vmovdqa64 %zmm5, 128(%r8)4245; AVX512BW-NEXT:    vmovdqa64 %zmm4, 192(%r8)4246; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%r8)4247; AVX512BW-NEXT:    vmovdqa64 %zmm14, 64(%r8)4248; AVX512BW-NEXT:    vzeroupper4249; AVX512BW-NEXT:    retq4250;4251; AVX512BW-FCP-LABEL: load_i64_stride4_vf32:4252; AVX512BW-FCP:       # %bb.0:4253; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm04254; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm14255; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm24256; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm34257; AVX512BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm44258; AVX512BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm54259; AVX512BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm104260; AVX512BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm74261; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm144262; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm154263; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm174264; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm164265; AVX512BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm84266; AVX512BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm94267; AVX512BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm124268; AVX512BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm114269; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]4270; AVX512BW-FCP-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]4271; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm64272; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm64273; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm134274; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm19, %zmm134275; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]4276; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm134277; AVX512BW-FCP-NEXT:    vpermt2q %zmm17, %zmm19, %zmm134278; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm184279; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm19, %zmm184280; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]4281; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm184282; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm19, %zmm184283; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm204284; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm19, %zmm204285; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]4286; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm204287; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm19, %zmm204288; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm194289; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]4290; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]4291; AVX512BW-FCP-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]4292; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm204293; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm204294; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm224295; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm224296; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]4297; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm224298; AVX512BW-FCP-NEXT:    vpermt2q %zmm17, %zmm21, %zmm224299; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm234300; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm234301; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]4302; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm234303; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm234304; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm244305; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm21, %zmm244306; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]4307; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm244308; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm21, %zmm244309; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm214310; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]4311; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]4312; AVX512BW-FCP-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]4313; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm254314; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm24, %zmm254315; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm264316; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm24, %zmm264317; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]4318; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm264319; AVX512BW-FCP-NEXT:    vpermt2q %zmm17, %zmm24, %zmm264320; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm274321; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm24, %zmm274322; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]4323; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm274324; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm24, %zmm274325; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm284326; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm24, %zmm284327; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]4328; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm284329; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm24, %zmm284330; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm244331; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]4332; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]4333; AVX512BW-FCP-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]4334; AVX512BW-FCP-NEXT:    vpermt2q %zmm17, %zmm28, %zmm164335; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm28, %zmm154336; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]4337; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm28, %zmm74338; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm28, %zmm54339; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]4340; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm28, %zmm114341; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94342; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4343; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24344; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04345; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4346; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4347; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)4348; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4349; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4350; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4351; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)4352; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4353; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4354; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4355; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, (%rcx)4356; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4357; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4358; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, 128(%r8)4359; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, 192(%r8)4360; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)4361; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, 64(%r8)4362; AVX512BW-FCP-NEXT:    vzeroupper4363; AVX512BW-FCP-NEXT:    retq4364;4365; AVX512DQ-BW-LABEL: load_i64_stride4_vf32:4366; AVX512DQ-BW:       # %bb.0:4367; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm04368; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm14369; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm24370; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm34371; AVX512DQ-BW-NEXT:    vmovdqa64 832(%rdi), %zmm44372; AVX512DQ-BW-NEXT:    vmovdqa64 768(%rdi), %zmm54373; AVX512DQ-BW-NEXT:    vmovdqa64 960(%rdi), %zmm104374; AVX512DQ-BW-NEXT:    vmovdqa64 896(%rdi), %zmm74375; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm144376; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm154377; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm174378; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm164379; AVX512DQ-BW-NEXT:    vmovdqa64 576(%rdi), %zmm84380; AVX512DQ-BW-NEXT:    vmovdqa64 512(%rdi), %zmm94381; AVX512DQ-BW-NEXT:    vmovdqa64 704(%rdi), %zmm124382; AVX512DQ-BW-NEXT:    vmovdqa64 640(%rdi), %zmm114383; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]4384; AVX512DQ-BW-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]4385; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm64386; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm19, %zmm64387; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, %zmm134388; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm19, %zmm134389; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]4390; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, %zmm134391; AVX512DQ-BW-NEXT:    vpermt2q %zmm17, %zmm19, %zmm134392; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, %zmm184393; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm19, %zmm184394; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]4395; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm184396; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm19, %zmm184397; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm204398; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm19, %zmm204399; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]4400; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm204401; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm19, %zmm204402; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm194403; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]4404; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]4405; AVX512DQ-BW-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]4406; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm204407; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm204408; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, %zmm224409; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm21, %zmm224410; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]4411; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, %zmm224412; AVX512DQ-BW-NEXT:    vpermt2q %zmm17, %zmm21, %zmm224413; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, %zmm234414; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm21, %zmm234415; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]4416; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm234417; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm21, %zmm234418; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm244419; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm21, %zmm244420; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]4421; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm244422; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm21, %zmm244423; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm214424; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]4425; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]4426; AVX512DQ-BW-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]4427; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm254428; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm24, %zmm254429; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, %zmm264430; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm24, %zmm264431; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]4432; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, %zmm264433; AVX512DQ-BW-NEXT:    vpermt2q %zmm17, %zmm24, %zmm264434; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, %zmm274435; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm24, %zmm274436; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]4437; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm274438; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm24, %zmm274439; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm284440; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm24, %zmm284441; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]4442; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm284443; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm24, %zmm284444; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm244445; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]4446; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]4447; AVX512DQ-BW-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]4448; AVX512DQ-BW-NEXT:    vpermt2q %zmm17, %zmm28, %zmm164449; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm28, %zmm154450; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]4451; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm28, %zmm74452; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm28, %zmm54453; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]4454; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm28, %zmm114455; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94456; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4457; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24458; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04459; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4460; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4461; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, (%rsi)4462; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4463; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4464; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4465; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm21, (%rdx)4466; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4467; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4468; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4469; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, (%rcx)4470; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4471; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4472; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, 128(%r8)4473; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, 192(%r8)4474; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%r8)4475; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, 64(%r8)4476; AVX512DQ-BW-NEXT:    vzeroupper4477; AVX512DQ-BW-NEXT:    retq4478;4479; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf32:4480; AVX512DQ-BW-FCP:       # %bb.0:4481; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm04482; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm14483; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm24484; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm34485; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm44486; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm54487; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm104488; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm74489; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm144490; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm154491; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm174492; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm164493; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm84494; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm94495; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm124496; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm114497; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm19 = [0,4,8,12,0,4,8,12]4498; AVX512DQ-BW-FCP-NEXT:    # zmm19 = mem[0,1,2,3,0,1,2,3]4499; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm64500; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm19, %zmm64501; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm134502; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm19, %zmm134503; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm13[0,1,2,3],zmm6[4,5,6,7]4504; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm134505; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm17, %zmm19, %zmm134506; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm184507; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm19, %zmm184508; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm13 = zmm18[0,1,2,3],zmm13[4,5,6,7]4509; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm184510; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm19, %zmm184511; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm204512; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm19, %zmm204513; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm18 = zmm20[0,1,2,3],zmm18[4,5,6,7]4514; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm204515; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm19, %zmm204516; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm194517; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm20[4,5,6,7]4518; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm21 = [1,5,9,13,1,5,9,13]4519; AVX512DQ-BW-FCP-NEXT:    # zmm21 = mem[0,1,2,3,0,1,2,3]4520; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm204521; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm204522; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm224523; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm224524; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm20 = zmm22[0,1,2,3],zmm20[4,5,6,7]4525; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm224526; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm17, %zmm21, %zmm224527; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm234528; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm234529; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm22 = zmm23[0,1,2,3],zmm22[4,5,6,7]4530; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm234531; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm234532; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm244533; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm21, %zmm244534; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm24[0,1,2,3],zmm23[4,5,6,7]4535; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm244536; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm21, %zmm244537; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm214538; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm24[4,5,6,7]4539; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm24 = [2,6,10,14,2,6,10,14]4540; AVX512DQ-BW-FCP-NEXT:    # zmm24 = mem[0,1,2,3,0,1,2,3]4541; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm254542; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm24, %zmm254543; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm264544; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm24, %zmm264545; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm25 = zmm26[0,1,2,3],zmm25[4,5,6,7]4546; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, %zmm264547; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm17, %zmm24, %zmm264548; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm274549; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm24, %zmm274550; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm27[0,1,2,3],zmm26[4,5,6,7]4551; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm274552; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm24, %zmm274553; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm284554; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm24, %zmm284555; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm27 = zmm28[0,1,2,3],zmm27[4,5,6,7]4556; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm284557; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm24, %zmm284558; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm244559; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm24 = zmm24[0,1,2,3],zmm28[4,5,6,7]4560; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm28 = [3,7,11,15,3,7,11,15]4561; AVX512DQ-BW-FCP-NEXT:    # zmm28 = mem[0,1,2,3,0,1,2,3]4562; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm17, %zmm28, %zmm164563; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm28, %zmm154564; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm15[0,1,2,3],zmm16[4,5,6,7]4565; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm28, %zmm74566; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm28, %zmm54567; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm4 = zmm5[0,1,2,3],zmm7[4,5,6,7]4568; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm28, %zmm114569; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm28, %zmm94570; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm9[0,1,2,3],zmm11[4,5,6,7]4571; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm28, %zmm24572; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm28, %zmm04573; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm2[4,5,6,7]4574; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm18, 192(%rsi)4575; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)4576; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)4577; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, 128(%rsi)4578; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, 192(%rdx)4579; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)4580; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm22, 64(%rdx)4581; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, 128(%rdx)4582; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, 192(%rcx)4583; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, (%rcx)4584; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, 64(%rcx)4585; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)4586; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, 128(%r8)4587; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, 192(%r8)4588; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)4589; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, 64(%r8)4590; AVX512DQ-BW-FCP-NEXT:    vzeroupper4591; AVX512DQ-BW-FCP-NEXT:    retq4592  %wide.vec = load <128 x i64>, ptr %in.vec, align 644593  %strided.vec0 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <32 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 28, i32 32, i32 36, i32 40, i32 44, i32 48, i32 52, i32 56, i32 60, i32 64, i32 68, i32 72, i32 76, i32 80, i32 84, i32 88, i32 92, i32 96, i32 100, i32 104, i32 108, i32 112, i32 116, i32 120, i32 124>4594  %strided.vec1 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <32 x i32> <i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 29, i32 33, i32 37, i32 41, i32 45, i32 49, i32 53, i32 57, i32 61, i32 65, i32 69, i32 73, i32 77, i32 81, i32 85, i32 89, i32 93, i32 97, i32 101, i32 105, i32 109, i32 113, i32 117, i32 121, i32 125>4595  %strided.vec2 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <32 x i32> <i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 30, i32 34, i32 38, i32 42, i32 46, i32 50, i32 54, i32 58, i32 62, i32 66, i32 70, i32 74, i32 78, i32 82, i32 86, i32 90, i32 94, i32 98, i32 102, i32 106, i32 110, i32 114, i32 118, i32 122, i32 126>4596  %strided.vec3 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <32 x i32> <i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27, i32 31, i32 35, i32 39, i32 43, i32 47, i32 51, i32 55, i32 59, i32 63, i32 67, i32 71, i32 75, i32 79, i32 83, i32 87, i32 91, i32 95, i32 99, i32 103, i32 107, i32 111, i32 115, i32 119, i32 123, i32 127>4597  store <32 x i64> %strided.vec0, ptr %out.vec0, align 644598  store <32 x i64> %strided.vec1, ptr %out.vec1, align 644599  store <32 x i64> %strided.vec2, ptr %out.vec2, align 644600  store <32 x i64> %strided.vec3, ptr %out.vec3, align 644601  ret void4602}4603 4604define void @load_i64_stride4_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3) nounwind {4605; SSE-LABEL: load_i64_stride4_vf64:4606; SSE:       # %bb.0:4607; SSE-NEXT:    subq $1688, %rsp # imm = 0x6984608; SSE-NEXT:    movaps 544(%rdi), %xmm04609; SSE-NEXT:    movaps 480(%rdi), %xmm14610; SSE-NEXT:    movaps 448(%rdi), %xmm84611; SSE-NEXT:    movaps 416(%rdi), %xmm24612; SSE-NEXT:    movaps 384(%rdi), %xmm94613; SSE-NEXT:    movaps 352(%rdi), %xmm34614; SSE-NEXT:    movaps 320(%rdi), %xmm104615; SSE-NEXT:    movaps 288(%rdi), %xmm44616; SSE-NEXT:    movaps 256(%rdi), %xmm114617; SSE-NEXT:    movaps 224(%rdi), %xmm54618; SSE-NEXT:    movaps 192(%rdi), %xmm124619; SSE-NEXT:    movaps 160(%rdi), %xmm64620; SSE-NEXT:    movaps 128(%rdi), %xmm134621; SSE-NEXT:    movaps 96(%rdi), %xmm74622; SSE-NEXT:    movaps 64(%rdi), %xmm144623; SSE-NEXT:    movaps %xmm14, %xmm154624; SSE-NEXT:    movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]4625; SSE-NEXT:    movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4626; SSE-NEXT:    unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm7[1]4627; SSE-NEXT:    movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4628; SSE-NEXT:    movaps %xmm13, %xmm74629; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]4630; SSE-NEXT:    movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4631; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]4632; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4633; SSE-NEXT:    movaps %xmm12, %xmm64634; SSE-NEXT:    movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]4635; SSE-NEXT:    movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4636; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]4637; SSE-NEXT:    movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4638; SSE-NEXT:    movaps %xmm11, %xmm54639; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]4640; SSE-NEXT:    movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4641; SSE-NEXT:    unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm4[1]4642; SSE-NEXT:    movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4643; SSE-NEXT:    movaps %xmm10, %xmm44644; SSE-NEXT:    movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]4645; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4646; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm3[1]4647; SSE-NEXT:    movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4648; SSE-NEXT:    movaps %xmm9, %xmm34649; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]4650; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4651; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm2[1]4652; SSE-NEXT:    movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4653; SSE-NEXT:    movaps %xmm8, %xmm24654; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]4655; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4656; SSE-NEXT:    unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]4657; SSE-NEXT:    movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4658; SSE-NEXT:    movaps 512(%rdi), %xmm14659; SSE-NEXT:    movaps %xmm1, %xmm24660; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4661; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4662; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4663; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4664; SSE-NEXT:    movaps 608(%rdi), %xmm04665; SSE-NEXT:    movaps 576(%rdi), %xmm14666; SSE-NEXT:    movaps %xmm1, %xmm24667; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4668; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4669; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4670; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4671; SSE-NEXT:    movaps 672(%rdi), %xmm04672; SSE-NEXT:    movaps 640(%rdi), %xmm14673; SSE-NEXT:    movaps %xmm1, %xmm24674; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4675; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4676; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4677; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4678; SSE-NEXT:    movaps 736(%rdi), %xmm04679; SSE-NEXT:    movaps 704(%rdi), %xmm14680; SSE-NEXT:    movaps %xmm1, %xmm24681; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4682; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4683; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4684; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4685; SSE-NEXT:    movaps 800(%rdi), %xmm04686; SSE-NEXT:    movaps 768(%rdi), %xmm14687; SSE-NEXT:    movaps %xmm1, %xmm24688; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4689; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4690; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4691; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4692; SSE-NEXT:    movaps 864(%rdi), %xmm04693; SSE-NEXT:    movaps 832(%rdi), %xmm14694; SSE-NEXT:    movaps %xmm1, %xmm24695; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4696; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4697; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4698; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4699; SSE-NEXT:    movaps 928(%rdi), %xmm04700; SSE-NEXT:    movaps 896(%rdi), %xmm14701; SSE-NEXT:    movaps %xmm1, %xmm24702; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4703; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4704; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4705; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4706; SSE-NEXT:    movaps 992(%rdi), %xmm04707; SSE-NEXT:    movaps 960(%rdi), %xmm14708; SSE-NEXT:    movaps %xmm1, %xmm24709; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4710; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4711; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4712; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4713; SSE-NEXT:    movaps 1056(%rdi), %xmm04714; SSE-NEXT:    movaps 1024(%rdi), %xmm14715; SSE-NEXT:    movaps %xmm1, %xmm24716; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4717; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4718; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4719; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4720; SSE-NEXT:    movaps 1120(%rdi), %xmm04721; SSE-NEXT:    movaps 1088(%rdi), %xmm14722; SSE-NEXT:    movaps %xmm1, %xmm24723; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4724; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4725; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4726; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4727; SSE-NEXT:    movaps 1184(%rdi), %xmm04728; SSE-NEXT:    movaps 1152(%rdi), %xmm14729; SSE-NEXT:    movaps %xmm1, %xmm24730; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4731; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4732; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4733; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4734; SSE-NEXT:    movaps 1248(%rdi), %xmm04735; SSE-NEXT:    movaps 1216(%rdi), %xmm14736; SSE-NEXT:    movaps %xmm1, %xmm24737; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4738; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4739; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4740; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4741; SSE-NEXT:    movaps 1312(%rdi), %xmm04742; SSE-NEXT:    movaps 1280(%rdi), %xmm14743; SSE-NEXT:    movaps %xmm1, %xmm24744; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4745; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4746; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4747; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4748; SSE-NEXT:    movaps 1376(%rdi), %xmm04749; SSE-NEXT:    movaps 1344(%rdi), %xmm14750; SSE-NEXT:    movaps %xmm1, %xmm24751; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4752; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4753; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4754; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4755; SSE-NEXT:    movaps 1440(%rdi), %xmm04756; SSE-NEXT:    movaps 1408(%rdi), %xmm14757; SSE-NEXT:    movaps %xmm1, %xmm24758; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4759; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4760; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4761; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4762; SSE-NEXT:    movaps 1504(%rdi), %xmm04763; SSE-NEXT:    movaps 1472(%rdi), %xmm14764; SSE-NEXT:    movaps %xmm1, %xmm24765; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4766; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4767; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4768; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4769; SSE-NEXT:    movaps 1568(%rdi), %xmm04770; SSE-NEXT:    movaps 1536(%rdi), %xmm14771; SSE-NEXT:    movaps %xmm1, %xmm24772; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4773; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4774; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4775; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4776; SSE-NEXT:    movaps 1632(%rdi), %xmm04777; SSE-NEXT:    movaps 1600(%rdi), %xmm14778; SSE-NEXT:    movaps %xmm1, %xmm24779; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4780; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4781; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4782; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4783; SSE-NEXT:    movaps 1696(%rdi), %xmm04784; SSE-NEXT:    movaps 1664(%rdi), %xmm14785; SSE-NEXT:    movaps %xmm1, %xmm24786; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4787; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4788; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4789; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4790; SSE-NEXT:    movaps 1760(%rdi), %xmm04791; SSE-NEXT:    movaps 1728(%rdi), %xmm14792; SSE-NEXT:    movaps %xmm1, %xmm24793; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4794; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4795; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4796; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4797; SSE-NEXT:    movaps 1824(%rdi), %xmm04798; SSE-NEXT:    movaps 1792(%rdi), %xmm14799; SSE-NEXT:    movaps %xmm1, %xmm24800; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4801; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4802; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4803; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4804; SSE-NEXT:    movaps 1888(%rdi), %xmm04805; SSE-NEXT:    movaps 1856(%rdi), %xmm14806; SSE-NEXT:    movaps %xmm1, %xmm24807; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4808; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4809; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4810; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4811; SSE-NEXT:    movaps 1952(%rdi), %xmm04812; SSE-NEXT:    movaps 1920(%rdi), %xmm14813; SSE-NEXT:    movaps %xmm1, %xmm24814; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4815; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4816; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4817; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4818; SSE-NEXT:    movaps 2016(%rdi), %xmm04819; SSE-NEXT:    movaps 1984(%rdi), %xmm14820; SSE-NEXT:    movaps %xmm1, %xmm24821; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4822; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4823; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4824; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4825; SSE-NEXT:    movaps (%rdi), %xmm14826; SSE-NEXT:    movaps 32(%rdi), %xmm04827; SSE-NEXT:    movaps %xmm1, %xmm24828; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4829; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4830; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4831; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4832; SSE-NEXT:    movaps 112(%rdi), %xmm04833; SSE-NEXT:    movaps 80(%rdi), %xmm14834; SSE-NEXT:    movaps %xmm1, %xmm24835; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4836; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4837; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4838; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4839; SSE-NEXT:    movaps 176(%rdi), %xmm04840; SSE-NEXT:    movaps 144(%rdi), %xmm14841; SSE-NEXT:    movaps %xmm1, %xmm24842; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4843; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4844; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4845; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4846; SSE-NEXT:    movaps 240(%rdi), %xmm04847; SSE-NEXT:    movaps 208(%rdi), %xmm14848; SSE-NEXT:    movaps %xmm1, %xmm24849; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4850; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4851; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4852; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4853; SSE-NEXT:    movaps 304(%rdi), %xmm04854; SSE-NEXT:    movaps 272(%rdi), %xmm14855; SSE-NEXT:    movaps %xmm1, %xmm24856; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4857; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4858; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4859; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4860; SSE-NEXT:    movaps 368(%rdi), %xmm04861; SSE-NEXT:    movaps 336(%rdi), %xmm14862; SSE-NEXT:    movaps %xmm1, %xmm24863; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4864; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4865; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4866; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4867; SSE-NEXT:    movaps 432(%rdi), %xmm04868; SSE-NEXT:    movaps 400(%rdi), %xmm14869; SSE-NEXT:    movaps %xmm1, %xmm24870; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4871; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4872; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4873; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4874; SSE-NEXT:    movaps 496(%rdi), %xmm04875; SSE-NEXT:    movaps 464(%rdi), %xmm14876; SSE-NEXT:    movaps %xmm1, %xmm24877; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4878; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4879; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4880; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4881; SSE-NEXT:    movaps 560(%rdi), %xmm04882; SSE-NEXT:    movaps 528(%rdi), %xmm14883; SSE-NEXT:    movaps %xmm1, %xmm24884; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4885; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4886; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4887; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4888; SSE-NEXT:    movaps 624(%rdi), %xmm04889; SSE-NEXT:    movaps 592(%rdi), %xmm14890; SSE-NEXT:    movaps %xmm1, %xmm24891; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4892; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4893; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4894; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4895; SSE-NEXT:    movaps 688(%rdi), %xmm04896; SSE-NEXT:    movaps 656(%rdi), %xmm14897; SSE-NEXT:    movaps %xmm1, %xmm24898; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4899; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4900; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4901; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4902; SSE-NEXT:    movaps 752(%rdi), %xmm04903; SSE-NEXT:    movaps 720(%rdi), %xmm14904; SSE-NEXT:    movaps %xmm1, %xmm24905; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4906; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4907; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4908; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4909; SSE-NEXT:    movaps 816(%rdi), %xmm04910; SSE-NEXT:    movaps 784(%rdi), %xmm14911; SSE-NEXT:    movaps %xmm1, %xmm24912; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4913; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4914; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4915; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4916; SSE-NEXT:    movaps 880(%rdi), %xmm04917; SSE-NEXT:    movaps 848(%rdi), %xmm14918; SSE-NEXT:    movaps %xmm1, %xmm24919; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4920; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4921; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4922; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4923; SSE-NEXT:    movaps 944(%rdi), %xmm04924; SSE-NEXT:    movaps 912(%rdi), %xmm14925; SSE-NEXT:    movaps %xmm1, %xmm24926; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4927; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4928; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4929; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4930; SSE-NEXT:    movaps 1008(%rdi), %xmm04931; SSE-NEXT:    movaps 976(%rdi), %xmm14932; SSE-NEXT:    movaps %xmm1, %xmm24933; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4934; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4935; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4936; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4937; SSE-NEXT:    movaps 1072(%rdi), %xmm04938; SSE-NEXT:    movaps 1040(%rdi), %xmm14939; SSE-NEXT:    movaps %xmm1, %xmm24940; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4941; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4942; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4943; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4944; SSE-NEXT:    movaps 1136(%rdi), %xmm04945; SSE-NEXT:    movaps 1104(%rdi), %xmm14946; SSE-NEXT:    movaps %xmm1, %xmm24947; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4948; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4949; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4950; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4951; SSE-NEXT:    movaps 1200(%rdi), %xmm04952; SSE-NEXT:    movaps 1168(%rdi), %xmm14953; SSE-NEXT:    movaps %xmm1, %xmm24954; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4955; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4956; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4957; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4958; SSE-NEXT:    movaps 1264(%rdi), %xmm04959; SSE-NEXT:    movaps 1232(%rdi), %xmm14960; SSE-NEXT:    movaps %xmm1, %xmm24961; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4962; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4963; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4964; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4965; SSE-NEXT:    movaps 1328(%rdi), %xmm04966; SSE-NEXT:    movaps 1296(%rdi), %xmm14967; SSE-NEXT:    movaps %xmm1, %xmm24968; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4969; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4970; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4971; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4972; SSE-NEXT:    movaps 1392(%rdi), %xmm04973; SSE-NEXT:    movaps 1360(%rdi), %xmm14974; SSE-NEXT:    movaps %xmm1, %xmm24975; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4976; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4977; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4978; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4979; SSE-NEXT:    movaps 1456(%rdi), %xmm04980; SSE-NEXT:    movaps 1424(%rdi), %xmm14981; SSE-NEXT:    movaps %xmm1, %xmm24982; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4983; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4984; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4985; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4986; SSE-NEXT:    movaps 1520(%rdi), %xmm04987; SSE-NEXT:    movaps 1488(%rdi), %xmm14988; SSE-NEXT:    movaps %xmm1, %xmm24989; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4990; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4991; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4992; SSE-NEXT:    movaps %xmm1, (%rsp) # 16-byte Spill4993; SSE-NEXT:    movaps 1584(%rdi), %xmm04994; SSE-NEXT:    movaps 1552(%rdi), %xmm14995; SSE-NEXT:    movaps %xmm1, %xmm24996; SSE-NEXT:    movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]4997; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4998; SSE-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]4999; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5000; SSE-NEXT:    movaps 1648(%rdi), %xmm05001; SSE-NEXT:    movaps 1616(%rdi), %xmm155002; SSE-NEXT:    movaps %xmm15, %xmm15003; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]5004; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5005; SSE-NEXT:    unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]5006; SSE-NEXT:    movaps 1712(%rdi), %xmm05007; SSE-NEXT:    movaps 1680(%rdi), %xmm135008; SSE-NEXT:    movaps %xmm13, %xmm145009; SSE-NEXT:    movlhps {{.*#+}} xmm14 = xmm14[0],xmm0[0]5010; SSE-NEXT:    unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]5011; SSE-NEXT:    movaps 1776(%rdi), %xmm05012; SSE-NEXT:    movaps 1744(%rdi), %xmm125013; SSE-NEXT:    movaps %xmm12, %xmm115014; SSE-NEXT:    movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]5015; SSE-NEXT:    unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]5016; SSE-NEXT:    movaps 1840(%rdi), %xmm05017; SSE-NEXT:    movaps 1808(%rdi), %xmm95018; SSE-NEXT:    movaps %xmm9, %xmm75019; SSE-NEXT:    movlhps {{.*#+}} xmm7 = xmm7[0],xmm0[0]5020; SSE-NEXT:    unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]5021; SSE-NEXT:    movaps 1904(%rdi), %xmm05022; SSE-NEXT:    movaps 1872(%rdi), %xmm65023; SSE-NEXT:    movaps %xmm6, %xmm55024; SSE-NEXT:    movlhps {{.*#+}} xmm5 = xmm5[0],xmm0[0]5025; SSE-NEXT:    unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]5026; SSE-NEXT:    movaps 1968(%rdi), %xmm05027; SSE-NEXT:    movaps 1936(%rdi), %xmm45028; SSE-NEXT:    movaps %xmm4, %xmm35029; SSE-NEXT:    movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]5030; SSE-NEXT:    unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm0[1]5031; SSE-NEXT:    movaps 2032(%rdi), %xmm85032; SSE-NEXT:    movaps 2000(%rdi), %xmm25033; SSE-NEXT:    movaps %xmm2, %xmm15034; SSE-NEXT:    movlhps {{.*#+}} xmm1 = xmm1[0],xmm8[0]5035; SSE-NEXT:    unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm8[1]5036; SSE-NEXT:    movaps 16(%rdi), %xmm105037; SSE-NEXT:    movaps 48(%rdi), %xmm05038; SSE-NEXT:    movaps %xmm10, %xmm85039; SSE-NEXT:    movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]5040; SSE-NEXT:    unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]5041; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5042; SSE-NEXT:    movaps %xmm0, 496(%rsi)5043; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5044; SSE-NEXT:    movaps %xmm0, 480(%rsi)5045; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5046; SSE-NEXT:    movaps %xmm0, 464(%rsi)5047; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5048; SSE-NEXT:    movaps %xmm0, 448(%rsi)5049; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5050; SSE-NEXT:    movaps %xmm0, 432(%rsi)5051; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5052; SSE-NEXT:    movaps %xmm0, 416(%rsi)5053; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5054; SSE-NEXT:    movaps %xmm0, 400(%rsi)5055; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5056; SSE-NEXT:    movaps %xmm0, 384(%rsi)5057; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5058; SSE-NEXT:    movaps %xmm0, 368(%rsi)5059; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5060; SSE-NEXT:    movaps %xmm0, 352(%rsi)5061; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5062; SSE-NEXT:    movaps %xmm0, 336(%rsi)5063; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5064; SSE-NEXT:    movaps %xmm0, 320(%rsi)5065; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5066; SSE-NEXT:    movaps %xmm0, 304(%rsi)5067; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5068; SSE-NEXT:    movaps %xmm0, 288(%rsi)5069; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5070; SSE-NEXT:    movaps %xmm0, 272(%rsi)5071; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5072; SSE-NEXT:    movaps %xmm0, 256(%rsi)5073; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5074; SSE-NEXT:    movaps %xmm0, 240(%rsi)5075; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5076; SSE-NEXT:    movaps %xmm0, 224(%rsi)5077; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5078; SSE-NEXT:    movaps %xmm0, 208(%rsi)5079; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5080; SSE-NEXT:    movaps %xmm0, 192(%rsi)5081; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5082; SSE-NEXT:    movaps %xmm0, 176(%rsi)5083; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5084; SSE-NEXT:    movaps %xmm0, 160(%rsi)5085; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5086; SSE-NEXT:    movaps %xmm0, 144(%rsi)5087; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5088; SSE-NEXT:    movaps %xmm0, 128(%rsi)5089; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5090; SSE-NEXT:    movaps %xmm0, 112(%rsi)5091; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5092; SSE-NEXT:    movaps %xmm0, 96(%rsi)5093; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5094; SSE-NEXT:    movaps %xmm0, 80(%rsi)5095; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5096; SSE-NEXT:    movaps %xmm0, 64(%rsi)5097; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5098; SSE-NEXT:    movaps %xmm0, 48(%rsi)5099; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5100; SSE-NEXT:    movaps %xmm0, 32(%rsi)5101; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5102; SSE-NEXT:    movaps %xmm0, 16(%rsi)5103; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5104; SSE-NEXT:    movaps %xmm0, (%rsi)5105; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5106; SSE-NEXT:    movaps %xmm0, 496(%rdx)5107; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5108; SSE-NEXT:    movaps %xmm0, 480(%rdx)5109; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5110; SSE-NEXT:    movaps %xmm0, 464(%rdx)5111; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5112; SSE-NEXT:    movaps %xmm0, 448(%rdx)5113; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5114; SSE-NEXT:    movaps %xmm0, 432(%rdx)5115; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5116; SSE-NEXT:    movaps %xmm0, 416(%rdx)5117; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5118; SSE-NEXT:    movaps %xmm0, 400(%rdx)5119; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5120; SSE-NEXT:    movaps %xmm0, 384(%rdx)5121; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5122; SSE-NEXT:    movaps %xmm0, 368(%rdx)5123; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5124; SSE-NEXT:    movaps %xmm0, 352(%rdx)5125; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5126; SSE-NEXT:    movaps %xmm0, 336(%rdx)5127; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5128; SSE-NEXT:    movaps %xmm0, 320(%rdx)5129; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5130; SSE-NEXT:    movaps %xmm0, 304(%rdx)5131; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5132; SSE-NEXT:    movaps %xmm0, 288(%rdx)5133; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5134; SSE-NEXT:    movaps %xmm0, 272(%rdx)5135; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5136; SSE-NEXT:    movaps %xmm0, 256(%rdx)5137; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5138; SSE-NEXT:    movaps %xmm0, 240(%rdx)5139; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5140; SSE-NEXT:    movaps %xmm0, 224(%rdx)5141; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5142; SSE-NEXT:    movaps %xmm0, 208(%rdx)5143; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5144; SSE-NEXT:    movaps %xmm0, 192(%rdx)5145; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5146; SSE-NEXT:    movaps %xmm0, 176(%rdx)5147; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5148; SSE-NEXT:    movaps %xmm0, 160(%rdx)5149; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5150; SSE-NEXT:    movaps %xmm0, 144(%rdx)5151; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5152; SSE-NEXT:    movaps %xmm0, 128(%rdx)5153; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5154; SSE-NEXT:    movaps %xmm0, 112(%rdx)5155; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5156; SSE-NEXT:    movaps %xmm0, 96(%rdx)5157; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5158; SSE-NEXT:    movaps %xmm0, 80(%rdx)5159; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5160; SSE-NEXT:    movaps %xmm0, 64(%rdx)5161; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5162; SSE-NEXT:    movaps %xmm0, 48(%rdx)5163; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5164; SSE-NEXT:    movaps %xmm0, 32(%rdx)5165; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5166; SSE-NEXT:    movaps %xmm0, 16(%rdx)5167; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5168; SSE-NEXT:    movaps %xmm0, (%rdx)5169; SSE-NEXT:    movaps %xmm1, 496(%rcx)5170; SSE-NEXT:    movaps %xmm3, 480(%rcx)5171; SSE-NEXT:    movaps %xmm5, 464(%rcx)5172; SSE-NEXT:    movaps %xmm7, 448(%rcx)5173; SSE-NEXT:    movaps %xmm11, 432(%rcx)5174; SSE-NEXT:    movaps %xmm14, 416(%rcx)5175; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5176; SSE-NEXT:    movaps %xmm0, 400(%rcx)5177; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5178; SSE-NEXT:    movaps %xmm0, 384(%rcx)5179; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5180; SSE-NEXT:    movaps %xmm0, 368(%rcx)5181; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5182; SSE-NEXT:    movaps %xmm0, 352(%rcx)5183; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5184; SSE-NEXT:    movaps %xmm0, 336(%rcx)5185; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5186; SSE-NEXT:    movaps %xmm0, 320(%rcx)5187; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5188; SSE-NEXT:    movaps %xmm0, 304(%rcx)5189; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5190; SSE-NEXT:    movaps %xmm0, 288(%rcx)5191; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5192; SSE-NEXT:    movaps %xmm0, 272(%rcx)5193; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5194; SSE-NEXT:    movaps %xmm0, 256(%rcx)5195; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5196; SSE-NEXT:    movaps %xmm0, 240(%rcx)5197; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5198; SSE-NEXT:    movaps %xmm0, 224(%rcx)5199; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5200; SSE-NEXT:    movaps %xmm0, 208(%rcx)5201; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5202; SSE-NEXT:    movaps %xmm0, 192(%rcx)5203; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5204; SSE-NEXT:    movaps %xmm0, 176(%rcx)5205; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5206; SSE-NEXT:    movaps %xmm0, 160(%rcx)5207; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5208; SSE-NEXT:    movaps %xmm0, 144(%rcx)5209; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5210; SSE-NEXT:    movaps %xmm0, 128(%rcx)5211; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5212; SSE-NEXT:    movaps %xmm0, 112(%rcx)5213; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5214; SSE-NEXT:    movaps %xmm0, 96(%rcx)5215; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5216; SSE-NEXT:    movaps %xmm0, 80(%rcx)5217; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5218; SSE-NEXT:    movaps %xmm0, 64(%rcx)5219; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5220; SSE-NEXT:    movaps %xmm0, 48(%rcx)5221; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5222; SSE-NEXT:    movaps %xmm0, 32(%rcx)5223; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5224; SSE-NEXT:    movaps %xmm0, 16(%rcx)5225; SSE-NEXT:    movaps %xmm8, (%rcx)5226; SSE-NEXT:    movaps %xmm2, 496(%r8)5227; SSE-NEXT:    movaps %xmm4, 480(%r8)5228; SSE-NEXT:    movaps %xmm6, 464(%r8)5229; SSE-NEXT:    movaps %xmm9, 448(%r8)5230; SSE-NEXT:    movaps %xmm12, 432(%r8)5231; SSE-NEXT:    movaps %xmm13, 416(%r8)5232; SSE-NEXT:    movaps %xmm15, 400(%r8)5233; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5234; SSE-NEXT:    movaps %xmm0, 384(%r8)5235; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload5236; SSE-NEXT:    movaps %xmm0, 368(%r8)5237; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5238; SSE-NEXT:    movaps %xmm0, 352(%r8)5239; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5240; SSE-NEXT:    movaps %xmm0, 336(%r8)5241; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5242; SSE-NEXT:    movaps %xmm0, 320(%r8)5243; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5244; SSE-NEXT:    movaps %xmm0, 304(%r8)5245; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5246; SSE-NEXT:    movaps %xmm0, 288(%r8)5247; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5248; SSE-NEXT:    movaps %xmm0, 272(%r8)5249; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5250; SSE-NEXT:    movaps %xmm0, 256(%r8)5251; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5252; SSE-NEXT:    movaps %xmm0, 240(%r8)5253; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5254; SSE-NEXT:    movaps %xmm0, 224(%r8)5255; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5256; SSE-NEXT:    movaps %xmm0, 208(%r8)5257; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5258; SSE-NEXT:    movaps %xmm0, 192(%r8)5259; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5260; SSE-NEXT:    movaps %xmm0, 176(%r8)5261; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5262; SSE-NEXT:    movaps %xmm0, 160(%r8)5263; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5264; SSE-NEXT:    movaps %xmm0, 144(%r8)5265; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5266; SSE-NEXT:    movaps %xmm0, 128(%r8)5267; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5268; SSE-NEXT:    movaps %xmm0, 112(%r8)5269; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5270; SSE-NEXT:    movaps %xmm0, 96(%r8)5271; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5272; SSE-NEXT:    movaps %xmm0, 80(%r8)5273; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5274; SSE-NEXT:    movaps %xmm0, 64(%r8)5275; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5276; SSE-NEXT:    movaps %xmm0, 48(%r8)5277; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5278; SSE-NEXT:    movaps %xmm0, 32(%r8)5279; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5280; SSE-NEXT:    movaps %xmm0, 16(%r8)5281; SSE-NEXT:    movaps %xmm10, (%r8)5282; SSE-NEXT:    addq $1688, %rsp # imm = 0x6985283; SSE-NEXT:    retq5284;5285; AVX-LABEL: load_i64_stride4_vf64:5286; AVX:       # %bb.0:5287; AVX-NEXT:    subq $2728, %rsp # imm = 0xAA85288; AVX-NEXT:    vmovaps 1248(%rdi), %xmm05289; AVX-NEXT:    vmovaps 1216(%rdi), %xmm15290; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5291; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5292; AVX-NEXT:    vmovaps 1504(%rdi), %xmm25293; AVX-NEXT:    vmovaps 1472(%rdi), %xmm35294; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]5295; AVX-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5296; AVX-NEXT:    vmovaps 1760(%rdi), %xmm45297; AVX-NEXT:    vmovaps 1728(%rdi), %xmm55298; AVX-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]5299; AVX-NEXT:    vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5300; AVX-NEXT:    vmovaps 1440(%rdi), %xmm65301; AVX-NEXT:    vmovaps 1696(%rdi), %xmm75302; AVX-NEXT:    vmovaps 1952(%rdi), %xmm85303; AVX-NEXT:    vmovaps 1920(%rdi), %xmm95304; AVX-NEXT:    vmovaps 2016(%rdi), %xmm105305; AVX-NEXT:    vmovaps 1984(%rdi), %xmm115306; AVX-NEXT:    vmovlhps {{.*#+}} xmm12 = xmm11[0],xmm10[0]5307; AVX-NEXT:    vmovaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5308; AVX-NEXT:    vunpckhpd {{.*#+}} xmm10 = xmm11[1],xmm10[1]5309; AVX-NEXT:    vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5310; AVX-NEXT:    vmovlhps {{.*#+}} xmm10 = xmm9[0],xmm8[0]5311; AVX-NEXT:    vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5312; AVX-NEXT:    vunpckhpd {{.*#+}} xmm8 = xmm9[1],xmm8[1]5313; AVX-NEXT:    vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5314; AVX-NEXT:    vmovaps 1664(%rdi), %xmm85315; AVX-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]5316; AVX-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5317; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm8[0],xmm7[0]5318; AVX-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5319; AVX-NEXT:    vunpckhpd {{.*#+}} xmm4 = xmm8[1],xmm7[1]5320; AVX-NEXT:    vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5321; AVX-NEXT:    vmovaps 1408(%rdi), %xmm45322; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]5323; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5324; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm4[0],xmm6[0]5325; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5326; AVX-NEXT:    vunpckhpd {{.*#+}} xmm2 = xmm4[1],xmm6[1]5327; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5328; AVX-NEXT:    vmovaps 1184(%rdi), %xmm25329; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5330; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5331; AVX-NEXT:    vmovaps 1152(%rdi), %xmm05332; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm2[0]5333; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5334; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]5335; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5336; AVX-NEXT:    vmovaps 992(%rdi), %xmm05337; AVX-NEXT:    vmovaps 960(%rdi), %xmm15338; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5339; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5340; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5341; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5342; AVX-NEXT:    vmovaps 928(%rdi), %xmm05343; AVX-NEXT:    vmovaps 896(%rdi), %xmm15344; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5345; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5346; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5347; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5348; AVX-NEXT:    vmovaps 736(%rdi), %xmm05349; AVX-NEXT:    vmovaps 704(%rdi), %xmm15350; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5351; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5352; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5353; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5354; AVX-NEXT:    vmovaps 672(%rdi), %xmm05355; AVX-NEXT:    vmovaps 640(%rdi), %xmm15356; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5357; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5358; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5359; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5360; AVX-NEXT:    vmovaps 224(%rdi), %xmm05361; AVX-NEXT:    vmovaps 192(%rdi), %xmm15362; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5363; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5364; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5365; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5366; AVX-NEXT:    vmovaps 160(%rdi), %xmm05367; AVX-NEXT:    vmovaps 128(%rdi), %xmm15368; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5369; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5370; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5371; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5372; AVX-NEXT:    vmovaps 480(%rdi), %xmm05373; AVX-NEXT:    vmovaps 448(%rdi), %xmm15374; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5375; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5376; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5377; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5378; AVX-NEXT:    vmovaps 416(%rdi), %xmm05379; AVX-NEXT:    vmovaps 384(%rdi), %xmm15380; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5381; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5382; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5383; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5384; AVX-NEXT:    vmovaps 1888(%rdi), %xmm05385; AVX-NEXT:    vmovaps 1856(%rdi), %xmm15386; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5387; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5388; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5389; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5390; AVX-NEXT:    vmovaps 1824(%rdi), %xmm05391; AVX-NEXT:    vmovaps 1792(%rdi), %xmm15392; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5393; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5394; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5395; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5396; AVX-NEXT:    vmovaps 1632(%rdi), %xmm05397; AVX-NEXT:    vmovaps 1600(%rdi), %xmm15398; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5399; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5400; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5401; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5402; AVX-NEXT:    vmovaps 1568(%rdi), %xmm05403; AVX-NEXT:    vmovaps 1536(%rdi), %xmm15404; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5405; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5406; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5407; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5408; AVX-NEXT:    vmovaps 1376(%rdi), %xmm05409; AVX-NEXT:    vmovaps 1344(%rdi), %xmm15410; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5411; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5412; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5413; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5414; AVX-NEXT:    vmovaps 1312(%rdi), %xmm05415; AVX-NEXT:    vmovaps 1280(%rdi), %xmm15416; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5417; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5418; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5419; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5420; AVX-NEXT:    vmovaps 864(%rdi), %xmm05421; AVX-NEXT:    vmovaps 832(%rdi), %xmm15422; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5423; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5424; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5425; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5426; AVX-NEXT:    vmovaps 800(%rdi), %xmm05427; AVX-NEXT:    vmovaps 768(%rdi), %xmm15428; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5429; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5430; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5431; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5432; AVX-NEXT:    vmovaps 96(%rdi), %xmm05433; AVX-NEXT:    vmovaps 64(%rdi), %xmm15434; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5435; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5436; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5437; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5438; AVX-NEXT:    vmovaps 32(%rdi), %xmm05439; AVX-NEXT:    vmovaps (%rdi), %xmm15440; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5441; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5442; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5443; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5444; AVX-NEXT:    vmovaps 352(%rdi), %xmm05445; AVX-NEXT:    vmovaps 320(%rdi), %xmm15446; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5447; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5448; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5449; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5450; AVX-NEXT:    vmovaps 288(%rdi), %xmm05451; AVX-NEXT:    vmovaps 256(%rdi), %xmm15452; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5453; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5454; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5455; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5456; AVX-NEXT:    vmovaps 1120(%rdi), %xmm05457; AVX-NEXT:    vmovaps 1088(%rdi), %xmm15458; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5459; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5460; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5461; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5462; AVX-NEXT:    vmovaps 1056(%rdi), %xmm05463; AVX-NEXT:    vmovaps 1024(%rdi), %xmm15464; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5465; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5466; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5467; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5468; AVX-NEXT:    vmovaps 608(%rdi), %xmm05469; AVX-NEXT:    vmovaps 576(%rdi), %xmm15470; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5471; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5472; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5473; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5474; AVX-NEXT:    vmovaps 544(%rdi), %xmm05475; AVX-NEXT:    vmovaps 512(%rdi), %xmm15476; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]5477; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5478; AVX-NEXT:    vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]5479; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5480; AVX-NEXT:    vmovaps 224(%rdi), %ymm15481; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5482; AVX-NEXT:    vmovaps 192(%rdi), %ymm05483; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5484; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5485; AVX-NEXT:    vmovaps 176(%rdi), %xmm25486; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5487; AVX-NEXT:    vmovaps 144(%rdi), %xmm15488; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5489; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5490; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5491; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5492; AVX-NEXT:    vmovaps 480(%rdi), %ymm15493; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5494; AVX-NEXT:    vmovaps 448(%rdi), %ymm05495; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5496; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5497; AVX-NEXT:    vmovaps 432(%rdi), %xmm25498; AVX-NEXT:    vmovaps %xmm2, (%rsp) # 16-byte Spill5499; AVX-NEXT:    vmovaps 400(%rdi), %xmm15500; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5501; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5502; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5503; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5504; AVX-NEXT:    vmovaps 736(%rdi), %ymm15505; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5506; AVX-NEXT:    vmovaps 704(%rdi), %ymm05507; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5508; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5509; AVX-NEXT:    vmovaps 688(%rdi), %xmm25510; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5511; AVX-NEXT:    vmovaps 656(%rdi), %xmm15512; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5513; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5514; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5515; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5516; AVX-NEXT:    vmovaps 992(%rdi), %ymm15517; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5518; AVX-NEXT:    vmovaps 960(%rdi), %ymm05519; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5520; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5521; AVX-NEXT:    vmovaps 944(%rdi), %xmm25522; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5523; AVX-NEXT:    vmovaps 912(%rdi), %xmm15524; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5525; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5526; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5527; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5528; AVX-NEXT:    vmovaps 1248(%rdi), %ymm15529; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5530; AVX-NEXT:    vmovaps 1216(%rdi), %ymm05531; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5532; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5533; AVX-NEXT:    vmovaps 1200(%rdi), %xmm25534; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5535; AVX-NEXT:    vmovaps 1168(%rdi), %xmm15536; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5537; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5538; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5539; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5540; AVX-NEXT:    vmovaps 1504(%rdi), %ymm15541; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5542; AVX-NEXT:    vmovaps 1472(%rdi), %ymm05543; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5544; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5545; AVX-NEXT:    vmovaps 1456(%rdi), %xmm25546; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5547; AVX-NEXT:    vmovaps 1424(%rdi), %xmm15548; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5549; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5550; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5551; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5552; AVX-NEXT:    vmovaps 1760(%rdi), %ymm15553; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5554; AVX-NEXT:    vmovaps 1728(%rdi), %ymm05555; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5556; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5557; AVX-NEXT:    vmovaps 1712(%rdi), %xmm25558; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5559; AVX-NEXT:    vmovaps 1680(%rdi), %xmm15560; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5561; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5562; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5563; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5564; AVX-NEXT:    vmovaps 2016(%rdi), %ymm15565; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5566; AVX-NEXT:    vmovaps 1984(%rdi), %ymm05567; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5568; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]5569; AVX-NEXT:    vmovaps 1968(%rdi), %xmm25570; AVX-NEXT:    vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5571; AVX-NEXT:    vmovaps 1936(%rdi), %xmm15572; AVX-NEXT:    vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5573; AVX-NEXT:    vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]5574; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5575; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5576; AVX-NEXT:    vmovaps 96(%rdi), %ymm05577; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5578; AVX-NEXT:    vmovaps 64(%rdi), %ymm15579; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5580; AVX-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5581; AVX-NEXT:    vmovaps 48(%rdi), %xmm05582; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5583; AVX-NEXT:    vmovaps 16(%rdi), %xmm85584; AVX-NEXT:    vmovlhps {{.*#+}} xmm2 = xmm8[0],xmm0[0]5585; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm1[4,5,6,7]5586; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5587; AVX-NEXT:    vmovaps 352(%rdi), %ymm05588; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5589; AVX-NEXT:    vmovaps 320(%rdi), %ymm15590; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5591; AVX-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5592; AVX-NEXT:    vmovaps 304(%rdi), %xmm05593; AVX-NEXT:    vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5594; AVX-NEXT:    vmovaps 272(%rdi), %xmm15595; AVX-NEXT:    vmovlhps {{.*#+}} xmm3 = xmm1[0],xmm0[0]5596; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm2[4,5,6,7]5597; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5598; AVX-NEXT:    vmovaps 608(%rdi), %ymm05599; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5600; AVX-NEXT:    vmovaps 576(%rdi), %ymm25601; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5602; AVX-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm0[0],ymm2[2],ymm0[2]5603; AVX-NEXT:    vmovaps 560(%rdi), %xmm105604; AVX-NEXT:    vmovaps 528(%rdi), %xmm25605; AVX-NEXT:    vmovlhps {{.*#+}} xmm4 = xmm2[0],xmm10[0]5606; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm3[4,5,6,7]5607; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5608; AVX-NEXT:    vmovaps 864(%rdi), %ymm05609; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5610; AVX-NEXT:    vmovaps 832(%rdi), %ymm35611; AVX-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5612; AVX-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm0[0],ymm3[2],ymm0[2]5613; AVX-NEXT:    vmovaps 816(%rdi), %xmm115614; AVX-NEXT:    vmovaps 784(%rdi), %xmm35615; AVX-NEXT:    vmovlhps {{.*#+}} xmm5 = xmm3[0],xmm11[0]5616; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm4[4,5,6,7]5617; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5618; AVX-NEXT:    vmovaps 1120(%rdi), %ymm05619; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5620; AVX-NEXT:    vmovaps 1088(%rdi), %ymm45621; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5622; AVX-NEXT:    vunpcklpd {{.*#+}} ymm5 = ymm4[0],ymm0[0],ymm4[2],ymm0[2]5623; AVX-NEXT:    vmovaps 1072(%rdi), %xmm125624; AVX-NEXT:    vmovaps 1040(%rdi), %xmm45625; AVX-NEXT:    vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm12[0]5626; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm5[4,5,6,7]5627; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5628; AVX-NEXT:    vmovaps 1376(%rdi), %ymm05629; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5630; AVX-NEXT:    vmovaps 1344(%rdi), %ymm55631; AVX-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5632; AVX-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm0[0],ymm5[2],ymm0[2]5633; AVX-NEXT:    vmovaps 1328(%rdi), %xmm135634; AVX-NEXT:    vmovaps 1296(%rdi), %xmm55635; AVX-NEXT:    vmovlhps {{.*#+}} xmm7 = xmm5[0],xmm13[0]5636; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm6[4,5,6,7]5637; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5638; AVX-NEXT:    vmovaps 1632(%rdi), %ymm05639; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5640; AVX-NEXT:    vmovaps 1600(%rdi), %ymm65641; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5642; AVX-NEXT:    vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm0[0],ymm6[2],ymm0[2]5643; AVX-NEXT:    vmovaps 1584(%rdi), %xmm145644; AVX-NEXT:    vmovaps 1552(%rdi), %xmm65645; AVX-NEXT:    vmovlhps {{.*#+}} xmm15 = xmm6[0],xmm14[0]5646; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm7[4,5,6,7]5647; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5648; AVX-NEXT:    vmovaps 1888(%rdi), %ymm75649; AVX-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5650; AVX-NEXT:    vmovaps 1856(%rdi), %ymm05651; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5652; AVX-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]5653; AVX-NEXT:    vmovaps 1840(%rdi), %xmm155654; AVX-NEXT:    vmovaps 1808(%rdi), %xmm75655; AVX-NEXT:    vmovlhps {{.*#+}} xmm9 = xmm7[0],xmm15[0]5656; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5657; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5658; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5659; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5660; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5661; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm8 # 16-byte Folded Reload5662; AVX-NEXT:    # xmm8 = xmm8[1],mem[1]5663; AVX-NEXT:    vblendps {{.*#+}} ymm9 = ymm8[0,1,2,3],ymm0[4,5,6,7]5664; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5665; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5666; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5667; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5668; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm8 # 16-byte Folded Reload5669; AVX-NEXT:    # xmm8 = mem[0,1],xmm8[2,3]5670; AVX-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm0[4,5,6,7]5671; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5672; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5673; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5674; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5675; AVX-NEXT:    # xmm1 = xmm1[1],mem[1]5676; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5677; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5678; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5679; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5680; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5681; AVX-NEXT:    vmovaps (%rsp), %xmm1 # 16-byte Reload5682; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5683; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5684; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5685; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5686; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5687; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5688; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5689; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm10[1]5690; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm0[4,5,6,7]5691; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5692; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5693; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5694; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5695; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5696; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5697; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5698; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5699; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5700; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5701; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5702; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm11[1]5703; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5704; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5705; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5706; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5707; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5708; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5709; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5710; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5711; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5712; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5713; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5714; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5715; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5716; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm12[1]5717; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3],ymm0[4,5,6,7]5718; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5719; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5720; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5721; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5722; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5723; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5724; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm0[4,5,6,7]5725; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5726; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5727; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5728; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm13[1]5729; AVX-NEXT:    vblendps {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm0[4,5,6,7]5730; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5731; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5732; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5733; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5734; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5735; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5736; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm1[0,1,2,3],ymm0[4,5,6,7]5737; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5738; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5739; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5740; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm6[1],xmm14[1]5741; AVX-NEXT:    vblendps {{.*#+}} ymm11 = ymm1[0,1,2,3],ymm0[4,5,6,7]5742; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5743; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5744; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5745; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5746; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5747; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5748; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm1[0,1,2,3],ymm0[4,5,6,7]5749; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5750; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5751; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5752; AVX-NEXT:    vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm15[1]5753; AVX-NEXT:    vblendps {{.*#+}} ymm12 = ymm1[0,1,2,3],ymm0[4,5,6,7]5754; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5755; AVX-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload5756; AVX-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]5757; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5758; AVX-NEXT:    vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5759; AVX-NEXT:    # xmm1 = mem[0,1],xmm1[2,3]5760; AVX-NEXT:    vblendps {{.*#+}} ymm7 = ymm1[0,1,2,3],ymm0[4,5,6,7]5761; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5762; AVX-NEXT:    vmovaps %xmm0, 464(%rsi)5763; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5764; AVX-NEXT:    vmovaps %xmm0, 448(%rsi)5765; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5766; AVX-NEXT:    vmovaps %xmm0, 256(%rsi)5767; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5768; AVX-NEXT:    vmovaps %xmm0, 384(%rsi)5769; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5770; AVX-NEXT:    vmovaps %xmm0, 320(%rsi)5771; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5772; AVX-NEXT:    vmovaps %xmm0, 192(%rsi)5773; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5774; AVX-NEXT:    vmovaps %xmm0, 128(%rsi)5775; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5776; AVX-NEXT:    vmovaps %xmm0, 64(%rsi)5777; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5778; AVX-NEXT:    vmovaps %xmm0, (%rsi)5779; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5780; AVX-NEXT:    vmovaps %xmm0, 272(%rsi)5781; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5782; AVX-NEXT:    vmovaps %xmm0, 400(%rsi)5783; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5784; AVX-NEXT:    vmovaps %xmm0, 336(%rsi)5785; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5786; AVX-NEXT:    vmovaps %xmm0, 208(%rsi)5787; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5788; AVX-NEXT:    vmovaps %xmm0, 144(%rsi)5789; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5790; AVX-NEXT:    vmovaps %xmm0, 80(%rsi)5791; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5792; AVX-NEXT:    vmovaps %xmm0, 16(%rsi)5793; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5794; AVX-NEXT:    vmovaps %xmm0, 496(%rsi)5795; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5796; AVX-NEXT:    vmovaps %xmm0, 480(%rsi)5797; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5798; AVX-NEXT:    vmovaps %xmm0, 32(%rsi)5799; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5800; AVX-NEXT:    vmovaps %xmm0, 416(%rsi)5801; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5802; AVX-NEXT:    vmovaps %xmm0, 352(%rsi)5803; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5804; AVX-NEXT:    vmovaps %xmm0, 288(%rsi)5805; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5806; AVX-NEXT:    vmovaps %xmm0, 224(%rsi)5807; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5808; AVX-NEXT:    vmovaps %xmm0, 160(%rsi)5809; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5810; AVX-NEXT:    vmovaps %xmm0, 96(%rsi)5811; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5812; AVX-NEXT:    vmovaps %xmm0, 48(%rsi)5813; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5814; AVX-NEXT:    vmovaps %xmm0, 432(%rsi)5815; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5816; AVX-NEXT:    vmovaps %xmm0, 368(%rsi)5817; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5818; AVX-NEXT:    vmovaps %xmm0, 304(%rsi)5819; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5820; AVX-NEXT:    vmovaps %xmm0, 240(%rsi)5821; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5822; AVX-NEXT:    vmovaps %xmm0, 176(%rsi)5823; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5824; AVX-NEXT:    vmovaps %xmm0, 112(%rsi)5825; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5826; AVX-NEXT:    vmovaps %xmm0, 128(%rdx)5827; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5828; AVX-NEXT:    vmovaps %xmm0, 144(%rdx)5829; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5830; AVX-NEXT:    vmovaps %xmm0, 256(%rdx)5831; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5832; AVX-NEXT:    vmovaps %xmm0, 272(%rdx)5833; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5834; AVX-NEXT:    vmovaps %xmm0, 64(%rdx)5835; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5836; AVX-NEXT:    vmovaps %xmm0, 80(%rdx)5837; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5838; AVX-NEXT:    vmovaps %xmm0, (%rdx)5839; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5840; AVX-NEXT:    vmovaps %xmm0, 16(%rdx)5841; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5842; AVX-NEXT:    vmovaps %xmm0, 192(%rdx)5843; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5844; AVX-NEXT:    vmovaps %xmm0, 208(%rdx)5845; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5846; AVX-NEXT:    vmovaps %xmm0, 320(%rdx)5847; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5848; AVX-NEXT:    vmovaps %xmm0, 336(%rdx)5849; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5850; AVX-NEXT:    vmovaps %xmm0, 384(%rdx)5851; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5852; AVX-NEXT:    vmovaps %xmm0, 400(%rdx)5853; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5854; AVX-NEXT:    vmovaps %xmm0, 448(%rdx)5855; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5856; AVX-NEXT:    vmovaps %xmm0, 464(%rdx)5857; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5858; AVX-NEXT:    vmovaps %xmm0, 96(%rdx)5859; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5860; AVX-NEXT:    vmovaps %xmm0, 112(%rdx)5861; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5862; AVX-NEXT:    vmovaps %xmm0, 32(%rdx)5863; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5864; AVX-NEXT:    vmovaps %xmm0, 48(%rdx)5865; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5866; AVX-NEXT:    vmovaps %xmm0, 160(%rdx)5867; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5868; AVX-NEXT:    vmovaps %xmm0, 176(%rdx)5869; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5870; AVX-NEXT:    vmovaps %xmm0, 224(%rdx)5871; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5872; AVX-NEXT:    vmovaps %xmm0, 240(%rdx)5873; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5874; AVX-NEXT:    vmovaps %xmm0, 288(%rdx)5875; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5876; AVX-NEXT:    vmovaps %xmm0, 304(%rdx)5877; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5878; AVX-NEXT:    vmovaps %xmm0, 352(%rdx)5879; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5880; AVX-NEXT:    vmovaps %xmm0, 368(%rdx)5881; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5882; AVX-NEXT:    vmovaps %xmm0, 416(%rdx)5883; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5884; AVX-NEXT:    vmovaps %xmm0, 432(%rdx)5885; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5886; AVX-NEXT:    vmovaps %xmm0, 480(%rdx)5887; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5888; AVX-NEXT:    vmovaps %xmm0, 496(%rdx)5889; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5890; AVX-NEXT:    vmovaps %ymm0, 448(%rcx)5891; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5892; AVX-NEXT:    vmovaps %ymm0, 384(%rcx)5893; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5894; AVX-NEXT:    vmovaps %ymm0, 320(%rcx)5895; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5896; AVX-NEXT:    vmovaps %ymm0, 256(%rcx)5897; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5898; AVX-NEXT:    vmovaps %ymm0, 192(%rcx)5899; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5900; AVX-NEXT:    vmovaps %ymm0, 128(%rcx)5901; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5902; AVX-NEXT:    vmovaps %ymm0, 64(%rcx)5903; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5904; AVX-NEXT:    vmovaps %ymm0, (%rcx)5905; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5906; AVX-NEXT:    vmovaps %ymm0, 480(%rcx)5907; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5908; AVX-NEXT:    vmovaps %ymm0, 416(%rcx)5909; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5910; AVX-NEXT:    vmovaps %ymm0, 352(%rcx)5911; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5912; AVX-NEXT:    vmovaps %ymm0, 288(%rcx)5913; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5914; AVX-NEXT:    vmovaps %ymm0, 224(%rcx)5915; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5916; AVX-NEXT:    vmovaps %ymm0, 160(%rcx)5917; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5918; AVX-NEXT:    vmovaps %ymm0, 96(%rcx)5919; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5920; AVX-NEXT:    vmovaps %ymm0, 32(%rcx)5921; AVX-NEXT:    vmovaps %ymm7, 480(%r8)5922; AVX-NEXT:    vmovaps %ymm12, 448(%r8)5923; AVX-NEXT:    vmovaps %ymm6, 416(%r8)5924; AVX-NEXT:    vmovaps %ymm11, 384(%r8)5925; AVX-NEXT:    vmovaps %ymm5, 352(%r8)5926; AVX-NEXT:    vmovaps %ymm10, 320(%r8)5927; AVX-NEXT:    vmovaps %ymm4, 288(%r8)5928; AVX-NEXT:    vmovaps %ymm3, 256(%r8)5929; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5930; AVX-NEXT:    vmovaps %ymm0, 224(%r8)5931; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5932; AVX-NEXT:    vmovaps %ymm0, 192(%r8)5933; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5934; AVX-NEXT:    vmovaps %ymm0, 160(%r8)5935; AVX-NEXT:    vmovaps %ymm2, 128(%r8)5936; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5937; AVX-NEXT:    vmovaps %ymm0, 96(%r8)5938; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5939; AVX-NEXT:    vmovaps %ymm0, 64(%r8)5940; AVX-NEXT:    vmovaps %ymm8, 32(%r8)5941; AVX-NEXT:    vmovaps %ymm9, (%r8)5942; AVX-NEXT:    addq $2728, %rsp # imm = 0xAA85943; AVX-NEXT:    vzeroupper5944; AVX-NEXT:    retq5945;5946; AVX2-LABEL: load_i64_stride4_vf64:5947; AVX2:       # %bb.0:5948; AVX2-NEXT:    subq $3016, %rsp # imm = 0xBC85949; AVX2-NEXT:    vmovaps 160(%rdi), %xmm05950; AVX2-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm05951; AVX2-NEXT:    vmovaps 128(%rdi), %xmm15952; AVX2-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm15953; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]5954; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5955; AVX2-NEXT:    vmovaps 416(%rdi), %xmm25956; AVX2-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm25957; AVX2-NEXT:    vmovaps 384(%rdi), %xmm35958; AVX2-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm35959; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]5960; AVX2-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5961; AVX2-NEXT:    vmovaps 672(%rdi), %xmm45962; AVX2-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm45963; AVX2-NEXT:    vmovaps 640(%rdi), %xmm55964; AVX2-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm55965; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]5966; AVX2-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5967; AVX2-NEXT:    vmovaps 928(%rdi), %xmm65968; AVX2-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm65969; AVX2-NEXT:    vmovaps 896(%rdi), %xmm75970; AVX2-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm75971; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]5972; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5973; AVX2-NEXT:    vmovaps 1184(%rdi), %xmm85974; AVX2-NEXT:    vinsertf128 $1, 1248(%rdi), %ymm8, %ymm85975; AVX2-NEXT:    vmovaps 1152(%rdi), %xmm95976; AVX2-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm9, %ymm95977; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]5978; AVX2-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5979; AVX2-NEXT:    vmovaps 1440(%rdi), %xmm105980; AVX2-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm10, %ymm105981; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]5982; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5983; AVX2-NEXT:    vmovaps 1408(%rdi), %xmm05984; AVX2-NEXT:    vinsertf128 $1, 1472(%rdi), %ymm0, %ymm05985; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]5986; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5987; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]5988; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5989; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]5990; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5991; AVX2-NEXT:    vmovaps 1696(%rdi), %xmm15992; AVX2-NEXT:    vinsertf128 $1, 1760(%rdi), %ymm1, %ymm15993; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]5994; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5995; AVX2-NEXT:    vmovaps 1664(%rdi), %xmm25996; AVX2-NEXT:    vinsertf128 $1, 1728(%rdi), %ymm2, %ymm25997; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]5998; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5999; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]6000; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6001; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]6002; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6003; AVX2-NEXT:    vmovaps 1952(%rdi), %xmm06004; AVX2-NEXT:    vinsertf128 $1, 2016(%rdi), %ymm0, %ymm06005; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]6006; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6007; AVX2-NEXT:    vmovaps 1920(%rdi), %xmm16008; AVX2-NEXT:    vinsertf128 $1, 1984(%rdi), %ymm1, %ymm16009; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6010; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6011; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6012; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6013; AVX2-NEXT:    vmovaps 32(%rdi), %xmm06014; AVX2-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm06015; AVX2-NEXT:    vmovaps (%rdi), %xmm16016; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm1, %ymm16017; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6018; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6019; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6020; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6021; AVX2-NEXT:    vmovaps 288(%rdi), %xmm06022; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm06023; AVX2-NEXT:    vmovaps 256(%rdi), %xmm16024; AVX2-NEXT:    vinsertf128 $1, 320(%rdi), %ymm1, %ymm16025; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6026; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6027; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6028; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6029; AVX2-NEXT:    vmovaps 544(%rdi), %xmm06030; AVX2-NEXT:    vinsertf128 $1, 608(%rdi), %ymm0, %ymm06031; AVX2-NEXT:    vmovaps 512(%rdi), %xmm16032; AVX2-NEXT:    vinsertf128 $1, 576(%rdi), %ymm1, %ymm16033; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6034; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6035; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6036; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6037; AVX2-NEXT:    vmovaps 800(%rdi), %xmm06038; AVX2-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm06039; AVX2-NEXT:    vmovaps 768(%rdi), %xmm16040; AVX2-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm16041; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6042; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6043; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6044; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6045; AVX2-NEXT:    vmovaps 1056(%rdi), %xmm06046; AVX2-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm06047; AVX2-NEXT:    vmovaps 1024(%rdi), %xmm16048; AVX2-NEXT:    vinsertf128 $1, 1088(%rdi), %ymm1, %ymm16049; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6050; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6051; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6052; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6053; AVX2-NEXT:    vmovaps 1312(%rdi), %xmm06054; AVX2-NEXT:    vinsertf128 $1, 1376(%rdi), %ymm0, %ymm06055; AVX2-NEXT:    vmovaps 1280(%rdi), %xmm16056; AVX2-NEXT:    vinsertf128 $1, 1344(%rdi), %ymm1, %ymm16057; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6058; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6059; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6060; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6061; AVX2-NEXT:    vmovaps 1568(%rdi), %xmm06062; AVX2-NEXT:    vinsertf128 $1, 1632(%rdi), %ymm0, %ymm06063; AVX2-NEXT:    vmovaps 1536(%rdi), %xmm16064; AVX2-NEXT:    vinsertf128 $1, 1600(%rdi), %ymm1, %ymm16065; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6066; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6067; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6068; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6069; AVX2-NEXT:    vmovaps 1824(%rdi), %xmm06070; AVX2-NEXT:    vinsertf128 $1, 1888(%rdi), %ymm0, %ymm06071; AVX2-NEXT:    vmovaps 1792(%rdi), %xmm16072; AVX2-NEXT:    vinsertf128 $1, 1856(%rdi), %ymm1, %ymm16073; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6074; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6075; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6076; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6077; AVX2-NEXT:    vmovaps 160(%rdi), %ymm26078; AVX2-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill6079; AVX2-NEXT:    vmovaps 128(%rdi), %ymm36080; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6081; AVX2-NEXT:    vmovaps 224(%rdi), %ymm16082; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6083; AVX2-NEXT:    vmovaps 192(%rdi), %ymm06084; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6085; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6086; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6087; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6088; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6089; AVX2-NEXT:    vmovaps 416(%rdi), %ymm26090; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6091; AVX2-NEXT:    vmovaps 384(%rdi), %ymm36092; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6093; AVX2-NEXT:    vmovaps 480(%rdi), %ymm16094; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6095; AVX2-NEXT:    vmovaps 448(%rdi), %ymm06096; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6097; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6098; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6099; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6100; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6101; AVX2-NEXT:    vmovaps 672(%rdi), %ymm26102; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6103; AVX2-NEXT:    vmovaps 640(%rdi), %ymm36104; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6105; AVX2-NEXT:    vmovaps 736(%rdi), %ymm16106; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6107; AVX2-NEXT:    vmovaps 704(%rdi), %ymm06108; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6109; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6110; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6111; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6112; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6113; AVX2-NEXT:    vmovaps 928(%rdi), %ymm26114; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6115; AVX2-NEXT:    vmovaps 896(%rdi), %ymm36116; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6117; AVX2-NEXT:    vmovaps 992(%rdi), %ymm16118; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6119; AVX2-NEXT:    vmovaps 960(%rdi), %ymm06120; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6121; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6122; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6123; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6124; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6125; AVX2-NEXT:    vmovaps 1184(%rdi), %ymm26126; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6127; AVX2-NEXT:    vmovaps 1152(%rdi), %ymm36128; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6129; AVX2-NEXT:    vmovaps 1248(%rdi), %ymm16130; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6131; AVX2-NEXT:    vmovaps 1216(%rdi), %ymm06132; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6133; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6134; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6135; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6136; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6137; AVX2-NEXT:    vmovaps 1440(%rdi), %ymm26138; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6139; AVX2-NEXT:    vmovaps 1408(%rdi), %ymm36140; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6141; AVX2-NEXT:    vmovaps 1504(%rdi), %ymm16142; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6143; AVX2-NEXT:    vmovaps 1472(%rdi), %ymm06144; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6145; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6146; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6147; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6148; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6149; AVX2-NEXT:    vmovaps 1696(%rdi), %ymm26150; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6151; AVX2-NEXT:    vmovaps 1664(%rdi), %ymm36152; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6153; AVX2-NEXT:    vmovaps 1760(%rdi), %ymm16154; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6155; AVX2-NEXT:    vmovaps 1728(%rdi), %ymm06156; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6157; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6158; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6159; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6160; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6161; AVX2-NEXT:    vmovaps 1952(%rdi), %ymm26162; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6163; AVX2-NEXT:    vmovaps 1920(%rdi), %ymm36164; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6165; AVX2-NEXT:    vmovaps 2016(%rdi), %ymm16166; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6167; AVX2-NEXT:    vmovaps 1984(%rdi), %ymm06168; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6169; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6170; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6171; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6172; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6173; AVX2-NEXT:    vmovaps 32(%rdi), %ymm26174; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6175; AVX2-NEXT:    vmovaps (%rdi), %ymm36176; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6177; AVX2-NEXT:    vmovaps 96(%rdi), %ymm16178; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6179; AVX2-NEXT:    vmovaps 64(%rdi), %ymm06180; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6181; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6182; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6183; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6184; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6185; AVX2-NEXT:    vmovaps 288(%rdi), %ymm26186; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6187; AVX2-NEXT:    vmovaps 256(%rdi), %ymm36188; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6189; AVX2-NEXT:    vmovaps 352(%rdi), %ymm16190; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6191; AVX2-NEXT:    vmovaps 320(%rdi), %ymm06192; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6193; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6194; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6195; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6196; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6197; AVX2-NEXT:    vmovaps 544(%rdi), %ymm26198; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6199; AVX2-NEXT:    vmovaps 512(%rdi), %ymm36200; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6201; AVX2-NEXT:    vmovaps 608(%rdi), %ymm06202; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6203; AVX2-NEXT:    vmovaps 576(%rdi), %ymm156204; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]6205; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6206; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6207; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6208; AVX2-NEXT:    vmovaps 800(%rdi), %ymm26209; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6210; AVX2-NEXT:    vmovaps 768(%rdi), %ymm16211; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6212; AVX2-NEXT:    vmovaps 864(%rdi), %ymm146213; AVX2-NEXT:    vmovaps 832(%rdi), %ymm116214; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]6215; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6216; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6217; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6218; AVX2-NEXT:    vmovaps 1056(%rdi), %ymm26219; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6220; AVX2-NEXT:    vmovaps 1024(%rdi), %ymm16221; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6222; AVX2-NEXT:    vmovaps 1120(%rdi), %ymm106223; AVX2-NEXT:    vmovaps 1088(%rdi), %ymm86224; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]6225; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6226; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6227; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6228; AVX2-NEXT:    vmovaps 1312(%rdi), %ymm26229; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6230; AVX2-NEXT:    vmovaps 1280(%rdi), %ymm16231; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6232; AVX2-NEXT:    vmovaps 1376(%rdi), %ymm76233; AVX2-NEXT:    vmovaps 1344(%rdi), %ymm56234; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]6235; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6236; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6237; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6238; AVX2-NEXT:    vmovaps 1568(%rdi), %ymm16239; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6240; AVX2-NEXT:    vmovaps 1536(%rdi), %ymm96241; AVX2-NEXT:    vmovaps 1632(%rdi), %ymm46242; AVX2-NEXT:    vmovaps 1600(%rdi), %ymm36243; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]6244; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]6245; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]6246; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6247; AVX2-NEXT:    vmovaps 1824(%rdi), %ymm126248; AVX2-NEXT:    vmovaps 1792(%rdi), %ymm66249; AVX2-NEXT:    vmovaps 1888(%rdi), %ymm26250; AVX2-NEXT:    vmovaps 1856(%rdi), %ymm16251; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6252; AVX2-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]6253; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6254; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6255; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6256; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6257; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6258; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6259; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6260; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6261; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6262; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6263; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6264; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6265; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6266; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6267; AVX2-NEXT:    vunpckhpd (%rsp), %ymm13, %ymm13 # 32-byte Folded Reload6268; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6269; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6270; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6271; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6272; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6273; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6274; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6275; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6276; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6277; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6278; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6279; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6280; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6281; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6282; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6283; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6284; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6285; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6286; AVX2-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill6287; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload6288; AVX2-NEXT:    # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]6289; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6290; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6291; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6292; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6293; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6294; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6295; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6296; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6297; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6298; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6299; AVX2-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6300; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6301; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6302; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm14[1],ymm11[3],ymm14[3]6303; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload6304; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6305; AVX2-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]6306; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]6307; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6308; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6309; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6310; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6311; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload6312; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6313; AVX2-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]6314; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm11[2,3],ymm0[2,3]6315; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]6316; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload6317; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload6318; AVX2-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]6319; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm14 = ymm8[2,3],ymm0[2,3]6320; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6321; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6322; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6323; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload6324; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload6325; AVX2-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]6326; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm8[2,3],ymm0[2,3]6327; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]6328; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload6329; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload6330; AVX2-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]6331; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm10 = ymm5[2,3],ymm0[2,3]6332; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6333; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6334; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6335; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload6336; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload6337; AVX2-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]6338; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm13 = ymm5[2,3],ymm0[2,3]6339; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]6340; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload6341; AVX2-NEXT:    # ymm3 = ymm9[1],mem[1],ymm9[3],mem[3]6342; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm3[2,3],ymm0[2,3]6343; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6344; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6345; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6346; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6347; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6348; AVX2-NEXT:    # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]6349; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm3[2,3],ymm0[2,3]6350; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]6351; AVX2-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]6352; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm6 = ymm1[2,3],ymm0[2,3]6353; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6354; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6355; AVX2-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6356; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6357; AVX2-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload6358; AVX2-NEXT:    # ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]6359; AVX2-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6360; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6361; AVX2-NEXT:    vmovaps %ymm1, 448(%rsi)6362; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6363; AVX2-NEXT:    vmovaps %ymm1, 384(%rsi)6364; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6365; AVX2-NEXT:    vmovaps %ymm1, 320(%rsi)6366; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6367; AVX2-NEXT:    vmovaps %ymm1, 256(%rsi)6368; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6369; AVX2-NEXT:    vmovaps %ymm1, 192(%rsi)6370; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6371; AVX2-NEXT:    vmovaps %ymm1, 128(%rsi)6372; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6373; AVX2-NEXT:    vmovaps %ymm1, 64(%rsi)6374; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6375; AVX2-NEXT:    vmovaps %ymm1, (%rsi)6376; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6377; AVX2-NEXT:    vmovaps %ymm1, 480(%rsi)6378; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6379; AVX2-NEXT:    vmovaps %ymm1, 416(%rsi)6380; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6381; AVX2-NEXT:    vmovaps %ymm1, 352(%rsi)6382; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6383; AVX2-NEXT:    vmovaps %ymm1, 288(%rsi)6384; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6385; AVX2-NEXT:    vmovaps %ymm1, 224(%rsi)6386; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6387; AVX2-NEXT:    vmovaps %ymm1, 160(%rsi)6388; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6389; AVX2-NEXT:    vmovaps %ymm1, 96(%rsi)6390; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6391; AVX2-NEXT:    vmovaps %ymm1, 32(%rsi)6392; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6393; AVX2-NEXT:    vmovaps %ymm1, 448(%rdx)6394; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6395; AVX2-NEXT:    vmovaps %ymm1, 384(%rdx)6396; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6397; AVX2-NEXT:    vmovaps %ymm1, 320(%rdx)6398; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6399; AVX2-NEXT:    vmovaps %ymm1, 256(%rdx)6400; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6401; AVX2-NEXT:    vmovaps %ymm1, 192(%rdx)6402; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6403; AVX2-NEXT:    vmovaps %ymm1, 128(%rdx)6404; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6405; AVX2-NEXT:    vmovaps %ymm1, 64(%rdx)6406; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6407; AVX2-NEXT:    vmovaps %ymm1, (%rdx)6408; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6409; AVX2-NEXT:    vmovaps %ymm1, 480(%rdx)6410; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6411; AVX2-NEXT:    vmovaps %ymm1, 416(%rdx)6412; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6413; AVX2-NEXT:    vmovaps %ymm1, 352(%rdx)6414; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6415; AVX2-NEXT:    vmovaps %ymm1, 288(%rdx)6416; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6417; AVX2-NEXT:    vmovaps %ymm1, 224(%rdx)6418; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6419; AVX2-NEXT:    vmovaps %ymm1, 160(%rdx)6420; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6421; AVX2-NEXT:    vmovaps %ymm1, 96(%rdx)6422; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6423; AVX2-NEXT:    vmovaps %ymm1, 32(%rdx)6424; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6425; AVX2-NEXT:    vmovaps %ymm1, 448(%rcx)6426; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6427; AVX2-NEXT:    vmovaps %ymm1, 384(%rcx)6428; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6429; AVX2-NEXT:    vmovaps %ymm1, 320(%rcx)6430; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6431; AVX2-NEXT:    vmovaps %ymm1, 256(%rcx)6432; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6433; AVX2-NEXT:    vmovaps %ymm1, 192(%rcx)6434; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6435; AVX2-NEXT:    vmovaps %ymm1, 128(%rcx)6436; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6437; AVX2-NEXT:    vmovaps %ymm1, 64(%rcx)6438; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6439; AVX2-NEXT:    vmovaps %ymm1, (%rcx)6440; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6441; AVX2-NEXT:    vmovaps %ymm1, 480(%rcx)6442; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6443; AVX2-NEXT:    vmovaps %ymm1, 416(%rcx)6444; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6445; AVX2-NEXT:    vmovaps %ymm1, 352(%rcx)6446; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6447; AVX2-NEXT:    vmovaps %ymm1, 288(%rcx)6448; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6449; AVX2-NEXT:    vmovaps %ymm1, 224(%rcx)6450; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6451; AVX2-NEXT:    vmovaps %ymm1, 160(%rcx)6452; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6453; AVX2-NEXT:    vmovaps %ymm1, 96(%rcx)6454; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6455; AVX2-NEXT:    vmovaps %ymm1, 32(%rcx)6456; AVX2-NEXT:    vmovaps %ymm0, 480(%r8)6457; AVX2-NEXT:    vmovaps %ymm6, 448(%r8)6458; AVX2-NEXT:    vmovaps %ymm5, 416(%r8)6459; AVX2-NEXT:    vmovaps %ymm7, 384(%r8)6460; AVX2-NEXT:    vmovaps %ymm13, 352(%r8)6461; AVX2-NEXT:    vmovaps %ymm10, 320(%r8)6462; AVX2-NEXT:    vmovaps %ymm11, 288(%r8)6463; AVX2-NEXT:    vmovaps %ymm14, 256(%r8)6464; AVX2-NEXT:    vmovaps %ymm15, 224(%r8)6465; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6466; AVX2-NEXT:    vmovaps %ymm0, 192(%r8)6467; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6468; AVX2-NEXT:    vmovaps %ymm0, 160(%r8)6469; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6470; AVX2-NEXT:    vmovaps %ymm0, 128(%r8)6471; AVX2-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload6472; AVX2-NEXT:    vmovaps %ymm0, 96(%r8)6473; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6474; AVX2-NEXT:    vmovaps %ymm0, 64(%r8)6475; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6476; AVX2-NEXT:    vmovaps %ymm0, 32(%r8)6477; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6478; AVX2-NEXT:    vmovaps %ymm0, (%r8)6479; AVX2-NEXT:    addq $3016, %rsp # imm = 0xBC86480; AVX2-NEXT:    vzeroupper6481; AVX2-NEXT:    retq6482;6483; AVX2-FP-LABEL: load_i64_stride4_vf64:6484; AVX2-FP:       # %bb.0:6485; AVX2-FP-NEXT:    subq $3016, %rsp # imm = 0xBC86486; AVX2-FP-NEXT:    vmovaps 160(%rdi), %xmm06487; AVX2-FP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm06488; AVX2-FP-NEXT:    vmovaps 128(%rdi), %xmm16489; AVX2-FP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm16490; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6491; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6492; AVX2-FP-NEXT:    vmovaps 416(%rdi), %xmm26493; AVX2-FP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm26494; AVX2-FP-NEXT:    vmovaps 384(%rdi), %xmm36495; AVX2-FP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm36496; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6497; AVX2-FP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6498; AVX2-FP-NEXT:    vmovaps 672(%rdi), %xmm46499; AVX2-FP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm46500; AVX2-FP-NEXT:    vmovaps 640(%rdi), %xmm56501; AVX2-FP-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm56502; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]6503; AVX2-FP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6504; AVX2-FP-NEXT:    vmovaps 928(%rdi), %xmm66505; AVX2-FP-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm66506; AVX2-FP-NEXT:    vmovaps 896(%rdi), %xmm76507; AVX2-FP-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm76508; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]6509; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6510; AVX2-FP-NEXT:    vmovaps 1184(%rdi), %xmm86511; AVX2-FP-NEXT:    vinsertf128 $1, 1248(%rdi), %ymm8, %ymm86512; AVX2-FP-NEXT:    vmovaps 1152(%rdi), %xmm96513; AVX2-FP-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm9, %ymm96514; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]6515; AVX2-FP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6516; AVX2-FP-NEXT:    vmovaps 1440(%rdi), %xmm106517; AVX2-FP-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm10, %ymm106518; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6519; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6520; AVX2-FP-NEXT:    vmovaps 1408(%rdi), %xmm06521; AVX2-FP-NEXT:    vinsertf128 $1, 1472(%rdi), %ymm0, %ymm06522; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]6523; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6524; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]6525; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6526; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]6527; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6528; AVX2-FP-NEXT:    vmovaps 1696(%rdi), %xmm16529; AVX2-FP-NEXT:    vinsertf128 $1, 1760(%rdi), %ymm1, %ymm16530; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]6531; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6532; AVX2-FP-NEXT:    vmovaps 1664(%rdi), %xmm26533; AVX2-FP-NEXT:    vinsertf128 $1, 1728(%rdi), %ymm2, %ymm26534; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]6535; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6536; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]6537; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6538; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]6539; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6540; AVX2-FP-NEXT:    vmovaps 1952(%rdi), %xmm06541; AVX2-FP-NEXT:    vinsertf128 $1, 2016(%rdi), %ymm0, %ymm06542; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]6543; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6544; AVX2-FP-NEXT:    vmovaps 1920(%rdi), %xmm16545; AVX2-FP-NEXT:    vinsertf128 $1, 1984(%rdi), %ymm1, %ymm16546; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6547; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6548; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6549; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6550; AVX2-FP-NEXT:    vmovaps 32(%rdi), %xmm06551; AVX2-FP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm06552; AVX2-FP-NEXT:    vmovaps (%rdi), %xmm16553; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm1, %ymm16554; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6555; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6556; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6557; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6558; AVX2-FP-NEXT:    vmovaps 288(%rdi), %xmm06559; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm06560; AVX2-FP-NEXT:    vmovaps 256(%rdi), %xmm16561; AVX2-FP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm1, %ymm16562; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6563; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6564; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6565; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6566; AVX2-FP-NEXT:    vmovaps 544(%rdi), %xmm06567; AVX2-FP-NEXT:    vinsertf128 $1, 608(%rdi), %ymm0, %ymm06568; AVX2-FP-NEXT:    vmovaps 512(%rdi), %xmm16569; AVX2-FP-NEXT:    vinsertf128 $1, 576(%rdi), %ymm1, %ymm16570; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6571; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6572; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6573; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6574; AVX2-FP-NEXT:    vmovaps 800(%rdi), %xmm06575; AVX2-FP-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm06576; AVX2-FP-NEXT:    vmovaps 768(%rdi), %xmm16577; AVX2-FP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm16578; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6579; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6580; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6581; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6582; AVX2-FP-NEXT:    vmovaps 1056(%rdi), %xmm06583; AVX2-FP-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm06584; AVX2-FP-NEXT:    vmovaps 1024(%rdi), %xmm16585; AVX2-FP-NEXT:    vinsertf128 $1, 1088(%rdi), %ymm1, %ymm16586; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6587; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6588; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6589; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6590; AVX2-FP-NEXT:    vmovaps 1312(%rdi), %xmm06591; AVX2-FP-NEXT:    vinsertf128 $1, 1376(%rdi), %ymm0, %ymm06592; AVX2-FP-NEXT:    vmovaps 1280(%rdi), %xmm16593; AVX2-FP-NEXT:    vinsertf128 $1, 1344(%rdi), %ymm1, %ymm16594; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6595; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6596; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6597; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6598; AVX2-FP-NEXT:    vmovaps 1568(%rdi), %xmm06599; AVX2-FP-NEXT:    vinsertf128 $1, 1632(%rdi), %ymm0, %ymm06600; AVX2-FP-NEXT:    vmovaps 1536(%rdi), %xmm16601; AVX2-FP-NEXT:    vinsertf128 $1, 1600(%rdi), %ymm1, %ymm16602; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6603; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6604; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6605; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6606; AVX2-FP-NEXT:    vmovaps 1824(%rdi), %xmm06607; AVX2-FP-NEXT:    vinsertf128 $1, 1888(%rdi), %ymm0, %ymm06608; AVX2-FP-NEXT:    vmovaps 1792(%rdi), %xmm16609; AVX2-FP-NEXT:    vinsertf128 $1, 1856(%rdi), %ymm1, %ymm16610; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]6611; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6612; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]6613; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6614; AVX2-FP-NEXT:    vmovaps 160(%rdi), %ymm26615; AVX2-FP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill6616; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm36617; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6618; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm16619; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6620; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm06621; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6622; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6623; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6624; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6625; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6626; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm26627; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6628; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm36629; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6630; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm16631; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6632; AVX2-FP-NEXT:    vmovaps 448(%rdi), %ymm06633; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6634; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6635; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6636; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6637; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6638; AVX2-FP-NEXT:    vmovaps 672(%rdi), %ymm26639; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6640; AVX2-FP-NEXT:    vmovaps 640(%rdi), %ymm36641; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6642; AVX2-FP-NEXT:    vmovaps 736(%rdi), %ymm16643; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6644; AVX2-FP-NEXT:    vmovaps 704(%rdi), %ymm06645; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6646; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6647; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6648; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6649; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6650; AVX2-FP-NEXT:    vmovaps 928(%rdi), %ymm26651; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6652; AVX2-FP-NEXT:    vmovaps 896(%rdi), %ymm36653; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6654; AVX2-FP-NEXT:    vmovaps 992(%rdi), %ymm16655; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6656; AVX2-FP-NEXT:    vmovaps 960(%rdi), %ymm06657; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6658; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6659; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6660; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6661; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6662; AVX2-FP-NEXT:    vmovaps 1184(%rdi), %ymm26663; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6664; AVX2-FP-NEXT:    vmovaps 1152(%rdi), %ymm36665; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6666; AVX2-FP-NEXT:    vmovaps 1248(%rdi), %ymm16667; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6668; AVX2-FP-NEXT:    vmovaps 1216(%rdi), %ymm06669; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6670; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6671; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6672; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6673; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6674; AVX2-FP-NEXT:    vmovaps 1440(%rdi), %ymm26675; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6676; AVX2-FP-NEXT:    vmovaps 1408(%rdi), %ymm36677; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6678; AVX2-FP-NEXT:    vmovaps 1504(%rdi), %ymm16679; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6680; AVX2-FP-NEXT:    vmovaps 1472(%rdi), %ymm06681; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6682; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6683; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6684; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6685; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6686; AVX2-FP-NEXT:    vmovaps 1696(%rdi), %ymm26687; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6688; AVX2-FP-NEXT:    vmovaps 1664(%rdi), %ymm36689; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6690; AVX2-FP-NEXT:    vmovaps 1760(%rdi), %ymm16691; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6692; AVX2-FP-NEXT:    vmovaps 1728(%rdi), %ymm06693; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6694; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6695; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6696; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6697; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6698; AVX2-FP-NEXT:    vmovaps 1952(%rdi), %ymm26699; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6700; AVX2-FP-NEXT:    vmovaps 1920(%rdi), %ymm36701; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6702; AVX2-FP-NEXT:    vmovaps 2016(%rdi), %ymm16703; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6704; AVX2-FP-NEXT:    vmovaps 1984(%rdi), %ymm06705; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6706; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6707; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6708; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6709; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6710; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm26711; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6712; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm36713; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6714; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm16715; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6716; AVX2-FP-NEXT:    vmovaps 64(%rdi), %ymm06717; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6718; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6719; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6720; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6721; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6722; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm26723; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6724; AVX2-FP-NEXT:    vmovaps 256(%rdi), %ymm36725; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6726; AVX2-FP-NEXT:    vmovaps 352(%rdi), %ymm16727; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6728; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm06729; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6730; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6731; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6732; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6733; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6734; AVX2-FP-NEXT:    vmovaps 544(%rdi), %ymm26735; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6736; AVX2-FP-NEXT:    vmovaps 512(%rdi), %ymm36737; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6738; AVX2-FP-NEXT:    vmovaps 608(%rdi), %ymm06739; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6740; AVX2-FP-NEXT:    vmovaps 576(%rdi), %ymm156741; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]6742; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]6743; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6744; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6745; AVX2-FP-NEXT:    vmovaps 800(%rdi), %ymm26746; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6747; AVX2-FP-NEXT:    vmovaps 768(%rdi), %ymm16748; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6749; AVX2-FP-NEXT:    vmovaps 864(%rdi), %ymm146750; AVX2-FP-NEXT:    vmovaps 832(%rdi), %ymm116751; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]6752; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6753; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6754; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6755; AVX2-FP-NEXT:    vmovaps 1056(%rdi), %ymm26756; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6757; AVX2-FP-NEXT:    vmovaps 1024(%rdi), %ymm16758; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6759; AVX2-FP-NEXT:    vmovaps 1120(%rdi), %ymm106760; AVX2-FP-NEXT:    vmovaps 1088(%rdi), %ymm86761; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]6762; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6763; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6764; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6765; AVX2-FP-NEXT:    vmovaps 1312(%rdi), %ymm26766; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6767; AVX2-FP-NEXT:    vmovaps 1280(%rdi), %ymm16768; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6769; AVX2-FP-NEXT:    vmovaps 1376(%rdi), %ymm76770; AVX2-FP-NEXT:    vmovaps 1344(%rdi), %ymm56771; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]6772; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6773; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6774; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6775; AVX2-FP-NEXT:    vmovaps 1568(%rdi), %ymm16776; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6777; AVX2-FP-NEXT:    vmovaps 1536(%rdi), %ymm96778; AVX2-FP-NEXT:    vmovaps 1632(%rdi), %ymm46779; AVX2-FP-NEXT:    vmovaps 1600(%rdi), %ymm36780; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]6781; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]6782; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]6783; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6784; AVX2-FP-NEXT:    vmovaps 1824(%rdi), %ymm126785; AVX2-FP-NEXT:    vmovaps 1792(%rdi), %ymm66786; AVX2-FP-NEXT:    vmovaps 1888(%rdi), %ymm26787; AVX2-FP-NEXT:    vmovaps 1856(%rdi), %ymm16788; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]6789; AVX2-FP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]6790; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6791; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6792; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6793; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6794; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6795; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6796; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6797; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6798; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6799; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6800; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6801; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6802; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6803; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6804; AVX2-FP-NEXT:    vunpckhpd (%rsp), %ymm13, %ymm13 # 32-byte Folded Reload6805; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6806; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6807; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6808; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6809; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6810; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6811; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6812; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6813; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6814; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6815; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6816; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6817; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6818; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6819; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6820; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6821; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6822; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6823; AVX2-FP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill6824; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload6825; AVX2-FP-NEXT:    # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]6826; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6827; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6828; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6829; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6830; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6831; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6832; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6833; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6834; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6835; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload6836; AVX2-FP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]6837; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]6838; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6839; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm14[1],ymm11[3],ymm14[3]6840; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload6841; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6842; AVX2-FP-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]6843; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]6844; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6845; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6846; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6847; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6848; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload6849; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6850; AVX2-FP-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]6851; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm11[2,3],ymm0[2,3]6852; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]6853; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload6854; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload6855; AVX2-FP-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]6856; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm14 = ymm8[2,3],ymm0[2,3]6857; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6858; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6859; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6860; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload6861; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload6862; AVX2-FP-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]6863; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm8[2,3],ymm0[2,3]6864; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]6865; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload6866; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload6867; AVX2-FP-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]6868; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm10 = ymm5[2,3],ymm0[2,3]6869; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6870; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6871; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6872; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload6873; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload6874; AVX2-FP-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]6875; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm13 = ymm5[2,3],ymm0[2,3]6876; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]6877; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload6878; AVX2-FP-NEXT:    # ymm3 = ymm9[1],mem[1],ymm9[3],mem[3]6879; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm3[2,3],ymm0[2,3]6880; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6881; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6882; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6883; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6884; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6885; AVX2-FP-NEXT:    # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]6886; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm3[2,3],ymm0[2,3]6887; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]6888; AVX2-FP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]6889; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm6 = ymm1[2,3],ymm0[2,3]6890; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6891; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6892; AVX2-FP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6893; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6894; AVX2-FP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload6895; AVX2-FP-NEXT:    # ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]6896; AVX2-FP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]6897; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6898; AVX2-FP-NEXT:    vmovaps %ymm1, 448(%rsi)6899; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6900; AVX2-FP-NEXT:    vmovaps %ymm1, 384(%rsi)6901; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6902; AVX2-FP-NEXT:    vmovaps %ymm1, 320(%rsi)6903; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6904; AVX2-FP-NEXT:    vmovaps %ymm1, 256(%rsi)6905; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6906; AVX2-FP-NEXT:    vmovaps %ymm1, 192(%rsi)6907; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6908; AVX2-FP-NEXT:    vmovaps %ymm1, 128(%rsi)6909; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6910; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rsi)6911; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6912; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)6913; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6914; AVX2-FP-NEXT:    vmovaps %ymm1, 480(%rsi)6915; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6916; AVX2-FP-NEXT:    vmovaps %ymm1, 416(%rsi)6917; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6918; AVX2-FP-NEXT:    vmovaps %ymm1, 352(%rsi)6919; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6920; AVX2-FP-NEXT:    vmovaps %ymm1, 288(%rsi)6921; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6922; AVX2-FP-NEXT:    vmovaps %ymm1, 224(%rsi)6923; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6924; AVX2-FP-NEXT:    vmovaps %ymm1, 160(%rsi)6925; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6926; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rsi)6927; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6928; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rsi)6929; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6930; AVX2-FP-NEXT:    vmovaps %ymm1, 448(%rdx)6931; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6932; AVX2-FP-NEXT:    vmovaps %ymm1, 384(%rdx)6933; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6934; AVX2-FP-NEXT:    vmovaps %ymm1, 320(%rdx)6935; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6936; AVX2-FP-NEXT:    vmovaps %ymm1, 256(%rdx)6937; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6938; AVX2-FP-NEXT:    vmovaps %ymm1, 192(%rdx)6939; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6940; AVX2-FP-NEXT:    vmovaps %ymm1, 128(%rdx)6941; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6942; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rdx)6943; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6944; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)6945; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6946; AVX2-FP-NEXT:    vmovaps %ymm1, 480(%rdx)6947; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6948; AVX2-FP-NEXT:    vmovaps %ymm1, 416(%rdx)6949; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6950; AVX2-FP-NEXT:    vmovaps %ymm1, 352(%rdx)6951; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6952; AVX2-FP-NEXT:    vmovaps %ymm1, 288(%rdx)6953; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6954; AVX2-FP-NEXT:    vmovaps %ymm1, 224(%rdx)6955; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6956; AVX2-FP-NEXT:    vmovaps %ymm1, 160(%rdx)6957; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6958; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rdx)6959; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6960; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rdx)6961; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6962; AVX2-FP-NEXT:    vmovaps %ymm1, 448(%rcx)6963; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6964; AVX2-FP-NEXT:    vmovaps %ymm1, 384(%rcx)6965; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6966; AVX2-FP-NEXT:    vmovaps %ymm1, 320(%rcx)6967; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6968; AVX2-FP-NEXT:    vmovaps %ymm1, 256(%rcx)6969; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6970; AVX2-FP-NEXT:    vmovaps %ymm1, 192(%rcx)6971; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6972; AVX2-FP-NEXT:    vmovaps %ymm1, 128(%rcx)6973; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6974; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rcx)6975; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6976; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)6977; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6978; AVX2-FP-NEXT:    vmovaps %ymm1, 480(%rcx)6979; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6980; AVX2-FP-NEXT:    vmovaps %ymm1, 416(%rcx)6981; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6982; AVX2-FP-NEXT:    vmovaps %ymm1, 352(%rcx)6983; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6984; AVX2-FP-NEXT:    vmovaps %ymm1, 288(%rcx)6985; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6986; AVX2-FP-NEXT:    vmovaps %ymm1, 224(%rcx)6987; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6988; AVX2-FP-NEXT:    vmovaps %ymm1, 160(%rcx)6989; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6990; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rcx)6991; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6992; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rcx)6993; AVX2-FP-NEXT:    vmovaps %ymm0, 480(%r8)6994; AVX2-FP-NEXT:    vmovaps %ymm6, 448(%r8)6995; AVX2-FP-NEXT:    vmovaps %ymm5, 416(%r8)6996; AVX2-FP-NEXT:    vmovaps %ymm7, 384(%r8)6997; AVX2-FP-NEXT:    vmovaps %ymm13, 352(%r8)6998; AVX2-FP-NEXT:    vmovaps %ymm10, 320(%r8)6999; AVX2-FP-NEXT:    vmovaps %ymm11, 288(%r8)7000; AVX2-FP-NEXT:    vmovaps %ymm14, 256(%r8)7001; AVX2-FP-NEXT:    vmovaps %ymm15, 224(%r8)7002; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7003; AVX2-FP-NEXT:    vmovaps %ymm0, 192(%r8)7004; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7005; AVX2-FP-NEXT:    vmovaps %ymm0, 160(%r8)7006; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7007; AVX2-FP-NEXT:    vmovaps %ymm0, 128(%r8)7008; AVX2-FP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload7009; AVX2-FP-NEXT:    vmovaps %ymm0, 96(%r8)7010; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7011; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%r8)7012; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7013; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%r8)7014; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7015; AVX2-FP-NEXT:    vmovaps %ymm0, (%r8)7016; AVX2-FP-NEXT:    addq $3016, %rsp # imm = 0xBC87017; AVX2-FP-NEXT:    vzeroupper7018; AVX2-FP-NEXT:    retq7019;7020; AVX2-FCP-LABEL: load_i64_stride4_vf64:7021; AVX2-FCP:       # %bb.0:7022; AVX2-FCP-NEXT:    subq $3016, %rsp # imm = 0xBC87023; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %xmm07024; AVX2-FCP-NEXT:    vinsertf128 $1, 224(%rdi), %ymm0, %ymm07025; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %xmm17026; AVX2-FCP-NEXT:    vinsertf128 $1, 192(%rdi), %ymm1, %ymm17027; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7028; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7029; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %xmm27030; AVX2-FCP-NEXT:    vinsertf128 $1, 480(%rdi), %ymm2, %ymm27031; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %xmm37032; AVX2-FCP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm3, %ymm37033; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7034; AVX2-FCP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7035; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %xmm47036; AVX2-FCP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm4, %ymm47037; AVX2-FCP-NEXT:    vmovaps 640(%rdi), %xmm57038; AVX2-FCP-NEXT:    vinsertf128 $1, 704(%rdi), %ymm5, %ymm57039; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]7040; AVX2-FCP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7041; AVX2-FCP-NEXT:    vmovaps 928(%rdi), %xmm67042; AVX2-FCP-NEXT:    vinsertf128 $1, 992(%rdi), %ymm6, %ymm67043; AVX2-FCP-NEXT:    vmovaps 896(%rdi), %xmm77044; AVX2-FCP-NEXT:    vinsertf128 $1, 960(%rdi), %ymm7, %ymm77045; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]7046; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7047; AVX2-FCP-NEXT:    vmovaps 1184(%rdi), %xmm87048; AVX2-FCP-NEXT:    vinsertf128 $1, 1248(%rdi), %ymm8, %ymm87049; AVX2-FCP-NEXT:    vmovaps 1152(%rdi), %xmm97050; AVX2-FCP-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm9, %ymm97051; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]7052; AVX2-FCP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7053; AVX2-FCP-NEXT:    vmovaps 1440(%rdi), %xmm107054; AVX2-FCP-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm10, %ymm107055; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7056; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7057; AVX2-FCP-NEXT:    vmovaps 1408(%rdi), %xmm07058; AVX2-FCP-NEXT:    vinsertf128 $1, 1472(%rdi), %ymm0, %ymm07059; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]7060; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7061; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]7062; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7063; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]7064; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7065; AVX2-FCP-NEXT:    vmovaps 1696(%rdi), %xmm17066; AVX2-FCP-NEXT:    vinsertf128 $1, 1760(%rdi), %ymm1, %ymm17067; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]7068; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7069; AVX2-FCP-NEXT:    vmovaps 1664(%rdi), %xmm27070; AVX2-FCP-NEXT:    vinsertf128 $1, 1728(%rdi), %ymm2, %ymm27071; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]7072; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7073; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]7074; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7075; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]7076; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7077; AVX2-FCP-NEXT:    vmovaps 1952(%rdi), %xmm07078; AVX2-FCP-NEXT:    vinsertf128 $1, 2016(%rdi), %ymm0, %ymm07079; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]7080; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7081; AVX2-FCP-NEXT:    vmovaps 1920(%rdi), %xmm17082; AVX2-FCP-NEXT:    vinsertf128 $1, 1984(%rdi), %ymm1, %ymm17083; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7084; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7085; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7086; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7087; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %xmm07088; AVX2-FCP-NEXT:    vinsertf128 $1, 96(%rdi), %ymm0, %ymm07089; AVX2-FCP-NEXT:    vmovaps (%rdi), %xmm17090; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm1, %ymm17091; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7092; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7093; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7094; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7095; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %xmm07096; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm07097; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %xmm17098; AVX2-FCP-NEXT:    vinsertf128 $1, 320(%rdi), %ymm1, %ymm17099; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7100; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7101; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7102; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7103; AVX2-FCP-NEXT:    vmovaps 544(%rdi), %xmm07104; AVX2-FCP-NEXT:    vinsertf128 $1, 608(%rdi), %ymm0, %ymm07105; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %xmm17106; AVX2-FCP-NEXT:    vinsertf128 $1, 576(%rdi), %ymm1, %ymm17107; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7108; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7109; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7110; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7111; AVX2-FCP-NEXT:    vmovaps 800(%rdi), %xmm07112; AVX2-FCP-NEXT:    vinsertf128 $1, 864(%rdi), %ymm0, %ymm07113; AVX2-FCP-NEXT:    vmovaps 768(%rdi), %xmm17114; AVX2-FCP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm17115; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7116; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7117; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7118; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7119; AVX2-FCP-NEXT:    vmovaps 1056(%rdi), %xmm07120; AVX2-FCP-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm07121; AVX2-FCP-NEXT:    vmovaps 1024(%rdi), %xmm17122; AVX2-FCP-NEXT:    vinsertf128 $1, 1088(%rdi), %ymm1, %ymm17123; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7124; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7125; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7126; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7127; AVX2-FCP-NEXT:    vmovaps 1312(%rdi), %xmm07128; AVX2-FCP-NEXT:    vinsertf128 $1, 1376(%rdi), %ymm0, %ymm07129; AVX2-FCP-NEXT:    vmovaps 1280(%rdi), %xmm17130; AVX2-FCP-NEXT:    vinsertf128 $1, 1344(%rdi), %ymm1, %ymm17131; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7132; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7133; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7134; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7135; AVX2-FCP-NEXT:    vmovaps 1568(%rdi), %xmm07136; AVX2-FCP-NEXT:    vinsertf128 $1, 1632(%rdi), %ymm0, %ymm07137; AVX2-FCP-NEXT:    vmovaps 1536(%rdi), %xmm17138; AVX2-FCP-NEXT:    vinsertf128 $1, 1600(%rdi), %ymm1, %ymm17139; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7140; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7141; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7142; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7143; AVX2-FCP-NEXT:    vmovaps 1824(%rdi), %xmm07144; AVX2-FCP-NEXT:    vinsertf128 $1, 1888(%rdi), %ymm0, %ymm07145; AVX2-FCP-NEXT:    vmovaps 1792(%rdi), %xmm17146; AVX2-FCP-NEXT:    vinsertf128 $1, 1856(%rdi), %ymm1, %ymm17147; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7148; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7149; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7150; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7151; AVX2-FCP-NEXT:    vmovaps 160(%rdi), %ymm27152; AVX2-FCP-NEXT:    vmovups %ymm2, (%rsp) # 32-byte Spill7153; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm37154; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7155; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm17156; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7157; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm07158; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7159; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7160; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7161; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7162; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7163; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm27164; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7165; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm37166; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7167; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm17168; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7169; AVX2-FCP-NEXT:    vmovaps 448(%rdi), %ymm07170; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7171; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7172; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7173; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7174; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7175; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %ymm27176; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7177; AVX2-FCP-NEXT:    vmovaps 640(%rdi), %ymm37178; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7179; AVX2-FCP-NEXT:    vmovaps 736(%rdi), %ymm17180; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7181; AVX2-FCP-NEXT:    vmovaps 704(%rdi), %ymm07182; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7183; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7184; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7185; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7186; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7187; AVX2-FCP-NEXT:    vmovaps 928(%rdi), %ymm27188; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7189; AVX2-FCP-NEXT:    vmovaps 896(%rdi), %ymm37190; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7191; AVX2-FCP-NEXT:    vmovaps 992(%rdi), %ymm17192; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7193; AVX2-FCP-NEXT:    vmovaps 960(%rdi), %ymm07194; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7195; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7196; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7197; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7198; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7199; AVX2-FCP-NEXT:    vmovaps 1184(%rdi), %ymm27200; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7201; AVX2-FCP-NEXT:    vmovaps 1152(%rdi), %ymm37202; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7203; AVX2-FCP-NEXT:    vmovaps 1248(%rdi), %ymm17204; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7205; AVX2-FCP-NEXT:    vmovaps 1216(%rdi), %ymm07206; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7207; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7208; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7209; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7210; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7211; AVX2-FCP-NEXT:    vmovaps 1440(%rdi), %ymm27212; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7213; AVX2-FCP-NEXT:    vmovaps 1408(%rdi), %ymm37214; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7215; AVX2-FCP-NEXT:    vmovaps 1504(%rdi), %ymm17216; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7217; AVX2-FCP-NEXT:    vmovaps 1472(%rdi), %ymm07218; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7219; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7220; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7221; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7222; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7223; AVX2-FCP-NEXT:    vmovaps 1696(%rdi), %ymm27224; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7225; AVX2-FCP-NEXT:    vmovaps 1664(%rdi), %ymm37226; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7227; AVX2-FCP-NEXT:    vmovaps 1760(%rdi), %ymm17228; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7229; AVX2-FCP-NEXT:    vmovaps 1728(%rdi), %ymm07230; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7231; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7232; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7233; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7234; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7235; AVX2-FCP-NEXT:    vmovaps 1952(%rdi), %ymm27236; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7237; AVX2-FCP-NEXT:    vmovaps 1920(%rdi), %ymm37238; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7239; AVX2-FCP-NEXT:    vmovaps 2016(%rdi), %ymm17240; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7241; AVX2-FCP-NEXT:    vmovaps 1984(%rdi), %ymm07242; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7243; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7244; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7245; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7246; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7247; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm27248; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7249; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm37250; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7251; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm17252; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7253; AVX2-FCP-NEXT:    vmovaps 64(%rdi), %ymm07254; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7255; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7256; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7257; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7258; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7259; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm27260; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7261; AVX2-FCP-NEXT:    vmovaps 256(%rdi), %ymm37262; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7263; AVX2-FCP-NEXT:    vmovaps 352(%rdi), %ymm17264; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7265; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm07266; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7267; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7268; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7269; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7270; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7271; AVX2-FCP-NEXT:    vmovaps 544(%rdi), %ymm27272; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7273; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %ymm37274; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7275; AVX2-FCP-NEXT:    vmovaps 608(%rdi), %ymm07276; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7277; AVX2-FCP-NEXT:    vmovaps 576(%rdi), %ymm157278; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]7279; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7280; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7281; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7282; AVX2-FCP-NEXT:    vmovaps 800(%rdi), %ymm27283; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7284; AVX2-FCP-NEXT:    vmovaps 768(%rdi), %ymm17285; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7286; AVX2-FCP-NEXT:    vmovaps 864(%rdi), %ymm147287; AVX2-FCP-NEXT:    vmovaps 832(%rdi), %ymm117288; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]7289; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7290; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7291; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7292; AVX2-FCP-NEXT:    vmovaps 1056(%rdi), %ymm27293; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7294; AVX2-FCP-NEXT:    vmovaps 1024(%rdi), %ymm17295; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7296; AVX2-FCP-NEXT:    vmovaps 1120(%rdi), %ymm107297; AVX2-FCP-NEXT:    vmovaps 1088(%rdi), %ymm87298; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]7299; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7300; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7301; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7302; AVX2-FCP-NEXT:    vmovaps 1312(%rdi), %ymm27303; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7304; AVX2-FCP-NEXT:    vmovaps 1280(%rdi), %ymm17305; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7306; AVX2-FCP-NEXT:    vmovaps 1376(%rdi), %ymm77307; AVX2-FCP-NEXT:    vmovaps 1344(%rdi), %ymm57308; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]7309; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7310; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7311; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7312; AVX2-FCP-NEXT:    vmovaps 1568(%rdi), %ymm17313; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7314; AVX2-FCP-NEXT:    vmovaps 1536(%rdi), %ymm97315; AVX2-FCP-NEXT:    vmovaps 1632(%rdi), %ymm47316; AVX2-FCP-NEXT:    vmovaps 1600(%rdi), %ymm37317; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]7318; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm2 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]7319; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]7320; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7321; AVX2-FCP-NEXT:    vmovaps 1824(%rdi), %ymm127322; AVX2-FCP-NEXT:    vmovaps 1792(%rdi), %ymm67323; AVX2-FCP-NEXT:    vmovaps 1888(%rdi), %ymm27324; AVX2-FCP-NEXT:    vmovaps 1856(%rdi), %ymm17325; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7326; AVX2-FCP-NEXT:    vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]7327; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7328; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7329; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7330; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7331; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7332; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7333; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7334; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7335; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7336; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7337; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7338; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7339; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7340; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7341; AVX2-FCP-NEXT:    vunpckhpd (%rsp), %ymm13, %ymm13 # 32-byte Folded Reload7342; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7343; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7344; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7345; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7346; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7347; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7348; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7349; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7350; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7351; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7352; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7353; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7354; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7355; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7356; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7357; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7358; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7359; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7360; AVX2-FCP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill7361; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload7362; AVX2-FCP-NEXT:    # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]7363; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7364; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7365; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7366; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7367; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7368; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7369; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7370; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7371; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7372; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7373; AVX2-FCP-NEXT:    # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7374; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7375; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7376; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm14[1],ymm11[3],ymm14[3]7377; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload7378; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload7379; AVX2-FCP-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]7380; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]7381; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7382; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7383; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7384; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7385; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload7386; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload7387; AVX2-FCP-NEXT:    # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]7388; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm15 = ymm11[2,3],ymm0[2,3]7389; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]7390; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload7391; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload7392; AVX2-FCP-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]7393; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm14 = ymm8[2,3],ymm0[2,3]7394; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7395; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7396; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7397; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload7398; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload7399; AVX2-FCP-NEXT:    # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]7400; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm11 = ymm8[2,3],ymm0[2,3]7401; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]7402; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload7403; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload7404; AVX2-FCP-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]7405; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm10 = ymm5[2,3],ymm0[2,3]7406; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7407; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7408; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7409; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload7410; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload7411; AVX2-FCP-NEXT:    # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]7412; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm13 = ymm5[2,3],ymm0[2,3]7413; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]7414; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload7415; AVX2-FCP-NEXT:    # ymm3 = ymm9[1],mem[1],ymm9[3],mem[3]7416; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm7 = ymm3[2,3],ymm0[2,3]7417; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7418; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7419; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7420; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload7421; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload7422; AVX2-FCP-NEXT:    # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]7423; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm5 = ymm3[2,3],ymm0[2,3]7424; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7425; AVX2-FCP-NEXT:    vunpckhpd {{.*#+}} ymm1 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]7426; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm6 = ymm1[2,3],ymm0[2,3]7427; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7428; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7429; AVX2-FCP-NEXT:    # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7430; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7431; AVX2-FCP-NEXT:    vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload7432; AVX2-FCP-NEXT:    # ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]7433; AVX2-FCP-NEXT:    vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7434; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7435; AVX2-FCP-NEXT:    vmovaps %ymm1, 448(%rsi)7436; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7437; AVX2-FCP-NEXT:    vmovaps %ymm1, 384(%rsi)7438; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7439; AVX2-FCP-NEXT:    vmovaps %ymm1, 320(%rsi)7440; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7441; AVX2-FCP-NEXT:    vmovaps %ymm1, 256(%rsi)7442; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7443; AVX2-FCP-NEXT:    vmovaps %ymm1, 192(%rsi)7444; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7445; AVX2-FCP-NEXT:    vmovaps %ymm1, 128(%rsi)7446; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7447; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rsi)7448; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7449; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rsi)7450; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7451; AVX2-FCP-NEXT:    vmovaps %ymm1, 480(%rsi)7452; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7453; AVX2-FCP-NEXT:    vmovaps %ymm1, 416(%rsi)7454; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7455; AVX2-FCP-NEXT:    vmovaps %ymm1, 352(%rsi)7456; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7457; AVX2-FCP-NEXT:    vmovaps %ymm1, 288(%rsi)7458; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7459; AVX2-FCP-NEXT:    vmovaps %ymm1, 224(%rsi)7460; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7461; AVX2-FCP-NEXT:    vmovaps %ymm1, 160(%rsi)7462; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7463; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rsi)7464; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7465; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rsi)7466; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7467; AVX2-FCP-NEXT:    vmovaps %ymm1, 448(%rdx)7468; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7469; AVX2-FCP-NEXT:    vmovaps %ymm1, 384(%rdx)7470; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7471; AVX2-FCP-NEXT:    vmovaps %ymm1, 320(%rdx)7472; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7473; AVX2-FCP-NEXT:    vmovaps %ymm1, 256(%rdx)7474; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7475; AVX2-FCP-NEXT:    vmovaps %ymm1, 192(%rdx)7476; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7477; AVX2-FCP-NEXT:    vmovaps %ymm1, 128(%rdx)7478; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7479; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rdx)7480; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7481; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rdx)7482; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7483; AVX2-FCP-NEXT:    vmovaps %ymm1, 480(%rdx)7484; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7485; AVX2-FCP-NEXT:    vmovaps %ymm1, 416(%rdx)7486; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7487; AVX2-FCP-NEXT:    vmovaps %ymm1, 352(%rdx)7488; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7489; AVX2-FCP-NEXT:    vmovaps %ymm1, 288(%rdx)7490; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7491; AVX2-FCP-NEXT:    vmovaps %ymm1, 224(%rdx)7492; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7493; AVX2-FCP-NEXT:    vmovaps %ymm1, 160(%rdx)7494; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7495; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rdx)7496; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7497; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rdx)7498; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7499; AVX2-FCP-NEXT:    vmovaps %ymm1, 448(%rcx)7500; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7501; AVX2-FCP-NEXT:    vmovaps %ymm1, 384(%rcx)7502; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7503; AVX2-FCP-NEXT:    vmovaps %ymm1, 320(%rcx)7504; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7505; AVX2-FCP-NEXT:    vmovaps %ymm1, 256(%rcx)7506; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7507; AVX2-FCP-NEXT:    vmovaps %ymm1, 192(%rcx)7508; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7509; AVX2-FCP-NEXT:    vmovaps %ymm1, 128(%rcx)7510; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7511; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rcx)7512; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7513; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rcx)7514; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7515; AVX2-FCP-NEXT:    vmovaps %ymm1, 480(%rcx)7516; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7517; AVX2-FCP-NEXT:    vmovaps %ymm1, 416(%rcx)7518; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7519; AVX2-FCP-NEXT:    vmovaps %ymm1, 352(%rcx)7520; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7521; AVX2-FCP-NEXT:    vmovaps %ymm1, 288(%rcx)7522; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7523; AVX2-FCP-NEXT:    vmovaps %ymm1, 224(%rcx)7524; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7525; AVX2-FCP-NEXT:    vmovaps %ymm1, 160(%rcx)7526; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7527; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rcx)7528; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7529; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rcx)7530; AVX2-FCP-NEXT:    vmovaps %ymm0, 480(%r8)7531; AVX2-FCP-NEXT:    vmovaps %ymm6, 448(%r8)7532; AVX2-FCP-NEXT:    vmovaps %ymm5, 416(%r8)7533; AVX2-FCP-NEXT:    vmovaps %ymm7, 384(%r8)7534; AVX2-FCP-NEXT:    vmovaps %ymm13, 352(%r8)7535; AVX2-FCP-NEXT:    vmovaps %ymm10, 320(%r8)7536; AVX2-FCP-NEXT:    vmovaps %ymm11, 288(%r8)7537; AVX2-FCP-NEXT:    vmovaps %ymm14, 256(%r8)7538; AVX2-FCP-NEXT:    vmovaps %ymm15, 224(%r8)7539; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7540; AVX2-FCP-NEXT:    vmovaps %ymm0, 192(%r8)7541; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7542; AVX2-FCP-NEXT:    vmovaps %ymm0, 160(%r8)7543; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7544; AVX2-FCP-NEXT:    vmovaps %ymm0, 128(%r8)7545; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload7546; AVX2-FCP-NEXT:    vmovaps %ymm0, 96(%r8)7547; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7548; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%r8)7549; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7550; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%r8)7551; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7552; AVX2-FCP-NEXT:    vmovaps %ymm0, (%r8)7553; AVX2-FCP-NEXT:    addq $3016, %rsp # imm = 0xBC87554; AVX2-FCP-NEXT:    vzeroupper7555; AVX2-FCP-NEXT:    retq7556;7557; AVX512-LABEL: load_i64_stride4_vf64:7558; AVX512:       # %bb.0:7559; AVX512-NEXT:    subq $2056, %rsp # imm = 0x8087560; AVX512-NEXT:    vmovdqa64 1472(%rdi), %zmm247561; AVX512-NEXT:    vmovdqa64 1408(%rdi), %zmm07562; AVX512-NEXT:    vmovdqa64 832(%rdi), %zmm267563; AVX512-NEXT:    vmovdqa64 768(%rdi), %zmm17564; AVX512-NEXT:    vmovdqa64 960(%rdi), %zmm287565; AVX512-NEXT:    vmovdqa64 896(%rdi), %zmm27566; AVX512-NEXT:    vmovdqa64 576(%rdi), %zmm257567; AVX512-NEXT:    vmovdqa64 512(%rdi), %zmm37568; AVX512-NEXT:    vmovdqa64 704(%rdi), %zmm277569; AVX512-NEXT:    vmovdqa64 640(%rdi), %zmm47570; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm307571; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm57572; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm297573; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm67574; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]7575; AVX512-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]7576; AVX512-NEXT:    vmovdqa64 %zmm6, %zmm77577; AVX512-NEXT:    vpermt2q %zmm29, %zmm9, %zmm77578; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7579; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm77580; AVX512-NEXT:    vpermt2q %zmm30, %zmm9, %zmm77581; AVX512-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill7582; AVX512-NEXT:    vmovdqa64 %zmm4, %zmm77583; AVX512-NEXT:    vpermt2q %zmm27, %zmm9, %zmm77584; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7585; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm77586; AVX512-NEXT:    vpermt2q %zmm25, %zmm9, %zmm77587; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7588; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm77589; AVX512-NEXT:    vpermt2q %zmm28, %zmm9, %zmm77590; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7591; AVX512-NEXT:    vmovdqa64 %zmm1, %zmm77592; AVX512-NEXT:    vpermt2q %zmm26, %zmm9, %zmm77593; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7594; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm77595; AVX512-NEXT:    vpermt2q %zmm24, %zmm9, %zmm77596; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7597; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]7598; AVX512-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]7599; AVX512-NEXT:    vmovdqa64 %zmm6, %zmm77600; AVX512-NEXT:    vpermt2q %zmm29, %zmm15, %zmm77601; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7602; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm77603; AVX512-NEXT:    vpermt2q %zmm30, %zmm15, %zmm77604; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7605; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm77606; AVX512-NEXT:    vpermt2q %zmm28, %zmm15, %zmm77607; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7608; AVX512-NEXT:    vmovdqa64 %zmm1, %zmm77609; AVX512-NEXT:    vpermt2q %zmm26, %zmm15, %zmm77610; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7611; AVX512-NEXT:    vmovdqa64 %zmm4, %zmm77612; AVX512-NEXT:    vpermt2q %zmm27, %zmm15, %zmm77613; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7614; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm77615; AVX512-NEXT:    vpermt2q %zmm25, %zmm15, %zmm77616; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7617; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]7618; AVX512-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]7619; AVX512-NEXT:    vmovdqa64 %zmm6, %zmm77620; AVX512-NEXT:    vpermt2q %zmm29, %zmm22, %zmm77621; AVX512-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7622; AVX512-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]7623; AVX512-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]7624; AVX512-NEXT:    vpermt2q %zmm29, %zmm31, %zmm67625; AVX512-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7626; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm67627; AVX512-NEXT:    vpermt2q %zmm30, %zmm22, %zmm67628; AVX512-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7629; AVX512-NEXT:    vpermt2q %zmm30, %zmm31, %zmm57630; AVX512-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7631; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm57632; AVX512-NEXT:    vpermt2q %zmm28, %zmm22, %zmm57633; AVX512-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7634; AVX512-NEXT:    vpermt2q %zmm28, %zmm31, %zmm27635; AVX512-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7636; AVX512-NEXT:    vmovdqa64 %zmm1, %zmm27637; AVX512-NEXT:    vpermt2q %zmm26, %zmm22, %zmm27638; AVX512-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7639; AVX512-NEXT:    vpermt2q %zmm26, %zmm31, %zmm17640; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7641; AVX512-NEXT:    vmovdqa64 %zmm4, %zmm17642; AVX512-NEXT:    vpermt2q %zmm27, %zmm22, %zmm17643; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7644; AVX512-NEXT:    vpermt2q %zmm27, %zmm31, %zmm47645; AVX512-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7646; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm17647; AVX512-NEXT:    vpermt2q %zmm25, %zmm22, %zmm17648; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7649; AVX512-NEXT:    vpermt2q %zmm25, %zmm31, %zmm37650; AVX512-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7651; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm17652; AVX512-NEXT:    vpermt2q %zmm24, %zmm15, %zmm17653; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7654; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm17655; AVX512-NEXT:    vpermt2q %zmm24, %zmm22, %zmm17656; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7657; AVX512-NEXT:    vpermt2q %zmm24, %zmm31, %zmm07658; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7659; AVX512-NEXT:    vmovdqa64 1344(%rdi), %zmm07660; AVX512-NEXT:    vmovdqa64 1280(%rdi), %zmm247661; AVX512-NEXT:    vmovdqa64 %zmm24, %zmm17662; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm17663; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7664; AVX512-NEXT:    vmovdqa64 %zmm24, %zmm17665; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm17666; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7667; AVX512-NEXT:    vmovdqa64 %zmm24, %zmm17668; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17669; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7670; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm247671; AVX512-NEXT:    vmovdqa64 1216(%rdi), %zmm07672; AVX512-NEXT:    vmovdqa64 1152(%rdi), %zmm287673; AVX512-NEXT:    vmovdqa64 %zmm28, %zmm307674; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm307675; AVX512-NEXT:    vmovdqa64 %zmm28, %zmm17676; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm17677; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7678; AVX512-NEXT:    vmovdqa64 %zmm28, %zmm17679; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17680; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7681; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm287682; AVX512-NEXT:    vmovdqa64 1088(%rdi), %zmm07683; AVX512-NEXT:    vmovdqa64 1024(%rdi), %zmm237684; AVX512-NEXT:    vmovdqa64 %zmm23, %zmm267685; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm267686; AVX512-NEXT:    vmovdqa64 %zmm23, %zmm297687; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm297688; AVX512-NEXT:    vmovdqa64 %zmm23, %zmm17689; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17690; AVX512-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7691; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm237692; AVX512-NEXT:    vmovdqa64 1984(%rdi), %zmm07693; AVX512-NEXT:    vmovdqa64 1920(%rdi), %zmm137694; AVX512-NEXT:    vmovdqa64 %zmm13, %zmm207695; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm207696; AVX512-NEXT:    vmovdqa64 %zmm13, %zmm257697; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm257698; AVX512-NEXT:    vmovdqa64 %zmm13, %zmm277699; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm277700; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm137701; AVX512-NEXT:    vmovdqa64 1856(%rdi), %zmm07702; AVX512-NEXT:    vmovdqa64 1792(%rdi), %zmm117703; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm187704; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm187705; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm197706; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm197707; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm217708; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm217709; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm117710; AVX512-NEXT:    vmovdqa64 1728(%rdi), %zmm07711; AVX512-NEXT:    vmovdqa64 1664(%rdi), %zmm87712; AVX512-NEXT:    vmovdqa64 %zmm8, %zmm147713; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm147714; AVX512-NEXT:    vmovdqa64 %zmm8, %zmm167715; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm167716; AVX512-NEXT:    vmovdqa64 %zmm8, %zmm177717; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm177718; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm87719; AVX512-NEXT:    vmovdqa64 1600(%rdi), %zmm07720; AVX512-NEXT:    vmovdqa64 1536(%rdi), %zmm37721; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm67722; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm67723; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm77724; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm77725; AVX512-NEXT:    vmovdqa64 %zmm3, %zmm127726; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm127727; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm37728; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm27729; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm07730; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm47731; AVX512-NEXT:    vpermt2q %zmm0, %zmm9, %zmm47732; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm57733; AVX512-NEXT:    vpermt2q %zmm0, %zmm15, %zmm57734; AVX512-NEXT:    vmovdqa64 %zmm2, %zmm107735; AVX512-NEXT:    vpermt2q %zmm0, %zmm22, %zmm107736; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm27737; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm17738; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm07739; AVX512-NEXT:    vpermi2q %zmm0, %zmm1, %zmm97740; AVX512-NEXT:    vpermi2q %zmm0, %zmm1, %zmm157741; AVX512-NEXT:    vpermi2q %zmm0, %zmm1, %zmm227742; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm17743; AVX512-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload7744; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload7745; AVX512-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]7746; AVX512-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill7747; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7748; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload7749; AVX512-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]7750; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7751; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7752; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload7753; AVX512-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]7754; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]7755; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7756; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload7757; AVX512-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]7758; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]7759; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]7760; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]7761; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]7762; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7763; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7764; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload7765; AVX512-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]7766; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7767; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7768; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload7769; AVX512-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]7770; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7771; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload7772; AVX512-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]7773; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7774; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload7775; AVX512-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]7776; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload7777; AVX512-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]7778; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]7779; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]7780; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]7781; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7782; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload7783; AVX512-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]7784; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7785; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload7786; AVX512-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]7787; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7788; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload7789; AVX512-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]7790; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7791; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload7792; AVX512-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]7793; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload7794; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload7795; AVX512-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]7796; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]7797; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]7798; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload7799; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload7800; AVX512-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]7801; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload7802; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload7803; AVX512-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]7804; AVX512-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload7805; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload7806; AVX512-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]7807; AVX512-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload7808; AVX512-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]7809; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]7810; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]7811; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]7812; AVX512-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]7813; AVX512-NEXT:    vmovdqa64 %zmm14, 448(%rsi)7814; AVX512-NEXT:    vmovdqa64 %zmm6, 384(%rsi)7815; AVX512-NEXT:    vmovdqa64 %zmm30, 320(%rsi)7816; AVX512-NEXT:    vmovdqa64 %zmm26, 256(%rsi)7817; AVX512-NEXT:    vmovdqa64 %zmm31, 192(%rsi)7818; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7819; AVX512-NEXT:    vmovaps %zmm2, 128(%rsi)7820; AVX512-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload7821; AVX512-NEXT:    vmovaps %zmm2, 64(%rsi)7822; AVX512-NEXT:    vmovdqa64 %zmm9, (%rsi)7823; AVX512-NEXT:    vmovdqa64 %zmm19, 448(%rdx)7824; AVX512-NEXT:    vmovdqa64 %zmm29, 256(%rdx)7825; AVX512-NEXT:    vmovdqa64 %zmm20, 320(%rdx)7826; AVX512-NEXT:    vmovdqa64 %zmm18, 128(%rdx)7827; AVX512-NEXT:    vmovdqa64 %zmm16, 192(%rdx)7828; AVX512-NEXT:    vmovdqa64 %zmm5, (%rdx)7829; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7830; AVX512-NEXT:    vmovaps %zmm2, 64(%rdx)7831; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7832; AVX512-NEXT:    vmovaps %zmm2, 384(%rdx)7833; AVX512-NEXT:    vmovdqa64 %zmm21, 448(%rcx)7834; AVX512-NEXT:    vmovdqa64 %zmm0, 256(%rcx)7835; AVX512-NEXT:    vmovdqa64 %zmm4, 320(%rcx)7836; AVX512-NEXT:    vmovdqa64 %zmm25, 128(%rcx)7837; AVX512-NEXT:    vmovdqa64 %zmm17, 192(%rcx)7838; AVX512-NEXT:    vmovdqa64 %zmm10, (%rcx)7839; AVX512-NEXT:    vmovdqa64 %zmm15, 64(%rcx)7840; AVX512-NEXT:    vmovdqa64 %zmm12, 384(%rcx)7841; AVX512-NEXT:    vmovdqa64 %zmm3, 384(%r8)7842; AVX512-NEXT:    vmovdqa64 %zmm11, 448(%r8)7843; AVX512-NEXT:    vmovdqa64 %zmm23, 256(%r8)7844; AVX512-NEXT:    vmovdqa64 %zmm24, 320(%r8)7845; AVX512-NEXT:    vmovdqa64 %zmm7, 128(%r8)7846; AVX512-NEXT:    vmovdqa64 %zmm27, 192(%r8)7847; AVX512-NEXT:    vmovdqa64 %zmm1, (%r8)7848; AVX512-NEXT:    vmovdqa64 %zmm22, 64(%r8)7849; AVX512-NEXT:    addq $2056, %rsp # imm = 0x8087850; AVX512-NEXT:    vzeroupper7851; AVX512-NEXT:    retq7852;7853; AVX512-FCP-LABEL: load_i64_stride4_vf64:7854; AVX512-FCP:       # %bb.0:7855; AVX512-FCP-NEXT:    subq $2056, %rsp # imm = 0x8087856; AVX512-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm247857; AVX512-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm07858; AVX512-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm267859; AVX512-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm17860; AVX512-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm287861; AVX512-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm27862; AVX512-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm257863; AVX512-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm37864; AVX512-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm277865; AVX512-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm47866; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm307867; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm57868; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm297869; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm67870; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]7871; AVX512-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]7872; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, %zmm77873; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm9, %zmm77874; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7875; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm77876; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm9, %zmm77877; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill7878; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, %zmm77879; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm9, %zmm77880; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7881; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm77882; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm9, %zmm77883; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7884; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm77885; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm9, %zmm77886; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7887; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, %zmm77888; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm9, %zmm77889; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7890; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, %zmm77891; AVX512-FCP-NEXT:    vpermt2q %zmm24, %zmm9, %zmm77892; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7893; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]7894; AVX512-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]7895; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, %zmm77896; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm15, %zmm77897; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7898; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm77899; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm15, %zmm77900; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7901; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm77902; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm15, %zmm77903; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7904; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, %zmm77905; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm15, %zmm77906; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7907; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, %zmm77908; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm15, %zmm77909; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7910; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm77911; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm15, %zmm77912; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7913; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]7914; AVX512-FCP-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]7915; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, %zmm77916; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm22, %zmm77917; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7918; AVX512-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]7919; AVX512-FCP-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]7920; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm67921; AVX512-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7922; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm67923; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm67924; AVX512-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7925; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm57926; AVX512-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7927; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm57928; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm22, %zmm57929; AVX512-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7930; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm27931; AVX512-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7932; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, %zmm27933; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm22, %zmm27934; AVX512-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7935; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm17936; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7937; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, %zmm17938; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm17939; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7940; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm47941; AVX512-FCP-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7942; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm17943; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm22, %zmm17944; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7945; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm37946; AVX512-FCP-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7947; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, %zmm17948; AVX512-FCP-NEXT:    vpermt2q %zmm24, %zmm15, %zmm17949; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7950; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, %zmm17951; AVX512-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm17952; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7953; AVX512-FCP-NEXT:    vpermt2q %zmm24, %zmm31, %zmm07954; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7955; AVX512-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm07956; AVX512-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm247957; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, %zmm17958; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm17959; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7960; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, %zmm17961; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm17962; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7963; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, %zmm17964; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17965; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7966; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm247967; AVX512-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm07968; AVX512-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm287969; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, %zmm307970; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm307971; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, %zmm17972; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm17973; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7974; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, %zmm17975; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17976; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7977; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm287978; AVX512-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm07979; AVX512-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm237980; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, %zmm267981; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm267982; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, %zmm297983; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm297984; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, %zmm17985; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm17986; AVX512-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7987; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm237988; AVX512-FCP-NEXT:    vmovdqa64 1984(%rdi), %zmm07989; AVX512-FCP-NEXT:    vmovdqa64 1920(%rdi), %zmm137990; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, %zmm207991; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm207992; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, %zmm257993; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm257994; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, %zmm277995; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm277996; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm137997; AVX512-FCP-NEXT:    vmovdqa64 1856(%rdi), %zmm07998; AVX512-FCP-NEXT:    vmovdqa64 1792(%rdi), %zmm117999; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm188000; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm188001; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm198002; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm198003; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm218004; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm218005; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm118006; AVX512-FCP-NEXT:    vmovdqa64 1728(%rdi), %zmm08007; AVX512-FCP-NEXT:    vmovdqa64 1664(%rdi), %zmm88008; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, %zmm148009; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm148010; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, %zmm168011; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm168012; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, %zmm178013; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm178014; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm88015; AVX512-FCP-NEXT:    vmovdqa64 1600(%rdi), %zmm08016; AVX512-FCP-NEXT:    vmovdqa64 1536(%rdi), %zmm38017; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm68018; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm68019; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm78020; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm78021; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, %zmm128022; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm128023; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm38024; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm28025; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm08026; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm48027; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm48028; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm58029; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm58030; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, %zmm108031; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm108032; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm28033; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm18034; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm08035; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm98036; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm158037; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm228038; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm18039; AVX512-FCP-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload8040; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8041; AVX512-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8042; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill8043; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8044; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8045; AVX512-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8046; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8047; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8048; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload8049; AVX512-FCP-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]8050; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]8051; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8052; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload8053; AVX512-FCP-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]8054; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]8055; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]8056; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]8057; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]8058; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8059; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8060; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8061; AVX512-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8062; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8063; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8064; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload8065; AVX512-FCP-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]8066; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8067; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload8068; AVX512-FCP-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]8069; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8070; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload8071; AVX512-FCP-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]8072; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload8073; AVX512-FCP-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]8074; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]8075; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]8076; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]8077; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8078; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload8079; AVX512-FCP-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]8080; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8081; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload8082; AVX512-FCP-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]8083; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8084; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload8085; AVX512-FCP-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]8086; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8087; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload8088; AVX512-FCP-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]8089; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8090; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8091; AVX512-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8092; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]8093; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]8094; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8095; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload8096; AVX512-FCP-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]8097; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8098; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload8099; AVX512-FCP-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]8100; AVX512-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8101; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload8102; AVX512-FCP-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]8103; AVX512-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload8104; AVX512-FCP-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]8105; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]8106; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]8107; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]8108; AVX512-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]8109; AVX512-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rsi)8110; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, 384(%rsi)8111; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, 320(%rsi)8112; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, 256(%rsi)8113; AVX512-FCP-NEXT:    vmovdqa64 %zmm31, 192(%rsi)8114; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8115; AVX512-FCP-NEXT:    vmovaps %zmm2, 128(%rsi)8116; AVX512-FCP-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload8117; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rsi)8118; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, (%rsi)8119; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, 448(%rdx)8120; AVX512-FCP-NEXT:    vmovdqa64 %zmm29, 256(%rdx)8121; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, 320(%rdx)8122; AVX512-FCP-NEXT:    vmovdqa64 %zmm18, 128(%rdx)8123; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rdx)8124; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)8125; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8126; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rdx)8127; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8128; AVX512-FCP-NEXT:    vmovaps %zmm2, 384(%rdx)8129; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, 448(%rcx)8130; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 256(%rcx)8131; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, 320(%rcx)8132; AVX512-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)8133; AVX512-FCP-NEXT:    vmovdqa64 %zmm17, 192(%rcx)8134; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)8135; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, 64(%rcx)8136; AVX512-FCP-NEXT:    vmovdqa64 %zmm12, 384(%rcx)8137; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, 384(%r8)8138; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, 448(%r8)8139; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, 256(%r8)8140; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, 320(%r8)8141; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, 128(%r8)8142; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, 192(%r8)8143; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, (%r8)8144; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, 64(%r8)8145; AVX512-FCP-NEXT:    addq $2056, %rsp # imm = 0x8088146; AVX512-FCP-NEXT:    vzeroupper8147; AVX512-FCP-NEXT:    retq8148;8149; AVX512DQ-LABEL: load_i64_stride4_vf64:8150; AVX512DQ:       # %bb.0:8151; AVX512DQ-NEXT:    subq $2056, %rsp # imm = 0x8088152; AVX512DQ-NEXT:    vmovdqa64 1472(%rdi), %zmm248153; AVX512DQ-NEXT:    vmovdqa64 1408(%rdi), %zmm08154; AVX512DQ-NEXT:    vmovdqa64 832(%rdi), %zmm268155; AVX512DQ-NEXT:    vmovdqa64 768(%rdi), %zmm18156; AVX512DQ-NEXT:    vmovdqa64 960(%rdi), %zmm288157; AVX512DQ-NEXT:    vmovdqa64 896(%rdi), %zmm28158; AVX512DQ-NEXT:    vmovdqa64 576(%rdi), %zmm258159; AVX512DQ-NEXT:    vmovdqa64 512(%rdi), %zmm38160; AVX512DQ-NEXT:    vmovdqa64 704(%rdi), %zmm278161; AVX512DQ-NEXT:    vmovdqa64 640(%rdi), %zmm48162; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm308163; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm58164; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm298165; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm68166; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]8167; AVX512DQ-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]8168; AVX512DQ-NEXT:    vmovdqa64 %zmm6, %zmm78169; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm9, %zmm78170; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8171; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm78172; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm9, %zmm78173; AVX512DQ-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill8174; AVX512DQ-NEXT:    vmovdqa64 %zmm4, %zmm78175; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm9, %zmm78176; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8177; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm78178; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm9, %zmm78179; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8180; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm78181; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm9, %zmm78182; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8183; AVX512DQ-NEXT:    vmovdqa64 %zmm1, %zmm78184; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm9, %zmm78185; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8186; AVX512DQ-NEXT:    vmovdqa64 %zmm0, %zmm78187; AVX512DQ-NEXT:    vpermt2q %zmm24, %zmm9, %zmm78188; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8189; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]8190; AVX512DQ-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]8191; AVX512DQ-NEXT:    vmovdqa64 %zmm6, %zmm78192; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm15, %zmm78193; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8194; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm78195; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm15, %zmm78196; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8197; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm78198; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm15, %zmm78199; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8200; AVX512DQ-NEXT:    vmovdqa64 %zmm1, %zmm78201; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm15, %zmm78202; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8203; AVX512DQ-NEXT:    vmovdqa64 %zmm4, %zmm78204; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm15, %zmm78205; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8206; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm78207; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm15, %zmm78208; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8209; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]8210; AVX512DQ-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]8211; AVX512DQ-NEXT:    vmovdqa64 %zmm6, %zmm78212; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm22, %zmm78213; AVX512DQ-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8214; AVX512DQ-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]8215; AVX512DQ-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]8216; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm31, %zmm68217; AVX512DQ-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8218; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm68219; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm22, %zmm68220; AVX512DQ-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8221; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm31, %zmm58222; AVX512DQ-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8223; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm58224; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm22, %zmm58225; AVX512DQ-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8226; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm31, %zmm28227; AVX512DQ-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8228; AVX512DQ-NEXT:    vmovdqa64 %zmm1, %zmm28229; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm22, %zmm28230; AVX512DQ-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8231; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm31, %zmm18232; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8233; AVX512DQ-NEXT:    vmovdqa64 %zmm4, %zmm18234; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm22, %zmm18235; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8236; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm31, %zmm48237; AVX512DQ-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8238; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm18239; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm22, %zmm18240; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8241; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm31, %zmm38242; AVX512DQ-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8243; AVX512DQ-NEXT:    vmovdqa64 %zmm0, %zmm18244; AVX512DQ-NEXT:    vpermt2q %zmm24, %zmm15, %zmm18245; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8246; AVX512DQ-NEXT:    vmovdqa64 %zmm0, %zmm18247; AVX512DQ-NEXT:    vpermt2q %zmm24, %zmm22, %zmm18248; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8249; AVX512DQ-NEXT:    vpermt2q %zmm24, %zmm31, %zmm08250; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8251; AVX512DQ-NEXT:    vmovdqa64 1344(%rdi), %zmm08252; AVX512DQ-NEXT:    vmovdqa64 1280(%rdi), %zmm248253; AVX512DQ-NEXT:    vmovdqa64 %zmm24, %zmm18254; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm18255; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8256; AVX512DQ-NEXT:    vmovdqa64 %zmm24, %zmm18257; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18258; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8259; AVX512DQ-NEXT:    vmovdqa64 %zmm24, %zmm18260; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18261; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8262; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm248263; AVX512DQ-NEXT:    vmovdqa64 1216(%rdi), %zmm08264; AVX512DQ-NEXT:    vmovdqa64 1152(%rdi), %zmm288265; AVX512DQ-NEXT:    vmovdqa64 %zmm28, %zmm308266; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm308267; AVX512DQ-NEXT:    vmovdqa64 %zmm28, %zmm18268; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18269; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8270; AVX512DQ-NEXT:    vmovdqa64 %zmm28, %zmm18271; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18272; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8273; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm288274; AVX512DQ-NEXT:    vmovdqa64 1088(%rdi), %zmm08275; AVX512DQ-NEXT:    vmovdqa64 1024(%rdi), %zmm238276; AVX512DQ-NEXT:    vmovdqa64 %zmm23, %zmm268277; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm268278; AVX512DQ-NEXT:    vmovdqa64 %zmm23, %zmm298279; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm298280; AVX512DQ-NEXT:    vmovdqa64 %zmm23, %zmm18281; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18282; AVX512DQ-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8283; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm238284; AVX512DQ-NEXT:    vmovdqa64 1984(%rdi), %zmm08285; AVX512DQ-NEXT:    vmovdqa64 1920(%rdi), %zmm138286; AVX512DQ-NEXT:    vmovdqa64 %zmm13, %zmm208287; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm208288; AVX512DQ-NEXT:    vmovdqa64 %zmm13, %zmm258289; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm258290; AVX512DQ-NEXT:    vmovdqa64 %zmm13, %zmm278291; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm278292; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm138293; AVX512DQ-NEXT:    vmovdqa64 1856(%rdi), %zmm08294; AVX512DQ-NEXT:    vmovdqa64 1792(%rdi), %zmm118295; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm188296; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm188297; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm198298; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm198299; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm218300; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm218301; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm118302; AVX512DQ-NEXT:    vmovdqa64 1728(%rdi), %zmm08303; AVX512DQ-NEXT:    vmovdqa64 1664(%rdi), %zmm88304; AVX512DQ-NEXT:    vmovdqa64 %zmm8, %zmm148305; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm148306; AVX512DQ-NEXT:    vmovdqa64 %zmm8, %zmm168307; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm168308; AVX512DQ-NEXT:    vmovdqa64 %zmm8, %zmm178309; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm178310; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm88311; AVX512DQ-NEXT:    vmovdqa64 1600(%rdi), %zmm08312; AVX512DQ-NEXT:    vmovdqa64 1536(%rdi), %zmm38313; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm68314; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm68315; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm78316; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm78317; AVX512DQ-NEXT:    vmovdqa64 %zmm3, %zmm128318; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm128319; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm38320; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm28321; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm08322; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm48323; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm9, %zmm48324; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm58325; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm15, %zmm58326; AVX512DQ-NEXT:    vmovdqa64 %zmm2, %zmm108327; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm22, %zmm108328; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm28329; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm18330; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm08331; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm1, %zmm98332; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm1, %zmm158333; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm1, %zmm228334; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm18335; AVX512DQ-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload8336; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8337; AVX512DQ-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8338; AVX512DQ-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill8339; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8340; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8341; AVX512DQ-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8342; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8343; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8344; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload8345; AVX512DQ-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]8346; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]8347; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8348; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload8349; AVX512DQ-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]8350; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]8351; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]8352; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]8353; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]8354; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8355; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8356; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8357; AVX512DQ-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8358; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8359; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8360; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload8361; AVX512DQ-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]8362; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8363; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload8364; AVX512DQ-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]8365; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8366; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload8367; AVX512DQ-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]8368; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload8369; AVX512DQ-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]8370; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]8371; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]8372; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]8373; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8374; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload8375; AVX512DQ-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]8376; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8377; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload8378; AVX512DQ-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]8379; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8380; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload8381; AVX512DQ-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]8382; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8383; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload8384; AVX512DQ-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]8385; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8386; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8387; AVX512DQ-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8388; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]8389; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]8390; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8391; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload8392; AVX512DQ-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]8393; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8394; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload8395; AVX512DQ-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]8396; AVX512DQ-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8397; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload8398; AVX512DQ-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]8399; AVX512DQ-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload8400; AVX512DQ-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]8401; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]8402; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]8403; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]8404; AVX512DQ-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]8405; AVX512DQ-NEXT:    vmovdqa64 %zmm14, 448(%rsi)8406; AVX512DQ-NEXT:    vmovdqa64 %zmm6, 384(%rsi)8407; AVX512DQ-NEXT:    vmovdqa64 %zmm30, 320(%rsi)8408; AVX512DQ-NEXT:    vmovdqa64 %zmm26, 256(%rsi)8409; AVX512DQ-NEXT:    vmovdqa64 %zmm31, 192(%rsi)8410; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8411; AVX512DQ-NEXT:    vmovaps %zmm2, 128(%rsi)8412; AVX512DQ-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload8413; AVX512DQ-NEXT:    vmovaps %zmm2, 64(%rsi)8414; AVX512DQ-NEXT:    vmovdqa64 %zmm9, (%rsi)8415; AVX512DQ-NEXT:    vmovdqa64 %zmm19, 448(%rdx)8416; AVX512DQ-NEXT:    vmovdqa64 %zmm29, 256(%rdx)8417; AVX512DQ-NEXT:    vmovdqa64 %zmm20, 320(%rdx)8418; AVX512DQ-NEXT:    vmovdqa64 %zmm18, 128(%rdx)8419; AVX512DQ-NEXT:    vmovdqa64 %zmm16, 192(%rdx)8420; AVX512DQ-NEXT:    vmovdqa64 %zmm5, (%rdx)8421; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8422; AVX512DQ-NEXT:    vmovaps %zmm2, 64(%rdx)8423; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8424; AVX512DQ-NEXT:    vmovaps %zmm2, 384(%rdx)8425; AVX512DQ-NEXT:    vmovdqa64 %zmm21, 448(%rcx)8426; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 256(%rcx)8427; AVX512DQ-NEXT:    vmovdqa64 %zmm4, 320(%rcx)8428; AVX512DQ-NEXT:    vmovdqa64 %zmm25, 128(%rcx)8429; AVX512DQ-NEXT:    vmovdqa64 %zmm17, 192(%rcx)8430; AVX512DQ-NEXT:    vmovdqa64 %zmm10, (%rcx)8431; AVX512DQ-NEXT:    vmovdqa64 %zmm15, 64(%rcx)8432; AVX512DQ-NEXT:    vmovdqa64 %zmm12, 384(%rcx)8433; AVX512DQ-NEXT:    vmovdqa64 %zmm3, 384(%r8)8434; AVX512DQ-NEXT:    vmovdqa64 %zmm11, 448(%r8)8435; AVX512DQ-NEXT:    vmovdqa64 %zmm23, 256(%r8)8436; AVX512DQ-NEXT:    vmovdqa64 %zmm24, 320(%r8)8437; AVX512DQ-NEXT:    vmovdqa64 %zmm7, 128(%r8)8438; AVX512DQ-NEXT:    vmovdqa64 %zmm27, 192(%r8)8439; AVX512DQ-NEXT:    vmovdqa64 %zmm1, (%r8)8440; AVX512DQ-NEXT:    vmovdqa64 %zmm22, 64(%r8)8441; AVX512DQ-NEXT:    addq $2056, %rsp # imm = 0x8088442; AVX512DQ-NEXT:    vzeroupper8443; AVX512DQ-NEXT:    retq8444;8445; AVX512DQ-FCP-LABEL: load_i64_stride4_vf64:8446; AVX512DQ-FCP:       # %bb.0:8447; AVX512DQ-FCP-NEXT:    subq $2056, %rsp # imm = 0x8088448; AVX512DQ-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm248449; AVX512DQ-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm08450; AVX512DQ-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm268451; AVX512DQ-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm18452; AVX512DQ-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm288453; AVX512DQ-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm28454; AVX512DQ-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm258455; AVX512DQ-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm38456; AVX512DQ-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm278457; AVX512DQ-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm48458; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm308459; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm58460; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm298461; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm68462; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]8463; AVX512DQ-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]8464; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, %zmm78465; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm9, %zmm78466; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8467; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm78468; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm9, %zmm78469; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill8470; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, %zmm78471; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm9, %zmm78472; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8473; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm78474; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm9, %zmm78475; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8476; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm78477; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm9, %zmm78478; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8479; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, %zmm78480; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm9, %zmm78481; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8482; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, %zmm78483; AVX512DQ-FCP-NEXT:    vpermt2q %zmm24, %zmm9, %zmm78484; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8485; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]8486; AVX512DQ-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]8487; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, %zmm78488; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm15, %zmm78489; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8490; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm78491; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm15, %zmm78492; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8493; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm78494; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm15, %zmm78495; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8496; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, %zmm78497; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm15, %zmm78498; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8499; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, %zmm78500; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm15, %zmm78501; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8502; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm78503; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm15, %zmm78504; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8505; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]8506; AVX512DQ-FCP-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]8507; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, %zmm78508; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm22, %zmm78509; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8510; AVX512DQ-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]8511; AVX512DQ-FCP-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]8512; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm68513; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8514; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm68515; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm68516; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8517; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm58518; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8519; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm58520; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm22, %zmm58521; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8522; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm28523; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8524; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, %zmm28525; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm22, %zmm28526; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8527; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm18528; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8529; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, %zmm18530; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm18531; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8532; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm48533; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8534; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm18535; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm22, %zmm18536; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8537; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm38538; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8539; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, %zmm18540; AVX512DQ-FCP-NEXT:    vpermt2q %zmm24, %zmm15, %zmm18541; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8542; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, %zmm18543; AVX512DQ-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm18544; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8545; AVX512DQ-FCP-NEXT:    vpermt2q %zmm24, %zmm31, %zmm08546; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8547; AVX512DQ-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm08548; AVX512DQ-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm248549; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, %zmm18550; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm18551; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8552; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, %zmm18553; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18554; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8555; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, %zmm18556; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18557; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8558; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm248559; AVX512DQ-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm08560; AVX512DQ-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm288561; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, %zmm308562; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm308563; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, %zmm18564; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18565; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8566; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, %zmm18567; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18568; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8569; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm288570; AVX512DQ-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm08571; AVX512DQ-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm238572; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, %zmm268573; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm268574; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, %zmm298575; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm298576; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, %zmm18577; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18578; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8579; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm238580; AVX512DQ-FCP-NEXT:    vmovdqa64 1984(%rdi), %zmm08581; AVX512DQ-FCP-NEXT:    vmovdqa64 1920(%rdi), %zmm138582; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, %zmm208583; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm208584; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, %zmm258585; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm258586; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, %zmm278587; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm278588; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm138589; AVX512DQ-FCP-NEXT:    vmovdqa64 1856(%rdi), %zmm08590; AVX512DQ-FCP-NEXT:    vmovdqa64 1792(%rdi), %zmm118591; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm188592; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm188593; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm198594; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm198595; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm218596; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm218597; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm118598; AVX512DQ-FCP-NEXT:    vmovdqa64 1728(%rdi), %zmm08599; AVX512DQ-FCP-NEXT:    vmovdqa64 1664(%rdi), %zmm88600; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, %zmm148601; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm148602; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, %zmm168603; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm168604; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, %zmm178605; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm178606; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm88607; AVX512DQ-FCP-NEXT:    vmovdqa64 1600(%rdi), %zmm08608; AVX512DQ-FCP-NEXT:    vmovdqa64 1536(%rdi), %zmm38609; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm68610; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm68611; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm78612; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm78613; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, %zmm128614; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm128615; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm38616; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm28617; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm08618; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm48619; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm48620; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm58621; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm58622; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, %zmm108623; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm108624; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm28625; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm18626; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm08627; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm98628; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm158629; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm228630; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm18631; AVX512DQ-FCP-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload8632; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8633; AVX512DQ-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8634; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill8635; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8636; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8637; AVX512DQ-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8638; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8639; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8640; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload8641; AVX512DQ-FCP-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]8642; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]8643; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8644; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload8645; AVX512DQ-FCP-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]8646; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]8647; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]8648; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]8649; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]8650; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8651; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8652; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8653; AVX512DQ-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8654; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8655; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8656; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload8657; AVX512DQ-FCP-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]8658; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8659; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload8660; AVX512DQ-FCP-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]8661; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8662; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload8663; AVX512DQ-FCP-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]8664; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload8665; AVX512DQ-FCP-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]8666; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]8667; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]8668; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]8669; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8670; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload8671; AVX512DQ-FCP-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]8672; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8673; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload8674; AVX512DQ-FCP-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]8675; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8676; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload8677; AVX512DQ-FCP-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]8678; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8679; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload8680; AVX512DQ-FCP-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]8681; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8682; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8683; AVX512DQ-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8684; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]8685; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]8686; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8687; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload8688; AVX512DQ-FCP-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]8689; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8690; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload8691; AVX512DQ-FCP-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]8692; AVX512DQ-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8693; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload8694; AVX512DQ-FCP-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]8695; AVX512DQ-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload8696; AVX512DQ-FCP-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]8697; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]8698; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]8699; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]8700; AVX512DQ-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]8701; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rsi)8702; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, 384(%rsi)8703; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, 320(%rsi)8704; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, 256(%rsi)8705; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm31, 192(%rsi)8706; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8707; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, 128(%rsi)8708; AVX512DQ-FCP-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload8709; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, 64(%rsi)8710; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, (%rsi)8711; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, 448(%rdx)8712; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm29, 256(%rdx)8713; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, 320(%rdx)8714; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm18, 128(%rdx)8715; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rdx)8716; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)8717; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8718; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, 64(%rdx)8719; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8720; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, 384(%rdx)8721; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm21, 448(%rcx)8722; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 256(%rcx)8723; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, 320(%rcx)8724; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)8725; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm17, 192(%rcx)8726; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)8727; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, 64(%rcx)8728; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm12, 384(%rcx)8729; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, 384(%r8)8730; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, 448(%r8)8731; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, 256(%r8)8732; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, 320(%r8)8733; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, 128(%r8)8734; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, 192(%r8)8735; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, (%r8)8736; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, 64(%r8)8737; AVX512DQ-FCP-NEXT:    addq $2056, %rsp # imm = 0x8088738; AVX512DQ-FCP-NEXT:    vzeroupper8739; AVX512DQ-FCP-NEXT:    retq8740;8741; AVX512BW-LABEL: load_i64_stride4_vf64:8742; AVX512BW:       # %bb.0:8743; AVX512BW-NEXT:    subq $2056, %rsp # imm = 0x8088744; AVX512BW-NEXT:    vmovdqa64 1472(%rdi), %zmm248745; AVX512BW-NEXT:    vmovdqa64 1408(%rdi), %zmm08746; AVX512BW-NEXT:    vmovdqa64 832(%rdi), %zmm268747; AVX512BW-NEXT:    vmovdqa64 768(%rdi), %zmm18748; AVX512BW-NEXT:    vmovdqa64 960(%rdi), %zmm288749; AVX512BW-NEXT:    vmovdqa64 896(%rdi), %zmm28750; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm258751; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm38752; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm278753; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm48754; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm308755; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm58756; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm298757; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm68758; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]8759; AVX512BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]8760; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm78761; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm9, %zmm78762; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8763; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm78764; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm9, %zmm78765; AVX512BW-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill8766; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm78767; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm9, %zmm78768; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8769; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm78770; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm9, %zmm78771; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8772; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm78773; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm9, %zmm78774; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8775; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm78776; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm9, %zmm78777; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8778; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm78779; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm9, %zmm78780; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8781; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]8782; AVX512BW-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]8783; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm78784; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm15, %zmm78785; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8786; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm78787; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm15, %zmm78788; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8789; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm78790; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm15, %zmm78791; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8792; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm78793; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm15, %zmm78794; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8795; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm78796; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm15, %zmm78797; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8798; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm78799; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm15, %zmm78800; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8801; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]8802; AVX512BW-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]8803; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm78804; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm22, %zmm78805; AVX512BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8806; AVX512BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]8807; AVX512BW-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]8808; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm31, %zmm68809; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8810; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm68811; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm22, %zmm68812; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8813; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm31, %zmm58814; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8815; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm58816; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm22, %zmm58817; AVX512BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8818; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm31, %zmm28819; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8820; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm28821; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm22, %zmm28822; AVX512BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8823; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm31, %zmm18824; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8825; AVX512BW-NEXT:    vmovdqa64 %zmm4, %zmm18826; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm22, %zmm18827; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8828; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm31, %zmm48829; AVX512BW-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8830; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm18831; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm22, %zmm18832; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8833; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm38834; AVX512BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8835; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm18836; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm15, %zmm18837; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8838; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm18839; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm22, %zmm18840; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8841; AVX512BW-NEXT:    vpermt2q %zmm24, %zmm31, %zmm08842; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8843; AVX512BW-NEXT:    vmovdqa64 1344(%rdi), %zmm08844; AVX512BW-NEXT:    vmovdqa64 1280(%rdi), %zmm248845; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm18846; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm18847; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8848; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm18849; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18850; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8851; AVX512BW-NEXT:    vmovdqa64 %zmm24, %zmm18852; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18853; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8854; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm248855; AVX512BW-NEXT:    vmovdqa64 1216(%rdi), %zmm08856; AVX512BW-NEXT:    vmovdqa64 1152(%rdi), %zmm288857; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm308858; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm308859; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm18860; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm18861; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8862; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm18863; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18864; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8865; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm288866; AVX512BW-NEXT:    vmovdqa64 1088(%rdi), %zmm08867; AVX512BW-NEXT:    vmovdqa64 1024(%rdi), %zmm238868; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm268869; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm268870; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm298871; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm298872; AVX512BW-NEXT:    vmovdqa64 %zmm23, %zmm18873; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm18874; AVX512BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8875; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm238876; AVX512BW-NEXT:    vmovdqa64 1984(%rdi), %zmm08877; AVX512BW-NEXT:    vmovdqa64 1920(%rdi), %zmm138878; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm208879; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm208880; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm258881; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm258882; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm278883; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm278884; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm138885; AVX512BW-NEXT:    vmovdqa64 1856(%rdi), %zmm08886; AVX512BW-NEXT:    vmovdqa64 1792(%rdi), %zmm118887; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm188888; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm188889; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm198890; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm198891; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm218892; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm218893; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm118894; AVX512BW-NEXT:    vmovdqa64 1728(%rdi), %zmm08895; AVX512BW-NEXT:    vmovdqa64 1664(%rdi), %zmm88896; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm148897; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm148898; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm168899; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm168900; AVX512BW-NEXT:    vmovdqa64 %zmm8, %zmm178901; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm178902; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm88903; AVX512BW-NEXT:    vmovdqa64 1600(%rdi), %zmm08904; AVX512BW-NEXT:    vmovdqa64 1536(%rdi), %zmm38905; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm68906; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm68907; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm78908; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm78909; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm128910; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm128911; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm38912; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm28913; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm08914; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm48915; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm48916; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm58917; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm58918; AVX512BW-NEXT:    vmovdqa64 %zmm2, %zmm108919; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm108920; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm28921; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm18922; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm08923; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm98924; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm158925; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm228926; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm18927; AVX512BW-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload8928; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8929; AVX512BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8930; AVX512BW-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill8931; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8932; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8933; AVX512BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8934; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8935; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8936; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload8937; AVX512BW-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]8938; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]8939; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8940; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload8941; AVX512BW-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]8942; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]8943; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]8944; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]8945; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]8946; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8947; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8948; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8949; AVX512BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8950; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8951; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8952; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload8953; AVX512BW-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]8954; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8955; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload8956; AVX512BW-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]8957; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8958; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload8959; AVX512BW-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]8960; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload8961; AVX512BW-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]8962; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]8963; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]8964; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]8965; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8966; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload8967; AVX512BW-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]8968; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8969; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload8970; AVX512BW-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]8971; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8972; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload8973; AVX512BW-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]8974; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8975; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload8976; AVX512BW-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]8977; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8978; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload8979; AVX512BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]8980; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]8981; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]8982; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8983; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload8984; AVX512BW-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]8985; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8986; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload8987; AVX512BW-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]8988; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8989; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload8990; AVX512BW-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]8991; AVX512BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload8992; AVX512BW-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]8993; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]8994; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]8995; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]8996; AVX512BW-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]8997; AVX512BW-NEXT:    vmovdqa64 %zmm14, 448(%rsi)8998; AVX512BW-NEXT:    vmovdqa64 %zmm6, 384(%rsi)8999; AVX512BW-NEXT:    vmovdqa64 %zmm30, 320(%rsi)9000; AVX512BW-NEXT:    vmovdqa64 %zmm26, 256(%rsi)9001; AVX512BW-NEXT:    vmovdqa64 %zmm31, 192(%rsi)9002; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9003; AVX512BW-NEXT:    vmovaps %zmm2, 128(%rsi)9004; AVX512BW-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload9005; AVX512BW-NEXT:    vmovaps %zmm2, 64(%rsi)9006; AVX512BW-NEXT:    vmovdqa64 %zmm9, (%rsi)9007; AVX512BW-NEXT:    vmovdqa64 %zmm19, 448(%rdx)9008; AVX512BW-NEXT:    vmovdqa64 %zmm29, 256(%rdx)9009; AVX512BW-NEXT:    vmovdqa64 %zmm20, 320(%rdx)9010; AVX512BW-NEXT:    vmovdqa64 %zmm18, 128(%rdx)9011; AVX512BW-NEXT:    vmovdqa64 %zmm16, 192(%rdx)9012; AVX512BW-NEXT:    vmovdqa64 %zmm5, (%rdx)9013; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9014; AVX512BW-NEXT:    vmovaps %zmm2, 64(%rdx)9015; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9016; AVX512BW-NEXT:    vmovaps %zmm2, 384(%rdx)9017; AVX512BW-NEXT:    vmovdqa64 %zmm21, 448(%rcx)9018; AVX512BW-NEXT:    vmovdqa64 %zmm0, 256(%rcx)9019; AVX512BW-NEXT:    vmovdqa64 %zmm4, 320(%rcx)9020; AVX512BW-NEXT:    vmovdqa64 %zmm25, 128(%rcx)9021; AVX512BW-NEXT:    vmovdqa64 %zmm17, 192(%rcx)9022; AVX512BW-NEXT:    vmovdqa64 %zmm10, (%rcx)9023; AVX512BW-NEXT:    vmovdqa64 %zmm15, 64(%rcx)9024; AVX512BW-NEXT:    vmovdqa64 %zmm12, 384(%rcx)9025; AVX512BW-NEXT:    vmovdqa64 %zmm3, 384(%r8)9026; AVX512BW-NEXT:    vmovdqa64 %zmm11, 448(%r8)9027; AVX512BW-NEXT:    vmovdqa64 %zmm23, 256(%r8)9028; AVX512BW-NEXT:    vmovdqa64 %zmm24, 320(%r8)9029; AVX512BW-NEXT:    vmovdqa64 %zmm7, 128(%r8)9030; AVX512BW-NEXT:    vmovdqa64 %zmm27, 192(%r8)9031; AVX512BW-NEXT:    vmovdqa64 %zmm1, (%r8)9032; AVX512BW-NEXT:    vmovdqa64 %zmm22, 64(%r8)9033; AVX512BW-NEXT:    addq $2056, %rsp # imm = 0x8089034; AVX512BW-NEXT:    vzeroupper9035; AVX512BW-NEXT:    retq9036;9037; AVX512BW-FCP-LABEL: load_i64_stride4_vf64:9038; AVX512BW-FCP:       # %bb.0:9039; AVX512BW-FCP-NEXT:    subq $2056, %rsp # imm = 0x8089040; AVX512BW-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm249041; AVX512BW-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm09042; AVX512BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm269043; AVX512BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm19044; AVX512BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm289045; AVX512BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm29046; AVX512BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm259047; AVX512BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm39048; AVX512BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm279049; AVX512BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm49050; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm309051; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm59052; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm299053; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm69054; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]9055; AVX512BW-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]9056; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79057; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm9, %zmm79058; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9059; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm79060; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm9, %zmm79061; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill9062; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm79063; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm9, %zmm79064; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9065; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79066; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm9, %zmm79067; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9068; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm79069; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm9, %zmm79070; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9071; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm79072; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm9, %zmm79073; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9074; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm79075; AVX512BW-FCP-NEXT:    vpermt2q %zmm24, %zmm9, %zmm79076; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9077; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]9078; AVX512BW-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]9079; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79080; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm15, %zmm79081; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9082; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm79083; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm15, %zmm79084; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9085; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm79086; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm15, %zmm79087; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9088; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm79089; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm15, %zmm79090; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9091; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm79092; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm15, %zmm79093; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9094; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79095; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm15, %zmm79096; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9097; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]9098; AVX512BW-FCP-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]9099; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79100; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm22, %zmm79101; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9102; AVX512BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]9103; AVX512BW-FCP-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]9104; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm69105; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9106; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm69107; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm69108; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9109; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm59110; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9111; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm59112; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm22, %zmm59113; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9114; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm29115; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9116; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm29117; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm22, %zmm29118; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9119; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm19120; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9121; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm19122; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm19123; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9124; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm49125; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9126; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm19127; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm22, %zmm19128; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9129; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm39130; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9131; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm19132; AVX512BW-FCP-NEXT:    vpermt2q %zmm24, %zmm15, %zmm19133; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9134; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm19135; AVX512BW-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm19136; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9137; AVX512BW-FCP-NEXT:    vpermt2q %zmm24, %zmm31, %zmm09138; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9139; AVX512BW-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm09140; AVX512BW-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm249141; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19142; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm19143; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9144; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19145; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19146; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9147; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19148; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19149; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9150; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm249151; AVX512BW-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm09152; AVX512BW-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm289153; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm309154; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm309155; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm19156; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19157; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9158; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm19159; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19160; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9161; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm289162; AVX512BW-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm09163; AVX512BW-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm239164; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm269165; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm269166; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm299167; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm299168; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm19169; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19170; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9171; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm239172; AVX512BW-FCP-NEXT:    vmovdqa64 1984(%rdi), %zmm09173; AVX512BW-FCP-NEXT:    vmovdqa64 1920(%rdi), %zmm139174; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm209175; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm209176; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm259177; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm259178; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm279179; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm279180; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm139181; AVX512BW-FCP-NEXT:    vmovdqa64 1856(%rdi), %zmm09182; AVX512BW-FCP-NEXT:    vmovdqa64 1792(%rdi), %zmm119183; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm189184; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm189185; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm199186; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm199187; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm219188; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm219189; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm119190; AVX512BW-FCP-NEXT:    vmovdqa64 1728(%rdi), %zmm09191; AVX512BW-FCP-NEXT:    vmovdqa64 1664(%rdi), %zmm89192; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm149193; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm149194; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm169195; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm169196; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm179197; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm179198; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm89199; AVX512BW-FCP-NEXT:    vmovdqa64 1600(%rdi), %zmm09200; AVX512BW-FCP-NEXT:    vmovdqa64 1536(%rdi), %zmm39201; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm69202; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm69203; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79204; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm79205; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm129206; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm129207; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm39208; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm29209; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm09210; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm49211; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm49212; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm59213; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm59214; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm109215; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm109216; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm29217; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm19218; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm09219; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm99220; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm159221; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm229222; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm19223; AVX512BW-FCP-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload9224; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9225; AVX512BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9226; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill9227; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9228; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9229; AVX512BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9230; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9231; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9232; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload9233; AVX512BW-FCP-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]9234; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]9235; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9236; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload9237; AVX512BW-FCP-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]9238; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]9239; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]9240; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]9241; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]9242; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9243; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9244; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9245; AVX512BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9246; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9247; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9248; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload9249; AVX512BW-FCP-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]9250; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9251; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload9252; AVX512BW-FCP-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]9253; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9254; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload9255; AVX512BW-FCP-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]9256; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload9257; AVX512BW-FCP-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]9258; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]9259; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]9260; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]9261; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9262; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload9263; AVX512BW-FCP-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]9264; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9265; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload9266; AVX512BW-FCP-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]9267; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9268; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload9269; AVX512BW-FCP-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]9270; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9271; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload9272; AVX512BW-FCP-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]9273; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9274; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9275; AVX512BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9276; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]9277; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]9278; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9279; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload9280; AVX512BW-FCP-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]9281; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9282; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload9283; AVX512BW-FCP-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]9284; AVX512BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9285; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload9286; AVX512BW-FCP-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]9287; AVX512BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload9288; AVX512BW-FCP-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]9289; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]9290; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]9291; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]9292; AVX512BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]9293; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rsi)9294; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, 384(%rsi)9295; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, 320(%rsi)9296; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, 256(%rsi)9297; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm31, 192(%rsi)9298; AVX512BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9299; AVX512BW-FCP-NEXT:    vmovaps %zmm2, 128(%rsi)9300; AVX512BW-FCP-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload9301; AVX512BW-FCP-NEXT:    vmovaps %zmm2, 64(%rsi)9302; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, (%rsi)9303; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, 448(%rdx)9304; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm29, 256(%rdx)9305; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, 320(%rdx)9306; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm18, 128(%rdx)9307; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rdx)9308; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)9309; AVX512BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9310; AVX512BW-FCP-NEXT:    vmovaps %zmm2, 64(%rdx)9311; AVX512BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9312; AVX512BW-FCP-NEXT:    vmovaps %zmm2, 384(%rdx)9313; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm21, 448(%rcx)9314; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 256(%rcx)9315; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, 320(%rcx)9316; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)9317; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm17, 192(%rcx)9318; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)9319; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, 64(%rcx)9320; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, 384(%rcx)9321; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, 384(%r8)9322; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, 448(%r8)9323; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, 256(%r8)9324; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, 320(%r8)9325; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, 128(%r8)9326; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, 192(%r8)9327; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, (%r8)9328; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm22, 64(%r8)9329; AVX512BW-FCP-NEXT:    addq $2056, %rsp # imm = 0x8089330; AVX512BW-FCP-NEXT:    vzeroupper9331; AVX512BW-FCP-NEXT:    retq9332;9333; AVX512DQ-BW-LABEL: load_i64_stride4_vf64:9334; AVX512DQ-BW:       # %bb.0:9335; AVX512DQ-BW-NEXT:    subq $2056, %rsp # imm = 0x8089336; AVX512DQ-BW-NEXT:    vmovdqa64 1472(%rdi), %zmm249337; AVX512DQ-BW-NEXT:    vmovdqa64 1408(%rdi), %zmm09338; AVX512DQ-BW-NEXT:    vmovdqa64 832(%rdi), %zmm269339; AVX512DQ-BW-NEXT:    vmovdqa64 768(%rdi), %zmm19340; AVX512DQ-BW-NEXT:    vmovdqa64 960(%rdi), %zmm289341; AVX512DQ-BW-NEXT:    vmovdqa64 896(%rdi), %zmm29342; AVX512DQ-BW-NEXT:    vmovdqa64 576(%rdi), %zmm259343; AVX512DQ-BW-NEXT:    vmovdqa64 512(%rdi), %zmm39344; AVX512DQ-BW-NEXT:    vmovdqa64 704(%rdi), %zmm279345; AVX512DQ-BW-NEXT:    vmovdqa64 640(%rdi), %zmm49346; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm309347; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm59348; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm299349; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm69350; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]9351; AVX512DQ-BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]9352; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm79353; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm9, %zmm79354; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9355; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm79356; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm9, %zmm79357; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill9358; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, %zmm79359; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm9, %zmm79360; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9361; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm79362; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm9, %zmm79363; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9364; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm79365; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm9, %zmm79366; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9367; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm79368; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm9, %zmm79369; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9370; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, %zmm79371; AVX512DQ-BW-NEXT:    vpermt2q %zmm24, %zmm9, %zmm79372; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9373; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]9374; AVX512DQ-BW-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]9375; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm79376; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm15, %zmm79377; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9378; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm79379; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm15, %zmm79380; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9381; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm79382; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm15, %zmm79383; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9384; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm79385; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm15, %zmm79386; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9387; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, %zmm79388; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm15, %zmm79389; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9390; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm79391; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm15, %zmm79392; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9393; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]9394; AVX512DQ-BW-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]9395; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm79396; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm22, %zmm79397; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9398; AVX512DQ-BW-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]9399; AVX512DQ-BW-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]9400; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm31, %zmm69401; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9402; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm69403; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm22, %zmm69404; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9405; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm31, %zmm59406; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9407; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm59408; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm22, %zmm59409; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9410; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm31, %zmm29411; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9412; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm29413; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm22, %zmm29414; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9415; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm31, %zmm19416; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9417; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, %zmm19418; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm22, %zmm19419; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9420; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm31, %zmm49421; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9422; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm19423; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm22, %zmm19424; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9425; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm39426; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9427; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, %zmm19428; AVX512DQ-BW-NEXT:    vpermt2q %zmm24, %zmm15, %zmm19429; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9430; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, %zmm19431; AVX512DQ-BW-NEXT:    vpermt2q %zmm24, %zmm22, %zmm19432; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9433; AVX512DQ-BW-NEXT:    vpermt2q %zmm24, %zmm31, %zmm09434; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9435; AVX512DQ-BW-NEXT:    vmovdqa64 1344(%rdi), %zmm09436; AVX512DQ-BW-NEXT:    vmovdqa64 1280(%rdi), %zmm249437; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, %zmm19438; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm19439; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9440; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, %zmm19441; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19442; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9443; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, %zmm19444; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19445; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9446; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm249447; AVX512DQ-BW-NEXT:    vmovdqa64 1216(%rdi), %zmm09448; AVX512DQ-BW-NEXT:    vmovdqa64 1152(%rdi), %zmm289449; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, %zmm309450; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm309451; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, %zmm19452; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19453; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9454; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, %zmm19455; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19456; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9457; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm289458; AVX512DQ-BW-NEXT:    vmovdqa64 1088(%rdi), %zmm09459; AVX512DQ-BW-NEXT:    vmovdqa64 1024(%rdi), %zmm239460; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, %zmm269461; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm269462; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, %zmm299463; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm299464; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, %zmm19465; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19466; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9467; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm239468; AVX512DQ-BW-NEXT:    vmovdqa64 1984(%rdi), %zmm09469; AVX512DQ-BW-NEXT:    vmovdqa64 1920(%rdi), %zmm139470; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm209471; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm209472; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm259473; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm259474; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm279475; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm279476; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm139477; AVX512DQ-BW-NEXT:    vmovdqa64 1856(%rdi), %zmm09478; AVX512DQ-BW-NEXT:    vmovdqa64 1792(%rdi), %zmm119479; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm189480; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm189481; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm199482; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm199483; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm219484; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm219485; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm119486; AVX512DQ-BW-NEXT:    vmovdqa64 1728(%rdi), %zmm09487; AVX512DQ-BW-NEXT:    vmovdqa64 1664(%rdi), %zmm89488; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, %zmm149489; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm149490; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, %zmm169491; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm169492; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, %zmm179493; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm179494; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm89495; AVX512DQ-BW-NEXT:    vmovdqa64 1600(%rdi), %zmm09496; AVX512DQ-BW-NEXT:    vmovdqa64 1536(%rdi), %zmm39497; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm69498; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm69499; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm79500; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm79501; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm129502; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm129503; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm39504; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm29505; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm09506; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm49507; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm9, %zmm49508; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm59509; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm15, %zmm59510; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, %zmm109511; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm22, %zmm109512; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm29513; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm19514; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm09515; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm99516; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm159517; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm229518; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm19519; AVX512DQ-BW-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload9520; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9521; AVX512DQ-BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9522; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill9523; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9524; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9525; AVX512DQ-BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9526; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9527; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9528; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload9529; AVX512DQ-BW-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]9530; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]9531; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9532; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload9533; AVX512DQ-BW-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]9534; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]9535; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]9536; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]9537; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]9538; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9539; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9540; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9541; AVX512DQ-BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9542; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9543; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9544; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload9545; AVX512DQ-BW-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]9546; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9547; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload9548; AVX512DQ-BW-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]9549; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9550; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload9551; AVX512DQ-BW-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]9552; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload9553; AVX512DQ-BW-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]9554; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]9555; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]9556; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]9557; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9558; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload9559; AVX512DQ-BW-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]9560; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9561; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload9562; AVX512DQ-BW-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]9563; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9564; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload9565; AVX512DQ-BW-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]9566; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9567; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload9568; AVX512DQ-BW-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]9569; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9570; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9571; AVX512DQ-BW-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9572; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]9573; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]9574; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9575; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload9576; AVX512DQ-BW-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]9577; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9578; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload9579; AVX512DQ-BW-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]9580; AVX512DQ-BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9581; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload9582; AVX512DQ-BW-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]9583; AVX512DQ-BW-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload9584; AVX512DQ-BW-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]9585; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]9586; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]9587; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]9588; AVX512DQ-BW-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]9589; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, 448(%rsi)9590; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, 384(%rsi)9591; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, 320(%rsi)9592; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, 256(%rsi)9593; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm31, 192(%rsi)9594; AVX512DQ-BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9595; AVX512DQ-BW-NEXT:    vmovaps %zmm2, 128(%rsi)9596; AVX512DQ-BW-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload9597; AVX512DQ-BW-NEXT:    vmovaps %zmm2, 64(%rsi)9598; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, (%rsi)9599; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, 448(%rdx)9600; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm29, 256(%rdx)9601; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, 320(%rdx)9602; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm18, 128(%rdx)9603; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, 192(%rdx)9604; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, (%rdx)9605; AVX512DQ-BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9606; AVX512DQ-BW-NEXT:    vmovaps %zmm2, 64(%rdx)9607; AVX512DQ-BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9608; AVX512DQ-BW-NEXT:    vmovaps %zmm2, 384(%rdx)9609; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm21, 448(%rcx)9610; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 256(%rcx)9611; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, 320(%rcx)9612; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm25, 128(%rcx)9613; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm17, 192(%rcx)9614; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, (%rcx)9615; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, 64(%rcx)9616; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, 384(%rcx)9617; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, 384(%r8)9618; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, 448(%r8)9619; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, 256(%r8)9620; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, 320(%r8)9621; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, 128(%r8)9622; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, 192(%r8)9623; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, (%r8)9624; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm22, 64(%r8)9625; AVX512DQ-BW-NEXT:    addq $2056, %rsp # imm = 0x8089626; AVX512DQ-BW-NEXT:    vzeroupper9627; AVX512DQ-BW-NEXT:    retq9628;9629; AVX512DQ-BW-FCP-LABEL: load_i64_stride4_vf64:9630; AVX512DQ-BW-FCP:       # %bb.0:9631; AVX512DQ-BW-FCP-NEXT:    subq $2056, %rsp # imm = 0x8089632; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm249633; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm09634; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm269635; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm19636; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm289637; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm29638; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm259639; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm39640; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm279641; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm49642; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm309643; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm59644; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm299645; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm69646; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm9 = [0,4,8,12,0,4,8,12]9647; AVX512DQ-BW-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3]9648; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79649; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm9, %zmm79650; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9651; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm79652; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm9, %zmm79653; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, (%rsp) # 64-byte Spill9654; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm79655; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm9, %zmm79656; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9657; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79658; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm9, %zmm79659; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9660; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm79661; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm9, %zmm79662; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9663; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm79664; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm9, %zmm79665; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9666; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm79667; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm24, %zmm9, %zmm79668; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9669; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm15 = [1,5,9,13,1,5,9,13]9670; AVX512DQ-BW-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3]9671; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79672; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm15, %zmm79673; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9674; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm79675; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm15, %zmm79676; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9677; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm79678; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm15, %zmm79679; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9680; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm79681; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm15, %zmm79682; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9683; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm79684; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm15, %zmm79685; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9686; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79687; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm15, %zmm79688; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9689; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm22 = [2,6,10,14,2,6,10,14]9690; AVX512DQ-BW-FCP-NEXT:    # zmm22 = mem[0,1,2,3,0,1,2,3]9691; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm79692; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm22, %zmm79693; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9694; AVX512DQ-BW-FCP-NEXT:    vbroadcasti64x4 {{.*#+}} zmm31 = [3,7,11,15,3,7,11,15]9695; AVX512DQ-BW-FCP-NEXT:    # zmm31 = mem[0,1,2,3,0,1,2,3]9696; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm69697; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9698; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm69699; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm22, %zmm69700; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9701; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm59702; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9703; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm59704; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm22, %zmm59705; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9706; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm29707; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9708; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm29709; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm22, %zmm29710; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9711; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm19712; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9713; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, %zmm19714; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm22, %zmm19715; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9716; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm49717; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9718; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm19719; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm22, %zmm19720; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9721; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm39722; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9723; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm19724; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm24, %zmm15, %zmm19725; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9726; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, %zmm19727; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm24, %zmm22, %zmm19728; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9729; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm24, %zmm31, %zmm09730; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9731; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm09732; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm249733; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19734; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm19735; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9736; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19737; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19738; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9739; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, %zmm19740; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19741; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9742; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm249743; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm09744; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm289745; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm309746; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm309747; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm19748; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm19749; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9750; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm19751; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19752; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9753; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm289754; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm09755; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm239756; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm269757; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm269758; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm299759; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm299760; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, %zmm19761; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm19762; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9763; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm239764; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1984(%rdi), %zmm09765; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1920(%rdi), %zmm139766; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm209767; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm209768; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm259769; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm259770; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm279771; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm279772; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm139773; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1856(%rdi), %zmm09774; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1792(%rdi), %zmm119775; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm189776; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm189777; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm199778; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm199779; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm219780; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm219781; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm119782; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1728(%rdi), %zmm09783; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1664(%rdi), %zmm89784; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm149785; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm149786; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm169787; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm169788; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, %zmm179789; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm179790; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm89791; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1600(%rdi), %zmm09792; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1536(%rdi), %zmm39793; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm69794; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm69795; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm79796; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm79797; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm129798; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm129799; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm39800; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm29801; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm09802; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm49803; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm9, %zmm49804; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm59805; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm15, %zmm59806; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, %zmm109807; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm22, %zmm109808; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm29809; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm19810; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm09811; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm99812; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm159813; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm229814; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm19815; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 (%rsp), %zmm0 # 64-byte Reload9816; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9817; AVX512DQ-BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9818; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill9819; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9820; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9821; AVX512DQ-BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9822; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9823; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9824; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm31 # 64-byte Folded Reload9825; AVX512DQ-BW-FCP-NEXT:    # zmm31 = zmm0[0,1,2,3],mem[4,5,6,7]9826; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm26 = zmm26[0,1,2,3],zmm30[4,5,6,7]9827; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9828; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm30 # 64-byte Folded Reload9829; AVX512DQ-BW-FCP-NEXT:    # zmm30 = zmm0[0,1,2,3],mem[4,5,6,7]9830; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm6 = zmm6[0,1,2,3],zmm14[4,5,6,7]9831; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm14 = zmm18[0,1,2,3],zmm20[4,5,6,7]9832; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm9 = zmm9[0,1,2,3],zmm4[4,5,6,7]9833; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm0 = zmm7[0,1,2,3],zmm16[4,5,6,7]9834; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9835; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9836; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9837; AVX512DQ-BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9838; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9839; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9840; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm16 # 64-byte Folded Reload9841; AVX512DQ-BW-FCP-NEXT:    # zmm16 = zmm0[0,1,2,3],mem[4,5,6,7]9842; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9843; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm18 # 64-byte Folded Reload9844; AVX512DQ-BW-FCP-NEXT:    # zmm18 = zmm0[0,1,2,3],mem[4,5,6,7]9845; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9846; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm20 # 64-byte Folded Reload9847; AVX512DQ-BW-FCP-NEXT:    # zmm20 = zmm0[0,1,2,3],mem[4,5,6,7]9848; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm29, %zmm29 # 64-byte Folded Reload9849; AVX512DQ-BW-FCP-NEXT:    # zmm29 = zmm29[0,1,2,3],mem[4,5,6,7]9850; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm19 = zmm19[0,1,2,3],zmm25[4,5,6,7]9851; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm5 = zmm15[0,1,2,3],zmm5[4,5,6,7]9852; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm12 = zmm12[0,1,2,3],zmm17[4,5,6,7]9853; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9854; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm15 # 64-byte Folded Reload9855; AVX512DQ-BW-FCP-NEXT:    # zmm15 = zmm0[0,1,2,3],mem[4,5,6,7]9856; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9857; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm17 # 64-byte Folded Reload9858; AVX512DQ-BW-FCP-NEXT:    # zmm17 = zmm0[0,1,2,3],mem[4,5,6,7]9859; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9860; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm25 # 64-byte Folded Reload9861; AVX512DQ-BW-FCP-NEXT:    # zmm25 = zmm0[0,1,2,3],mem[4,5,6,7]9862; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9863; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm4 # 64-byte Folded Reload9864; AVX512DQ-BW-FCP-NEXT:    # zmm4 = zmm0[0,1,2,3],mem[4,5,6,7]9865; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9866; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm0, %zmm0 # 64-byte Folded Reload9867; AVX512DQ-BW-FCP-NEXT:    # zmm0 = zmm0[0,1,2,3],mem[4,5,6,7]9868; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm21 = zmm21[0,1,2,3],zmm27[4,5,6,7]9869; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm10 = zmm22[0,1,2,3],zmm10[4,5,6,7]9870; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9871; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm22 # 64-byte Folded Reload9872; AVX512DQ-BW-FCP-NEXT:    # zmm22 = zmm7[0,1,2,3],mem[4,5,6,7]9873; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9874; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm27 # 64-byte Folded Reload9875; AVX512DQ-BW-FCP-NEXT:    # zmm27 = zmm7[0,1,2,3],mem[4,5,6,7]9876; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9877; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm7, %zmm7 # 64-byte Folded Reload9878; AVX512DQ-BW-FCP-NEXT:    # zmm7 = zmm7[0,1,2,3],mem[4,5,6,7]9879; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 $228, {{[-0-9]+}}(%r{{[sb]}}p), %zmm24, %zmm24 # 64-byte Folded Reload9880; AVX512DQ-BW-FCP-NEXT:    # zmm24 = zmm24[0,1,2,3],mem[4,5,6,7]9881; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm23 = zmm23[0,1,2,3],zmm28[4,5,6,7]9882; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm11 = zmm11[0,1,2,3],zmm13[4,5,6,7]9883; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm3 = zmm3[0,1,2,3],zmm8[4,5,6,7]9884; AVX512DQ-BW-FCP-NEXT:    vshufi64x2 {{.*#+}} zmm1 = zmm1[0,1,2,3],zmm2[4,5,6,7]9885; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rsi)9886; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, 384(%rsi)9887; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, 320(%rsi)9888; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, 256(%rsi)9889; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm31, 192(%rsi)9890; AVX512DQ-BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9891; AVX512DQ-BW-FCP-NEXT:    vmovaps %zmm2, 128(%rsi)9892; AVX512DQ-BW-FCP-NEXT:    vmovups (%rsp), %zmm2 # 64-byte Reload9893; AVX512DQ-BW-FCP-NEXT:    vmovaps %zmm2, 64(%rsi)9894; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, (%rsi)9895; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, 448(%rdx)9896; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm29, 256(%rdx)9897; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, 320(%rdx)9898; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm18, 128(%rdx)9899; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rdx)9900; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)9901; AVX512DQ-BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9902; AVX512DQ-BW-FCP-NEXT:    vmovaps %zmm2, 64(%rdx)9903; AVX512DQ-BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9904; AVX512DQ-BW-FCP-NEXT:    vmovaps %zmm2, 384(%rdx)9905; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm21, 448(%rcx)9906; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 256(%rcx)9907; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, 320(%rcx)9908; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm25, 128(%rcx)9909; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm17, 192(%rcx)9910; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)9911; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, 64(%rcx)9912; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, 384(%rcx)9913; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, 384(%r8)9914; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, 448(%r8)9915; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, 256(%r8)9916; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, 320(%r8)9917; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, 128(%r8)9918; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, 192(%r8)9919; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, (%r8)9920; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm22, 64(%r8)9921; AVX512DQ-BW-FCP-NEXT:    addq $2056, %rsp # imm = 0x8089922; AVX512DQ-BW-FCP-NEXT:    vzeroupper9923; AVX512DQ-BW-FCP-NEXT:    retq9924  %wide.vec = load <256 x i64>, ptr %in.vec, align 649925  %strided.vec0 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <64 x i32> <i32 0, i32 4, i32 8, i32 12, i32 16, i32 20, i32 24, i32 28, i32 32, i32 36, i32 40, i32 44, i32 48, i32 52, i32 56, i32 60, i32 64, i32 68, i32 72, i32 76, i32 80, i32 84, i32 88, i32 92, i32 96, i32 100, i32 104, i32 108, i32 112, i32 116, i32 120, i32 124, i32 128, i32 132, i32 136, i32 140, i32 144, i32 148, i32 152, i32 156, i32 160, i32 164, i32 168, i32 172, i32 176, i32 180, i32 184, i32 188, i32 192, i32 196, i32 200, i32 204, i32 208, i32 212, i32 216, i32 220, i32 224, i32 228, i32 232, i32 236, i32 240, i32 244, i32 248, i32 252>9926  %strided.vec1 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <64 x i32> <i32 1, i32 5, i32 9, i32 13, i32 17, i32 21, i32 25, i32 29, i32 33, i32 37, i32 41, i32 45, i32 49, i32 53, i32 57, i32 61, i32 65, i32 69, i32 73, i32 77, i32 81, i32 85, i32 89, i32 93, i32 97, i32 101, i32 105, i32 109, i32 113, i32 117, i32 121, i32 125, i32 129, i32 133, i32 137, i32 141, i32 145, i32 149, i32 153, i32 157, i32 161, i32 165, i32 169, i32 173, i32 177, i32 181, i32 185, i32 189, i32 193, i32 197, i32 201, i32 205, i32 209, i32 213, i32 217, i32 221, i32 225, i32 229, i32 233, i32 237, i32 241, i32 245, i32 249, i32 253>9927  %strided.vec2 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <64 x i32> <i32 2, i32 6, i32 10, i32 14, i32 18, i32 22, i32 26, i32 30, i32 34, i32 38, i32 42, i32 46, i32 50, i32 54, i32 58, i32 62, i32 66, i32 70, i32 74, i32 78, i32 82, i32 86, i32 90, i32 94, i32 98, i32 102, i32 106, i32 110, i32 114, i32 118, i32 122, i32 126, i32 130, i32 134, i32 138, i32 142, i32 146, i32 150, i32 154, i32 158, i32 162, i32 166, i32 170, i32 174, i32 178, i32 182, i32 186, i32 190, i32 194, i32 198, i32 202, i32 206, i32 210, i32 214, i32 218, i32 222, i32 226, i32 230, i32 234, i32 238, i32 242, i32 246, i32 250, i32 254>9928  %strided.vec3 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <64 x i32> <i32 3, i32 7, i32 11, i32 15, i32 19, i32 23, i32 27, i32 31, i32 35, i32 39, i32 43, i32 47, i32 51, i32 55, i32 59, i32 63, i32 67, i32 71, i32 75, i32 79, i32 83, i32 87, i32 91, i32 95, i32 99, i32 103, i32 107, i32 111, i32 115, i32 119, i32 123, i32 127, i32 131, i32 135, i32 139, i32 143, i32 147, i32 151, i32 155, i32 159, i32 163, i32 167, i32 171, i32 175, i32 179, i32 183, i32 187, i32 191, i32 195, i32 199, i32 203, i32 207, i32 211, i32 215, i32 219, i32 223, i32 227, i32 231, i32 235, i32 239, i32 243, i32 247, i32 251, i32 255>9929  store <64 x i64> %strided.vec0, ptr %out.vec0, align 649930  store <64 x i64> %strided.vec1, ptr %out.vec1, align 649931  store <64 x i64> %strided.vec2, ptr %out.vec2, align 649932  store <64 x i64> %strided.vec3, ptr %out.vec3, align 649933  ret void9934}9935