brintos

brintos / llvm-project-archived public Read only

0
0
Text · 310.5 KiB · c8b95cd Raw
5846 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_stride3_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {19; SSE-LABEL: load_i64_stride3_vf2:20; SSE:       # %bb.0:21; SSE-NEXT:    movapd (%rdi), %xmm022; SSE-NEXT:    movapd 16(%rdi), %xmm123; SSE-NEXT:    movapd 32(%rdi), %xmm224; SSE-NEXT:    movapd %xmm1, %xmm325; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]26; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1],xmm2[0]27; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm1[0],xmm2[1]28; SSE-NEXT:    movapd %xmm3, (%rsi)29; SSE-NEXT:    movapd %xmm0, (%rdx)30; SSE-NEXT:    movapd %xmm2, (%rcx)31; SSE-NEXT:    retq32;33; AVX-LABEL: load_i64_stride3_vf2:34; AVX:       # %bb.0:35; AVX-NEXT:    vmovdqa (%rdi), %xmm036; AVX-NEXT:    vmovdqa 16(%rdi), %xmm137; AVX-NEXT:    vmovdqa 32(%rdi), %xmm238; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm0[0,1,2,3],xmm1[4,5,6,7]39; AVX-NEXT:    vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]40; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],mem[4,5,6,7]41; AVX-NEXT:    vmovdqa %xmm3, (%rsi)42; AVX-NEXT:    vmovdqa %xmm0, (%rdx)43; AVX-NEXT:    vmovdqa %xmm1, (%rcx)44; AVX-NEXT:    retq45;46; AVX2-LABEL: load_i64_stride3_vf2:47; AVX2:       # %bb.0:48; AVX2-NEXT:    vmovdqa (%rdi), %xmm049; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm150; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm251; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm0[0,1],xmm1[2,3]52; AVX2-NEXT:    vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]53; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]54; AVX2-NEXT:    vmovdqa %xmm3, (%rsi)55; AVX2-NEXT:    vmovdqa %xmm0, (%rdx)56; AVX2-NEXT:    vmovdqa %xmm1, (%rcx)57; AVX2-NEXT:    retq58;59; AVX2-FP-LABEL: load_i64_stride3_vf2:60; AVX2-FP:       # %bb.0:61; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm062; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm163; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm264; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm0[0,1],xmm1[2,3]65; AVX2-FP-NEXT:    vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]66; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]67; AVX2-FP-NEXT:    vmovdqa %xmm3, (%rsi)68; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rdx)69; AVX2-FP-NEXT:    vmovdqa %xmm1, (%rcx)70; AVX2-FP-NEXT:    retq71;72; AVX2-FCP-LABEL: load_i64_stride3_vf2:73; AVX2-FCP:       # %bb.0:74; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm075; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm176; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm277; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm0[0,1],xmm1[2,3]78; AVX2-FCP-NEXT:    vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]79; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]80; AVX2-FCP-NEXT:    vmovdqa %xmm3, (%rsi)81; AVX2-FCP-NEXT:    vmovdqa %xmm0, (%rdx)82; AVX2-FCP-NEXT:    vmovdqa %xmm1, (%rcx)83; AVX2-FCP-NEXT:    retq84;85; AVX512-LABEL: load_i64_stride3_vf2:86; AVX512:       # %bb.0:87; AVX512-NEXT:    vpermpd {{.*#+}} ymm0 = mem[0,3,2,3]88; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm189; AVX512-NEXT:    vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]90; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]91; AVX512-NEXT:    vmovaps %xmm0, (%rsi)92; AVX512-NEXT:    vmovdqa %xmm2, (%rdx)93; AVX512-NEXT:    vmovdqa %xmm1, (%rcx)94; AVX512-NEXT:    vzeroupper95; AVX512-NEXT:    retq96;97; AVX512-FCP-LABEL: load_i64_stride3_vf2:98; AVX512-FCP:       # %bb.0:99; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [1,4]100; AVX512-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0101; AVX512-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,3,2,3]102; AVX512-FCP-NEXT:    vmovaps 16(%rdi), %xmm2103; AVX512-FCP-NEXT:    vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]104; AVX512-FCP-NEXT:    vmovaps %xmm1, (%rsi)105; AVX512-FCP-NEXT:    vmovaps %xmm0, (%rdx)106; AVX512-FCP-NEXT:    vmovaps %xmm2, (%rcx)107; AVX512-FCP-NEXT:    vzeroupper108; AVX512-FCP-NEXT:    retq109;110; AVX512DQ-LABEL: load_i64_stride3_vf2:111; AVX512DQ:       # %bb.0:112; AVX512DQ-NEXT:    vpermpd {{.*#+}} ymm0 = mem[0,3,2,3]113; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm1114; AVX512DQ-NEXT:    vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]115; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]116; AVX512DQ-NEXT:    vmovaps %xmm0, (%rsi)117; AVX512DQ-NEXT:    vmovdqa %xmm2, (%rdx)118; AVX512DQ-NEXT:    vmovdqa %xmm1, (%rcx)119; AVX512DQ-NEXT:    vzeroupper120; AVX512DQ-NEXT:    retq121;122; AVX512DQ-FCP-LABEL: load_i64_stride3_vf2:123; AVX512DQ-FCP:       # %bb.0:124; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [1,4]125; AVX512DQ-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0126; AVX512DQ-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,3,2,3]127; AVX512DQ-FCP-NEXT:    vmovaps 16(%rdi), %xmm2128; AVX512DQ-FCP-NEXT:    vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]129; AVX512DQ-FCP-NEXT:    vmovaps %xmm1, (%rsi)130; AVX512DQ-FCP-NEXT:    vmovaps %xmm0, (%rdx)131; AVX512DQ-FCP-NEXT:    vmovaps %xmm2, (%rcx)132; AVX512DQ-FCP-NEXT:    vzeroupper133; AVX512DQ-FCP-NEXT:    retq134;135; AVX512BW-LABEL: load_i64_stride3_vf2:136; AVX512BW:       # %bb.0:137; AVX512BW-NEXT:    vpermpd {{.*#+}} ymm0 = mem[0,3,2,3]138; AVX512BW-NEXT:    vmovdqa 32(%rdi), %xmm1139; AVX512BW-NEXT:    vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]140; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]141; AVX512BW-NEXT:    vmovaps %xmm0, (%rsi)142; AVX512BW-NEXT:    vmovdqa %xmm2, (%rdx)143; AVX512BW-NEXT:    vmovdqa %xmm1, (%rcx)144; AVX512BW-NEXT:    vzeroupper145; AVX512BW-NEXT:    retq146;147; AVX512BW-FCP-LABEL: load_i64_stride3_vf2:148; AVX512BW-FCP:       # %bb.0:149; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [1,4]150; AVX512BW-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0151; AVX512BW-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,3,2,3]152; AVX512BW-FCP-NEXT:    vmovaps 16(%rdi), %xmm2153; AVX512BW-FCP-NEXT:    vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]154; AVX512BW-FCP-NEXT:    vmovaps %xmm1, (%rsi)155; AVX512BW-FCP-NEXT:    vmovaps %xmm0, (%rdx)156; AVX512BW-FCP-NEXT:    vmovaps %xmm2, (%rcx)157; AVX512BW-FCP-NEXT:    vzeroupper158; AVX512BW-FCP-NEXT:    retq159;160; AVX512DQ-BW-LABEL: load_i64_stride3_vf2:161; AVX512DQ-BW:       # %bb.0:162; AVX512DQ-BW-NEXT:    vpermpd {{.*#+}} ymm0 = mem[0,3,2,3]163; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %xmm1164; AVX512DQ-BW-NEXT:    vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]165; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]166; AVX512DQ-BW-NEXT:    vmovaps %xmm0, (%rsi)167; AVX512DQ-BW-NEXT:    vmovdqa %xmm2, (%rdx)168; AVX512DQ-BW-NEXT:    vmovdqa %xmm1, (%rcx)169; AVX512DQ-BW-NEXT:    vzeroupper170; AVX512DQ-BW-NEXT:    retq171;172; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf2:173; AVX512DQ-BW-FCP:       # %bb.0:174; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} xmm0 = [1,4]175; AVX512DQ-BW-FCP-NEXT:    vpermpd (%rdi), %zmm0, %zmm0176; AVX512DQ-BW-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,3,2,3]177; AVX512DQ-BW-FCP-NEXT:    vmovaps 16(%rdi), %xmm2178; AVX512DQ-BW-FCP-NEXT:    vblendps {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]179; AVX512DQ-BW-FCP-NEXT:    vmovaps %xmm1, (%rsi)180; AVX512DQ-BW-FCP-NEXT:    vmovaps %xmm0, (%rdx)181; AVX512DQ-BW-FCP-NEXT:    vmovaps %xmm2, (%rcx)182; AVX512DQ-BW-FCP-NEXT:    vzeroupper183; AVX512DQ-BW-FCP-NEXT:    retq184  %wide.vec = load <6 x i64>, ptr %in.vec, align 64185  %strided.vec0 = shufflevector <6 x i64> %wide.vec, <6 x i64> poison, <2 x i32> <i32 0, i32 3>186  %strided.vec1 = shufflevector <6 x i64> %wide.vec, <6 x i64> poison, <2 x i32> <i32 1, i32 4>187  %strided.vec2 = shufflevector <6 x i64> %wide.vec, <6 x i64> poison, <2 x i32> <i32 2, i32 5>188  store <2 x i64> %strided.vec0, ptr %out.vec0, align 64189  store <2 x i64> %strided.vec1, ptr %out.vec1, align 64190  store <2 x i64> %strided.vec2, ptr %out.vec2, align 64191  ret void192}193 194define void @load_i64_stride3_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {195; SSE-LABEL: load_i64_stride3_vf4:196; SSE:       # %bb.0:197; SSE-NEXT:    movapd 80(%rdi), %xmm0198; SSE-NEXT:    movapd (%rdi), %xmm1199; SSE-NEXT:    movapd 16(%rdi), %xmm2200; SSE-NEXT:    movapd 32(%rdi), %xmm3201; SSE-NEXT:    movapd 48(%rdi), %xmm4202; SSE-NEXT:    movapd 64(%rdi), %xmm5203; SSE-NEXT:    movapd %xmm5, %xmm6204; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm4[0],xmm6[1]205; SSE-NEXT:    movapd %xmm2, %xmm7206; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm1[0],xmm7[1]207; SSE-NEXT:    shufpd {{.*#+}} xmm4 = xmm4[1],xmm0[0]208; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1],xmm3[0]209; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm5[0],xmm0[1]210; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm2[0],xmm3[1]211; SSE-NEXT:    movapd %xmm6, 16(%rsi)212; SSE-NEXT:    movapd %xmm7, (%rsi)213; SSE-NEXT:    movapd %xmm4, 16(%rdx)214; SSE-NEXT:    movapd %xmm1, (%rdx)215; SSE-NEXT:    movapd %xmm0, 16(%rcx)216; SSE-NEXT:    movapd %xmm3, (%rcx)217; SSE-NEXT:    retq218;219; AVX-LABEL: load_i64_stride3_vf4:220; AVX:       # %bb.0:221; AVX-NEXT:    vmovapd 32(%rdi), %ymm0222; AVX-NEXT:    vmovaps 16(%rdi), %xmm1223; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = mem[0,1],ymm0[2,3]224; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm1, %ymm1225; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm2[0],ymm1[1],ymm2[2],ymm1[3]226; AVX-NEXT:    vshufpd {{.*#+}} ymm2 = ymm2[1],ymm0[0],ymm2[3],ymm0[3]227; AVX-NEXT:    vbroadcastsd 80(%rdi), %ymm4228; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1,2],ymm4[3]229; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2,3]230; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[2],ymm0[3]231; AVX-NEXT:    vmovapd %ymm3, (%rsi)232; AVX-NEXT:    vmovapd %ymm2, (%rdx)233; AVX-NEXT:    vmovapd %ymm0, (%rcx)234; AVX-NEXT:    vzeroupper235; AVX-NEXT:    retq236;237; AVX2-LABEL: load_i64_stride3_vf4:238; AVX2:       # %bb.0:239; AVX2-NEXT:    vmovaps 32(%rdi), %ymm0240; AVX2-NEXT:    vmovaps (%rdi), %ymm1241; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm2242; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = ymm1[0,3,2,3]243; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]244; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]245; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]246; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]247; AVX2-NEXT:    vbroadcastsd 80(%rdi), %ymm1248; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]249; AVX2-NEXT:    vmovaps 16(%rdi), %xmm1250; AVX2-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]251; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]252; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]253; AVX2-NEXT:    vmovaps %ymm2, (%rsi)254; AVX2-NEXT:    vmovaps %ymm0, (%rdx)255; AVX2-NEXT:    vmovaps %ymm1, (%rcx)256; AVX2-NEXT:    vzeroupper257; AVX2-NEXT:    retq258;259; AVX2-FP-LABEL: load_i64_stride3_vf4:260; AVX2-FP:       # %bb.0:261; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm0262; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm1263; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm2264; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm1[0,3,2,3]265; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]266; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]267; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]268; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]269; AVX2-FP-NEXT:    vbroadcastsd 80(%rdi), %ymm1270; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]271; AVX2-FP-NEXT:    vmovaps 16(%rdi), %xmm1272; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]273; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]274; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]275; AVX2-FP-NEXT:    vmovaps %ymm2, (%rsi)276; AVX2-FP-NEXT:    vmovaps %ymm0, (%rdx)277; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)278; AVX2-FP-NEXT:    vzeroupper279; AVX2-FP-NEXT:    retq280;281; AVX2-FCP-LABEL: load_i64_stride3_vf4:282; AVX2-FCP:       # %bb.0:283; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm0284; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm1285; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm2286; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = ymm1[0,3,2,3]287; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]288; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]289; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]290; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]291; AVX2-FCP-NEXT:    vbroadcastsd 80(%rdi), %ymm1292; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]293; AVX2-FCP-NEXT:    vmovaps 16(%rdi), %xmm1294; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]295; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]296; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]297; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rsi)298; AVX2-FCP-NEXT:    vmovaps %ymm0, (%rdx)299; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rcx)300; AVX2-FCP-NEXT:    vzeroupper301; AVX2-FCP-NEXT:    retq302;303; AVX512-LABEL: load_i64_stride3_vf4:304; AVX512:       # %bb.0:305; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm0306; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm1307; AVX512-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]308; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2309; AVX512-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]310; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3311; AVX512-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]312; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4313; AVX512-NEXT:    vmovdqa %ymm2, (%rsi)314; AVX512-NEXT:    vmovdqa %ymm3, (%rdx)315; AVX512-NEXT:    vmovdqa %ymm4, (%rcx)316; AVX512-NEXT:    vzeroupper317; AVX512-NEXT:    retq318;319; AVX512-FCP-LABEL: load_i64_stride3_vf4:320; AVX512-FCP:       # %bb.0:321; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0322; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1323; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]324; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2325; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]326; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3327; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]328; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4329; AVX512-FCP-NEXT:    vmovdqa %ymm2, (%rsi)330; AVX512-FCP-NEXT:    vmovdqa %ymm3, (%rdx)331; AVX512-FCP-NEXT:    vmovdqa %ymm4, (%rcx)332; AVX512-FCP-NEXT:    vzeroupper333; AVX512-FCP-NEXT:    retq334;335; AVX512DQ-LABEL: load_i64_stride3_vf4:336; AVX512DQ:       # %bb.0:337; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm0338; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm1339; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]340; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2341; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]342; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3343; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]344; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4345; AVX512DQ-NEXT:    vmovdqa %ymm2, (%rsi)346; AVX512DQ-NEXT:    vmovdqa %ymm3, (%rdx)347; AVX512DQ-NEXT:    vmovdqa %ymm4, (%rcx)348; AVX512DQ-NEXT:    vzeroupper349; AVX512DQ-NEXT:    retq350;351; AVX512DQ-FCP-LABEL: load_i64_stride3_vf4:352; AVX512DQ-FCP:       # %bb.0:353; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0354; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1355; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]356; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2357; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]358; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3359; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]360; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4361; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, (%rsi)362; AVX512DQ-FCP-NEXT:    vmovdqa %ymm3, (%rdx)363; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, (%rcx)364; AVX512DQ-FCP-NEXT:    vzeroupper365; AVX512DQ-FCP-NEXT:    retq366;367; AVX512BW-LABEL: load_i64_stride3_vf4:368; AVX512BW:       # %bb.0:369; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm0370; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1371; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]372; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2373; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]374; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3375; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]376; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4377; AVX512BW-NEXT:    vmovdqa %ymm2, (%rsi)378; AVX512BW-NEXT:    vmovdqa %ymm3, (%rdx)379; AVX512BW-NEXT:    vmovdqa %ymm4, (%rcx)380; AVX512BW-NEXT:    vzeroupper381; AVX512BW-NEXT:    retq382;383; AVX512BW-FCP-LABEL: load_i64_stride3_vf4:384; AVX512BW-FCP:       # %bb.0:385; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0386; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1387; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]388; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2389; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]390; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3391; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]392; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4393; AVX512BW-FCP-NEXT:    vmovdqa %ymm2, (%rsi)394; AVX512BW-FCP-NEXT:    vmovdqa %ymm3, (%rdx)395; AVX512BW-FCP-NEXT:    vmovdqa %ymm4, (%rcx)396; AVX512BW-FCP-NEXT:    vzeroupper397; AVX512BW-FCP-NEXT:    retq398;399; AVX512DQ-BW-LABEL: load_i64_stride3_vf4:400; AVX512DQ-BW:       # %bb.0:401; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm0402; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm1403; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]404; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2405; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]406; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3407; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]408; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4409; AVX512DQ-BW-NEXT:    vmovdqa %ymm2, (%rsi)410; AVX512DQ-BW-NEXT:    vmovdqa %ymm3, (%rdx)411; AVX512DQ-BW-NEXT:    vmovdqa %ymm4, (%rcx)412; AVX512DQ-BW-NEXT:    vzeroupper413; AVX512DQ-BW-NEXT:    retq414;415; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf4:416; AVX512DQ-BW-FCP:       # %bb.0:417; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0418; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1419; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm2 = [0,3,6,9]420; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm2421; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm3 = [1,4,7,10]422; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3423; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} ymm4 = [2,5,8,11]424; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm4425; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm2, (%rsi)426; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm3, (%rdx)427; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm4, (%rcx)428; AVX512DQ-BW-FCP-NEXT:    vzeroupper429; AVX512DQ-BW-FCP-NEXT:    retq430  %wide.vec = load <12 x i64>, ptr %in.vec, align 64431  %strided.vec0 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <4 x i32> <i32 0, i32 3, i32 6, i32 9>432  %strided.vec1 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <4 x i32> <i32 1, i32 4, i32 7, i32 10>433  %strided.vec2 = shufflevector <12 x i64> %wide.vec, <12 x i64> poison, <4 x i32> <i32 2, i32 5, i32 8, i32 11>434  store <4 x i64> %strided.vec0, ptr %out.vec0, align 64435  store <4 x i64> %strided.vec1, ptr %out.vec1, align 64436  store <4 x i64> %strided.vec2, ptr %out.vec2, align 64437  ret void438}439 440define void @load_i64_stride3_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {441; SSE-LABEL: load_i64_stride3_vf8:442; SSE:       # %bb.0:443; SSE-NEXT:    movapd 128(%rdi), %xmm2444; SSE-NEXT:    movapd 176(%rdi), %xmm1445; SSE-NEXT:    movapd 80(%rdi), %xmm0446; SSE-NEXT:    movapd 96(%rdi), %xmm3447; SSE-NEXT:    movapd 112(%rdi), %xmm8448; SSE-NEXT:    movapd 144(%rdi), %xmm5449; SSE-NEXT:    movapd 160(%rdi), %xmm9450; SSE-NEXT:    movapd (%rdi), %xmm6451; SSE-NEXT:    movapd 16(%rdi), %xmm10452; SSE-NEXT:    movapd 32(%rdi), %xmm4453; SSE-NEXT:    movapd 48(%rdi), %xmm7454; SSE-NEXT:    movapd 64(%rdi), %xmm11455; SSE-NEXT:    movapd %xmm11, %xmm12456; SSE-NEXT:    movsd {{.*#+}} xmm12 = xmm7[0],xmm12[1]457; SSE-NEXT:    movapd %xmm9, %xmm13458; SSE-NEXT:    movsd {{.*#+}} xmm13 = xmm5[0],xmm13[1]459; SSE-NEXT:    movapd %xmm8, %xmm14460; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm3[0],xmm14[1]461; SSE-NEXT:    movapd %xmm10, %xmm15462; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm6[0],xmm15[1]463; SSE-NEXT:    shufpd {{.*#+}} xmm7 = xmm7[1],xmm0[0]464; SSE-NEXT:    shufpd {{.*#+}} xmm5 = xmm5[1],xmm1[0]465; SSE-NEXT:    shufpd {{.*#+}} xmm3 = xmm3[1],xmm2[0]466; SSE-NEXT:    shufpd {{.*#+}} xmm6 = xmm6[1],xmm4[0]467; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm11[0],xmm0[1]468; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm9[0],xmm1[1]469; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm8[0],xmm2[1]470; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm10[0],xmm4[1]471; SSE-NEXT:    movapd %xmm14, 32(%rsi)472; SSE-NEXT:    movapd %xmm13, 48(%rsi)473; SSE-NEXT:    movapd %xmm15, (%rsi)474; SSE-NEXT:    movapd %xmm12, 16(%rsi)475; SSE-NEXT:    movapd %xmm3, 32(%rdx)476; SSE-NEXT:    movapd %xmm5, 48(%rdx)477; SSE-NEXT:    movapd %xmm6, (%rdx)478; SSE-NEXT:    movapd %xmm7, 16(%rdx)479; SSE-NEXT:    movapd %xmm2, 32(%rcx)480; SSE-NEXT:    movapd %xmm1, 48(%rcx)481; SSE-NEXT:    movapd %xmm4, (%rcx)482; SSE-NEXT:    movapd %xmm0, 16(%rcx)483; SSE-NEXT:    retq484;485; AVX-LABEL: load_i64_stride3_vf8:486; AVX:       # %bb.0:487; AVX-NEXT:    vmovapd 128(%rdi), %ymm0488; AVX-NEXT:    vmovapd 32(%rdi), %ymm1489; AVX-NEXT:    vmovaps 16(%rdi), %xmm2490; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = mem[0,1],ymm1[2,3]491; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm2, %ymm2492; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm3[0],ymm2[1],ymm3[2],ymm2[3]493; AVX-NEXT:    vmovaps 112(%rdi), %xmm5494; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = mem[0,1],ymm0[2,3]495; AVX-NEXT:    vinsertf128 $1, 160(%rdi), %ymm5, %ymm5496; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm6[0],ymm5[1],ymm6[2],ymm5[3]497; AVX-NEXT:    vshufpd {{.*#+}} ymm3 = ymm3[1],ymm1[0],ymm3[3],ymm1[3]498; AVX-NEXT:    vbroadcastsd 80(%rdi), %ymm8499; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm3[0,1,2],ymm8[3]500; AVX-NEXT:    vshufpd {{.*#+}} ymm6 = ymm6[1],ymm0[0],ymm6[3],ymm0[3]501; AVX-NEXT:    vbroadcastsd 176(%rdi), %ymm8502; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0,1,2],ymm8[3]503; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2,3]504; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm2[0],ymm1[1],ymm2[2],ymm1[3]505; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2,3]506; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm5[0],ymm0[1],ymm5[2],ymm0[3]507; AVX-NEXT:    vmovapd %ymm7, 32(%rsi)508; AVX-NEXT:    vmovapd %ymm4, (%rsi)509; AVX-NEXT:    vmovapd %ymm6, 32(%rdx)510; AVX-NEXT:    vmovapd %ymm3, (%rdx)511; AVX-NEXT:    vmovapd %ymm0, 32(%rcx)512; AVX-NEXT:    vmovapd %ymm1, (%rcx)513; AVX-NEXT:    vzeroupper514; AVX-NEXT:    retq515;516; AVX2-LABEL: load_i64_stride3_vf8:517; AVX2:       # %bb.0:518; AVX2-NEXT:    vmovaps 128(%rdi), %ymm0519; AVX2-NEXT:    vmovaps 96(%rdi), %ymm1520; AVX2-NEXT:    vmovaps 32(%rdi), %ymm2521; AVX2-NEXT:    vmovaps (%rdi), %ymm3522; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm4523; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = ymm3[0,3,2,3]524; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm2[4,5,6,7]525; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]526; AVX2-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm5527; AVX2-NEXT:    vpermpd {{.*#+}} ymm6 = ymm1[0,3,2,3]528; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5,6,7]529; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]530; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]531; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]532; AVX2-NEXT:    vbroadcastsd 80(%rdi), %ymm3533; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]534; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]535; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]536; AVX2-NEXT:    vbroadcastsd 176(%rdi), %ymm1537; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]538; AVX2-NEXT:    vmovaps 16(%rdi), %xmm1539; AVX2-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]540; AVX2-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]541; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]542; AVX2-NEXT:    vmovaps 112(%rdi), %xmm3543; AVX2-NEXT:    vblendps {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]544; AVX2-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]545; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]546; AVX2-NEXT:    vmovaps %ymm5, 32(%rsi)547; AVX2-NEXT:    vmovaps %ymm4, (%rsi)548; AVX2-NEXT:    vmovaps %ymm0, 32(%rdx)549; AVX2-NEXT:    vmovaps %ymm2, (%rdx)550; AVX2-NEXT:    vmovaps %ymm3, 32(%rcx)551; AVX2-NEXT:    vmovaps %ymm1, (%rcx)552; AVX2-NEXT:    vzeroupper553; AVX2-NEXT:    retq554;555; AVX2-FP-LABEL: load_i64_stride3_vf8:556; AVX2-FP:       # %bb.0:557; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm0558; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm1559; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm2560; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm3561; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm4562; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm3[0,3,2,3]563; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm2[4,5,6,7]564; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]565; AVX2-FP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm5566; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm6 = ymm1[0,3,2,3]567; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5,6,7]568; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]569; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]570; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]571; AVX2-FP-NEXT:    vbroadcastsd 80(%rdi), %ymm3572; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]573; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]574; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]575; AVX2-FP-NEXT:    vbroadcastsd 176(%rdi), %ymm1576; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]577; AVX2-FP-NEXT:    vmovaps 16(%rdi), %xmm1578; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]579; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]580; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]581; AVX2-FP-NEXT:    vmovaps 112(%rdi), %xmm3582; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]583; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]584; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]585; AVX2-FP-NEXT:    vmovaps %ymm5, 32(%rsi)586; AVX2-FP-NEXT:    vmovaps %ymm4, (%rsi)587; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%rdx)588; AVX2-FP-NEXT:    vmovaps %ymm2, (%rdx)589; AVX2-FP-NEXT:    vmovaps %ymm3, 32(%rcx)590; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)591; AVX2-FP-NEXT:    vzeroupper592; AVX2-FP-NEXT:    retq593;594; AVX2-FCP-LABEL: load_i64_stride3_vf8:595; AVX2-FCP:       # %bb.0:596; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm0597; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm1598; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm2599; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm3600; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm4601; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = ymm3[0,3,2,3]602; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm2[4,5,6,7]603; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]604; AVX2-FCP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm5605; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm6 = ymm1[0,3,2,3]606; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm0[4,5,6,7]607; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]608; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3],ymm2[4,5,6,7]609; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]610; AVX2-FCP-NEXT:    vbroadcastsd 80(%rdi), %ymm3611; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]612; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3],ymm0[4,5,6,7]613; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]614; AVX2-FCP-NEXT:    vbroadcastsd 176(%rdi), %ymm1615; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]616; AVX2-FCP-NEXT:    vmovaps 16(%rdi), %xmm1617; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]618; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm3 = mem[0,1,0,3]619; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]620; AVX2-FCP-NEXT:    vmovaps 112(%rdi), %xmm3621; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]622; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]623; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm6[4,5,6,7]624; AVX2-FCP-NEXT:    vmovaps %ymm5, 32(%rsi)625; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rsi)626; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%rdx)627; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rdx)628; AVX2-FCP-NEXT:    vmovaps %ymm3, 32(%rcx)629; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rcx)630; AVX2-FCP-NEXT:    vzeroupper631; AVX2-FCP-NEXT:    retq632;633; AVX512-LABEL: load_i64_stride3_vf8:634; AVX512:       # %bb.0:635; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm0636; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm1637; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm2638; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]639; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3640; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]641; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4642; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]643; AVX512-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3644; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]645; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5646; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]647; AVX512-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3648; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]649; AVX512-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0650; AVX512-NEXT:    vmovdqa64 %zmm4, (%rsi)651; AVX512-NEXT:    vmovdqa64 %zmm5, (%rdx)652; AVX512-NEXT:    vmovdqa64 %zmm0, (%rcx)653; AVX512-NEXT:    vzeroupper654; AVX512-NEXT:    retq655;656; AVX512-FCP-LABEL: load_i64_stride3_vf8:657; AVX512-FCP:       # %bb.0:658; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0659; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1660; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2661; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]662; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3663; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]664; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4665; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]666; AVX512-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3667; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]668; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5669; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]670; AVX512-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3671; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]672; AVX512-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0673; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)674; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)675; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%rcx)676; AVX512-FCP-NEXT:    vzeroupper677; AVX512-FCP-NEXT:    retq678;679; AVX512DQ-LABEL: load_i64_stride3_vf8:680; AVX512DQ:       # %bb.0:681; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm0682; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm1683; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm2684; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]685; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3686; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]687; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4688; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]689; AVX512DQ-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3690; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]691; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5692; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]693; AVX512DQ-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3694; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]695; AVX512DQ-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0696; AVX512DQ-NEXT:    vmovdqa64 %zmm4, (%rsi)697; AVX512DQ-NEXT:    vmovdqa64 %zmm5, (%rdx)698; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%rcx)699; AVX512DQ-NEXT:    vzeroupper700; AVX512DQ-NEXT:    retq701;702; AVX512DQ-FCP-LABEL: load_i64_stride3_vf8:703; AVX512DQ-FCP:       # %bb.0:704; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0705; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1706; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2707; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]708; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3709; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]710; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4711; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]712; AVX512DQ-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3713; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]714; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5715; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]716; AVX512DQ-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3717; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]718; AVX512DQ-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0719; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)720; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)721; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%rcx)722; AVX512DQ-FCP-NEXT:    vzeroupper723; AVX512DQ-FCP-NEXT:    retq724;725; AVX512BW-LABEL: load_i64_stride3_vf8:726; AVX512BW:       # %bb.0:727; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm0728; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm1729; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm2730; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]731; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3732; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]733; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4734; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]735; AVX512BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3736; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]737; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5738; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]739; AVX512BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3740; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]741; AVX512BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0742; AVX512BW-NEXT:    vmovdqa64 %zmm4, (%rsi)743; AVX512BW-NEXT:    vmovdqa64 %zmm5, (%rdx)744; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%rcx)745; AVX512BW-NEXT:    vzeroupper746; AVX512BW-NEXT:    retq747;748; AVX512BW-FCP-LABEL: load_i64_stride3_vf8:749; AVX512BW-FCP:       # %bb.0:750; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0751; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1752; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2753; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]754; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3755; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]756; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4757; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]758; AVX512BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3759; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]760; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5761; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]762; AVX512BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3763; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]764; AVX512BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0765; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)766; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)767; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rcx)768; AVX512BW-FCP-NEXT:    vzeroupper769; AVX512BW-FCP-NEXT:    retq770;771; AVX512DQ-BW-LABEL: load_i64_stride3_vf8:772; AVX512DQ-BW:       # %bb.0:773; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm0774; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm1775; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm2776; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]777; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3778; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]779; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4780; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]781; AVX512DQ-BW-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3782; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]783; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5784; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]785; AVX512DQ-BW-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3786; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]787; AVX512DQ-BW-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0788; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, (%rsi)789; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, (%rdx)790; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%rcx)791; AVX512DQ-BW-NEXT:    vzeroupper792; AVX512DQ-BW-NEXT:    retq793;794; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf8:795; AVX512DQ-BW-FCP:       # %bb.0:796; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm0797; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm1798; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm2799; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [0,3,6,9,12,15,0,0]800; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3801; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm4 = [0,1,2,3,4,5,10,13]802; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm4803; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [1,4,7,10,13,0,0,0]804; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm1, %zmm0, %zmm3805; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,8,11,14]806; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm5807; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm3 = [10,13,0,3,6,0,0,0]808; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm0, %zmm1, %zmm3809; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm0 = [0,1,2,3,4,9,12,15]810; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm2, %zmm3, %zmm0811; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, (%rsi)812; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, (%rdx)813; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rcx)814; AVX512DQ-BW-FCP-NEXT:    vzeroupper815; AVX512DQ-BW-FCP-NEXT:    retq816  %wide.vec = load <24 x i64>, ptr %in.vec, align 64817  %strided.vec0 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <8 x i32> <i32 0, i32 3, i32 6, i32 9, i32 12, i32 15, i32 18, i32 21>818  %strided.vec1 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <8 x i32> <i32 1, i32 4, i32 7, i32 10, i32 13, i32 16, i32 19, i32 22>819  %strided.vec2 = shufflevector <24 x i64> %wide.vec, <24 x i64> poison, <8 x i32> <i32 2, i32 5, i32 8, i32 11, i32 14, i32 17, i32 20, i32 23>820  store <8 x i64> %strided.vec0, ptr %out.vec0, align 64821  store <8 x i64> %strided.vec1, ptr %out.vec1, align 64822  store <8 x i64> %strided.vec2, ptr %out.vec2, align 64823  ret void824}825 826define void @load_i64_stride3_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {827; SSE-LABEL: load_i64_stride3_vf16:828; SSE:       # %bb.0:829; SSE-NEXT:    subq $24, %rsp830; SSE-NEXT:    movapd 128(%rdi), %xmm0831; SSE-NEXT:    movapd 176(%rdi), %xmm1832; SSE-NEXT:    movapd 224(%rdi), %xmm4833; SSE-NEXT:    movapd 272(%rdi), %xmm3834; SSE-NEXT:    movapd 80(%rdi), %xmm2835; SSE-NEXT:    movapd 96(%rdi), %xmm5836; SSE-NEXT:    movapd 112(%rdi), %xmm12837; SSE-NEXT:    movapd 144(%rdi), %xmm6838; SSE-NEXT:    movapd 160(%rdi), %xmm14839; SSE-NEXT:    movapd 192(%rdi), %xmm7840; SSE-NEXT:    movapd 208(%rdi), %xmm11841; SSE-NEXT:    movapd 240(%rdi), %xmm10842; SSE-NEXT:    movapd 256(%rdi), %xmm13843; SSE-NEXT:    movapd 48(%rdi), %xmm9844; SSE-NEXT:    movapd 64(%rdi), %xmm15845; SSE-NEXT:    movapd %xmm15, %xmm8846; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm9[0],xmm8[1]847; SSE-NEXT:    movapd %xmm8, (%rsp) # 16-byte Spill848; SSE-NEXT:    shufpd {{.*#+}} xmm9 = xmm9[1],xmm2[0]849; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm15[0],xmm2[1]850; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill851; SSE-NEXT:    movapd %xmm14, %xmm15852; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm6[0],xmm15[1]853; SSE-NEXT:    shufpd {{.*#+}} xmm6 = xmm6[1],xmm1[0]854; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill855; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm14[0],xmm1[1]856; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill857; SSE-NEXT:    movapd %xmm12, %xmm14858; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm5[0],xmm14[1]859; SSE-NEXT:    shufpd {{.*#+}} xmm5 = xmm5[1],xmm0[0]860; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill861; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm12[0],xmm0[1]862; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill863; SSE-NEXT:    movapd %xmm13, %xmm12864; SSE-NEXT:    movsd {{.*#+}} xmm12 = xmm10[0],xmm12[1]865; SSE-NEXT:    shufpd {{.*#+}} xmm10 = xmm10[1],xmm3[0]866; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm13[0],xmm3[1]867; SSE-NEXT:    movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill868; SSE-NEXT:    movapd %xmm11, %xmm8869; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm7[0],xmm8[1]870; SSE-NEXT:    shufpd {{.*#+}} xmm7 = xmm7[1],xmm4[0]871; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill872; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm11[0],xmm4[1]873; SSE-NEXT:    movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill874; SSE-NEXT:    movapd 336(%rdi), %xmm13875; SSE-NEXT:    movapd 352(%rdi), %xmm0876; SSE-NEXT:    movapd %xmm0, %xmm7877; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm13[0],xmm7[1]878; SSE-NEXT:    movapd 368(%rdi), %xmm11879; SSE-NEXT:    shufpd {{.*#+}} xmm13 = xmm13[1],xmm11[0]880; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm0[0],xmm11[1]881; SSE-NEXT:    movapd 288(%rdi), %xmm0882; SSE-NEXT:    movapd 304(%rdi), %xmm2883; SSE-NEXT:    movapd %xmm2, %xmm1884; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]885; SSE-NEXT:    movapd 320(%rdi), %xmm6886; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1],xmm6[0]887; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm2[0],xmm6[1]888; SSE-NEXT:    movapd (%rdi), %xmm2889; SSE-NEXT:    movapd 16(%rdi), %xmm5890; SSE-NEXT:    movapd %xmm5, %xmm3891; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm2[0],xmm3[1]892; SSE-NEXT:    movapd 32(%rdi), %xmm4893; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm4[0]894; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm5[0],xmm4[1]895; SSE-NEXT:    movapd %xmm1, 96(%rsi)896; SSE-NEXT:    movapd %xmm14, 32(%rsi)897; SSE-NEXT:    movapd %xmm7, 112(%rsi)898; SSE-NEXT:    movapd %xmm15, 48(%rsi)899; SSE-NEXT:    movapd %xmm8, 64(%rsi)900; SSE-NEXT:    movapd %xmm3, (%rsi)901; SSE-NEXT:    movapd %xmm12, 80(%rsi)902; SSE-NEXT:    movaps (%rsp), %xmm1 # 16-byte Reload903; SSE-NEXT:    movaps %xmm1, 16(%rsi)904; SSE-NEXT:    movapd %xmm0, 96(%rdx)905; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload906; SSE-NEXT:    movaps %xmm0, 32(%rdx)907; SSE-NEXT:    movapd %xmm13, 112(%rdx)908; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload909; SSE-NEXT:    movaps %xmm0, 48(%rdx)910; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload911; SSE-NEXT:    movaps %xmm0, 64(%rdx)912; SSE-NEXT:    movapd %xmm2, (%rdx)913; SSE-NEXT:    movapd %xmm10, 80(%rdx)914; SSE-NEXT:    movapd %xmm9, 16(%rdx)915; SSE-NEXT:    movapd %xmm6, 96(%rcx)916; SSE-NEXT:    movapd %xmm11, 112(%rcx)917; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload918; SSE-NEXT:    movaps %xmm0, 64(%rcx)919; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload920; SSE-NEXT:    movaps %xmm0, 80(%rcx)921; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload922; SSE-NEXT:    movaps %xmm0, 32(%rcx)923; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload924; SSE-NEXT:    movaps %xmm0, 48(%rcx)925; SSE-NEXT:    movapd %xmm4, (%rcx)926; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload927; SSE-NEXT:    movaps %xmm0, 16(%rcx)928; SSE-NEXT:    addq $24, %rsp929; SSE-NEXT:    retq930;931; AVX-LABEL: load_i64_stride3_vf16:932; AVX:       # %bb.0:933; AVX-NEXT:    vmovapd 32(%rdi), %ymm1934; AVX-NEXT:    vmovapd 224(%rdi), %ymm0935; AVX-NEXT:    vmovapd 320(%rdi), %ymm2936; AVX-NEXT:    vmovapd 128(%rdi), %ymm5937; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = mem[0,1],ymm5[2,3]938; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = mem[0,1],ymm2[2,3]939; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = mem[0,1],ymm0[2,3]940; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = mem[0,1],ymm1[2,3]941; AVX-NEXT:    vshufpd {{.*#+}} ymm4 = ymm7[1],ymm5[0],ymm7[3],ymm5[3]942; AVX-NEXT:    vbroadcastsd 176(%rdi), %ymm6943; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0,1,2],ymm6[3]944; AVX-NEXT:    vshufpd {{.*#+}} ymm6 = ymm8[1],ymm2[0],ymm8[3],ymm2[3]945; AVX-NEXT:    vbroadcastsd 368(%rdi), %ymm10946; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0,1,2],ymm10[3]947; AVX-NEXT:    vshufpd {{.*#+}} ymm10 = ymm9[1],ymm1[0],ymm9[3],ymm1[3]948; AVX-NEXT:    vbroadcastsd 80(%rdi), %ymm11949; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm10[0,1,2],ymm11[3]950; AVX-NEXT:    vshufpd {{.*#+}} ymm11 = ymm3[1],ymm0[0],ymm3[3],ymm0[3]951; AVX-NEXT:    vbroadcastsd 272(%rdi), %ymm12952; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = ymm11[0,1,2],ymm12[3]953; AVX-NEXT:    vmovaps 112(%rdi), %xmm12954; AVX-NEXT:    vinsertf128 $1, 160(%rdi), %ymm12, %ymm12955; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm7[0],ymm12[1],ymm7[2],ymm12[3]956; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm5[0,1],mem[2,3]957; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3]958; AVX-NEXT:    vmovaps 304(%rdi), %xmm12959; AVX-NEXT:    vinsertf128 $1, 352(%rdi), %ymm12, %ymm12960; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm8[0],ymm12[1],ymm8[2],ymm12[3]961; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1],mem[2,3]962; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm12[0],ymm2[1],ymm12[2],ymm2[3]963; AVX-NEXT:    vmovaps 16(%rdi), %xmm12964; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm12, %ymm12965; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = ymm9[0],ymm12[1],ymm9[2],ymm12[3]966; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2,3]967; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm12[0],ymm1[1],ymm12[2],ymm1[3]968; AVX-NEXT:    vmovaps 208(%rdi), %xmm12969; AVX-NEXT:    vinsertf128 $1, 256(%rdi), %ymm12, %ymm12970; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm3[0],ymm12[1],ymm3[2],ymm12[3]971; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1],mem[2,3]972; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm12[0],ymm0[1],ymm12[2],ymm0[3]973; AVX-NEXT:    vmovapd %ymm9, (%rsi)974; AVX-NEXT:    vmovapd %ymm3, 64(%rsi)975; AVX-NEXT:    vmovapd %ymm8, 96(%rsi)976; AVX-NEXT:    vmovapd %ymm7, 32(%rsi)977; AVX-NEXT:    vmovapd %ymm11, 64(%rdx)978; AVX-NEXT:    vmovapd %ymm10, (%rdx)979; AVX-NEXT:    vmovapd %ymm6, 96(%rdx)980; AVX-NEXT:    vmovapd %ymm4, 32(%rdx)981; AVX-NEXT:    vmovapd %ymm0, 64(%rcx)982; AVX-NEXT:    vmovapd %ymm1, (%rcx)983; AVX-NEXT:    vmovapd %ymm2, 96(%rcx)984; AVX-NEXT:    vmovapd %ymm5, 32(%rcx)985; AVX-NEXT:    vzeroupper986; AVX-NEXT:    retq987;988; AVX2-LABEL: load_i64_stride3_vf16:989; AVX2:       # %bb.0:990; AVX2-NEXT:    vmovaps 32(%rdi), %ymm8991; AVX2-NEXT:    vmovaps (%rdi), %ymm9992; AVX2-NEXT:    vmovaps 224(%rdi), %ymm6993; AVX2-NEXT:    vmovaps 192(%rdi), %ymm7994; AVX2-NEXT:    vmovaps 320(%rdi), %ymm5995; AVX2-NEXT:    vmovaps 288(%rdi), %ymm10996; AVX2-NEXT:    vmovaps 128(%rdi), %ymm3997; AVX2-NEXT:    vmovaps 96(%rdi), %ymm11998; AVX2-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm0999; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,3,2,3]1000; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]1001; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1002; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm11003; AVX2-NEXT:    vpermpd {{.*#+}} ymm2 = ymm10[0,3,2,3]1004; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]1005; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]1006; AVX2-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm21007; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = ymm7[0,3,2,3]1008; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]1009; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]1010; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm41011; AVX2-NEXT:    vpermpd {{.*#+}} ymm12 = ymm9[0,3,2,3]1012; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm8[4,5,6,7]1013; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm12[0,1,2,3,4,5],ymm4[6,7]1014; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm11[2,3],ymm3[4,5,6,7]1015; AVX2-NEXT:    vshufps {{.*#+}} ymm3 = ymm3[2,3,0,1,6,7,4,5]1016; AVX2-NEXT:    vbroadcastsd 176(%rdi), %ymm111017; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm11[6,7]1018; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]1019; AVX2-NEXT:    vshufps {{.*#+}} ymm5 = ymm5[2,3,0,1,6,7,4,5]1020; AVX2-NEXT:    vbroadcastsd 368(%rdi), %ymm101021; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm10[6,7]1022; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm9[2,3],ymm8[4,5,6,7]1023; AVX2-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]1024; AVX2-NEXT:    vbroadcastsd 80(%rdi), %ymm91025; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]1026; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm7[2,3],ymm6[4,5,6,7]1027; AVX2-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]1028; AVX2-NEXT:    vbroadcastsd 272(%rdi), %ymm71029; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]1030; AVX2-NEXT:    vmovaps 112(%rdi), %xmm71031; AVX2-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]1032; AVX2-NEXT:    vpermpd {{.*#+}} ymm9 = mem[0,1,0,3]1033; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm9[4,5,6,7]1034; AVX2-NEXT:    vmovaps 304(%rdi), %xmm91035; AVX2-NEXT:    vblendps {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]1036; AVX2-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]1037; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]1038; AVX2-NEXT:    vmovaps 16(%rdi), %xmm101039; AVX2-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]1040; AVX2-NEXT:    vpermpd {{.*#+}} ymm11 = mem[0,1,0,3]1041; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]1042; AVX2-NEXT:    vmovaps 208(%rdi), %xmm111043; AVX2-NEXT:    vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1044; AVX2-NEXT:    vpermpd {{.*#+}} ymm12 = mem[0,1,0,3]1045; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]1046; AVX2-NEXT:    vmovaps %ymm4, (%rsi)1047; AVX2-NEXT:    vmovaps %ymm2, 64(%rsi)1048; AVX2-NEXT:    vmovaps %ymm1, 96(%rsi)1049; AVX2-NEXT:    vmovaps %ymm0, 32(%rsi)1050; AVX2-NEXT:    vmovaps %ymm6, 64(%rdx)1051; AVX2-NEXT:    vmovaps %ymm8, (%rdx)1052; AVX2-NEXT:    vmovaps %ymm5, 96(%rdx)1053; AVX2-NEXT:    vmovaps %ymm3, 32(%rdx)1054; AVX2-NEXT:    vmovaps %ymm11, 64(%rcx)1055; AVX2-NEXT:    vmovaps %ymm10, (%rcx)1056; AVX2-NEXT:    vmovaps %ymm9, 96(%rcx)1057; AVX2-NEXT:    vmovaps %ymm7, 32(%rcx)1058; AVX2-NEXT:    vzeroupper1059; AVX2-NEXT:    retq1060;1061; AVX2-FP-LABEL: load_i64_stride3_vf16:1062; AVX2-FP:       # %bb.0:1063; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm81064; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm91065; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm61066; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm71067; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm51068; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm101069; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm31070; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm111071; AVX2-FP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm01072; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,3,2,3]1073; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]1074; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1075; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm11076; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm10[0,3,2,3]1077; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]1078; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]1079; AVX2-FP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm21080; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm7[0,3,2,3]1081; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]1082; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]1083; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm41084; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm9[0,3,2,3]1085; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm8[4,5,6,7]1086; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm12[0,1,2,3,4,5],ymm4[6,7]1087; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm11[2,3],ymm3[4,5,6,7]1088; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm3 = ymm3[2,3,0,1,6,7,4,5]1089; AVX2-FP-NEXT:    vbroadcastsd 176(%rdi), %ymm111090; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm11[6,7]1091; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]1092; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm5 = ymm5[2,3,0,1,6,7,4,5]1093; AVX2-FP-NEXT:    vbroadcastsd 368(%rdi), %ymm101094; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm10[6,7]1095; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm9[2,3],ymm8[4,5,6,7]1096; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]1097; AVX2-FP-NEXT:    vbroadcastsd 80(%rdi), %ymm91098; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]1099; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm7[2,3],ymm6[4,5,6,7]1100; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]1101; AVX2-FP-NEXT:    vbroadcastsd 272(%rdi), %ymm71102; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]1103; AVX2-FP-NEXT:    vmovaps 112(%rdi), %xmm71104; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]1105; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm9 = mem[0,1,0,3]1106; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm9[4,5,6,7]1107; AVX2-FP-NEXT:    vmovaps 304(%rdi), %xmm91108; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]1109; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]1110; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]1111; AVX2-FP-NEXT:    vmovaps 16(%rdi), %xmm101112; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]1113; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm11 = mem[0,1,0,3]1114; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]1115; AVX2-FP-NEXT:    vmovaps 208(%rdi), %xmm111116; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1117; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm12 = mem[0,1,0,3]1118; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]1119; AVX2-FP-NEXT:    vmovaps %ymm4, (%rsi)1120; AVX2-FP-NEXT:    vmovaps %ymm2, 64(%rsi)1121; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rsi)1122; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%rsi)1123; AVX2-FP-NEXT:    vmovaps %ymm6, 64(%rdx)1124; AVX2-FP-NEXT:    vmovaps %ymm8, (%rdx)1125; AVX2-FP-NEXT:    vmovaps %ymm5, 96(%rdx)1126; AVX2-FP-NEXT:    vmovaps %ymm3, 32(%rdx)1127; AVX2-FP-NEXT:    vmovaps %ymm11, 64(%rcx)1128; AVX2-FP-NEXT:    vmovaps %ymm10, (%rcx)1129; AVX2-FP-NEXT:    vmovaps %ymm9, 96(%rcx)1130; AVX2-FP-NEXT:    vmovaps %ymm7, 32(%rcx)1131; AVX2-FP-NEXT:    vzeroupper1132; AVX2-FP-NEXT:    retq1133;1134; AVX2-FCP-LABEL: load_i64_stride3_vf16:1135; AVX2-FCP:       # %bb.0:1136; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm81137; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm91138; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm61139; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm71140; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm51141; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm101142; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm31143; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm111144; AVX2-FCP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm01145; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm11[0,3,2,3]1146; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]1147; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1148; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm11149; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm2 = ymm10[0,3,2,3]1150; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]1151; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]1152; AVX2-FCP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm21153; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = ymm7[0,3,2,3]1154; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]1155; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]1156; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm41157; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm9[0,3,2,3]1158; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm8[4,5,6,7]1159; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm12[0,1,2,3,4,5],ymm4[6,7]1160; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1],ymm11[2,3],ymm3[4,5,6,7]1161; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm3 = ymm3[2,3,0,1,6,7,4,5]1162; AVX2-FCP-NEXT:    vbroadcastsd 176(%rdi), %ymm111163; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm11[6,7]1164; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1],ymm10[2,3],ymm5[4,5,6,7]1165; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm5 = ymm5[2,3,0,1,6,7,4,5]1166; AVX2-FCP-NEXT:    vbroadcastsd 368(%rdi), %ymm101167; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm10[6,7]1168; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1],ymm9[2,3],ymm8[4,5,6,7]1169; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]1170; AVX2-FCP-NEXT:    vbroadcastsd 80(%rdi), %ymm91171; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]1172; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1],ymm7[2,3],ymm6[4,5,6,7]1173; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]1174; AVX2-FCP-NEXT:    vbroadcastsd 272(%rdi), %ymm71175; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]1176; AVX2-FCP-NEXT:    vmovaps 112(%rdi), %xmm71177; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]1178; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm9 = mem[0,1,0,3]1179; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm9[4,5,6,7]1180; AVX2-FCP-NEXT:    vmovaps 304(%rdi), %xmm91181; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]1182; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]1183; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]1184; AVX2-FCP-NEXT:    vmovaps 16(%rdi), %xmm101185; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]1186; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm11 = mem[0,1,0,3]1187; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]1188; AVX2-FCP-NEXT:    vmovaps 208(%rdi), %xmm111189; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1190; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm12 = mem[0,1,0,3]1191; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]1192; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rsi)1193; AVX2-FCP-NEXT:    vmovaps %ymm2, 64(%rsi)1194; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rsi)1195; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%rsi)1196; AVX2-FCP-NEXT:    vmovaps %ymm6, 64(%rdx)1197; AVX2-FCP-NEXT:    vmovaps %ymm8, (%rdx)1198; AVX2-FCP-NEXT:    vmovaps %ymm5, 96(%rdx)1199; AVX2-FCP-NEXT:    vmovaps %ymm3, 32(%rdx)1200; AVX2-FCP-NEXT:    vmovaps %ymm11, 64(%rcx)1201; AVX2-FCP-NEXT:    vmovaps %ymm10, (%rcx)1202; AVX2-FCP-NEXT:    vmovaps %ymm9, 96(%rcx)1203; AVX2-FCP-NEXT:    vmovaps %ymm7, 32(%rcx)1204; AVX2-FCP-NEXT:    vzeroupper1205; AVX2-FCP-NEXT:    retq1206;1207; AVX512-LABEL: load_i64_stride3_vf16:1208; AVX512:       # %bb.0:1209; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm01210; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm11211; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm21212; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm31213; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm41214; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm51215; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1216; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm71217; AVX512-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71218; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1219; AVX512-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71220; AVX512-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61221; AVX512-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61222; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1223; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm91224; AVX512-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91225; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1226; AVX512-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91227; AVX512-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81228; AVX512-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81229; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1230; AVX512-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11231; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1232; AVX512-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11233; AVX512-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31234; AVX512-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31235; AVX512-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1236; AVX512-NEXT:    vmovdqa64 %zmm6, (%rsi)1237; AVX512-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1238; AVX512-NEXT:    vmovdqa64 %zmm8, (%rdx)1239; AVX512-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1240; AVX512-NEXT:    vmovdqa64 %zmm3, (%rcx)1241; AVX512-NEXT:    vzeroupper1242; AVX512-NEXT:    retq1243;1244; AVX512-FCP-LABEL: load_i64_stride3_vf16:1245; AVX512-FCP:       # %bb.0:1246; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm01247; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm11248; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm21249; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm31250; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm41251; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm51252; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1253; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm71254; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71255; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1256; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71257; AVX512-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61258; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61259; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1260; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm91261; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91262; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1263; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91264; AVX512-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81265; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81266; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1267; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11268; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1269; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11270; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31271; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31272; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1273; AVX512-FCP-NEXT:    vmovdqa64 %zmm6, (%rsi)1274; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1275; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)1276; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1277; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)1278; AVX512-FCP-NEXT:    vzeroupper1279; AVX512-FCP-NEXT:    retq1280;1281; AVX512DQ-LABEL: load_i64_stride3_vf16:1282; AVX512DQ:       # %bb.0:1283; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm01284; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm11285; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm21286; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm31287; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm41288; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm51289; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1290; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm71291; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71292; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1293; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71294; AVX512DQ-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61295; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61296; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1297; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm91298; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91299; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1300; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91301; AVX512DQ-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81302; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81303; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1304; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11305; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1306; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11307; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31308; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31309; AVX512DQ-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1310; AVX512DQ-NEXT:    vmovdqa64 %zmm6, (%rsi)1311; AVX512DQ-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1312; AVX512DQ-NEXT:    vmovdqa64 %zmm8, (%rdx)1313; AVX512DQ-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1314; AVX512DQ-NEXT:    vmovdqa64 %zmm3, (%rcx)1315; AVX512DQ-NEXT:    vzeroupper1316; AVX512DQ-NEXT:    retq1317;1318; AVX512DQ-FCP-LABEL: load_i64_stride3_vf16:1319; AVX512DQ-FCP:       # %bb.0:1320; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm01321; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm11322; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm21323; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm31324; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm41325; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm51326; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1327; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm71328; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71329; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1330; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71331; AVX512DQ-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61332; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61333; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1334; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm91335; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91336; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1337; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91338; AVX512DQ-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81339; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81340; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1341; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11342; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1343; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11344; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31345; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31346; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1347; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm6, (%rsi)1348; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1349; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)1350; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1351; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)1352; AVX512DQ-FCP-NEXT:    vzeroupper1353; AVX512DQ-FCP-NEXT:    retq1354;1355; AVX512BW-LABEL: load_i64_stride3_vf16:1356; AVX512BW:       # %bb.0:1357; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm01358; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm11359; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm21360; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm31361; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm41362; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm51363; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1364; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm71365; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71366; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1367; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71368; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61369; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61370; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1371; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm91372; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91373; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1374; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91375; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81376; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81377; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1378; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11379; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1380; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11381; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31382; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31383; AVX512BW-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1384; AVX512BW-NEXT:    vmovdqa64 %zmm6, (%rsi)1385; AVX512BW-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1386; AVX512BW-NEXT:    vmovdqa64 %zmm8, (%rdx)1387; AVX512BW-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1388; AVX512BW-NEXT:    vmovdqa64 %zmm3, (%rcx)1389; AVX512BW-NEXT:    vzeroupper1390; AVX512BW-NEXT:    retq1391;1392; AVX512BW-FCP-LABEL: load_i64_stride3_vf16:1393; AVX512BW-FCP:       # %bb.0:1394; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm01395; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm11396; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm21397; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm31398; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm41399; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm51400; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1401; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm71402; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71403; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1404; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71405; AVX512BW-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61406; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61407; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1408; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm91409; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91410; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1411; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91412; AVX512BW-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81413; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81414; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1415; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11416; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1417; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11418; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31419; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31420; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1421; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, (%rsi)1422; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1423; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)1424; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1425; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)1426; AVX512BW-FCP-NEXT:    vzeroupper1427; AVX512BW-FCP-NEXT:    retq1428;1429; AVX512DQ-BW-LABEL: load_i64_stride3_vf16:1430; AVX512DQ-BW:       # %bb.0:1431; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm01432; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm11433; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm21434; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm31435; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm41436; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm51437; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1438; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm71439; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71440; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1441; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71442; AVX512DQ-BW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61443; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61444; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1445; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm91446; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91447; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1448; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91449; AVX512DQ-BW-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81450; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81451; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1452; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11453; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1454; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11455; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31456; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31457; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1458; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, (%rsi)1459; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1460; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, (%rdx)1461; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1462; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, (%rcx)1463; AVX512DQ-BW-NEXT:    vzeroupper1464; AVX512DQ-BW-NEXT:    retq1465;1466; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf16:1467; AVX512DQ-BW-FCP:       # %bb.0:1468; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm01469; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm11470; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm21471; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm31472; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm41473; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm51474; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm6 = [0,3,6,9,12,15,0,0]1475; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm71476; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm6, %zmm71477; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [0,1,2,3,4,5,10,13]1478; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm8, %zmm71479; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm61480; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm8, %zmm61481; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm8 = [1,4,7,10,13,0,0,0]1482; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm91483; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm8, %zmm91484; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [0,1,2,3,4,8,11,14]1485; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm10, %zmm91486; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm3, %zmm2, %zmm81487; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm10, %zmm81488; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm10 = [10,13,0,3,6,0,0,0]1489; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm10, %zmm11490; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm5 = [0,1,2,3,4,9,12,15]1491; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm5, %zmm11492; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm10, %zmm31493; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm5, %zmm31494; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rsi)1495; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, (%rsi)1496; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, 64(%rdx)1497; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)1498; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)1499; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)1500; AVX512DQ-BW-FCP-NEXT:    vzeroupper1501; AVX512DQ-BW-FCP-NEXT:    retq1502  %wide.vec = load <48 x i64>, ptr %in.vec, align 641503  %strided.vec0 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <16 x i32> <i32 0, i32 3, i32 6, i32 9, i32 12, i32 15, i32 18, i32 21, i32 24, i32 27, i32 30, i32 33, i32 36, i32 39, i32 42, i32 45>1504  %strided.vec1 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <16 x i32> <i32 1, i32 4, i32 7, i32 10, i32 13, i32 16, i32 19, i32 22, i32 25, i32 28, i32 31, i32 34, i32 37, i32 40, i32 43, i32 46>1505  %strided.vec2 = shufflevector <48 x i64> %wide.vec, <48 x i64> poison, <16 x i32> <i32 2, i32 5, i32 8, i32 11, i32 14, i32 17, i32 20, i32 23, i32 26, i32 29, i32 32, i32 35, i32 38, i32 41, i32 44, i32 47>1506  store <16 x i64> %strided.vec0, ptr %out.vec0, align 641507  store <16 x i64> %strided.vec1, ptr %out.vec1, align 641508  store <16 x i64> %strided.vec2, ptr %out.vec2, align 641509  ret void1510}1511 1512define void @load_i64_stride3_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {1513; SSE-LABEL: load_i64_stride3_vf32:1514; SSE:       # %bb.0:1515; SSE-NEXT:    subq $408, %rsp # imm = 0x1981516; SSE-NEXT:    movapd 224(%rdi), %xmm61517; SSE-NEXT:    movapd 272(%rdi), %xmm91518; SSE-NEXT:    movapd 128(%rdi), %xmm51519; SSE-NEXT:    movapd 176(%rdi), %xmm81520; SSE-NEXT:    movapd 80(%rdi), %xmm71521; SSE-NEXT:    movapd 96(%rdi), %xmm101522; SSE-NEXT:    movapd 112(%rdi), %xmm01523; SSE-NEXT:    movapd 144(%rdi), %xmm111524; SSE-NEXT:    movapd 160(%rdi), %xmm11525; SSE-NEXT:    movapd 192(%rdi), %xmm121526; SSE-NEXT:    movapd 208(%rdi), %xmm21527; SSE-NEXT:    movapd 240(%rdi), %xmm131528; SSE-NEXT:    movapd 256(%rdi), %xmm31529; SSE-NEXT:    movapd 48(%rdi), %xmm141530; SSE-NEXT:    movapd 64(%rdi), %xmm41531; SSE-NEXT:    movapd %xmm4, %xmm151532; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm14[0],xmm15[1]1533; SSE-NEXT:    movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1534; SSE-NEXT:    shufpd {{.*#+}} xmm14 = xmm14[1],xmm7[0]1535; SSE-NEXT:    movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1536; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm4[0],xmm7[1]1537; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1538; SSE-NEXT:    movapd %xmm0, %xmm41539; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm10[0],xmm4[1]1540; SSE-NEXT:    movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1541; SSE-NEXT:    shufpd {{.*#+}} xmm10 = xmm10[1],xmm5[0]1542; SSE-NEXT:    movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1543; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]1544; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1545; SSE-NEXT:    movapd %xmm1, %xmm01546; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm11[0],xmm0[1]1547; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1548; SSE-NEXT:    shufpd {{.*#+}} xmm11 = xmm11[1],xmm8[0]1549; SSE-NEXT:    movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1550; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm1[0],xmm8[1]1551; SSE-NEXT:    movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1552; SSE-NEXT:    movapd %xmm2, %xmm01553; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm12[0],xmm0[1]1554; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1555; SSE-NEXT:    shufpd {{.*#+}} xmm12 = xmm12[1],xmm6[0]1556; SSE-NEXT:    movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1557; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm2[0],xmm6[1]1558; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1559; SSE-NEXT:    movapd %xmm3, %xmm01560; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm13[0],xmm0[1]1561; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1562; SSE-NEXT:    shufpd {{.*#+}} xmm13 = xmm13[1],xmm9[0]1563; SSE-NEXT:    movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1564; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm3[0],xmm9[1]1565; SSE-NEXT:    movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1566; SSE-NEXT:    movapd 288(%rdi), %xmm21567; SSE-NEXT:    movapd 304(%rdi), %xmm01568; SSE-NEXT:    movapd %xmm0, %xmm11569; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1570; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1571; SSE-NEXT:    movapd 320(%rdi), %xmm11572; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]1573; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1574; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1575; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1576; SSE-NEXT:    movapd 336(%rdi), %xmm21577; SSE-NEXT:    movapd 352(%rdi), %xmm01578; SSE-NEXT:    movapd %xmm0, %xmm11579; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1580; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1581; SSE-NEXT:    movapd 368(%rdi), %xmm11582; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]1583; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1584; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1585; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1586; SSE-NEXT:    movapd 384(%rdi), %xmm21587; SSE-NEXT:    movapd 400(%rdi), %xmm01588; SSE-NEXT:    movapd %xmm0, %xmm11589; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1590; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1591; SSE-NEXT:    movapd 416(%rdi), %xmm11592; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]1593; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1594; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1595; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1596; SSE-NEXT:    movapd 432(%rdi), %xmm21597; SSE-NEXT:    movapd 448(%rdi), %xmm01598; SSE-NEXT:    movapd %xmm0, %xmm11599; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1600; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1601; SSE-NEXT:    movapd 464(%rdi), %xmm11602; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]1603; SSE-NEXT:    movapd %xmm2, (%rsp) # 16-byte Spill1604; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1605; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1606; SSE-NEXT:    movapd 480(%rdi), %xmm21607; SSE-NEXT:    movapd 496(%rdi), %xmm01608; SSE-NEXT:    movapd %xmm0, %xmm11609; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1610; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1611; SSE-NEXT:    movapd 512(%rdi), %xmm11612; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]1613; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1614; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1615; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1616; SSE-NEXT:    movapd 528(%rdi), %xmm151617; SSE-NEXT:    movapd 544(%rdi), %xmm01618; SSE-NEXT:    movapd %xmm0, %xmm11619; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm15[0],xmm1[1]1620; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1621; SSE-NEXT:    movapd 560(%rdi), %xmm11622; SSE-NEXT:    shufpd {{.*#+}} xmm15 = xmm15[1],xmm1[0]1623; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1624; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1625; SSE-NEXT:    movapd 576(%rdi), %xmm121626; SSE-NEXT:    movapd 592(%rdi), %xmm01627; SSE-NEXT:    movapd %xmm0, %xmm141628; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm12[0],xmm14[1]1629; SSE-NEXT:    movapd 608(%rdi), %xmm11630; SSE-NEXT:    shufpd {{.*#+}} xmm12 = xmm12[1],xmm1[0]1631; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1632; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1633; SSE-NEXT:    movapd 624(%rdi), %xmm81634; SSE-NEXT:    movapd 640(%rdi), %xmm01635; SSE-NEXT:    movapd %xmm0, %xmm111636; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm8[0],xmm11[1]1637; SSE-NEXT:    movapd 656(%rdi), %xmm131638; SSE-NEXT:    shufpd {{.*#+}} xmm8 = xmm8[1],xmm13[0]1639; SSE-NEXT:    movsd {{.*#+}} xmm13 = xmm0[0],xmm13[1]1640; SSE-NEXT:    movapd 672(%rdi), %xmm61641; SSE-NEXT:    movapd 688(%rdi), %xmm01642; SSE-NEXT:    movapd %xmm0, %xmm51643; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm6[0],xmm5[1]1644; SSE-NEXT:    movapd 704(%rdi), %xmm101645; SSE-NEXT:    shufpd {{.*#+}} xmm6 = xmm6[1],xmm10[0]1646; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm0[0],xmm10[1]1647; SSE-NEXT:    movapd 720(%rdi), %xmm41648; SSE-NEXT:    movapd 736(%rdi), %xmm21649; SSE-NEXT:    movapd %xmm2, %xmm31650; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm4[0],xmm3[1]1651; SSE-NEXT:    movapd 752(%rdi), %xmm71652; SSE-NEXT:    shufpd {{.*#+}} xmm4 = xmm4[1],xmm7[0]1653; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm2[0],xmm7[1]1654; SSE-NEXT:    movapd (%rdi), %xmm21655; SSE-NEXT:    movapd 16(%rdi), %xmm01656; SSE-NEXT:    movapd %xmm0, %xmm11657; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]1658; SSE-NEXT:    movapd 32(%rdi), %xmm91659; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm9[0]1660; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]1661; SSE-NEXT:    movapd %xmm5, 224(%rsi)1662; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1663; SSE-NEXT:    movaps %xmm0, 160(%rsi)1664; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1665; SSE-NEXT:    movaps %xmm0, 96(%rsi)1666; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1667; SSE-NEXT:    movaps %xmm0, 32(%rsi)1668; SSE-NEXT:    movapd %xmm3, 240(%rsi)1669; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1670; SSE-NEXT:    movaps %xmm0, 176(%rsi)1671; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1672; SSE-NEXT:    movaps %xmm0, 112(%rsi)1673; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1674; SSE-NEXT:    movaps %xmm0, 48(%rsi)1675; SSE-NEXT:    movapd %xmm14, 192(%rsi)1676; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1677; SSE-NEXT:    movaps %xmm0, 128(%rsi)1678; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1679; SSE-NEXT:    movaps %xmm0, 64(%rsi)1680; SSE-NEXT:    movapd %xmm1, (%rsi)1681; SSE-NEXT:    movapd %xmm11, 208(%rsi)1682; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1683; SSE-NEXT:    movaps %xmm0, 144(%rsi)1684; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1685; SSE-NEXT:    movaps %xmm0, 80(%rsi)1686; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1687; SSE-NEXT:    movaps %xmm0, 16(%rsi)1688; SSE-NEXT:    movapd %xmm6, 224(%rdx)1689; SSE-NEXT:    movapd %xmm4, 240(%rdx)1690; SSE-NEXT:    movapd %xmm12, 192(%rdx)1691; SSE-NEXT:    movapd %xmm8, 208(%rdx)1692; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1693; SSE-NEXT:    movaps %xmm0, 160(%rdx)1694; SSE-NEXT:    movapd %xmm15, 176(%rdx)1695; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1696; SSE-NEXT:    movaps %xmm0, 128(%rdx)1697; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload1698; SSE-NEXT:    movaps %xmm0, 144(%rdx)1699; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1700; SSE-NEXT:    movaps %xmm0, 96(%rdx)1701; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1702; SSE-NEXT:    movaps %xmm0, 112(%rdx)1703; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1704; SSE-NEXT:    movaps %xmm0, 64(%rdx)1705; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1706; SSE-NEXT:    movaps %xmm0, 80(%rdx)1707; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1708; SSE-NEXT:    movaps %xmm0, 32(%rdx)1709; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1710; SSE-NEXT:    movaps %xmm0, 48(%rdx)1711; SSE-NEXT:    movapd %xmm2, (%rdx)1712; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1713; SSE-NEXT:    movaps %xmm0, 16(%rdx)1714; SSE-NEXT:    movapd %xmm7, 240(%rcx)1715; SSE-NEXT:    movapd %xmm10, 224(%rcx)1716; SSE-NEXT:    movapd %xmm13, 208(%rcx)1717; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1718; SSE-NEXT:    movaps %xmm0, 192(%rcx)1719; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1720; SSE-NEXT:    movaps %xmm0, 176(%rcx)1721; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1722; SSE-NEXT:    movaps %xmm0, 160(%rcx)1723; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1724; SSE-NEXT:    movaps %xmm0, 144(%rcx)1725; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1726; SSE-NEXT:    movaps %xmm0, 128(%rcx)1727; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1728; SSE-NEXT:    movaps %xmm0, 112(%rcx)1729; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1730; SSE-NEXT:    movaps %xmm0, 96(%rcx)1731; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1732; SSE-NEXT:    movaps %xmm0, 80(%rcx)1733; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1734; SSE-NEXT:    movaps %xmm0, 64(%rcx)1735; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1736; SSE-NEXT:    movaps %xmm0, 48(%rcx)1737; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1738; SSE-NEXT:    movaps %xmm0, 32(%rcx)1739; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1740; SSE-NEXT:    movaps %xmm0, 16(%rcx)1741; SSE-NEXT:    movapd %xmm9, (%rcx)1742; SSE-NEXT:    addq $408, %rsp # imm = 0x1981743; SSE-NEXT:    retq1744;1745; AVX-LABEL: load_i64_stride3_vf32:1746; AVX:       # %bb.0:1747; AVX-NEXT:    subq $232, %rsp1748; AVX-NEXT:    vmovapd 32(%rdi), %ymm71749; AVX-NEXT:    vmovapd 704(%rdi), %ymm131750; AVX-NEXT:    vmovapd 512(%rdi), %ymm91751; AVX-NEXT:    vmovapd 320(%rdi), %ymm81752; AVX-NEXT:    vmovapd 128(%rdi), %ymm101753; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = mem[0,1],ymm10[2,3]1754; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = mem[0,1],ymm8[2,3]1755; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = mem[0,1],ymm9[2,3]1756; AVX-NEXT:    vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1757; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = mem[0,1],ymm13[2,3]1758; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1759; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = mem[0,1],ymm7[2,3]1760; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm12[1],ymm10[0],ymm12[3],ymm10[3]1761; AVX-NEXT:    vbroadcastsd 176(%rdi), %ymm11762; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]1763; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1764; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm11[1],ymm8[0],ymm11[3],ymm8[3]1765; AVX-NEXT:    vbroadcastsd 368(%rdi), %ymm11766; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]1767; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1768; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm3[1],ymm9[0],ymm3[3],ymm9[3]1769; AVX-NEXT:    vbroadcastsd 560(%rdi), %ymm11770; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]1771; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1772; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm2[1],ymm13[0],ymm2[3],ymm13[3]1773; AVX-NEXT:    vbroadcastsd 752(%rdi), %ymm11774; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]1775; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1776; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm15[1],ymm7[0],ymm15[3],ymm7[3]1777; AVX-NEXT:    vbroadcastsd 80(%rdi), %ymm11778; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]1779; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1780; AVX-NEXT:    vmovapd 224(%rdi), %ymm31781; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = mem[0,1],ymm3[2,3]1782; AVX-NEXT:    vshufpd {{.*#+}} ymm1 = ymm4[1],ymm3[0],ymm4[3],ymm3[3]1783; AVX-NEXT:    vbroadcastsd 272(%rdi), %ymm21784; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm2[3]1785; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1786; AVX-NEXT:    vmovapd 416(%rdi), %ymm11787; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = mem[0,1],ymm1[2,3]1788; AVX-NEXT:    vshufpd {{.*#+}} ymm2 = ymm6[1],ymm1[0],ymm6[3],ymm1[3]1789; AVX-NEXT:    vbroadcastsd 464(%rdi), %ymm51790; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm2[0,1,2],ymm5[3]1791; AVX-NEXT:    vmovupd %ymm0, (%rsp) # 32-byte Spill1792; AVX-NEXT:    vmovapd 608(%rdi), %ymm21793; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = mem[0,1],ymm2[2,3]1794; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm5[1],ymm2[0],ymm5[3],ymm2[3]1795; AVX-NEXT:    vbroadcastsd 656(%rdi), %ymm141796; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm14[3]1797; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1798; AVX-NEXT:    vmovaps 112(%rdi), %xmm01799; AVX-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm01800; AVX-NEXT:    vblendpd {{.*#+}} ymm12 = ymm12[0],ymm0[1],ymm12[2],ymm0[3]1801; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm10[0,1],mem[2,3]1802; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm0[0],ymm10[1],ymm0[2],ymm10[3]1803; AVX-NEXT:    vmovaps 16(%rdi), %xmm01804; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm01805; AVX-NEXT:    vblendpd {{.*#+}} ymm15 = ymm15[0],ymm0[1],ymm15[2],ymm0[3]1806; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm7[0,1],mem[2,3]1807; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm7[1],ymm0[2],ymm7[3]1808; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1809; AVX-NEXT:    vmovaps 304(%rdi), %xmm01810; AVX-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm01811; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = ymm11[0],ymm0[1],ymm11[2],ymm0[3]1812; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm8[0,1],mem[2,3]1813; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm0[0],ymm7[1],ymm0[2],ymm7[3]1814; AVX-NEXT:    vmovaps 208(%rdi), %xmm01815; AVX-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm01816; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0],ymm0[1],ymm4[2],ymm0[3]1817; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm3[0,1],mem[2,3]1818; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm3[1],ymm0[2],ymm3[3]1819; AVX-NEXT:    vmovaps 496(%rdi), %xmm31820; AVX-NEXT:    vinsertf128 $1, 544(%rdi), %ymm3, %ymm31821; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm7 # 32-byte Folded Reload1822; AVX-NEXT:    # ymm7 = mem[0],ymm3[1],mem[2],ymm3[3]1823; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm9[0,1],mem[2,3]1824; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm3[0],ymm8[1],ymm3[2],ymm8[3]1825; AVX-NEXT:    vmovaps 400(%rdi), %xmm81826; AVX-NEXT:    vinsertf128 $1, 448(%rdi), %ymm8, %ymm81827; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm6[0],ymm8[1],ymm6[2],ymm8[3]1828; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2,3]1829; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm8[0],ymm1[1],ymm8[2],ymm1[3]1830; AVX-NEXT:    vmovaps 688(%rdi), %xmm81831; AVX-NEXT:    vinsertf128 $1, 736(%rdi), %ymm8, %ymm81832; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm9 # 32-byte Folded Reload1833; AVX-NEXT:    # ymm9 = mem[0],ymm8[1],mem[2],ymm8[3]1834; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm13[0,1],mem[2,3]1835; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm8[0],ymm13[1],ymm8[2],ymm13[3]1836; AVX-NEXT:    vmovaps 592(%rdi), %xmm131837; AVX-NEXT:    vinsertf128 $1, 640(%rdi), %ymm13, %ymm131838; AVX-NEXT:    vblendpd {{.*#+}} ymm5 = ymm5[0],ymm13[1],ymm5[2],ymm13[3]1839; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1],mem[2,3]1840; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm13[0],ymm2[1],ymm13[2],ymm2[3]1841; AVX-NEXT:    vmovapd %ymm5, 192(%rsi)1842; AVX-NEXT:    vmovapd %ymm6, 128(%rsi)1843; AVX-NEXT:    vmovapd %ymm4, 64(%rsi)1844; AVX-NEXT:    vmovapd %ymm15, (%rsi)1845; AVX-NEXT:    vmovapd %ymm9, 224(%rsi)1846; AVX-NEXT:    vmovapd %ymm7, 160(%rsi)1847; AVX-NEXT:    vmovapd %ymm11, 96(%rsi)1848; AVX-NEXT:    vmovapd %ymm12, 32(%rsi)1849; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1850; AVX-NEXT:    vmovaps %ymm4, 192(%rdx)1851; AVX-NEXT:    vmovups (%rsp), %ymm4 # 32-byte Reload1852; AVX-NEXT:    vmovaps %ymm4, 128(%rdx)1853; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1854; AVX-NEXT:    vmovaps %ymm4, 64(%rdx)1855; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1856; AVX-NEXT:    vmovaps %ymm4, (%rdx)1857; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1858; AVX-NEXT:    vmovaps %ymm4, 224(%rdx)1859; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1860; AVX-NEXT:    vmovaps %ymm4, 160(%rdx)1861; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1862; AVX-NEXT:    vmovaps %ymm4, 96(%rdx)1863; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload1864; AVX-NEXT:    vmovaps %ymm4, 32(%rdx)1865; AVX-NEXT:    vmovapd %ymm2, 192(%rcx)1866; AVX-NEXT:    vmovapd %ymm8, 224(%rcx)1867; AVX-NEXT:    vmovapd %ymm1, 128(%rcx)1868; AVX-NEXT:    vmovapd %ymm3, 160(%rcx)1869; AVX-NEXT:    vmovapd %ymm0, 64(%rcx)1870; AVX-NEXT:    vmovapd %ymm10, 96(%rcx)1871; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload1872; AVX-NEXT:    vmovaps %ymm0, (%rcx)1873; AVX-NEXT:    vmovapd %ymm14, 32(%rcx)1874; AVX-NEXT:    addq $232, %rsp1875; AVX-NEXT:    vzeroupper1876; AVX-NEXT:    retq1877;1878; AVX2-LABEL: load_i64_stride3_vf32:1879; AVX2:       # %bb.0:1880; AVX2-NEXT:    subq $232, %rsp1881; AVX2-NEXT:    vmovaps 32(%rdi), %ymm21882; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1883; AVX2-NEXT:    vmovaps (%rdi), %ymm31884; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1885; AVX2-NEXT:    vmovaps 704(%rdi), %ymm111886; AVX2-NEXT:    vmovaps 672(%rdi), %ymm141887; AVX2-NEXT:    vmovaps 512(%rdi), %ymm101888; AVX2-NEXT:    vmovaps 480(%rdi), %ymm151889; AVX2-NEXT:    vmovaps 320(%rdi), %ymm91890; AVX2-NEXT:    vmovaps 288(%rdi), %ymm81891; AVX2-NEXT:    vmovaps 128(%rdi), %ymm71892; AVX2-NEXT:    vmovaps 96(%rdi), %ymm61893; AVX2-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm01894; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm6[0,3,2,3]1895; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm7[4,5,6,7]1896; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1897; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1898; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm01899; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm8[0,3,2,3]1900; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]1901; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1902; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1903; AVX2-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm01904; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[0,3,2,3]1905; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]1906; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1907; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1908; AVX2-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm01909; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm14[0,3,2,3]1910; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]1911; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1912; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1913; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm01914; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]1915; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]1916; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1917; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1918; AVX2-NEXT:    vmovaps 224(%rdi), %ymm51919; AVX2-NEXT:    vmovaps 192(%rdi), %ymm41920; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]1921; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]1922; AVX2-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm11923; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]1924; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1925; AVX2-NEXT:    vmovaps 416(%rdi), %ymm31926; AVX2-NEXT:    vmovaps 384(%rdi), %ymm21927; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]1928; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1929; AVX2-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm11930; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]1931; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1932; AVX2-NEXT:    vmovaps 608(%rdi), %ymm11933; AVX2-NEXT:    vmovaps 576(%rdi), %ymm01934; AVX2-NEXT:    vpermpd {{.*#+}} ymm12 = ymm0[0,3,2,3]1935; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm1[4,5,6,7]1936; AVX2-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm131937; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]1938; AVX2-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1939; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]1940; AVX2-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]1941; AVX2-NEXT:    vbroadcastsd 176(%rdi), %ymm71942; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]1943; AVX2-NEXT:    vmovups %ymm6, (%rsp) # 32-byte Spill1944; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]1945; AVX2-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]1946; AVX2-NEXT:    vbroadcastsd 368(%rdi), %ymm81947; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm7[0,1,2,3,4,5],ymm8[6,7]1948; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm15[2,3],ymm10[4,5,6,7]1949; AVX2-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]1950; AVX2-NEXT:    vbroadcastsd 560(%rdi), %ymm91951; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]1952; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm11[0,1],ymm14[2,3],ymm11[4,5,6,7]1953; AVX2-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]1954; AVX2-NEXT:    vbroadcastsd 752(%rdi), %ymm101955; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm10[6,7]1956; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload1957; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload1958; AVX2-NEXT:    # ymm7 = ymm6[0,1],mem[2,3],ymm6[4,5,6,7]1959; AVX2-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]1960; AVX2-NEXT:    vbroadcastsd 80(%rdi), %ymm101961; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm7[0,1,2,3,4,5],ymm10[6,7]1962; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]1963; AVX2-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]1964; AVX2-NEXT:    vbroadcastsd 272(%rdi), %ymm51965; AVX2-NEXT:    vblendps {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm5[6,7]1966; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]1967; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]1968; AVX2-NEXT:    vbroadcastsd 464(%rdi), %ymm31969; AVX2-NEXT:    vblendps {{.*#+}} ymm15 = ymm2[0,1,2,3,4,5],ymm3[6,7]1970; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]1971; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]1972; AVX2-NEXT:    vbroadcastsd 656(%rdi), %ymm11973; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]1974; AVX2-NEXT:    vmovaps 112(%rdi), %xmm01975; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]1976; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]1977; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]1978; AVX2-NEXT:    vmovaps 16(%rdi), %xmm01979; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]1980; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]1981; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]1982; AVX2-NEXT:    vmovaps 304(%rdi), %xmm01983; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]1984; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]1985; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]1986; AVX2-NEXT:    vmovaps 208(%rdi), %xmm01987; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]1988; AVX2-NEXT:    vpermpd {{.*#+}} ymm4 = mem[0,1,0,3]1989; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]1990; AVX2-NEXT:    vmovaps 496(%rdi), %xmm41991; AVX2-NEXT:    vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]1992; AVX2-NEXT:    vpermpd {{.*#+}} ymm5 = mem[0,1,0,3]1993; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]1994; AVX2-NEXT:    vmovaps 400(%rdi), %xmm51995; AVX2-NEXT:    vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]1996; AVX2-NEXT:    vpermpd {{.*#+}} ymm7 = mem[0,1,0,3]1997; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]1998; AVX2-NEXT:    vmovaps 688(%rdi), %xmm71999; AVX2-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]2000; AVX2-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]2001; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5,6,7]2002; AVX2-NEXT:    vmovaps 592(%rdi), %xmm102003; AVX2-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]2004; AVX2-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]2005; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]2006; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2007; AVX2-NEXT:    vmovaps %ymm10, 192(%rsi)2008; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2009; AVX2-NEXT:    vmovaps %ymm10, 128(%rsi)2010; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2011; AVX2-NEXT:    vmovaps %ymm10, 64(%rsi)2012; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2013; AVX2-NEXT:    vmovaps %ymm10, (%rsi)2014; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2015; AVX2-NEXT:    vmovaps %ymm10, 224(%rsi)2016; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2017; AVX2-NEXT:    vmovaps %ymm10, 160(%rsi)2018; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2019; AVX2-NEXT:    vmovaps %ymm10, 96(%rsi)2020; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2021; AVX2-NEXT:    vmovaps %ymm10, 32(%rsi)2022; AVX2-NEXT:    vmovaps %ymm2, 192(%rdx)2023; AVX2-NEXT:    vmovaps %ymm15, 128(%rdx)2024; AVX2-NEXT:    vmovaps %ymm13, 64(%rdx)2025; AVX2-NEXT:    vmovaps %ymm12, (%rdx)2026; AVX2-NEXT:    vmovaps %ymm11, 224(%rdx)2027; AVX2-NEXT:    vmovaps %ymm9, 160(%rdx)2028; AVX2-NEXT:    vmovaps %ymm8, 96(%rdx)2029; AVX2-NEXT:    vmovups (%rsp), %ymm2 # 32-byte Reload2030; AVX2-NEXT:    vmovaps %ymm2, 32(%rdx)2031; AVX2-NEXT:    vmovaps %ymm6, 192(%rcx)2032; AVX2-NEXT:    vmovaps %ymm7, 224(%rcx)2033; AVX2-NEXT:    vmovaps %ymm5, 128(%rcx)2034; AVX2-NEXT:    vmovaps %ymm4, 160(%rcx)2035; AVX2-NEXT:    vmovaps %ymm0, 64(%rcx)2036; AVX2-NEXT:    vmovaps %ymm1, 96(%rcx)2037; AVX2-NEXT:    vmovaps %ymm3, (%rcx)2038; AVX2-NEXT:    vmovaps %ymm14, 32(%rcx)2039; AVX2-NEXT:    addq $232, %rsp2040; AVX2-NEXT:    vzeroupper2041; AVX2-NEXT:    retq2042;2043; AVX2-FP-LABEL: load_i64_stride3_vf32:2044; AVX2-FP:       # %bb.0:2045; AVX2-FP-NEXT:    subq $232, %rsp2046; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm22047; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2048; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm32049; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2050; AVX2-FP-NEXT:    vmovaps 704(%rdi), %ymm112051; AVX2-FP-NEXT:    vmovaps 672(%rdi), %ymm142052; AVX2-FP-NEXT:    vmovaps 512(%rdi), %ymm102053; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm152054; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm92055; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm82056; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm72057; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm62058; AVX2-FP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm02059; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm6[0,3,2,3]2060; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm7[4,5,6,7]2061; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2062; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2063; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm02064; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm8[0,3,2,3]2065; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]2066; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2067; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2068; AVX2-FP-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm02069; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[0,3,2,3]2070; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]2071; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2072; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2073; AVX2-FP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm02074; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm14[0,3,2,3]2075; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]2076; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2077; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2078; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm02079; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]2080; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]2081; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2082; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2083; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm52084; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm42085; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]2086; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]2087; AVX2-FP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm12088; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2089; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2090; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm32091; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm22092; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]2093; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]2094; AVX2-FP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm12095; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2096; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2097; AVX2-FP-NEXT:    vmovaps 608(%rdi), %ymm12098; AVX2-FP-NEXT:    vmovaps 576(%rdi), %ymm02099; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm0[0,3,2,3]2100; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm1[4,5,6,7]2101; AVX2-FP-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm132102; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]2103; AVX2-FP-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2104; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]2105; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]2106; AVX2-FP-NEXT:    vbroadcastsd 176(%rdi), %ymm72107; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]2108; AVX2-FP-NEXT:    vmovups %ymm6, (%rsp) # 32-byte Spill2109; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]2110; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2111; AVX2-FP-NEXT:    vbroadcastsd 368(%rdi), %ymm82112; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm7[0,1,2,3,4,5],ymm8[6,7]2113; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm15[2,3],ymm10[4,5,6,7]2114; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2115; AVX2-FP-NEXT:    vbroadcastsd 560(%rdi), %ymm92116; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]2117; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm11[0,1],ymm14[2,3],ymm11[4,5,6,7]2118; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2119; AVX2-FP-NEXT:    vbroadcastsd 752(%rdi), %ymm102120; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm10[6,7]2121; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload2122; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload2123; AVX2-FP-NEXT:    # ymm7 = ymm6[0,1],mem[2,3],ymm6[4,5,6,7]2124; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2125; AVX2-FP-NEXT:    vbroadcastsd 80(%rdi), %ymm102126; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm7[0,1,2,3,4,5],ymm10[6,7]2127; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]2128; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]2129; AVX2-FP-NEXT:    vbroadcastsd 272(%rdi), %ymm52130; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm5[6,7]2131; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2132; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]2133; AVX2-FP-NEXT:    vbroadcastsd 464(%rdi), %ymm32134; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm15 = ymm2[0,1,2,3,4,5],ymm3[6,7]2135; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2136; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]2137; AVX2-FP-NEXT:    vbroadcastsd 656(%rdi), %ymm12138; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]2139; AVX2-FP-NEXT:    vmovaps 112(%rdi), %xmm02140; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2141; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2142; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]2143; AVX2-FP-NEXT:    vmovaps 16(%rdi), %xmm02144; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2145; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2146; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]2147; AVX2-FP-NEXT:    vmovaps 304(%rdi), %xmm02148; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2149; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2150; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]2151; AVX2-FP-NEXT:    vmovaps 208(%rdi), %xmm02152; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2153; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm4 = mem[0,1,0,3]2154; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]2155; AVX2-FP-NEXT:    vmovaps 496(%rdi), %xmm42156; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]2157; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm5 = mem[0,1,0,3]2158; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]2159; AVX2-FP-NEXT:    vmovaps 400(%rdi), %xmm52160; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]2161; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm7 = mem[0,1,0,3]2162; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]2163; AVX2-FP-NEXT:    vmovaps 688(%rdi), %xmm72164; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]2165; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]2166; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5,6,7]2167; AVX2-FP-NEXT:    vmovaps 592(%rdi), %xmm102168; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]2169; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]2170; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]2171; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2172; AVX2-FP-NEXT:    vmovaps %ymm10, 192(%rsi)2173; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2174; AVX2-FP-NEXT:    vmovaps %ymm10, 128(%rsi)2175; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2176; AVX2-FP-NEXT:    vmovaps %ymm10, 64(%rsi)2177; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2178; AVX2-FP-NEXT:    vmovaps %ymm10, (%rsi)2179; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2180; AVX2-FP-NEXT:    vmovaps %ymm10, 224(%rsi)2181; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2182; AVX2-FP-NEXT:    vmovaps %ymm10, 160(%rsi)2183; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2184; AVX2-FP-NEXT:    vmovaps %ymm10, 96(%rsi)2185; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2186; AVX2-FP-NEXT:    vmovaps %ymm10, 32(%rsi)2187; AVX2-FP-NEXT:    vmovaps %ymm2, 192(%rdx)2188; AVX2-FP-NEXT:    vmovaps %ymm15, 128(%rdx)2189; AVX2-FP-NEXT:    vmovaps %ymm13, 64(%rdx)2190; AVX2-FP-NEXT:    vmovaps %ymm12, (%rdx)2191; AVX2-FP-NEXT:    vmovaps %ymm11, 224(%rdx)2192; AVX2-FP-NEXT:    vmovaps %ymm9, 160(%rdx)2193; AVX2-FP-NEXT:    vmovaps %ymm8, 96(%rdx)2194; AVX2-FP-NEXT:    vmovups (%rsp), %ymm2 # 32-byte Reload2195; AVX2-FP-NEXT:    vmovaps %ymm2, 32(%rdx)2196; AVX2-FP-NEXT:    vmovaps %ymm6, 192(%rcx)2197; AVX2-FP-NEXT:    vmovaps %ymm7, 224(%rcx)2198; AVX2-FP-NEXT:    vmovaps %ymm5, 128(%rcx)2199; AVX2-FP-NEXT:    vmovaps %ymm4, 160(%rcx)2200; AVX2-FP-NEXT:    vmovaps %ymm0, 64(%rcx)2201; AVX2-FP-NEXT:    vmovaps %ymm1, 96(%rcx)2202; AVX2-FP-NEXT:    vmovaps %ymm3, (%rcx)2203; AVX2-FP-NEXT:    vmovaps %ymm14, 32(%rcx)2204; AVX2-FP-NEXT:    addq $232, %rsp2205; AVX2-FP-NEXT:    vzeroupper2206; AVX2-FP-NEXT:    retq2207;2208; AVX2-FCP-LABEL: load_i64_stride3_vf32:2209; AVX2-FCP:       # %bb.0:2210; AVX2-FCP-NEXT:    subq $232, %rsp2211; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm22212; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2213; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm32214; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2215; AVX2-FCP-NEXT:    vmovaps 704(%rdi), %ymm112216; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %ymm142217; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %ymm102218; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm152219; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm92220; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm82221; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm72222; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm62223; AVX2-FCP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm02224; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm6[0,3,2,3]2225; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm7[4,5,6,7]2226; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2227; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2228; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm02229; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm8[0,3,2,3]2230; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]2231; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2232; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2233; AVX2-FCP-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm02234; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm15[0,3,2,3]2235; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]2236; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2237; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2238; AVX2-FCP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm02239; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm14[0,3,2,3]2240; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]2241; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2242; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2243; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm02244; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]2245; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]2246; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]2247; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2248; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm52249; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm42250; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]2251; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]2252; AVX2-FCP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm12253; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2254; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2255; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm32256; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm22257; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]2258; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]2259; AVX2-FCP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm12260; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2261; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2262; AVX2-FCP-NEXT:    vmovaps 608(%rdi), %ymm12263; AVX2-FCP-NEXT:    vmovaps 576(%rdi), %ymm02264; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm12 = ymm0[0,3,2,3]2265; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm1[4,5,6,7]2266; AVX2-FCP-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm132267; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]2268; AVX2-FCP-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2269; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]2270; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]2271; AVX2-FCP-NEXT:    vbroadcastsd 176(%rdi), %ymm72272; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]2273; AVX2-FCP-NEXT:    vmovups %ymm6, (%rsp) # 32-byte Spill2274; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]2275; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2276; AVX2-FCP-NEXT:    vbroadcastsd 368(%rdi), %ymm82277; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm7[0,1,2,3,4,5],ymm8[6,7]2278; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm10[0,1],ymm15[2,3],ymm10[4,5,6,7]2279; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2280; AVX2-FCP-NEXT:    vbroadcastsd 560(%rdi), %ymm92281; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]2282; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm11[0,1],ymm14[2,3],ymm11[4,5,6,7]2283; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2284; AVX2-FCP-NEXT:    vbroadcastsd 752(%rdi), %ymm102285; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm10[6,7]2286; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload2287; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload2288; AVX2-FCP-NEXT:    # ymm7 = ymm6[0,1],mem[2,3],ymm6[4,5,6,7]2289; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm7 = ymm7[2,3,0,1,6,7,4,5]2290; AVX2-FCP-NEXT:    vbroadcastsd 80(%rdi), %ymm102291; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm7[0,1,2,3,4,5],ymm10[6,7]2292; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]2293; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]2294; AVX2-FCP-NEXT:    vbroadcastsd 272(%rdi), %ymm52295; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm5[6,7]2296; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]2297; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]2298; AVX2-FCP-NEXT:    vbroadcastsd 464(%rdi), %ymm32299; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm15 = ymm2[0,1,2,3,4,5],ymm3[6,7]2300; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]2301; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]2302; AVX2-FCP-NEXT:    vbroadcastsd 656(%rdi), %ymm12303; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]2304; AVX2-FCP-NEXT:    vmovaps 112(%rdi), %xmm02305; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2306; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2307; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]2308; AVX2-FCP-NEXT:    vmovaps 16(%rdi), %xmm02309; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2310; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2311; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]2312; AVX2-FCP-NEXT:    vmovaps 304(%rdi), %xmm02313; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2314; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]2315; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]2316; AVX2-FCP-NEXT:    vmovaps 208(%rdi), %xmm02317; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]2318; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm4 = mem[0,1,0,3]2319; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]2320; AVX2-FCP-NEXT:    vmovaps 496(%rdi), %xmm42321; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]2322; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm5 = mem[0,1,0,3]2323; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]2324; AVX2-FCP-NEXT:    vmovaps 400(%rdi), %xmm52325; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]2326; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm7 = mem[0,1,0,3]2327; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm7[4,5,6,7]2328; AVX2-FCP-NEXT:    vmovaps 688(%rdi), %xmm72329; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]2330; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm10 = mem[0,1,0,3]2331; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm10[4,5,6,7]2332; AVX2-FCP-NEXT:    vmovaps 592(%rdi), %xmm102333; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]2334; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm6 = mem[0,1,0,3]2335; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]2336; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2337; AVX2-FCP-NEXT:    vmovaps %ymm10, 192(%rsi)2338; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2339; AVX2-FCP-NEXT:    vmovaps %ymm10, 128(%rsi)2340; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2341; AVX2-FCP-NEXT:    vmovaps %ymm10, 64(%rsi)2342; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2343; AVX2-FCP-NEXT:    vmovaps %ymm10, (%rsi)2344; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2345; AVX2-FCP-NEXT:    vmovaps %ymm10, 224(%rsi)2346; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2347; AVX2-FCP-NEXT:    vmovaps %ymm10, 160(%rsi)2348; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2349; AVX2-FCP-NEXT:    vmovaps %ymm10, 96(%rsi)2350; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload2351; AVX2-FCP-NEXT:    vmovaps %ymm10, 32(%rsi)2352; AVX2-FCP-NEXT:    vmovaps %ymm2, 192(%rdx)2353; AVX2-FCP-NEXT:    vmovaps %ymm15, 128(%rdx)2354; AVX2-FCP-NEXT:    vmovaps %ymm13, 64(%rdx)2355; AVX2-FCP-NEXT:    vmovaps %ymm12, (%rdx)2356; AVX2-FCP-NEXT:    vmovaps %ymm11, 224(%rdx)2357; AVX2-FCP-NEXT:    vmovaps %ymm9, 160(%rdx)2358; AVX2-FCP-NEXT:    vmovaps %ymm8, 96(%rdx)2359; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm2 # 32-byte Reload2360; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rdx)2361; AVX2-FCP-NEXT:    vmovaps %ymm6, 192(%rcx)2362; AVX2-FCP-NEXT:    vmovaps %ymm7, 224(%rcx)2363; AVX2-FCP-NEXT:    vmovaps %ymm5, 128(%rcx)2364; AVX2-FCP-NEXT:    vmovaps %ymm4, 160(%rcx)2365; AVX2-FCP-NEXT:    vmovaps %ymm0, 64(%rcx)2366; AVX2-FCP-NEXT:    vmovaps %ymm1, 96(%rcx)2367; AVX2-FCP-NEXT:    vmovaps %ymm3, (%rcx)2368; AVX2-FCP-NEXT:    vmovaps %ymm14, 32(%rcx)2369; AVX2-FCP-NEXT:    addq $232, %rsp2370; AVX2-FCP-NEXT:    vzeroupper2371; AVX2-FCP-NEXT:    retq2372;2373; AVX512-LABEL: load_i64_stride3_vf32:2374; AVX512:       # %bb.0:2375; AVX512-NEXT:    vmovdqa64 704(%rdi), %zmm42376; AVX512-NEXT:    vmovdqa64 640(%rdi), %zmm02377; AVX512-NEXT:    vmovdqa64 576(%rdi), %zmm52378; AVX512-NEXT:    vmovdqa64 512(%rdi), %zmm62379; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm22380; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm72381; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm82382; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm12383; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm92384; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm32385; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm102386; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm112387; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2388; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm132389; AVX512-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132390; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2391; AVX512-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132392; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm152393; AVX512-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152394; AVX512-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152395; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm162396; AVX512-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162397; AVX512-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162398; AVX512-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122399; AVX512-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122400; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2401; AVX512-NEXT:    vmovdqa64 %zmm7, %zmm172402; AVX512-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172403; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2404; AVX512-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172405; AVX512-NEXT:    vmovdqa64 %zmm11, %zmm192406; AVX512-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192407; AVX512-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192408; AVX512-NEXT:    vmovdqa64 %zmm5, %zmm202409; AVX512-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202410; AVX512-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202411; AVX512-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142412; AVX512-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142413; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2414; AVX512-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12415; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2416; AVX512-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12417; AVX512-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02418; AVX512-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02419; AVX512-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22420; AVX512-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22421; AVX512-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32422; AVX512-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32423; AVX512-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2424; AVX512-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2425; AVX512-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2426; AVX512-NEXT:    vmovdqa64 %zmm12, (%rsi)2427; AVX512-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2428; AVX512-NEXT:    vmovdqa64 %zmm14, (%rdx)2429; AVX512-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2430; AVX512-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2431; AVX512-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2432; AVX512-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2433; AVX512-NEXT:    vmovdqa64 %zmm3, (%rcx)2434; AVX512-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2435; AVX512-NEXT:    vzeroupper2436; AVX512-NEXT:    retq2437;2438; AVX512-FCP-LABEL: load_i64_stride3_vf32:2439; AVX512-FCP:       # %bb.0:2440; AVX512-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm42441; AVX512-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm02442; AVX512-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm52443; AVX512-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm62444; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm22445; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72446; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm82447; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm12448; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm92449; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm32450; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm102451; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm112452; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2453; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm132454; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132455; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2456; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132457; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm152458; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152459; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152460; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm162461; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162462; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162463; AVX512-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122464; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122465; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2466; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, %zmm172467; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172468; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2469; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172470; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, %zmm192471; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192472; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192473; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, %zmm202474; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202475; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202476; AVX512-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142477; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142478; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2479; AVX512-FCP-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12480; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2481; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12482; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02483; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02484; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22485; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22486; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32487; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32488; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2489; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2490; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2491; AVX512-FCP-NEXT:    vmovdqa64 %zmm12, (%rsi)2492; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2493; AVX512-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)2494; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2495; AVX512-FCP-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2496; AVX512-FCP-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2497; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2498; AVX512-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)2499; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2500; AVX512-FCP-NEXT:    vzeroupper2501; AVX512-FCP-NEXT:    retq2502;2503; AVX512DQ-LABEL: load_i64_stride3_vf32:2504; AVX512DQ:       # %bb.0:2505; AVX512DQ-NEXT:    vmovdqa64 704(%rdi), %zmm42506; AVX512DQ-NEXT:    vmovdqa64 640(%rdi), %zmm02507; AVX512DQ-NEXT:    vmovdqa64 576(%rdi), %zmm52508; AVX512DQ-NEXT:    vmovdqa64 512(%rdi), %zmm62509; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm22510; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm72511; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm82512; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm12513; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm92514; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm32515; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm102516; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm112517; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2518; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm132519; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132520; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2521; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132522; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm152523; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152524; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152525; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm162526; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162527; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162528; AVX512DQ-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122529; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122530; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2531; AVX512DQ-NEXT:    vmovdqa64 %zmm7, %zmm172532; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172533; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2534; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172535; AVX512DQ-NEXT:    vmovdqa64 %zmm11, %zmm192536; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192537; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192538; AVX512DQ-NEXT:    vmovdqa64 %zmm5, %zmm202539; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202540; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202541; AVX512DQ-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142542; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142543; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2544; AVX512DQ-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12545; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2546; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12547; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02548; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02549; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22550; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22551; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32552; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32553; AVX512DQ-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2554; AVX512DQ-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2555; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2556; AVX512DQ-NEXT:    vmovdqa64 %zmm12, (%rsi)2557; AVX512DQ-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2558; AVX512DQ-NEXT:    vmovdqa64 %zmm14, (%rdx)2559; AVX512DQ-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2560; AVX512DQ-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2561; AVX512DQ-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2562; AVX512DQ-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2563; AVX512DQ-NEXT:    vmovdqa64 %zmm3, (%rcx)2564; AVX512DQ-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2565; AVX512DQ-NEXT:    vzeroupper2566; AVX512DQ-NEXT:    retq2567;2568; AVX512DQ-FCP-LABEL: load_i64_stride3_vf32:2569; AVX512DQ-FCP:       # %bb.0:2570; AVX512DQ-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm42571; AVX512DQ-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm02572; AVX512DQ-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm52573; AVX512DQ-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm62574; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm22575; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72576; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm82577; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm12578; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm92579; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm32580; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm102581; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm112582; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2583; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm132584; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132585; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2586; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132587; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm152588; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152589; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152590; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm162591; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162592; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162593; AVX512DQ-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122594; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122595; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2596; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, %zmm172597; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172598; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2599; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172600; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, %zmm192601; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192602; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192603; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm5, %zmm202604; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202605; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202606; AVX512DQ-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142607; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142608; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2609; AVX512DQ-FCP-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12610; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2611; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12612; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02613; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02614; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22615; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22616; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32617; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32618; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2619; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2620; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2621; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm12, (%rsi)2622; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2623; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)2624; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2625; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2626; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2627; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2628; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)2629; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2630; AVX512DQ-FCP-NEXT:    vzeroupper2631; AVX512DQ-FCP-NEXT:    retq2632;2633; AVX512BW-LABEL: load_i64_stride3_vf32:2634; AVX512BW:       # %bb.0:2635; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm42636; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm02637; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm52638; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm62639; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm22640; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm72641; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm82642; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm12643; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm92644; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm32645; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm102646; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm112647; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2648; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm132649; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132650; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2651; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132652; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm152653; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152654; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152655; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm162656; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162657; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162658; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122659; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122660; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2661; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm172662; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172663; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2664; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172665; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm192666; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192667; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192668; AVX512BW-NEXT:    vmovdqa64 %zmm5, %zmm202669; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202670; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202671; AVX512BW-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142672; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142673; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2674; AVX512BW-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12675; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2676; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12677; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02678; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02679; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22680; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22681; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32682; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32683; AVX512BW-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2684; AVX512BW-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2685; AVX512BW-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2686; AVX512BW-NEXT:    vmovdqa64 %zmm12, (%rsi)2687; AVX512BW-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2688; AVX512BW-NEXT:    vmovdqa64 %zmm14, (%rdx)2689; AVX512BW-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2690; AVX512BW-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2691; AVX512BW-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2692; AVX512BW-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2693; AVX512BW-NEXT:    vmovdqa64 %zmm3, (%rcx)2694; AVX512BW-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2695; AVX512BW-NEXT:    vzeroupper2696; AVX512BW-NEXT:    retq2697;2698; AVX512BW-FCP-LABEL: load_i64_stride3_vf32:2699; AVX512BW-FCP:       # %bb.0:2700; AVX512BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm42701; AVX512BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm02702; AVX512BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm52703; AVX512BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm62704; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm22705; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72706; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm82707; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm12708; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm92709; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm32710; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm102711; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm112712; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2713; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm132714; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132715; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2716; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132717; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm152718; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152719; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152720; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm162721; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162722; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162723; AVX512BW-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122724; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122725; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2726; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm172727; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172728; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2729; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172730; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm192731; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192732; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192733; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm202734; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202735; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202736; AVX512BW-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142737; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142738; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2739; AVX512BW-FCP-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12740; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2741; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12742; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02743; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02744; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22745; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22746; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32747; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32748; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2749; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2750; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2751; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rsi)2752; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2753; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)2754; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2755; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2756; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2757; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2758; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)2759; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2760; AVX512BW-FCP-NEXT:    vzeroupper2761; AVX512BW-FCP-NEXT:    retq2762;2763; AVX512DQ-BW-LABEL: load_i64_stride3_vf32:2764; AVX512DQ-BW:       # %bb.0:2765; AVX512DQ-BW-NEXT:    vmovdqa64 704(%rdi), %zmm42766; AVX512DQ-BW-NEXT:    vmovdqa64 640(%rdi), %zmm02767; AVX512DQ-BW-NEXT:    vmovdqa64 576(%rdi), %zmm52768; AVX512DQ-BW-NEXT:    vmovdqa64 512(%rdi), %zmm62769; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm22770; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm72771; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm82772; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm12773; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm92774; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm32775; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm102776; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm112777; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2778; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm132779; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132780; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2781; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132782; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm152783; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152784; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152785; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm162786; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162787; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162788; AVX512DQ-BW-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122789; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122790; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2791; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, %zmm172792; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172793; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2794; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172795; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm192796; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192797; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192798; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm5, %zmm202799; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202800; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202801; AVX512DQ-BW-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142802; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142803; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2804; AVX512DQ-BW-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12805; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2806; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12807; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02808; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02809; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22810; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22811; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32812; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32813; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2814; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2815; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2816; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, (%rsi)2817; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2818; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, (%rdx)2819; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2820; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2821; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2822; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2823; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, (%rcx)2824; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2825; AVX512DQ-BW-NEXT:    vzeroupper2826; AVX512DQ-BW-NEXT:    retq2827;2828; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf32:2829; AVX512DQ-BW-FCP:       # %bb.0:2830; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm42831; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm02832; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm52833; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm62834; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm22835; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm72836; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm82837; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm12838; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm92839; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm32840; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm102841; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm112842; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm12 = [0,3,6,9,12,15,0,0]2843; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm132844; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm12, %zmm132845; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [0,1,2,3,4,5,10,13]2846; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm14, %zmm132847; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm152848; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm12, %zmm152849; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm14, %zmm152850; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm162851; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm12, %zmm162852; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm14, %zmm162853; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm122854; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm14, %zmm122855; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm14 = [1,4,7,10,13,0,0,0]2856; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, %zmm172857; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm14, %zmm172858; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [0,1,2,3,4,8,11,14]2859; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm18, %zmm172860; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm192861; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm14, %zmm192862; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm18, %zmm192863; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm5, %zmm202864; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm14, %zmm202865; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm18, %zmm202866; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm3, %zmm9, %zmm142867; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm18, %zmm142868; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm18 = [10,13,0,3,6,0,0,0]2869; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm11, %zmm18, %zmm12870; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,1,2,3,4,9,12,15]2871; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm12872; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm18, %zmm02873; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm11, %zmm02874; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm18, %zmm22875; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm11, %zmm22876; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm18, %zmm32877; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm32878; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)2879; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)2880; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 64(%rsi)2881; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rsi)2882; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, 192(%rdx)2883; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)2884; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, 64(%rdx)2885; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm17, 128(%rdx)2886; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm2, 128(%rcx)2887; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, 192(%rcx)2888; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, (%rcx)2889; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rcx)2890; AVX512DQ-BW-FCP-NEXT:    vzeroupper2891; AVX512DQ-BW-FCP-NEXT:    retq2892  %wide.vec = load <96 x i64>, ptr %in.vec, align 642893  %strided.vec0 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <32 x i32> <i32 0, i32 3, i32 6, i32 9, i32 12, i32 15, i32 18, i32 21, i32 24, i32 27, i32 30, i32 33, i32 36, i32 39, i32 42, i32 45, i32 48, i32 51, i32 54, i32 57, i32 60, i32 63, i32 66, i32 69, i32 72, i32 75, i32 78, i32 81, i32 84, i32 87, i32 90, i32 93>2894  %strided.vec1 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <32 x i32> <i32 1, i32 4, i32 7, i32 10, i32 13, i32 16, i32 19, i32 22, i32 25, i32 28, i32 31, i32 34, i32 37, i32 40, i32 43, i32 46, i32 49, i32 52, i32 55, i32 58, i32 61, i32 64, i32 67, i32 70, i32 73, i32 76, i32 79, i32 82, i32 85, i32 88, i32 91, i32 94>2895  %strided.vec2 = shufflevector <96 x i64> %wide.vec, <96 x i64> poison, <32 x i32> <i32 2, i32 5, i32 8, i32 11, i32 14, i32 17, i32 20, i32 23, i32 26, i32 29, i32 32, i32 35, i32 38, i32 41, i32 44, i32 47, i32 50, i32 53, i32 56, i32 59, i32 62, i32 65, i32 68, i32 71, i32 74, i32 77, i32 80, i32 83, i32 86, i32 89, i32 92, i32 95>2896  store <32 x i64> %strided.vec0, ptr %out.vec0, align 642897  store <32 x i64> %strided.vec1, ptr %out.vec1, align 642898  store <32 x i64> %strided.vec2, ptr %out.vec2, align 642899  ret void2900}2901 2902define void @load_i64_stride3_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2) nounwind {2903; SSE-LABEL: load_i64_stride3_vf64:2904; SSE:       # %bb.0:2905; SSE-NEXT:    subq $1176, %rsp # imm = 0x4982906; SSE-NEXT:    movapd 272(%rdi), %xmm92907; SSE-NEXT:    movapd 224(%rdi), %xmm82908; SSE-NEXT:    movapd 176(%rdi), %xmm72909; SSE-NEXT:    movapd 128(%rdi), %xmm62910; SSE-NEXT:    movapd 80(%rdi), %xmm52911; SSE-NEXT:    movapd 240(%rdi), %xmm102912; SSE-NEXT:    movapd 256(%rdi), %xmm02913; SSE-NEXT:    movapd 192(%rdi), %xmm112914; SSE-NEXT:    movapd 208(%rdi), %xmm12915; SSE-NEXT:    movapd 144(%rdi), %xmm122916; SSE-NEXT:    movapd 160(%rdi), %xmm22917; SSE-NEXT:    movapd 96(%rdi), %xmm132918; SSE-NEXT:    movapd 112(%rdi), %xmm32919; SSE-NEXT:    movapd 48(%rdi), %xmm142920; SSE-NEXT:    movapd 64(%rdi), %xmm42921; SSE-NEXT:    movapd %xmm4, %xmm152922; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm14[0],xmm15[1]2923; SSE-NEXT:    movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2924; SSE-NEXT:    shufpd {{.*#+}} xmm14 = xmm14[1],xmm5[0]2925; SSE-NEXT:    movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2926; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm4[0],xmm5[1]2927; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2928; SSE-NEXT:    movapd %xmm3, %xmm42929; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm13[0],xmm4[1]2930; SSE-NEXT:    movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2931; SSE-NEXT:    shufpd {{.*#+}} xmm13 = xmm13[1],xmm6[0]2932; SSE-NEXT:    movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2933; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm3[0],xmm6[1]2934; SSE-NEXT:    movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2935; SSE-NEXT:    movapd %xmm2, %xmm32936; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm12[0],xmm3[1]2937; SSE-NEXT:    movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2938; SSE-NEXT:    shufpd {{.*#+}} xmm12 = xmm12[1],xmm7[0]2939; SSE-NEXT:    movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2940; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm2[0],xmm7[1]2941; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2942; SSE-NEXT:    movapd %xmm1, %xmm22943; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm11[0],xmm2[1]2944; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2945; SSE-NEXT:    shufpd {{.*#+}} xmm11 = xmm11[1],xmm8[0]2946; SSE-NEXT:    movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2947; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm1[0],xmm8[1]2948; SSE-NEXT:    movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2949; SSE-NEXT:    movapd %xmm0, %xmm12950; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm10[0],xmm1[1]2951; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2952; SSE-NEXT:    shufpd {{.*#+}} xmm10 = xmm10[1],xmm9[0]2953; SSE-NEXT:    movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2954; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]2955; SSE-NEXT:    movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2956; SSE-NEXT:    movapd 288(%rdi), %xmm22957; SSE-NEXT:    movapd 304(%rdi), %xmm02958; SSE-NEXT:    movapd %xmm0, %xmm12959; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2960; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2961; SSE-NEXT:    movapd 320(%rdi), %xmm12962; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2963; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2964; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2965; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2966; SSE-NEXT:    movapd 336(%rdi), %xmm22967; SSE-NEXT:    movapd 352(%rdi), %xmm02968; SSE-NEXT:    movapd %xmm0, %xmm12969; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2970; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2971; SSE-NEXT:    movapd 368(%rdi), %xmm12972; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2973; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2974; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2975; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2976; SSE-NEXT:    movapd 384(%rdi), %xmm22977; SSE-NEXT:    movapd 400(%rdi), %xmm02978; SSE-NEXT:    movapd %xmm0, %xmm12979; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2980; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2981; SSE-NEXT:    movapd 416(%rdi), %xmm12982; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2983; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2984; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2985; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2986; SSE-NEXT:    movapd 432(%rdi), %xmm22987; SSE-NEXT:    movapd 448(%rdi), %xmm02988; SSE-NEXT:    movapd %xmm0, %xmm12989; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2990; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2991; SSE-NEXT:    movapd 464(%rdi), %xmm12992; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2993; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2994; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2995; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2996; SSE-NEXT:    movapd 480(%rdi), %xmm22997; SSE-NEXT:    movapd 496(%rdi), %xmm02998; SSE-NEXT:    movapd %xmm0, %xmm12999; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3000; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3001; SSE-NEXT:    movapd 512(%rdi), %xmm13002; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3003; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3004; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3005; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3006; SSE-NEXT:    movapd 528(%rdi), %xmm23007; SSE-NEXT:    movapd 544(%rdi), %xmm03008; SSE-NEXT:    movapd %xmm0, %xmm13009; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3010; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3011; SSE-NEXT:    movapd 560(%rdi), %xmm13012; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3013; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3014; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3015; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3016; SSE-NEXT:    movapd 576(%rdi), %xmm23017; SSE-NEXT:    movapd 592(%rdi), %xmm03018; SSE-NEXT:    movapd %xmm0, %xmm13019; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3020; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3021; SSE-NEXT:    movapd 608(%rdi), %xmm13022; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3023; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3024; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3025; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3026; SSE-NEXT:    movapd 624(%rdi), %xmm23027; SSE-NEXT:    movapd 640(%rdi), %xmm03028; SSE-NEXT:    movapd %xmm0, %xmm13029; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3030; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3031; SSE-NEXT:    movapd 656(%rdi), %xmm13032; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3033; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3034; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3035; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3036; SSE-NEXT:    movapd 672(%rdi), %xmm23037; SSE-NEXT:    movapd 688(%rdi), %xmm03038; SSE-NEXT:    movapd %xmm0, %xmm13039; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3040; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3041; SSE-NEXT:    movapd 704(%rdi), %xmm13042; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3043; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3044; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3045; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3046; SSE-NEXT:    movapd 720(%rdi), %xmm23047; SSE-NEXT:    movapd 736(%rdi), %xmm03048; SSE-NEXT:    movapd %xmm0, %xmm13049; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3050; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3051; SSE-NEXT:    movapd 752(%rdi), %xmm13052; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3053; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3054; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3055; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3056; SSE-NEXT:    movapd 768(%rdi), %xmm23057; SSE-NEXT:    movapd 784(%rdi), %xmm03058; SSE-NEXT:    movapd %xmm0, %xmm13059; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3060; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3061; SSE-NEXT:    movapd 800(%rdi), %xmm13062; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3063; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3064; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3065; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3066; SSE-NEXT:    movapd 816(%rdi), %xmm23067; SSE-NEXT:    movapd 832(%rdi), %xmm03068; SSE-NEXT:    movapd %xmm0, %xmm13069; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3070; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3071; SSE-NEXT:    movapd 848(%rdi), %xmm13072; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3073; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3074; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3075; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3076; SSE-NEXT:    movapd 864(%rdi), %xmm23077; SSE-NEXT:    movapd 880(%rdi), %xmm03078; SSE-NEXT:    movapd %xmm0, %xmm13079; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3080; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3081; SSE-NEXT:    movapd 896(%rdi), %xmm13082; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3083; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3084; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3085; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3086; SSE-NEXT:    movapd 912(%rdi), %xmm23087; SSE-NEXT:    movapd 928(%rdi), %xmm03088; SSE-NEXT:    movapd %xmm0, %xmm13089; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3090; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3091; SSE-NEXT:    movapd 944(%rdi), %xmm13092; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3093; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3094; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3095; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3096; SSE-NEXT:    movapd 960(%rdi), %xmm23097; SSE-NEXT:    movapd 976(%rdi), %xmm03098; SSE-NEXT:    movapd %xmm0, %xmm13099; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3100; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3101; SSE-NEXT:    movapd 992(%rdi), %xmm13102; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3103; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3104; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3105; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3106; SSE-NEXT:    movapd 1008(%rdi), %xmm23107; SSE-NEXT:    movapd 1024(%rdi), %xmm03108; SSE-NEXT:    movapd %xmm0, %xmm13109; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3110; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3111; SSE-NEXT:    movapd 1040(%rdi), %xmm13112; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3113; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3114; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3115; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3116; SSE-NEXT:    movapd 1056(%rdi), %xmm23117; SSE-NEXT:    movapd 1072(%rdi), %xmm03118; SSE-NEXT:    movapd %xmm0, %xmm13119; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3120; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3121; SSE-NEXT:    movapd 1088(%rdi), %xmm13122; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3123; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3124; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3125; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3126; SSE-NEXT:    movapd 1104(%rdi), %xmm23127; SSE-NEXT:    movapd 1120(%rdi), %xmm03128; SSE-NEXT:    movapd %xmm0, %xmm13129; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3130; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3131; SSE-NEXT:    movapd 1136(%rdi), %xmm13132; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3133; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3134; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3135; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3136; SSE-NEXT:    movapd 1152(%rdi), %xmm23137; SSE-NEXT:    movapd 1168(%rdi), %xmm03138; SSE-NEXT:    movapd %xmm0, %xmm13139; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3140; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3141; SSE-NEXT:    movapd 1184(%rdi), %xmm13142; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3143; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3144; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3145; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3146; SSE-NEXT:    movapd 1200(%rdi), %xmm23147; SSE-NEXT:    movapd 1216(%rdi), %xmm03148; SSE-NEXT:    movapd %xmm0, %xmm13149; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]3150; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3151; SSE-NEXT:    movapd 1232(%rdi), %xmm13152; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3153; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3154; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3155; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3156; SSE-NEXT:    movapd 1248(%rdi), %xmm23157; SSE-NEXT:    movapd 1264(%rdi), %xmm03158; SSE-NEXT:    movapd %xmm0, %xmm143159; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm2[0],xmm14[1]3160; SSE-NEXT:    movapd 1280(%rdi), %xmm13161; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]3162; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3163; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3164; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3165; SSE-NEXT:    movapd 1296(%rdi), %xmm153166; SSE-NEXT:    movapd 1312(%rdi), %xmm03167; SSE-NEXT:    movapd %xmm0, %xmm113168; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm15[0],xmm11[1]3169; SSE-NEXT:    movapd 1328(%rdi), %xmm13170; SSE-NEXT:    shufpd {{.*#+}} xmm15 = xmm15[1],xmm1[0]3171; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3172; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3173; SSE-NEXT:    movapd 1344(%rdi), %xmm123174; SSE-NEXT:    movapd 1360(%rdi), %xmm03175; SSE-NEXT:    movapd %xmm0, %xmm73176; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm12[0],xmm7[1]3177; SSE-NEXT:    movapd 1376(%rdi), %xmm13178; SSE-NEXT:    shufpd {{.*#+}} xmm12 = xmm12[1],xmm1[0]3179; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3180; SSE-NEXT:    movapd %xmm1, (%rsp) # 16-byte Spill3181; SSE-NEXT:    movapd 1392(%rdi), %xmm103182; SSE-NEXT:    movapd 1408(%rdi), %xmm03183; SSE-NEXT:    movapd %xmm0, %xmm23184; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm10[0],xmm2[1]3185; SSE-NEXT:    movapd 1424(%rdi), %xmm13186; SSE-NEXT:    shufpd {{.*#+}} xmm10 = xmm10[1],xmm1[0]3187; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3188; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3189; SSE-NEXT:    movapd 1440(%rdi), %xmm93190; SSE-NEXT:    movapd 1456(%rdi), %xmm03191; SSE-NEXT:    movapd %xmm0, %xmm13192; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm9[0],xmm1[1]3193; SSE-NEXT:    movapd 1472(%rdi), %xmm33194; SSE-NEXT:    shufpd {{.*#+}} xmm9 = xmm9[1],xmm3[0]3195; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]3196; SSE-NEXT:    movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3197; SSE-NEXT:    movapd 1488(%rdi), %xmm03198; SSE-NEXT:    movapd 1504(%rdi), %xmm83199; SSE-NEXT:    movapd %xmm8, %xmm33200; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]3201; SSE-NEXT:    movapd 1520(%rdi), %xmm133202; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1],xmm13[0]3203; SSE-NEXT:    movsd {{.*#+}} xmm13 = xmm8[0],xmm13[1]3204; SSE-NEXT:    movapd (%rdi), %xmm83205; SSE-NEXT:    movapd 16(%rdi), %xmm53206; SSE-NEXT:    movapd %xmm5, %xmm63207; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm8[0],xmm6[1]3208; SSE-NEXT:    movapd 32(%rdi), %xmm43209; SSE-NEXT:    shufpd {{.*#+}} xmm8 = xmm8[1],xmm4[0]3210; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm5[0],xmm4[1]3211; SSE-NEXT:    movapd %xmm3, 496(%rsi)3212; SSE-NEXT:    movapd %xmm1, 480(%rsi)3213; SSE-NEXT:    movapd %xmm2, 464(%rsi)3214; SSE-NEXT:    movapd %xmm7, 448(%rsi)3215; SSE-NEXT:    movapd %xmm11, 432(%rsi)3216; SSE-NEXT:    movapd %xmm14, 416(%rsi)3217; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3218; SSE-NEXT:    movaps %xmm1, 400(%rsi)3219; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3220; SSE-NEXT:    movaps %xmm1, 384(%rsi)3221; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3222; SSE-NEXT:    movaps %xmm1, 368(%rsi)3223; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3224; SSE-NEXT:    movaps %xmm1, 352(%rsi)3225; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3226; SSE-NEXT:    movaps %xmm1, 336(%rsi)3227; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3228; SSE-NEXT:    movaps %xmm1, 320(%rsi)3229; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3230; SSE-NEXT:    movaps %xmm1, 304(%rsi)3231; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3232; SSE-NEXT:    movaps %xmm1, 288(%rsi)3233; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3234; SSE-NEXT:    movaps %xmm1, 272(%rsi)3235; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3236; SSE-NEXT:    movaps %xmm1, 256(%rsi)3237; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3238; SSE-NEXT:    movaps %xmm1, 240(%rsi)3239; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3240; SSE-NEXT:    movaps %xmm1, 224(%rsi)3241; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3242; SSE-NEXT:    movaps %xmm1, 208(%rsi)3243; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3244; SSE-NEXT:    movaps %xmm1, 192(%rsi)3245; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3246; SSE-NEXT:    movaps %xmm1, 176(%rsi)3247; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3248; SSE-NEXT:    movaps %xmm1, 160(%rsi)3249; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3250; SSE-NEXT:    movaps %xmm1, 144(%rsi)3251; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3252; SSE-NEXT:    movaps %xmm1, 128(%rsi)3253; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3254; SSE-NEXT:    movaps %xmm1, 112(%rsi)3255; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3256; SSE-NEXT:    movaps %xmm1, 96(%rsi)3257; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3258; SSE-NEXT:    movaps %xmm1, 80(%rsi)3259; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3260; SSE-NEXT:    movaps %xmm1, 64(%rsi)3261; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3262; SSE-NEXT:    movaps %xmm1, 48(%rsi)3263; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3264; SSE-NEXT:    movaps %xmm1, 32(%rsi)3265; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3266; SSE-NEXT:    movaps %xmm1, 16(%rsi)3267; SSE-NEXT:    movapd %xmm6, (%rsi)3268; SSE-NEXT:    movapd %xmm0, 496(%rdx)3269; SSE-NEXT:    movapd %xmm9, 480(%rdx)3270; SSE-NEXT:    movapd %xmm10, 464(%rdx)3271; SSE-NEXT:    movapd %xmm12, 448(%rdx)3272; SSE-NEXT:    movapd %xmm15, 432(%rdx)3273; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3274; SSE-NEXT:    movaps %xmm0, 416(%rdx)3275; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3276; SSE-NEXT:    movaps %xmm0, 400(%rdx)3277; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3278; SSE-NEXT:    movaps %xmm0, 384(%rdx)3279; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3280; SSE-NEXT:    movaps %xmm0, 368(%rdx)3281; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3282; SSE-NEXT:    movaps %xmm0, 352(%rdx)3283; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3284; SSE-NEXT:    movaps %xmm0, 336(%rdx)3285; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3286; SSE-NEXT:    movaps %xmm0, 320(%rdx)3287; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3288; SSE-NEXT:    movaps %xmm0, 304(%rdx)3289; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3290; SSE-NEXT:    movaps %xmm0, 288(%rdx)3291; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3292; SSE-NEXT:    movaps %xmm0, 272(%rdx)3293; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3294; SSE-NEXT:    movaps %xmm0, 256(%rdx)3295; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3296; SSE-NEXT:    movaps %xmm0, 240(%rdx)3297; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3298; SSE-NEXT:    movaps %xmm0, 224(%rdx)3299; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3300; SSE-NEXT:    movaps %xmm0, 208(%rdx)3301; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3302; SSE-NEXT:    movaps %xmm0, 192(%rdx)3303; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3304; SSE-NEXT:    movaps %xmm0, 176(%rdx)3305; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3306; SSE-NEXT:    movaps %xmm0, 160(%rdx)3307; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3308; SSE-NEXT:    movaps %xmm0, 144(%rdx)3309; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3310; SSE-NEXT:    movaps %xmm0, 128(%rdx)3311; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3312; SSE-NEXT:    movaps %xmm0, 112(%rdx)3313; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3314; SSE-NEXT:    movaps %xmm0, 96(%rdx)3315; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3316; SSE-NEXT:    movaps %xmm0, 80(%rdx)3317; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3318; SSE-NEXT:    movaps %xmm0, 64(%rdx)3319; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3320; SSE-NEXT:    movaps %xmm0, 48(%rdx)3321; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3322; SSE-NEXT:    movaps %xmm0, 32(%rdx)3323; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3324; SSE-NEXT:    movaps %xmm0, 16(%rdx)3325; SSE-NEXT:    movapd %xmm8, (%rdx)3326; SSE-NEXT:    movapd %xmm13, 496(%rcx)3327; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3328; SSE-NEXT:    movaps %xmm0, 480(%rcx)3329; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3330; SSE-NEXT:    movaps %xmm0, 464(%rcx)3331; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload3332; SSE-NEXT:    movaps %xmm0, 448(%rcx)3333; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3334; SSE-NEXT:    movaps %xmm0, 432(%rcx)3335; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3336; SSE-NEXT:    movaps %xmm0, 416(%rcx)3337; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3338; SSE-NEXT:    movaps %xmm0, 400(%rcx)3339; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3340; SSE-NEXT:    movaps %xmm0, 384(%rcx)3341; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3342; SSE-NEXT:    movaps %xmm0, 368(%rcx)3343; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3344; SSE-NEXT:    movaps %xmm0, 352(%rcx)3345; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3346; SSE-NEXT:    movaps %xmm0, 336(%rcx)3347; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3348; SSE-NEXT:    movaps %xmm0, 320(%rcx)3349; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3350; SSE-NEXT:    movaps %xmm0, 304(%rcx)3351; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3352; SSE-NEXT:    movaps %xmm0, 288(%rcx)3353; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3354; SSE-NEXT:    movaps %xmm0, 272(%rcx)3355; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3356; SSE-NEXT:    movaps %xmm0, 256(%rcx)3357; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3358; SSE-NEXT:    movaps %xmm0, 240(%rcx)3359; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3360; SSE-NEXT:    movaps %xmm0, 224(%rcx)3361; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3362; SSE-NEXT:    movaps %xmm0, 208(%rcx)3363; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3364; SSE-NEXT:    movaps %xmm0, 192(%rcx)3365; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3366; SSE-NEXT:    movaps %xmm0, 176(%rcx)3367; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3368; SSE-NEXT:    movaps %xmm0, 160(%rcx)3369; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3370; SSE-NEXT:    movaps %xmm0, 144(%rcx)3371; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3372; SSE-NEXT:    movaps %xmm0, 128(%rcx)3373; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3374; SSE-NEXT:    movaps %xmm0, 112(%rcx)3375; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3376; SSE-NEXT:    movaps %xmm0, 96(%rcx)3377; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3378; SSE-NEXT:    movaps %xmm0, 80(%rcx)3379; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3380; SSE-NEXT:    movaps %xmm0, 64(%rcx)3381; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3382; SSE-NEXT:    movaps %xmm0, 48(%rcx)3383; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3384; SSE-NEXT:    movaps %xmm0, 32(%rcx)3385; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3386; SSE-NEXT:    movaps %xmm0, 16(%rcx)3387; SSE-NEXT:    movapd %xmm4, (%rcx)3388; SSE-NEXT:    addq $1176, %rsp # imm = 0x4983389; SSE-NEXT:    retq3390;3391; AVX-LABEL: load_i64_stride3_vf64:3392; AVX:       # %bb.0:3393; AVX-NEXT:    subq $1096, %rsp # imm = 0x4483394; AVX-NEXT:    vmovapd 896(%rdi), %ymm03395; AVX-NEXT:    vmovapd 704(%rdi), %ymm13396; AVX-NEXT:    vmovapd 512(%rdi), %ymm23397; AVX-NEXT:    vmovapd 320(%rdi), %ymm53398; AVX-NEXT:    vmovapd 128(%rdi), %ymm63399; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = mem[0,1],ymm6[2,3]3400; AVX-NEXT:    vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3401; AVX-NEXT:    vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3402; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = mem[0,1],ymm5[2,3]3403; AVX-NEXT:    vmovupd %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3404; AVX-NEXT:    vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3405; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = mem[0,1],ymm2[2,3]3406; AVX-NEXT:    vmovupd %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3407; AVX-NEXT:    vmovapd %ymm2, %ymm43408; AVX-NEXT:    vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3409; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = mem[0,1],ymm1[2,3]3410; AVX-NEXT:    vmovupd %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3411; AVX-NEXT:    vmovapd %ymm1, %ymm33412; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3413; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = mem[0,1],ymm0[2,3]3414; AVX-NEXT:    vmovupd %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3415; AVX-NEXT:    vmovapd %ymm0, %ymm23416; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3417; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm7[1],ymm6[0],ymm7[3],ymm6[3]3418; AVX-NEXT:    vbroadcastsd 176(%rdi), %ymm13419; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3420; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3421; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm8[1],ymm5[0],ymm8[3],ymm5[3]3422; AVX-NEXT:    vbroadcastsd 368(%rdi), %ymm13423; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3424; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3425; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm9[1],ymm4[0],ymm9[3],ymm4[3]3426; AVX-NEXT:    vbroadcastsd 560(%rdi), %ymm13427; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3428; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3429; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm10[1],ymm3[0],ymm10[3],ymm3[3]3430; AVX-NEXT:    vbroadcastsd 752(%rdi), %ymm13431; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3432; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3433; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm11[1],ymm2[0],ymm11[3],ymm2[3]3434; AVX-NEXT:    vbroadcastsd 944(%rdi), %ymm13435; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3436; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3437; AVX-NEXT:    vmovapd 1088(%rdi), %ymm93438; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm9[2,3]3439; AVX-NEXT:    vmovupd %ymm0, (%rsp) # 32-byte Spill3440; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm9[0],ymm0[3],ymm9[3]3441; AVX-NEXT:    vbroadcastsd 1136(%rdi), %ymm13442; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3443; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3444; AVX-NEXT:    vmovapd 1280(%rdi), %ymm83445; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm8[2,3]3446; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3447; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm8[0],ymm0[3],ymm8[3]3448; AVX-NEXT:    vbroadcastsd 1328(%rdi), %ymm13449; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3450; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3451; AVX-NEXT:    vmovapd 1472(%rdi), %ymm73452; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm7[2,3]3453; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3454; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm7[0],ymm0[3],ymm7[3]3455; AVX-NEXT:    vbroadcastsd 1520(%rdi), %ymm13456; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3457; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3458; AVX-NEXT:    vmovapd 32(%rdi), %ymm03459; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3460; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = mem[0,1],ymm0[2,3]3461; AVX-NEXT:    vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3462; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm1[1],ymm0[0],ymm1[3],ymm0[3]3463; AVX-NEXT:    vbroadcastsd 80(%rdi), %ymm13464; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3465; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3466; AVX-NEXT:    vmovapd 224(%rdi), %ymm133467; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm13[2,3]3468; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3469; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm13[0],ymm0[3],ymm13[3]3470; AVX-NEXT:    vbroadcastsd 272(%rdi), %ymm13471; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3472; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3473; AVX-NEXT:    vmovapd 416(%rdi), %ymm123474; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm12[2,3]3475; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3476; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm12[0],ymm0[3],ymm12[3]3477; AVX-NEXT:    vbroadcastsd 464(%rdi), %ymm13478; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3479; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3480; AVX-NEXT:    vmovapd 608(%rdi), %ymm103481; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1],ymm10[2,3]3482; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3483; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm0[1],ymm10[0],ymm0[3],ymm10[3]3484; AVX-NEXT:    vbroadcastsd 656(%rdi), %ymm13485; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3486; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3487; AVX-NEXT:    vmovapd 800(%rdi), %ymm53488; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = mem[0,1],ymm5[2,3]3489; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm14[1],ymm5[0],ymm14[3],ymm5[3]3490; AVX-NEXT:    vbroadcastsd 848(%rdi), %ymm13491; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3492; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3493; AVX-NEXT:    vmovapd 992(%rdi), %ymm43494; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = mem[0,1],ymm4[2,3]3495; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm11[1],ymm4[0],ymm11[3],ymm4[3]3496; AVX-NEXT:    vbroadcastsd 1040(%rdi), %ymm13497; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm1[3]3498; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3499; AVX-NEXT:    vmovapd 1184(%rdi), %ymm23500; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = mem[0,1],ymm2[2,3]3501; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm6[1],ymm2[0],ymm6[3],ymm2[3]3502; AVX-NEXT:    vbroadcastsd 1232(%rdi), %ymm33503; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm3[3]3504; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3505; AVX-NEXT:    vmovapd 1376(%rdi), %ymm13506; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = mem[0,1],ymm1[2,3]3507; AVX-NEXT:    vshufpd {{.*#+}} ymm0 = ymm3[1],ymm1[0],ymm3[3],ymm1[3]3508; AVX-NEXT:    vbroadcastsd 1424(%rdi), %ymm153509; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3]3510; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3511; AVX-NEXT:    vmovaps 112(%rdi), %xmm03512; AVX-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm03513; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3514; AVX-NEXT:    # ymm15 = mem[0,1],ymm0[2,3],mem[4,5],ymm0[6,7]3515; AVX-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3516; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload3517; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]3518; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3],ymm0[4,5],ymm15[6,7]3519; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3520; AVX-NEXT:    vmovaps 304(%rdi), %xmm03521; AVX-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm03522; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3523; AVX-NEXT:    # ymm15 = mem[0,1],ymm0[2,3],mem[4,5],ymm0[6,7]3524; AVX-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3525; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload3526; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]3527; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3],ymm0[4,5],ymm15[6,7]3528; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3529; AVX-NEXT:    vmovaps 496(%rdi), %xmm03530; AVX-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm03531; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3532; AVX-NEXT:    # ymm15 = mem[0,1],ymm0[2,3],mem[4,5],ymm0[6,7]3533; AVX-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3534; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload3535; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]3536; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3],ymm0[4,5],ymm15[6,7]3537; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3538; AVX-NEXT:    vmovaps 688(%rdi), %xmm03539; AVX-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm03540; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3541; AVX-NEXT:    # ymm15 = mem[0,1],ymm0[2,3],mem[4,5],ymm0[6,7]3542; AVX-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3543; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload3544; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]3545; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3],ymm0[4,5],ymm15[6,7]3546; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3547; AVX-NEXT:    vmovaps 880(%rdi), %xmm03548; AVX-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm03549; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3550; AVX-NEXT:    # ymm15 = mem[0,1],ymm0[2,3],mem[4,5],ymm0[6,7]3551; AVX-NEXT:    vmovups %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3552; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload3553; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],mem[4,5,6,7]3554; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm15[2,3],ymm0[4,5],ymm15[6,7]3555; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3556; AVX-NEXT:    vmovaps 1072(%rdi), %xmm03557; AVX-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm03558; AVX-NEXT:    vblendpd $5, (%rsp), %ymm0, %ymm15 # 32-byte Folded Reload3559; AVX-NEXT:    # ymm15 = mem[0],ymm0[1],mem[2],ymm0[3]3560; AVX-NEXT:    vmovupd %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3561; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = ymm9[0,1],mem[2,3]3562; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm9[1],ymm0[2],ymm9[3]3563; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3564; AVX-NEXT:    vmovaps 1264(%rdi), %xmm03565; AVX-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm03566; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm15 # 32-byte Folded Reload3567; AVX-NEXT:    # ymm15 = mem[0],ymm0[1],mem[2],ymm0[3]3568; AVX-NEXT:    vblendpd {{.*#+}} ymm8 = ymm8[0,1],mem[2,3]3569; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm8[1],ymm0[2],ymm8[3]3570; AVX-NEXT:    vmovupd %ymm0, (%rsp) # 32-byte Spill3571; AVX-NEXT:    vmovaps 1456(%rdi), %xmm03572; AVX-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm03573; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm8 # 32-byte Folded Reload3574; AVX-NEXT:    # ymm8 = mem[0],ymm0[1],mem[2],ymm0[3]3575; AVX-NEXT:    vmovupd %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3576; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm7[0,1],mem[2,3]3577; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm7[1],ymm0[2],ymm7[3]3578; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3579; AVX-NEXT:    vmovaps 1360(%rdi), %xmm03580; AVX-NEXT:    vinsertf128 $1, 1408(%rdi), %ymm0, %ymm03581; AVX-NEXT:    vblendpd {{.*#+}} ymm7 = ymm3[0],ymm0[1],ymm3[2],ymm0[3]3582; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1],mem[2,3]3583; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[2],ymm1[3]3584; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3585; AVX-NEXT:    vmovaps 1168(%rdi), %xmm03586; AVX-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm0, %ymm13587; AVX-NEXT:    vblendpd {{.*#+}} ymm3 = ymm6[0],ymm1[1],ymm6[2],ymm1[3]3588; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm2[0,1],mem[2,3]3589; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0],ymm2[1],ymm1[2],ymm2[3]3590; AVX-NEXT:    vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3591; AVX-NEXT:    vmovaps 976(%rdi), %xmm13592; AVX-NEXT:    vinsertf128 $1, 1024(%rdi), %ymm1, %ymm13593; AVX-NEXT:    vblendpd {{.*#+}} ymm2 = ymm11[0],ymm1[1],ymm11[2],ymm1[3]3594; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0,1],mem[2,3]3595; AVX-NEXT:    vblendpd {{.*#+}} ymm6 = ymm1[0],ymm4[1],ymm1[2],ymm4[3]3596; AVX-NEXT:    vmovaps 784(%rdi), %xmm13597; AVX-NEXT:    vinsertf128 $1, 832(%rdi), %ymm1, %ymm13598; AVX-NEXT:    vblendpd {{.*#+}} ymm14 = ymm14[0],ymm1[1],ymm14[2],ymm1[3]3599; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm5[0,1],mem[2,3]3600; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0],ymm4[1],ymm1[2],ymm4[3]3601; AVX-NEXT:    vmovaps 592(%rdi), %xmm43602; AVX-NEXT:    vinsertf128 $1, 640(%rdi), %ymm4, %ymm43603; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm5 # 32-byte Folded Reload3604; AVX-NEXT:    # ymm5 = mem[0],ymm4[1],mem[2],ymm4[3]3605; AVX-NEXT:    vblendpd {{.*#+}} ymm9 = ymm10[0,1],mem[2,3]3606; AVX-NEXT:    vblendpd {{.*#+}} ymm10 = ymm4[0],ymm9[1],ymm4[2],ymm9[3]3607; AVX-NEXT:    vmovaps 400(%rdi), %xmm43608; AVX-NEXT:    vinsertf128 $1, 448(%rdi), %ymm4, %ymm43609; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm9 # 32-byte Folded Reload3610; AVX-NEXT:    # ymm9 = mem[0],ymm4[1],mem[2],ymm4[3]3611; AVX-NEXT:    vblendpd {{.*#+}} ymm11 = ymm12[0,1],mem[2,3]3612; AVX-NEXT:    vblendpd {{.*#+}} ymm4 = ymm4[0],ymm11[1],ymm4[2],ymm11[3]3613; AVX-NEXT:    vmovaps 208(%rdi), %xmm113614; AVX-NEXT:    vinsertf128 $1, 256(%rdi), %ymm11, %ymm113615; AVX-NEXT:    vblendpd $5, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm12 # 32-byte Folded Reload3616; AVX-NEXT:    # ymm12 = mem[0],ymm11[1],mem[2],ymm11[3]3617; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm13[0,1],mem[2,3]3618; AVX-NEXT:    vblendpd {{.*#+}} ymm13 = ymm11[0],ymm13[1],ymm11[2],ymm13[3]3619; AVX-NEXT:    vmovaps 16(%rdi), %xmm113620; AVX-NEXT:    vinsertf128 $1, 64(%rdi), %ymm11, %ymm113621; AVX-NEXT:    vblendps $51, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm0 # 32-byte Folded Reload3622; AVX-NEXT:    # ymm0 = mem[0,1],ymm11[2,3],mem[4,5],ymm11[6,7]3623; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload3624; AVX-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]3625; AVX-NEXT:    vblendps {{.*#+}} ymm11 = ymm11[0,1],ymm8[2,3],ymm11[4,5],ymm8[6,7]3626; AVX-NEXT:    vmovapd %ymm7, 448(%rsi)3627; AVX-NEXT:    vmovapd %ymm3, 384(%rsi)3628; AVX-NEXT:    vmovapd %ymm2, 320(%rsi)3629; AVX-NEXT:    vmovapd %ymm14, 256(%rsi)3630; AVX-NEXT:    vmovapd %ymm5, 192(%rsi)3631; AVX-NEXT:    vmovapd %ymm9, 128(%rsi)3632; AVX-NEXT:    vmovapd %ymm12, 64(%rsi)3633; AVX-NEXT:    vmovaps %ymm0, (%rsi)3634; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3635; AVX-NEXT:    vmovaps %ymm0, 480(%rsi)3636; AVX-NEXT:    vmovapd %ymm15, 416(%rsi)3637; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3638; AVX-NEXT:    vmovaps %ymm0, 352(%rsi)3639; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3640; AVX-NEXT:    vmovaps %ymm0, 288(%rsi)3641; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3642; AVX-NEXT:    vmovaps %ymm0, 224(%rsi)3643; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3644; AVX-NEXT:    vmovaps %ymm0, 160(%rsi)3645; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3646; AVX-NEXT:    vmovaps %ymm0, 96(%rsi)3647; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3648; AVX-NEXT:    vmovaps %ymm0, 32(%rsi)3649; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3650; AVX-NEXT:    vmovaps %ymm0, 448(%rdx)3651; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3652; AVX-NEXT:    vmovaps %ymm0, 384(%rdx)3653; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3654; AVX-NEXT:    vmovaps %ymm0, 320(%rdx)3655; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3656; AVX-NEXT:    vmovaps %ymm0, 256(%rdx)3657; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3658; AVX-NEXT:    vmovaps %ymm0, 192(%rdx)3659; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3660; AVX-NEXT:    vmovaps %ymm0, 128(%rdx)3661; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3662; AVX-NEXT:    vmovaps %ymm0, 64(%rdx)3663; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3664; AVX-NEXT:    vmovaps %ymm0, (%rdx)3665; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3666; AVX-NEXT:    vmovaps %ymm0, 480(%rdx)3667; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3668; AVX-NEXT:    vmovaps %ymm0, 416(%rdx)3669; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3670; AVX-NEXT:    vmovaps %ymm0, 352(%rdx)3671; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3672; AVX-NEXT:    vmovaps %ymm0, 288(%rdx)3673; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3674; AVX-NEXT:    vmovaps %ymm0, 224(%rdx)3675; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3676; AVX-NEXT:    vmovaps %ymm0, 160(%rdx)3677; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3678; AVX-NEXT:    vmovaps %ymm0, 96(%rdx)3679; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3680; AVX-NEXT:    vmovaps %ymm0, 32(%rdx)3681; AVX-NEXT:    vmovaps %ymm11, (%rcx)3682; AVX-NEXT:    vmovapd %ymm13, 64(%rcx)3683; AVX-NEXT:    vmovapd %ymm4, 128(%rcx)3684; AVX-NEXT:    vmovapd %ymm10, 192(%rcx)3685; AVX-NEXT:    vmovapd %ymm1, 256(%rcx)3686; AVX-NEXT:    vmovapd %ymm6, 320(%rcx)3687; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3688; AVX-NEXT:    vmovaps %ymm0, 384(%rcx)3689; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3690; AVX-NEXT:    vmovaps %ymm0, 448(%rcx)3691; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3692; AVX-NEXT:    vmovaps %ymm0, 480(%rcx)3693; AVX-NEXT:    vmovups (%rsp), %ymm0 # 32-byte Reload3694; AVX-NEXT:    vmovaps %ymm0, 416(%rcx)3695; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3696; AVX-NEXT:    vmovaps %ymm0, 352(%rcx)3697; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3698; AVX-NEXT:    vmovaps %ymm0, 288(%rcx)3699; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3700; AVX-NEXT:    vmovaps %ymm0, 224(%rcx)3701; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3702; AVX-NEXT:    vmovaps %ymm0, 160(%rcx)3703; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3704; AVX-NEXT:    vmovaps %ymm0, 96(%rcx)3705; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3706; AVX-NEXT:    vmovaps %ymm0, 32(%rcx)3707; AVX-NEXT:    addq $1096, %rsp # imm = 0x4483708; AVX-NEXT:    vzeroupper3709; AVX-NEXT:    retq3710;3711; AVX2-LABEL: load_i64_stride3_vf64:3712; AVX2:       # %bb.0:3713; AVX2-NEXT:    subq $968, %rsp # imm = 0x3C83714; AVX2-NEXT:    vmovaps 896(%rdi), %ymm23715; AVX2-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3716; AVX2-NEXT:    vmovaps 864(%rdi), %ymm33717; AVX2-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3718; AVX2-NEXT:    vmovaps 704(%rdi), %ymm43719; AVX2-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3720; AVX2-NEXT:    vmovaps 672(%rdi), %ymm53721; AVX2-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3722; AVX2-NEXT:    vmovaps 512(%rdi), %ymm63723; AVX2-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3724; AVX2-NEXT:    vmovaps 480(%rdi), %ymm73725; AVX2-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3726; AVX2-NEXT:    vmovaps 320(%rdi), %ymm83727; AVX2-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3728; AVX2-NEXT:    vmovaps 288(%rdi), %ymm93729; AVX2-NEXT:    vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3730; AVX2-NEXT:    vmovaps 128(%rdi), %ymm103731; AVX2-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3732; AVX2-NEXT:    vmovaps 96(%rdi), %ymm13733; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3734; AVX2-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm03735; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,3,2,3]3736; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]3737; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3738; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3739; AVX2-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm03740; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm9[0,3,2,3]3741; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm8[4,5,6,7]3742; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3743; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3744; AVX2-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm03745; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm7[0,3,2,3]3746; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]3747; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3748; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3749; AVX2-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm03750; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm5[0,3,2,3]3751; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]3752; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3753; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3754; AVX2-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm03755; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]3756; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]3757; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]3758; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3759; AVX2-NEXT:    vmovaps 1088(%rdi), %ymm13760; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3761; AVX2-NEXT:    vmovaps 1056(%rdi), %ymm03762; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3763; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]3764; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3765; AVX2-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm13766; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3767; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3768; AVX2-NEXT:    vmovaps 1280(%rdi), %ymm13769; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3770; AVX2-NEXT:    vmovaps 1248(%rdi), %ymm03771; AVX2-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill3772; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]3773; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3774; AVX2-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm13775; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3776; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3777; AVX2-NEXT:    vmovaps 1472(%rdi), %ymm13778; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3779; AVX2-NEXT:    vmovaps 1440(%rdi), %ymm03780; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3781; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]3782; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3783; AVX2-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm13784; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3785; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3786; AVX2-NEXT:    vmovaps 32(%rdi), %ymm13787; AVX2-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3788; AVX2-NEXT:    vmovaps (%rdi), %ymm03789; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3790; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]3791; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3792; AVX2-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm13793; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3794; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3795; AVX2-NEXT:    vmovaps 224(%rdi), %ymm133796; AVX2-NEXT:    vmovaps 192(%rdi), %ymm123797; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm12[0,3,2,3]3798; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5,6,7]3799; AVX2-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm13800; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3801; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3802; AVX2-NEXT:    vmovaps 416(%rdi), %ymm113803; AVX2-NEXT:    vmovaps 384(%rdi), %ymm103804; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm10[0,3,2,3]3805; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]3806; AVX2-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm13807; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3808; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3809; AVX2-NEXT:    vmovaps 608(%rdi), %ymm93810; AVX2-NEXT:    vmovaps 576(%rdi), %ymm83811; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm8[0,3,2,3]3812; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5,6,7]3813; AVX2-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm13814; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3815; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3816; AVX2-NEXT:    vmovaps 800(%rdi), %ymm73817; AVX2-NEXT:    vmovaps 768(%rdi), %ymm63818; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm6[0,3,2,3]3819; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5,6,7]3820; AVX2-NEXT:    vinsertf128 $1, 832(%rdi), %ymm0, %ymm13821; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3822; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3823; AVX2-NEXT:    vmovaps 992(%rdi), %ymm53824; AVX2-NEXT:    vmovaps 960(%rdi), %ymm43825; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]3826; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]3827; AVX2-NEXT:    vinsertf128 $1, 1024(%rdi), %ymm0, %ymm13828; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3829; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3830; AVX2-NEXT:    vmovaps 1184(%rdi), %ymm33831; AVX2-NEXT:    vmovaps 1152(%rdi), %ymm23832; AVX2-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]3833; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]3834; AVX2-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm0, %ymm13835; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]3836; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3837; AVX2-NEXT:    vmovaps 1376(%rdi), %ymm13838; AVX2-NEXT:    vmovaps 1344(%rdi), %ymm03839; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,3,2,3]3840; AVX2-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm1[4,5,6,7]3841; AVX2-NEXT:    vinsertf128 $1, 1408(%rdi), %ymm0, %ymm143842; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]3843; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3844; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3845; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3846; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3847; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3848; AVX2-NEXT:    vbroadcastsd 176(%rdi), %ymm153849; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3850; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3851; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3852; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3853; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3854; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3855; AVX2-NEXT:    vbroadcastsd 368(%rdi), %ymm153856; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3857; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3858; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3859; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3860; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3861; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3862; AVX2-NEXT:    vbroadcastsd 560(%rdi), %ymm153863; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3864; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3865; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3866; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3867; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3868; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3869; AVX2-NEXT:    vbroadcastsd 752(%rdi), %ymm153870; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3871; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3872; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3873; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3874; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3875; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3876; AVX2-NEXT:    vbroadcastsd 944(%rdi), %ymm153877; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3878; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3879; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3880; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3881; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3882; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3883; AVX2-NEXT:    vbroadcastsd 1136(%rdi), %ymm153884; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3885; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3886; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3887; AVX2-NEXT:    vblendps $12, (%rsp), %ymm14, %ymm14 # 32-byte Folded Reload3888; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3889; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3890; AVX2-NEXT:    vbroadcastsd 1328(%rdi), %ymm153891; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3892; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3893; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3894; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3895; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3896; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3897; AVX2-NEXT:    vbroadcastsd 1520(%rdi), %ymm153898; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3899; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3900; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload3901; AVX2-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload3902; AVX2-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]3903; AVX2-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]3904; AVX2-NEXT:    vbroadcastsd 80(%rdi), %ymm153905; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]3906; AVX2-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3907; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm13[0,1],ymm12[2,3],ymm13[4,5,6,7]3908; AVX2-NEXT:    vshufps {{.*#+}} ymm12 = ymm12[2,3,0,1,6,7,4,5]3909; AVX2-NEXT:    vbroadcastsd 272(%rdi), %ymm133910; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]3911; AVX2-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3912; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3],ymm11[4,5,6,7]3913; AVX2-NEXT:    vshufps {{.*#+}} ymm10 = ymm10[2,3,0,1,6,7,4,5]3914; AVX2-NEXT:    vbroadcastsd 464(%rdi), %ymm113915; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm11[6,7]3916; AVX2-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3917; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]3918; AVX2-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]3919; AVX2-NEXT:    vbroadcastsd 656(%rdi), %ymm93920; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]3921; AVX2-NEXT:    vmovups %ymm8, (%rsp) # 32-byte Spill3922; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]3923; AVX2-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]3924; AVX2-NEXT:    vbroadcastsd 848(%rdi), %ymm73925; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]3926; AVX2-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3927; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]3928; AVX2-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]3929; AVX2-NEXT:    vbroadcastsd 1040(%rdi), %ymm53930; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]3931; AVX2-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3932; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]3933; AVX2-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]3934; AVX2-NEXT:    vbroadcastsd 1232(%rdi), %ymm33935; AVX2-NEXT:    vblendps {{.*#+}} ymm13 = ymm2[0,1,2,3,4,5],ymm3[6,7]3936; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]3937; AVX2-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]3938; AVX2-NEXT:    vbroadcastsd 1424(%rdi), %ymm13939; AVX2-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm1[6,7]3940; AVX2-NEXT:    vmovaps 112(%rdi), %xmm03941; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3942; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3943; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3944; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3945; AVX2-NEXT:    vmovaps 304(%rdi), %xmm03946; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3947; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3948; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3949; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3950; AVX2-NEXT:    vmovaps 496(%rdi), %xmm03951; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3952; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3953; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3954; AVX2-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3955; AVX2-NEXT:    vmovaps 688(%rdi), %xmm03956; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3957; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3958; AVX2-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]3959; AVX2-NEXT:    vmovaps 880(%rdi), %xmm03960; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3961; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3962; AVX2-NEXT:    vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3],ymm1[4,5,6,7]3963; AVX2-NEXT:    vmovaps 1072(%rdi), %xmm03964; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3965; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3966; AVX2-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]3967; AVX2-NEXT:    vmovaps 1264(%rdi), %xmm03968; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3969; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3970; AVX2-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]3971; AVX2-NEXT:    vmovaps 1456(%rdi), %xmm03972; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3973; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3974; AVX2-NEXT:    vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm1[4,5,6,7]3975; AVX2-NEXT:    vmovaps 1360(%rdi), %xmm03976; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3977; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3978; AVX2-NEXT:    vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]3979; AVX2-NEXT:    vmovaps 1168(%rdi), %xmm03980; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3981; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3982; AVX2-NEXT:    vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]3983; AVX2-NEXT:    vmovaps 976(%rdi), %xmm03984; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3985; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3986; AVX2-NEXT:    vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3],ymm1[4,5,6,7]3987; AVX2-NEXT:    vmovaps 784(%rdi), %xmm03988; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3989; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3990; AVX2-NEXT:    vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5,6,7]3991; AVX2-NEXT:    vmovaps 592(%rdi), %xmm03992; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3993; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3994; AVX2-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]3995; AVX2-NEXT:    vmovaps 400(%rdi), %xmm03996; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]3997; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]3998; AVX2-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm1[4,5,6,7]3999; AVX2-NEXT:    vmovaps 208(%rdi), %xmm04000; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4001; AVX2-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4002; AVX2-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]4003; AVX2-NEXT:    vmovaps 16(%rdi), %xmm04004; AVX2-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4005; AVX2-NEXT:    vpermpd {{.*#+}} ymm15 = mem[0,1,0,3]4006; AVX2-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]4007; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4008; AVX2-NEXT:    vmovaps %ymm15, 448(%rsi)4009; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4010; AVX2-NEXT:    vmovaps %ymm15, 384(%rsi)4011; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4012; AVX2-NEXT:    vmovaps %ymm15, 320(%rsi)4013; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4014; AVX2-NEXT:    vmovaps %ymm15, 256(%rsi)4015; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4016; AVX2-NEXT:    vmovaps %ymm15, 192(%rsi)4017; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4018; AVX2-NEXT:    vmovaps %ymm15, 128(%rsi)4019; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4020; AVX2-NEXT:    vmovaps %ymm15, 64(%rsi)4021; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4022; AVX2-NEXT:    vmovaps %ymm15, (%rsi)4023; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4024; AVX2-NEXT:    vmovaps %ymm15, 480(%rsi)4025; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4026; AVX2-NEXT:    vmovaps %ymm15, 416(%rsi)4027; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4028; AVX2-NEXT:    vmovaps %ymm15, 352(%rsi)4029; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4030; AVX2-NEXT:    vmovaps %ymm15, 288(%rsi)4031; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4032; AVX2-NEXT:    vmovaps %ymm15, 224(%rsi)4033; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4034; AVX2-NEXT:    vmovaps %ymm15, 160(%rsi)4035; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4036; AVX2-NEXT:    vmovaps %ymm15, 96(%rsi)4037; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4038; AVX2-NEXT:    vmovaps %ymm15, 32(%rsi)4039; AVX2-NEXT:    vmovaps %ymm11, 448(%rdx)4040; AVX2-NEXT:    vmovaps %ymm13, 384(%rdx)4041; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4042; AVX2-NEXT:    vmovaps %ymm11, 320(%rdx)4043; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4044; AVX2-NEXT:    vmovaps %ymm11, 256(%rdx)4045; AVX2-NEXT:    vmovups (%rsp), %ymm11 # 32-byte Reload4046; AVX2-NEXT:    vmovaps %ymm11, 192(%rdx)4047; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4048; AVX2-NEXT:    vmovaps %ymm11, 128(%rdx)4049; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4050; AVX2-NEXT:    vmovaps %ymm11, 64(%rdx)4051; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4052; AVX2-NEXT:    vmovaps %ymm11, (%rdx)4053; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4054; AVX2-NEXT:    vmovaps %ymm11, 480(%rdx)4055; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4056; AVX2-NEXT:    vmovaps %ymm11, 416(%rdx)4057; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4058; AVX2-NEXT:    vmovaps %ymm11, 352(%rdx)4059; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4060; AVX2-NEXT:    vmovaps %ymm11, 288(%rdx)4061; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4062; AVX2-NEXT:    vmovaps %ymm11, 224(%rdx)4063; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4064; AVX2-NEXT:    vmovaps %ymm11, 160(%rdx)4065; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4066; AVX2-NEXT:    vmovaps %ymm11, 96(%rdx)4067; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4068; AVX2-NEXT:    vmovaps %ymm11, 32(%rdx)4069; AVX2-NEXT:    vmovaps %ymm0, (%rcx)4070; AVX2-NEXT:    vmovaps %ymm1, 64(%rcx)4071; AVX2-NEXT:    vmovaps %ymm2, 128(%rcx)4072; AVX2-NEXT:    vmovaps %ymm3, 192(%rcx)4073; AVX2-NEXT:    vmovaps %ymm4, 256(%rcx)4074; AVX2-NEXT:    vmovaps %ymm5, 320(%rcx)4075; AVX2-NEXT:    vmovaps %ymm6, 384(%rcx)4076; AVX2-NEXT:    vmovaps %ymm7, 448(%rcx)4077; AVX2-NEXT:    vmovaps %ymm8, 480(%rcx)4078; AVX2-NEXT:    vmovaps %ymm9, 416(%rcx)4079; AVX2-NEXT:    vmovaps %ymm10, 352(%rcx)4080; AVX2-NEXT:    vmovaps %ymm12, 288(%rcx)4081; AVX2-NEXT:    vmovaps %ymm14, 224(%rcx)4082; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4083; AVX2-NEXT:    vmovaps %ymm0, 160(%rcx)4084; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4085; AVX2-NEXT:    vmovaps %ymm0, 96(%rcx)4086; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4087; AVX2-NEXT:    vmovaps %ymm0, 32(%rcx)4088; AVX2-NEXT:    addq $968, %rsp # imm = 0x3C84089; AVX2-NEXT:    vzeroupper4090; AVX2-NEXT:    retq4091;4092; AVX2-FP-LABEL: load_i64_stride3_vf64:4093; AVX2-FP:       # %bb.0:4094; AVX2-FP-NEXT:    subq $968, %rsp # imm = 0x3C84095; AVX2-FP-NEXT:    vmovaps 896(%rdi), %ymm24096; AVX2-FP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4097; AVX2-FP-NEXT:    vmovaps 864(%rdi), %ymm34098; AVX2-FP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4099; AVX2-FP-NEXT:    vmovaps 704(%rdi), %ymm44100; AVX2-FP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4101; AVX2-FP-NEXT:    vmovaps 672(%rdi), %ymm54102; AVX2-FP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4103; AVX2-FP-NEXT:    vmovaps 512(%rdi), %ymm64104; AVX2-FP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4105; AVX2-FP-NEXT:    vmovaps 480(%rdi), %ymm74106; AVX2-FP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4107; AVX2-FP-NEXT:    vmovaps 320(%rdi), %ymm84108; AVX2-FP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4109; AVX2-FP-NEXT:    vmovaps 288(%rdi), %ymm94110; AVX2-FP-NEXT:    vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4111; AVX2-FP-NEXT:    vmovaps 128(%rdi), %ymm104112; AVX2-FP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4113; AVX2-FP-NEXT:    vmovaps 96(%rdi), %ymm14114; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4115; AVX2-FP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm04116; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,3,2,3]4117; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]4118; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4119; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4120; AVX2-FP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm04121; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm9[0,3,2,3]4122; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm8[4,5,6,7]4123; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4124; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4125; AVX2-FP-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm04126; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm7[0,3,2,3]4127; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]4128; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4129; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4130; AVX2-FP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm04131; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm5[0,3,2,3]4132; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]4133; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4134; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4135; AVX2-FP-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm04136; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]4137; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]4138; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4139; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4140; AVX2-FP-NEXT:    vmovaps 1088(%rdi), %ymm14141; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4142; AVX2-FP-NEXT:    vmovaps 1056(%rdi), %ymm04143; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4144; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4145; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4146; AVX2-FP-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm14147; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4148; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4149; AVX2-FP-NEXT:    vmovaps 1280(%rdi), %ymm14150; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4151; AVX2-FP-NEXT:    vmovaps 1248(%rdi), %ymm04152; AVX2-FP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill4153; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4154; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4155; AVX2-FP-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm14156; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4157; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4158; AVX2-FP-NEXT:    vmovaps 1472(%rdi), %ymm14159; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4160; AVX2-FP-NEXT:    vmovaps 1440(%rdi), %ymm04161; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4162; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4163; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4164; AVX2-FP-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm14165; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4166; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4167; AVX2-FP-NEXT:    vmovaps 32(%rdi), %ymm14168; AVX2-FP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4169; AVX2-FP-NEXT:    vmovaps (%rdi), %ymm04170; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4171; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4172; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4173; AVX2-FP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm14174; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4175; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4176; AVX2-FP-NEXT:    vmovaps 224(%rdi), %ymm134177; AVX2-FP-NEXT:    vmovaps 192(%rdi), %ymm124178; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm12[0,3,2,3]4179; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5,6,7]4180; AVX2-FP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm14181; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4182; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4183; AVX2-FP-NEXT:    vmovaps 416(%rdi), %ymm114184; AVX2-FP-NEXT:    vmovaps 384(%rdi), %ymm104185; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm10[0,3,2,3]4186; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]4187; AVX2-FP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm14188; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4189; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4190; AVX2-FP-NEXT:    vmovaps 608(%rdi), %ymm94191; AVX2-FP-NEXT:    vmovaps 576(%rdi), %ymm84192; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm8[0,3,2,3]4193; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5,6,7]4194; AVX2-FP-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm14195; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4196; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4197; AVX2-FP-NEXT:    vmovaps 800(%rdi), %ymm74198; AVX2-FP-NEXT:    vmovaps 768(%rdi), %ymm64199; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm6[0,3,2,3]4200; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5,6,7]4201; AVX2-FP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm0, %ymm14202; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4203; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4204; AVX2-FP-NEXT:    vmovaps 992(%rdi), %ymm54205; AVX2-FP-NEXT:    vmovaps 960(%rdi), %ymm44206; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]4207; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]4208; AVX2-FP-NEXT:    vinsertf128 $1, 1024(%rdi), %ymm0, %ymm14209; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4210; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4211; AVX2-FP-NEXT:    vmovaps 1184(%rdi), %ymm34212; AVX2-FP-NEXT:    vmovaps 1152(%rdi), %ymm24213; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]4214; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4215; AVX2-FP-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm0, %ymm14216; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4217; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4218; AVX2-FP-NEXT:    vmovaps 1376(%rdi), %ymm14219; AVX2-FP-NEXT:    vmovaps 1344(%rdi), %ymm04220; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,3,2,3]4221; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm1[4,5,6,7]4222; AVX2-FP-NEXT:    vinsertf128 $1, 1408(%rdi), %ymm0, %ymm144223; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]4224; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4225; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4226; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4227; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4228; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4229; AVX2-FP-NEXT:    vbroadcastsd 176(%rdi), %ymm154230; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4231; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4232; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4233; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4234; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4235; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4236; AVX2-FP-NEXT:    vbroadcastsd 368(%rdi), %ymm154237; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4238; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4239; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4240; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4241; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4242; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4243; AVX2-FP-NEXT:    vbroadcastsd 560(%rdi), %ymm154244; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4245; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4246; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4247; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4248; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4249; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4250; AVX2-FP-NEXT:    vbroadcastsd 752(%rdi), %ymm154251; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4252; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4253; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4254; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4255; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4256; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4257; AVX2-FP-NEXT:    vbroadcastsd 944(%rdi), %ymm154258; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4259; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4260; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4261; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4262; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4263; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4264; AVX2-FP-NEXT:    vbroadcastsd 1136(%rdi), %ymm154265; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4266; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4267; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4268; AVX2-FP-NEXT:    vblendps $12, (%rsp), %ymm14, %ymm14 # 32-byte Folded Reload4269; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4270; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4271; AVX2-FP-NEXT:    vbroadcastsd 1328(%rdi), %ymm154272; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4273; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4274; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4275; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4276; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4277; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4278; AVX2-FP-NEXT:    vbroadcastsd 1520(%rdi), %ymm154279; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4280; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4281; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4282; AVX2-FP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4283; AVX2-FP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4284; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4285; AVX2-FP-NEXT:    vbroadcastsd 80(%rdi), %ymm154286; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4287; AVX2-FP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4288; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm13[0,1],ymm12[2,3],ymm13[4,5,6,7]4289; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm12 = ymm12[2,3,0,1,6,7,4,5]4290; AVX2-FP-NEXT:    vbroadcastsd 272(%rdi), %ymm134291; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]4292; AVX2-FP-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4293; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3],ymm11[4,5,6,7]4294; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm10 = ymm10[2,3,0,1,6,7,4,5]4295; AVX2-FP-NEXT:    vbroadcastsd 464(%rdi), %ymm114296; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm11[6,7]4297; AVX2-FP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4298; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]4299; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]4300; AVX2-FP-NEXT:    vbroadcastsd 656(%rdi), %ymm94301; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]4302; AVX2-FP-NEXT:    vmovups %ymm8, (%rsp) # 32-byte Spill4303; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]4304; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]4305; AVX2-FP-NEXT:    vbroadcastsd 848(%rdi), %ymm74306; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]4307; AVX2-FP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4308; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]4309; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]4310; AVX2-FP-NEXT:    vbroadcastsd 1040(%rdi), %ymm54311; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]4312; AVX2-FP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4313; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]4314; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]4315; AVX2-FP-NEXT:    vbroadcastsd 1232(%rdi), %ymm34316; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm13 = ymm2[0,1,2,3,4,5],ymm3[6,7]4317; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]4318; AVX2-FP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]4319; AVX2-FP-NEXT:    vbroadcastsd 1424(%rdi), %ymm14320; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm1[6,7]4321; AVX2-FP-NEXT:    vmovaps 112(%rdi), %xmm04322; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4323; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4324; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4325; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4326; AVX2-FP-NEXT:    vmovaps 304(%rdi), %xmm04327; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4328; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4329; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4330; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4331; AVX2-FP-NEXT:    vmovaps 496(%rdi), %xmm04332; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4333; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4334; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4335; AVX2-FP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4336; AVX2-FP-NEXT:    vmovaps 688(%rdi), %xmm04337; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4338; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4339; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]4340; AVX2-FP-NEXT:    vmovaps 880(%rdi), %xmm04341; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4342; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4343; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3],ymm1[4,5,6,7]4344; AVX2-FP-NEXT:    vmovaps 1072(%rdi), %xmm04345; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4346; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4347; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]4348; AVX2-FP-NEXT:    vmovaps 1264(%rdi), %xmm04349; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4350; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4351; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]4352; AVX2-FP-NEXT:    vmovaps 1456(%rdi), %xmm04353; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4354; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4355; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm1[4,5,6,7]4356; AVX2-FP-NEXT:    vmovaps 1360(%rdi), %xmm04357; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4358; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4359; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]4360; AVX2-FP-NEXT:    vmovaps 1168(%rdi), %xmm04361; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4362; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4363; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]4364; AVX2-FP-NEXT:    vmovaps 976(%rdi), %xmm04365; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4366; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4367; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3],ymm1[4,5,6,7]4368; AVX2-FP-NEXT:    vmovaps 784(%rdi), %xmm04369; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4370; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4371; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5,6,7]4372; AVX2-FP-NEXT:    vmovaps 592(%rdi), %xmm04373; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4374; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4375; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]4376; AVX2-FP-NEXT:    vmovaps 400(%rdi), %xmm04377; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4378; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4379; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm1[4,5,6,7]4380; AVX2-FP-NEXT:    vmovaps 208(%rdi), %xmm04381; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4382; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4383; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]4384; AVX2-FP-NEXT:    vmovaps 16(%rdi), %xmm04385; AVX2-FP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4386; AVX2-FP-NEXT:    vpermpd {{.*#+}} ymm15 = mem[0,1,0,3]4387; AVX2-FP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]4388; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4389; AVX2-FP-NEXT:    vmovaps %ymm15, 448(%rsi)4390; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4391; AVX2-FP-NEXT:    vmovaps %ymm15, 384(%rsi)4392; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4393; AVX2-FP-NEXT:    vmovaps %ymm15, 320(%rsi)4394; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4395; AVX2-FP-NEXT:    vmovaps %ymm15, 256(%rsi)4396; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4397; AVX2-FP-NEXT:    vmovaps %ymm15, 192(%rsi)4398; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4399; AVX2-FP-NEXT:    vmovaps %ymm15, 128(%rsi)4400; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4401; AVX2-FP-NEXT:    vmovaps %ymm15, 64(%rsi)4402; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4403; AVX2-FP-NEXT:    vmovaps %ymm15, (%rsi)4404; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4405; AVX2-FP-NEXT:    vmovaps %ymm15, 480(%rsi)4406; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4407; AVX2-FP-NEXT:    vmovaps %ymm15, 416(%rsi)4408; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4409; AVX2-FP-NEXT:    vmovaps %ymm15, 352(%rsi)4410; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4411; AVX2-FP-NEXT:    vmovaps %ymm15, 288(%rsi)4412; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4413; AVX2-FP-NEXT:    vmovaps %ymm15, 224(%rsi)4414; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4415; AVX2-FP-NEXT:    vmovaps %ymm15, 160(%rsi)4416; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4417; AVX2-FP-NEXT:    vmovaps %ymm15, 96(%rsi)4418; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4419; AVX2-FP-NEXT:    vmovaps %ymm15, 32(%rsi)4420; AVX2-FP-NEXT:    vmovaps %ymm11, 448(%rdx)4421; AVX2-FP-NEXT:    vmovaps %ymm13, 384(%rdx)4422; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4423; AVX2-FP-NEXT:    vmovaps %ymm11, 320(%rdx)4424; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4425; AVX2-FP-NEXT:    vmovaps %ymm11, 256(%rdx)4426; AVX2-FP-NEXT:    vmovups (%rsp), %ymm11 # 32-byte Reload4427; AVX2-FP-NEXT:    vmovaps %ymm11, 192(%rdx)4428; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4429; AVX2-FP-NEXT:    vmovaps %ymm11, 128(%rdx)4430; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4431; AVX2-FP-NEXT:    vmovaps %ymm11, 64(%rdx)4432; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4433; AVX2-FP-NEXT:    vmovaps %ymm11, (%rdx)4434; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4435; AVX2-FP-NEXT:    vmovaps %ymm11, 480(%rdx)4436; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4437; AVX2-FP-NEXT:    vmovaps %ymm11, 416(%rdx)4438; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4439; AVX2-FP-NEXT:    vmovaps %ymm11, 352(%rdx)4440; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4441; AVX2-FP-NEXT:    vmovaps %ymm11, 288(%rdx)4442; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4443; AVX2-FP-NEXT:    vmovaps %ymm11, 224(%rdx)4444; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4445; AVX2-FP-NEXT:    vmovaps %ymm11, 160(%rdx)4446; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4447; AVX2-FP-NEXT:    vmovaps %ymm11, 96(%rdx)4448; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4449; AVX2-FP-NEXT:    vmovaps %ymm11, 32(%rdx)4450; AVX2-FP-NEXT:    vmovaps %ymm0, (%rcx)4451; AVX2-FP-NEXT:    vmovaps %ymm1, 64(%rcx)4452; AVX2-FP-NEXT:    vmovaps %ymm2, 128(%rcx)4453; AVX2-FP-NEXT:    vmovaps %ymm3, 192(%rcx)4454; AVX2-FP-NEXT:    vmovaps %ymm4, 256(%rcx)4455; AVX2-FP-NEXT:    vmovaps %ymm5, 320(%rcx)4456; AVX2-FP-NEXT:    vmovaps %ymm6, 384(%rcx)4457; AVX2-FP-NEXT:    vmovaps %ymm7, 448(%rcx)4458; AVX2-FP-NEXT:    vmovaps %ymm8, 480(%rcx)4459; AVX2-FP-NEXT:    vmovaps %ymm9, 416(%rcx)4460; AVX2-FP-NEXT:    vmovaps %ymm10, 352(%rcx)4461; AVX2-FP-NEXT:    vmovaps %ymm12, 288(%rcx)4462; AVX2-FP-NEXT:    vmovaps %ymm14, 224(%rcx)4463; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4464; AVX2-FP-NEXT:    vmovaps %ymm0, 160(%rcx)4465; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4466; AVX2-FP-NEXT:    vmovaps %ymm0, 96(%rcx)4467; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4468; AVX2-FP-NEXT:    vmovaps %ymm0, 32(%rcx)4469; AVX2-FP-NEXT:    addq $968, %rsp # imm = 0x3C84470; AVX2-FP-NEXT:    vzeroupper4471; AVX2-FP-NEXT:    retq4472;4473; AVX2-FCP-LABEL: load_i64_stride3_vf64:4474; AVX2-FCP:       # %bb.0:4475; AVX2-FCP-NEXT:    subq $968, %rsp # imm = 0x3C84476; AVX2-FCP-NEXT:    vmovaps 896(%rdi), %ymm24477; AVX2-FCP-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4478; AVX2-FCP-NEXT:    vmovaps 864(%rdi), %ymm34479; AVX2-FCP-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4480; AVX2-FCP-NEXT:    vmovaps 704(%rdi), %ymm44481; AVX2-FCP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4482; AVX2-FCP-NEXT:    vmovaps 672(%rdi), %ymm54483; AVX2-FCP-NEXT:    vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4484; AVX2-FCP-NEXT:    vmovaps 512(%rdi), %ymm64485; AVX2-FCP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4486; AVX2-FCP-NEXT:    vmovaps 480(%rdi), %ymm74487; AVX2-FCP-NEXT:    vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4488; AVX2-FCP-NEXT:    vmovaps 320(%rdi), %ymm84489; AVX2-FCP-NEXT:    vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4490; AVX2-FCP-NEXT:    vmovaps 288(%rdi), %ymm94491; AVX2-FCP-NEXT:    vmovups %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4492; AVX2-FCP-NEXT:    vmovaps 128(%rdi), %ymm104493; AVX2-FCP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4494; AVX2-FCP-NEXT:    vmovaps 96(%rdi), %ymm14495; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4496; AVX2-FCP-NEXT:    vinsertf128 $1, 160(%rdi), %ymm0, %ymm04497; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm1[0,3,2,3]4498; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]4499; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4500; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4501; AVX2-FCP-NEXT:    vinsertf128 $1, 352(%rdi), %ymm0, %ymm04502; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm9[0,3,2,3]4503; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm8[4,5,6,7]4504; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4505; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4506; AVX2-FCP-NEXT:    vinsertf128 $1, 544(%rdi), %ymm0, %ymm04507; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm7[0,3,2,3]4508; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]4509; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4510; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4511; AVX2-FCP-NEXT:    vinsertf128 $1, 736(%rdi), %ymm0, %ymm04512; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm5[0,3,2,3]4513; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]4514; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4515; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4516; AVX2-FCP-NEXT:    vinsertf128 $1, 928(%rdi), %ymm0, %ymm04517; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = ymm3[0,3,2,3]4518; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]4519; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4520; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4521; AVX2-FCP-NEXT:    vmovaps 1088(%rdi), %ymm14522; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4523; AVX2-FCP-NEXT:    vmovaps 1056(%rdi), %ymm04524; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4525; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4526; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4527; AVX2-FCP-NEXT:    vinsertf128 $1, 1120(%rdi), %ymm0, %ymm14528; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4529; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4530; AVX2-FCP-NEXT:    vmovaps 1280(%rdi), %ymm14531; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4532; AVX2-FCP-NEXT:    vmovaps 1248(%rdi), %ymm04533; AVX2-FCP-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill4534; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4535; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4536; AVX2-FCP-NEXT:    vinsertf128 $1, 1312(%rdi), %ymm0, %ymm14537; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4538; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4539; AVX2-FCP-NEXT:    vmovaps 1472(%rdi), %ymm14540; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4541; AVX2-FCP-NEXT:    vmovaps 1440(%rdi), %ymm04542; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4543; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4544; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4545; AVX2-FCP-NEXT:    vinsertf128 $1, 1504(%rdi), %ymm0, %ymm14546; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4547; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4548; AVX2-FCP-NEXT:    vmovaps 32(%rdi), %ymm14549; AVX2-FCP-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4550; AVX2-FCP-NEXT:    vmovaps (%rdi), %ymm04551; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4552; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,3,2,3]4553; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4554; AVX2-FCP-NEXT:    vinsertf128 $1, 64(%rdi), %ymm0, %ymm14555; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4556; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4557; AVX2-FCP-NEXT:    vmovaps 224(%rdi), %ymm134558; AVX2-FCP-NEXT:    vmovaps 192(%rdi), %ymm124559; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm12[0,3,2,3]4560; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm13[4,5,6,7]4561; AVX2-FCP-NEXT:    vinsertf128 $1, 256(%rdi), %ymm0, %ymm14562; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4563; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4564; AVX2-FCP-NEXT:    vmovaps 416(%rdi), %ymm114565; AVX2-FCP-NEXT:    vmovaps 384(%rdi), %ymm104566; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm10[0,3,2,3]4567; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]4568; AVX2-FCP-NEXT:    vinsertf128 $1, 448(%rdi), %ymm0, %ymm14569; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4570; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4571; AVX2-FCP-NEXT:    vmovaps 608(%rdi), %ymm94572; AVX2-FCP-NEXT:    vmovaps 576(%rdi), %ymm84573; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm8[0,3,2,3]4574; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5,6,7]4575; AVX2-FCP-NEXT:    vinsertf128 $1, 640(%rdi), %ymm0, %ymm14576; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4577; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4578; AVX2-FCP-NEXT:    vmovaps 800(%rdi), %ymm74579; AVX2-FCP-NEXT:    vmovaps 768(%rdi), %ymm64580; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm6[0,3,2,3]4581; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm7[4,5,6,7]4582; AVX2-FCP-NEXT:    vinsertf128 $1, 832(%rdi), %ymm0, %ymm14583; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4584; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4585; AVX2-FCP-NEXT:    vmovaps 992(%rdi), %ymm54586; AVX2-FCP-NEXT:    vmovaps 960(%rdi), %ymm44587; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm4[0,3,2,3]4588; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]4589; AVX2-FCP-NEXT:    vinsertf128 $1, 1024(%rdi), %ymm0, %ymm14590; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4591; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4592; AVX2-FCP-NEXT:    vmovaps 1184(%rdi), %ymm34593; AVX2-FCP-NEXT:    vmovaps 1152(%rdi), %ymm24594; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm0 = ymm2[0,3,2,3]4595; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4596; AVX2-FCP-NEXT:    vinsertf128 $1, 1216(%rdi), %ymm0, %ymm14597; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4598; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4599; AVX2-FCP-NEXT:    vmovaps 1376(%rdi), %ymm14600; AVX2-FCP-NEXT:    vmovaps 1344(%rdi), %ymm04601; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = ymm0[0,3,2,3]4602; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm1[4,5,6,7]4603; AVX2-FCP-NEXT:    vinsertf128 $1, 1408(%rdi), %ymm0, %ymm144604; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]4605; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4606; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4607; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4608; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4609; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4610; AVX2-FCP-NEXT:    vbroadcastsd 176(%rdi), %ymm154611; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4612; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4613; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4614; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4615; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4616; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4617; AVX2-FCP-NEXT:    vbroadcastsd 368(%rdi), %ymm154618; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4619; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4620; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4621; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4622; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4623; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4624; AVX2-FCP-NEXT:    vbroadcastsd 560(%rdi), %ymm154625; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4626; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4627; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4628; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4629; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4630; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4631; AVX2-FCP-NEXT:    vbroadcastsd 752(%rdi), %ymm154632; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4633; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4634; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4635; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4636; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4637; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4638; AVX2-FCP-NEXT:    vbroadcastsd 944(%rdi), %ymm154639; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4640; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4641; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4642; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4643; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4644; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4645; AVX2-FCP-NEXT:    vbroadcastsd 1136(%rdi), %ymm154646; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4647; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4648; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4649; AVX2-FCP-NEXT:    vblendps $12, (%rsp), %ymm14, %ymm14 # 32-byte Folded Reload4650; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4651; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4652; AVX2-FCP-NEXT:    vbroadcastsd 1328(%rdi), %ymm154653; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4654; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4655; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4656; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4657; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4658; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4659; AVX2-FCP-NEXT:    vbroadcastsd 1520(%rdi), %ymm154660; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4661; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4662; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload4663; AVX2-FCP-NEXT:    vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload4664; AVX2-FCP-NEXT:    # ymm14 = ymm14[0,1],mem[2,3],ymm14[4,5,6,7]4665; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm14 = ymm14[2,3,0,1,6,7,4,5]4666; AVX2-FCP-NEXT:    vbroadcastsd 80(%rdi), %ymm154667; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm14[0,1,2,3,4,5],ymm15[6,7]4668; AVX2-FCP-NEXT:    vmovups %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4669; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm13[0,1],ymm12[2,3],ymm13[4,5,6,7]4670; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm12 = ymm12[2,3,0,1,6,7,4,5]4671; AVX2-FCP-NEXT:    vbroadcastsd 272(%rdi), %ymm134672; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5],ymm13[6,7]4673; AVX2-FCP-NEXT:    vmovups %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4674; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1],ymm10[2,3],ymm11[4,5,6,7]4675; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm10 = ymm10[2,3,0,1,6,7,4,5]4676; AVX2-FCP-NEXT:    vbroadcastsd 464(%rdi), %ymm114677; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm11[6,7]4678; AVX2-FCP-NEXT:    vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4679; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm9[0,1],ymm8[2,3],ymm9[4,5,6,7]4680; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm8 = ymm8[2,3,0,1,6,7,4,5]4681; AVX2-FCP-NEXT:    vbroadcastsd 656(%rdi), %ymm94682; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm9[6,7]4683; AVX2-FCP-NEXT:    vmovups %ymm8, (%rsp) # 32-byte Spill4684; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3],ymm7[4,5,6,7]4685; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm6 = ymm6[2,3,0,1,6,7,4,5]4686; AVX2-FCP-NEXT:    vbroadcastsd 848(%rdi), %ymm74687; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]4688; AVX2-FCP-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4689; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3],ymm5[4,5,6,7]4690; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm4 = ymm4[2,3,0,1,6,7,4,5]4691; AVX2-FCP-NEXT:    vbroadcastsd 1040(%rdi), %ymm54692; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm5[6,7]4693; AVX2-FCP-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4694; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3],ymm3[4,5,6,7]4695; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm2 = ymm2[2,3,0,1,6,7,4,5]4696; AVX2-FCP-NEXT:    vbroadcastsd 1232(%rdi), %ymm34697; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm13 = ymm2[0,1,2,3,4,5],ymm3[6,7]4698; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3],ymm1[4,5,6,7]4699; AVX2-FCP-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[2,3,0,1,6,7,4,5]4700; AVX2-FCP-NEXT:    vbroadcastsd 1424(%rdi), %ymm14701; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5],ymm1[6,7]4702; AVX2-FCP-NEXT:    vmovaps 112(%rdi), %xmm04703; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4704; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4705; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4706; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4707; AVX2-FCP-NEXT:    vmovaps 304(%rdi), %xmm04708; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4709; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4710; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4711; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4712; AVX2-FCP-NEXT:    vmovaps 496(%rdi), %xmm04713; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4714; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4715; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4716; AVX2-FCP-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4717; AVX2-FCP-NEXT:    vmovaps 688(%rdi), %xmm04718; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4719; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4720; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]4721; AVX2-FCP-NEXT:    vmovaps 880(%rdi), %xmm04722; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4723; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4724; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm12 = ymm0[0,1,2,3],ymm1[4,5,6,7]4725; AVX2-FCP-NEXT:    vmovaps 1072(%rdi), %xmm04726; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4727; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4728; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm10 = ymm0[0,1,2,3],ymm1[4,5,6,7]4729; AVX2-FCP-NEXT:    vmovaps 1264(%rdi), %xmm04730; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4731; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4732; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm1[4,5,6,7]4733; AVX2-FCP-NEXT:    vmovaps 1456(%rdi), %xmm04734; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4735; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4736; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm1[4,5,6,7]4737; AVX2-FCP-NEXT:    vmovaps 1360(%rdi), %xmm04738; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4739; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4740; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]4741; AVX2-FCP-NEXT:    vmovaps 1168(%rdi), %xmm04742; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4743; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4744; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm6 = ymm0[0,1,2,3],ymm1[4,5,6,7]4745; AVX2-FCP-NEXT:    vmovaps 976(%rdi), %xmm04746; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4747; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4748; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm5 = ymm0[0,1,2,3],ymm1[4,5,6,7]4749; AVX2-FCP-NEXT:    vmovaps 784(%rdi), %xmm04750; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4751; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4752; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm4 = ymm0[0,1,2,3],ymm1[4,5,6,7]4753; AVX2-FCP-NEXT:    vmovaps 592(%rdi), %xmm04754; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4755; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4756; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm1[4,5,6,7]4757; AVX2-FCP-NEXT:    vmovaps 400(%rdi), %xmm04758; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4759; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4760; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3],ymm1[4,5,6,7]4761; AVX2-FCP-NEXT:    vmovaps 208(%rdi), %xmm04762; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4763; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm1 = mem[0,1,0,3]4764; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]4765; AVX2-FCP-NEXT:    vmovaps 16(%rdi), %xmm04766; AVX2-FCP-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],mem[2,3]4767; AVX2-FCP-NEXT:    vpermpd {{.*#+}} ymm15 = mem[0,1,0,3]4768; AVX2-FCP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]4769; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4770; AVX2-FCP-NEXT:    vmovaps %ymm15, 448(%rsi)4771; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4772; AVX2-FCP-NEXT:    vmovaps %ymm15, 384(%rsi)4773; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4774; AVX2-FCP-NEXT:    vmovaps %ymm15, 320(%rsi)4775; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4776; AVX2-FCP-NEXT:    vmovaps %ymm15, 256(%rsi)4777; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4778; AVX2-FCP-NEXT:    vmovaps %ymm15, 192(%rsi)4779; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4780; AVX2-FCP-NEXT:    vmovaps %ymm15, 128(%rsi)4781; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4782; AVX2-FCP-NEXT:    vmovaps %ymm15, 64(%rsi)4783; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4784; AVX2-FCP-NEXT:    vmovaps %ymm15, (%rsi)4785; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4786; AVX2-FCP-NEXT:    vmovaps %ymm15, 480(%rsi)4787; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4788; AVX2-FCP-NEXT:    vmovaps %ymm15, 416(%rsi)4789; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4790; AVX2-FCP-NEXT:    vmovaps %ymm15, 352(%rsi)4791; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4792; AVX2-FCP-NEXT:    vmovaps %ymm15, 288(%rsi)4793; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4794; AVX2-FCP-NEXT:    vmovaps %ymm15, 224(%rsi)4795; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4796; AVX2-FCP-NEXT:    vmovaps %ymm15, 160(%rsi)4797; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4798; AVX2-FCP-NEXT:    vmovaps %ymm15, 96(%rsi)4799; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload4800; AVX2-FCP-NEXT:    vmovaps %ymm15, 32(%rsi)4801; AVX2-FCP-NEXT:    vmovaps %ymm11, 448(%rdx)4802; AVX2-FCP-NEXT:    vmovaps %ymm13, 384(%rdx)4803; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4804; AVX2-FCP-NEXT:    vmovaps %ymm11, 320(%rdx)4805; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4806; AVX2-FCP-NEXT:    vmovaps %ymm11, 256(%rdx)4807; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm11 # 32-byte Reload4808; AVX2-FCP-NEXT:    vmovaps %ymm11, 192(%rdx)4809; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4810; AVX2-FCP-NEXT:    vmovaps %ymm11, 128(%rdx)4811; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4812; AVX2-FCP-NEXT:    vmovaps %ymm11, 64(%rdx)4813; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4814; AVX2-FCP-NEXT:    vmovaps %ymm11, (%rdx)4815; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4816; AVX2-FCP-NEXT:    vmovaps %ymm11, 480(%rdx)4817; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4818; AVX2-FCP-NEXT:    vmovaps %ymm11, 416(%rdx)4819; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4820; AVX2-FCP-NEXT:    vmovaps %ymm11, 352(%rdx)4821; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4822; AVX2-FCP-NEXT:    vmovaps %ymm11, 288(%rdx)4823; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4824; AVX2-FCP-NEXT:    vmovaps %ymm11, 224(%rdx)4825; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4826; AVX2-FCP-NEXT:    vmovaps %ymm11, 160(%rdx)4827; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4828; AVX2-FCP-NEXT:    vmovaps %ymm11, 96(%rdx)4829; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload4830; AVX2-FCP-NEXT:    vmovaps %ymm11, 32(%rdx)4831; AVX2-FCP-NEXT:    vmovaps %ymm0, (%rcx)4832; AVX2-FCP-NEXT:    vmovaps %ymm1, 64(%rcx)4833; AVX2-FCP-NEXT:    vmovaps %ymm2, 128(%rcx)4834; AVX2-FCP-NEXT:    vmovaps %ymm3, 192(%rcx)4835; AVX2-FCP-NEXT:    vmovaps %ymm4, 256(%rcx)4836; AVX2-FCP-NEXT:    vmovaps %ymm5, 320(%rcx)4837; AVX2-FCP-NEXT:    vmovaps %ymm6, 384(%rcx)4838; AVX2-FCP-NEXT:    vmovaps %ymm7, 448(%rcx)4839; AVX2-FCP-NEXT:    vmovaps %ymm8, 480(%rcx)4840; AVX2-FCP-NEXT:    vmovaps %ymm9, 416(%rcx)4841; AVX2-FCP-NEXT:    vmovaps %ymm10, 352(%rcx)4842; AVX2-FCP-NEXT:    vmovaps %ymm12, 288(%rcx)4843; AVX2-FCP-NEXT:    vmovaps %ymm14, 224(%rcx)4844; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4845; AVX2-FCP-NEXT:    vmovaps %ymm0, 160(%rcx)4846; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4847; AVX2-FCP-NEXT:    vmovaps %ymm0, 96(%rcx)4848; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload4849; AVX2-FCP-NEXT:    vmovaps %ymm0, 32(%rcx)4850; AVX2-FCP-NEXT:    addq $968, %rsp # imm = 0x3C84851; AVX2-FCP-NEXT:    vzeroupper4852; AVX2-FCP-NEXT:    retq4853;4854; AVX512-LABEL: load_i64_stride3_vf64:4855; AVX512:       # %bb.0:4856; AVX512-NEXT:    vmovdqa64 1472(%rdi), %zmm04857; AVX512-NEXT:    vmovdqa64 1408(%rdi), %zmm144858; AVX512-NEXT:    vmovdqa64 1344(%rdi), %zmm224859; AVX512-NEXT:    vmovdqa64 1280(%rdi), %zmm14860; AVX512-NEXT:    vmovdqa64 1216(%rdi), %zmm134861; AVX512-NEXT:    vmovdqa64 1152(%rdi), %zmm194862; AVX512-NEXT:    vmovdqa64 1088(%rdi), %zmm24863; AVX512-NEXT:    vmovdqa64 1024(%rdi), %zmm124864; AVX512-NEXT:    vmovdqa64 960(%rdi), %zmm274865; AVX512-NEXT:    vmovdqa64 896(%rdi), %zmm34866; AVX512-NEXT:    vmovdqa64 832(%rdi), %zmm104867; AVX512-NEXT:    vmovdqa64 768(%rdi), %zmm264868; AVX512-NEXT:    vmovdqa64 704(%rdi), %zmm44869; AVX512-NEXT:    vmovdqa64 640(%rdi), %zmm94870; AVX512-NEXT:    vmovdqa64 576(%rdi), %zmm294871; AVX512-NEXT:    vmovdqa64 512(%rdi), %zmm54872; AVX512-NEXT:    vmovdqa64 448(%rdi), %zmm84873; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm284874; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm74875; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm254876; AVX512-NEXT:    vmovdqa64 192(%rdi), %zmm304877; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]4878; AVX512-NEXT:    vmovdqa64 %zmm30, %zmm64879; AVX512-NEXT:    vpermt2q %zmm7, %zmm11, %zmm64880; AVX512-NEXT:    vmovdqa64 %zmm28, %zmm154881; AVX512-NEXT:    vpermt2q %zmm8, %zmm11, %zmm154882; AVX512-NEXT:    vmovdqa64 %zmm29, %zmm164883; AVX512-NEXT:    vpermt2q %zmm9, %zmm11, %zmm164884; AVX512-NEXT:    vmovdqa64 %zmm26, %zmm174885; AVX512-NEXT:    vpermt2q %zmm10, %zmm11, %zmm174886; AVX512-NEXT:    vmovdqa64 %zmm27, %zmm184887; AVX512-NEXT:    vpermt2q %zmm12, %zmm11, %zmm184888; AVX512-NEXT:    vmovdqa64 %zmm19, %zmm204889; AVX512-NEXT:    vpermt2q %zmm13, %zmm11, %zmm204890; AVX512-NEXT:    vmovdqa64 %zmm22, %zmm234891; AVX512-NEXT:    vpermt2q %zmm14, %zmm11, %zmm234892; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]4893; AVX512-NEXT:    vmovdqa64 %zmm30, %zmm244894; AVX512-NEXT:    vpermt2q %zmm7, %zmm21, %zmm244895; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]4896; AVX512-NEXT:    vpermt2q %zmm30, %zmm31, %zmm74897; AVX512-NEXT:    vmovdqa64 %zmm29, %zmm304898; AVX512-NEXT:    vpermt2q %zmm9, %zmm21, %zmm304899; AVX512-NEXT:    vpermt2q %zmm29, %zmm31, %zmm94900; AVX512-NEXT:    vmovdqa64 %zmm28, %zmm294901; AVX512-NEXT:    vpermt2q %zmm8, %zmm21, %zmm294902; AVX512-NEXT:    vpermt2q %zmm28, %zmm31, %zmm84903; AVX512-NEXT:    vmovdqa64 %zmm27, %zmm284904; AVX512-NEXT:    vpermt2q %zmm12, %zmm21, %zmm284905; AVX512-NEXT:    vpermt2q %zmm27, %zmm31, %zmm124906; AVX512-NEXT:    vmovdqa64 %zmm26, %zmm274907; AVX512-NEXT:    vpermt2q %zmm10, %zmm21, %zmm274908; AVX512-NEXT:    vpermt2q %zmm26, %zmm31, %zmm104909; AVX512-NEXT:    vmovdqa64 %zmm22, %zmm264910; AVX512-NEXT:    vpermt2q %zmm14, %zmm21, %zmm264911; AVX512-NEXT:    vpermt2q %zmm22, %zmm31, %zmm144912; AVX512-NEXT:    vmovdqa64 %zmm19, %zmm224913; AVX512-NEXT:    vpermt2q %zmm13, %zmm21, %zmm224914; AVX512-NEXT:    vpermt2q %zmm19, %zmm31, %zmm134915; AVX512-NEXT:    vmovdqa64 64(%rdi), %zmm194916; AVX512-NEXT:    vpermi2q %zmm19, %zmm25, %zmm114917; AVX512-NEXT:    vpermi2q %zmm19, %zmm25, %zmm214918; AVX512-NEXT:    vpermt2q %zmm25, %zmm31, %zmm194919; AVX512-NEXT:    vmovdqa64 320(%rdi), %zmm254920; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]4921; AVX512-NEXT:    vpermt2q %zmm25, %zmm31, %zmm64922; AVX512-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4923; AVX512-NEXT:    vpermt2q %zmm5, %zmm31, %zmm154924; AVX512-NEXT:    vpermt2q %zmm4, %zmm31, %zmm164925; AVX512-NEXT:    vpermt2q %zmm3, %zmm31, %zmm174926; AVX512-NEXT:    vpermt2q %zmm2, %zmm31, %zmm184927; AVX512-NEXT:    vpermt2q %zmm1, %zmm31, %zmm204928; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm234929; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm64930; AVX512-NEXT:    vpermt2q %zmm6, %zmm31, %zmm114931; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]4932; AVX512-NEXT:    vpermt2q %zmm1, %zmm31, %zmm224933; AVX512-NEXT:    vpermt2q %zmm25, %zmm31, %zmm244934; AVX512-NEXT:    vpermt2q %zmm4, %zmm31, %zmm304935; AVX512-NEXT:    vpermt2q %zmm5, %zmm31, %zmm294936; AVX512-NEXT:    vpermt2q %zmm2, %zmm31, %zmm284937; AVX512-NEXT:    vpermt2q %zmm3, %zmm31, %zmm274938; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm264939; AVX512-NEXT:    vpermt2q %zmm6, %zmm31, %zmm214940; AVX512-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]4941; AVX512-NEXT:    vpermt2q %zmm25, %zmm31, %zmm74942; AVX512-NEXT:    vpermt2q %zmm4, %zmm31, %zmm94943; AVX512-NEXT:    vpermt2q %zmm5, %zmm31, %zmm84944; AVX512-NEXT:    vpermt2q %zmm2, %zmm31, %zmm124945; AVX512-NEXT:    vpermt2q %zmm3, %zmm31, %zmm104946; AVX512-NEXT:    vpermt2q %zmm0, %zmm31, %zmm144947; AVX512-NEXT:    vpermt2q %zmm1, %zmm31, %zmm134948; AVX512-NEXT:    vpermt2q %zmm6, %zmm31, %zmm194949; AVX512-NEXT:    vmovdqa64 %zmm23, 448(%rsi)4950; AVX512-NEXT:    vmovdqa64 %zmm20, 384(%rsi)4951; AVX512-NEXT:    vmovdqa64 %zmm18, 320(%rsi)4952; AVX512-NEXT:    vmovdqa64 %zmm17, 256(%rsi)4953; AVX512-NEXT:    vmovdqa64 %zmm16, 192(%rsi)4954; AVX512-NEXT:    vmovdqa64 %zmm15, 128(%rsi)4955; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4956; AVX512-NEXT:    vmovaps %zmm0, 64(%rsi)4957; AVX512-NEXT:    vmovdqa64 %zmm11, (%rsi)4958; AVX512-NEXT:    vmovdqa64 %zmm26, 448(%rdx)4959; AVX512-NEXT:    vmovdqa64 %zmm27, 256(%rdx)4960; AVX512-NEXT:    vmovdqa64 %zmm28, 320(%rdx)4961; AVX512-NEXT:    vmovdqa64 %zmm29, 128(%rdx)4962; AVX512-NEXT:    vmovdqa64 %zmm30, 192(%rdx)4963; AVX512-NEXT:    vmovdqa64 %zmm21, (%rdx)4964; AVX512-NEXT:    vmovdqa64 %zmm24, 64(%rdx)4965; AVX512-NEXT:    vmovdqa64 %zmm22, 384(%rdx)4966; AVX512-NEXT:    vmovdqa64 %zmm13, 384(%rcx)4967; AVX512-NEXT:    vmovdqa64 %zmm14, 448(%rcx)4968; AVX512-NEXT:    vmovdqa64 %zmm10, 256(%rcx)4969; AVX512-NEXT:    vmovdqa64 %zmm12, 320(%rcx)4970; AVX512-NEXT:    vmovdqa64 %zmm8, 128(%rcx)4971; AVX512-NEXT:    vmovdqa64 %zmm9, 192(%rcx)4972; AVX512-NEXT:    vmovdqa64 %zmm19, (%rcx)4973; AVX512-NEXT:    vmovdqa64 %zmm7, 64(%rcx)4974; AVX512-NEXT:    vzeroupper4975; AVX512-NEXT:    retq4976;4977; AVX512-FCP-LABEL: load_i64_stride3_vf64:4978; AVX512-FCP:       # %bb.0:4979; AVX512-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm04980; AVX512-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm144981; AVX512-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm224982; AVX512-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm14983; AVX512-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm134984; AVX512-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm194985; AVX512-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm24986; AVX512-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm124987; AVX512-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm274988; AVX512-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm34989; AVX512-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm104990; AVX512-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm264991; AVX512-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm44992; AVX512-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm94993; AVX512-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm294994; AVX512-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm54995; AVX512-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm84996; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm284997; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm74998; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm254999; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305000; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5001; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, %zmm65002; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65003; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, %zmm155004; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155005; AVX512-FCP-NEXT:    vmovdqa64 %zmm29, %zmm165006; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165007; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, %zmm175008; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175009; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, %zmm185010; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185011; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, %zmm205012; AVX512-FCP-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205013; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, %zmm235014; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235015; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5016; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, %zmm245017; AVX512-FCP-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245018; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5019; AVX512-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75020; AVX512-FCP-NEXT:    vmovdqa64 %zmm29, %zmm305021; AVX512-FCP-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305022; AVX512-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95023; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, %zmm295024; AVX512-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295025; AVX512-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85026; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, %zmm285027; AVX512-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285028; AVX512-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125029; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, %zmm275030; AVX512-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275031; AVX512-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105032; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, %zmm265033; AVX512-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265034; AVX512-FCP-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145035; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, %zmm225036; AVX512-FCP-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225037; AVX512-FCP-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135038; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm195039; AVX512-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115040; AVX512-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215041; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195042; AVX512-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm255043; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5044; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65045; AVX512-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5046; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155047; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165048; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175049; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185050; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205051; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235052; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm65053; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115054; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5055; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225056; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245057; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305058; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295059; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285060; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275061; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265062; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215063; AVX512-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5064; AVX512-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75065; AVX512-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95066; AVX512-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85067; AVX512-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125068; AVX512-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105069; AVX512-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145070; AVX512-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135071; AVX512-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195072; AVX512-FCP-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5073; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5074; AVX512-FCP-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5075; AVX512-FCP-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5076; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5077; AVX512-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5078; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5079; AVX512-FCP-NEXT:    vmovaps %zmm0, 64(%rsi)5080; AVX512-FCP-NEXT:    vmovdqa64 %zmm11, (%rsi)5081; AVX512-FCP-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5082; AVX512-FCP-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5083; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5084; AVX512-FCP-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5085; AVX512-FCP-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5086; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)5087; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5088; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5089; AVX512-FCP-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5090; AVX512-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5091; AVX512-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5092; AVX512-FCP-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5093; AVX512-FCP-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5094; AVX512-FCP-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5095; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, (%rcx)5096; AVX512-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5097; AVX512-FCP-NEXT:    vzeroupper5098; AVX512-FCP-NEXT:    retq5099;5100; AVX512DQ-LABEL: load_i64_stride3_vf64:5101; AVX512DQ:       # %bb.0:5102; AVX512DQ-NEXT:    vmovdqa64 1472(%rdi), %zmm05103; AVX512DQ-NEXT:    vmovdqa64 1408(%rdi), %zmm145104; AVX512DQ-NEXT:    vmovdqa64 1344(%rdi), %zmm225105; AVX512DQ-NEXT:    vmovdqa64 1280(%rdi), %zmm15106; AVX512DQ-NEXT:    vmovdqa64 1216(%rdi), %zmm135107; AVX512DQ-NEXT:    vmovdqa64 1152(%rdi), %zmm195108; AVX512DQ-NEXT:    vmovdqa64 1088(%rdi), %zmm25109; AVX512DQ-NEXT:    vmovdqa64 1024(%rdi), %zmm125110; AVX512DQ-NEXT:    vmovdqa64 960(%rdi), %zmm275111; AVX512DQ-NEXT:    vmovdqa64 896(%rdi), %zmm35112; AVX512DQ-NEXT:    vmovdqa64 832(%rdi), %zmm105113; AVX512DQ-NEXT:    vmovdqa64 768(%rdi), %zmm265114; AVX512DQ-NEXT:    vmovdqa64 704(%rdi), %zmm45115; AVX512DQ-NEXT:    vmovdqa64 640(%rdi), %zmm95116; AVX512DQ-NEXT:    vmovdqa64 576(%rdi), %zmm295117; AVX512DQ-NEXT:    vmovdqa64 512(%rdi), %zmm55118; AVX512DQ-NEXT:    vmovdqa64 448(%rdi), %zmm85119; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm285120; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm75121; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm255122; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %zmm305123; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5124; AVX512DQ-NEXT:    vmovdqa64 %zmm30, %zmm65125; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65126; AVX512DQ-NEXT:    vmovdqa64 %zmm28, %zmm155127; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155128; AVX512DQ-NEXT:    vmovdqa64 %zmm29, %zmm165129; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165130; AVX512DQ-NEXT:    vmovdqa64 %zmm26, %zmm175131; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175132; AVX512DQ-NEXT:    vmovdqa64 %zmm27, %zmm185133; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185134; AVX512DQ-NEXT:    vmovdqa64 %zmm19, %zmm205135; AVX512DQ-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205136; AVX512DQ-NEXT:    vmovdqa64 %zmm22, %zmm235137; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235138; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5139; AVX512DQ-NEXT:    vmovdqa64 %zmm30, %zmm245140; AVX512DQ-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245141; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5142; AVX512DQ-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75143; AVX512DQ-NEXT:    vmovdqa64 %zmm29, %zmm305144; AVX512DQ-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305145; AVX512DQ-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95146; AVX512DQ-NEXT:    vmovdqa64 %zmm28, %zmm295147; AVX512DQ-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295148; AVX512DQ-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85149; AVX512DQ-NEXT:    vmovdqa64 %zmm27, %zmm285150; AVX512DQ-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285151; AVX512DQ-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125152; AVX512DQ-NEXT:    vmovdqa64 %zmm26, %zmm275153; AVX512DQ-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275154; AVX512DQ-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105155; AVX512DQ-NEXT:    vmovdqa64 %zmm22, %zmm265156; AVX512DQ-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265157; AVX512DQ-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145158; AVX512DQ-NEXT:    vmovdqa64 %zmm19, %zmm225159; AVX512DQ-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225160; AVX512DQ-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135161; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %zmm195162; AVX512DQ-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115163; AVX512DQ-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215164; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195165; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %zmm255166; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5167; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65168; AVX512DQ-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5169; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155170; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165171; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175172; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185173; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205174; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235175; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm65176; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115177; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5178; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225179; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245180; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305181; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295182; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285183; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275184; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265185; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215186; AVX512DQ-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5187; AVX512DQ-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75188; AVX512DQ-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95189; AVX512DQ-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85190; AVX512DQ-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125191; AVX512DQ-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105192; AVX512DQ-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145193; AVX512DQ-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135194; AVX512DQ-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195195; AVX512DQ-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5196; AVX512DQ-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5197; AVX512DQ-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5198; AVX512DQ-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5199; AVX512DQ-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5200; AVX512DQ-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5201; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5202; AVX512DQ-NEXT:    vmovaps %zmm0, 64(%rsi)5203; AVX512DQ-NEXT:    vmovdqa64 %zmm11, (%rsi)5204; AVX512DQ-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5205; AVX512DQ-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5206; AVX512DQ-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5207; AVX512DQ-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5208; AVX512DQ-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5209; AVX512DQ-NEXT:    vmovdqa64 %zmm21, (%rdx)5210; AVX512DQ-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5211; AVX512DQ-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5212; AVX512DQ-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5213; AVX512DQ-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5214; AVX512DQ-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5215; AVX512DQ-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5216; AVX512DQ-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5217; AVX512DQ-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5218; AVX512DQ-NEXT:    vmovdqa64 %zmm19, (%rcx)5219; AVX512DQ-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5220; AVX512DQ-NEXT:    vzeroupper5221; AVX512DQ-NEXT:    retq5222;5223; AVX512DQ-FCP-LABEL: load_i64_stride3_vf64:5224; AVX512DQ-FCP:       # %bb.0:5225; AVX512DQ-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm05226; AVX512DQ-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm145227; AVX512DQ-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm225228; AVX512DQ-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm15229; AVX512DQ-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm135230; AVX512DQ-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm195231; AVX512DQ-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm25232; AVX512DQ-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm125233; AVX512DQ-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm275234; AVX512DQ-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm35235; AVX512DQ-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm105236; AVX512DQ-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm265237; AVX512DQ-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm45238; AVX512DQ-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm95239; AVX512DQ-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm295240; AVX512DQ-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm55241; AVX512DQ-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm85242; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm285243; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm75244; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm255245; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305246; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5247; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, %zmm65248; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65249; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, %zmm155250; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155251; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm29, %zmm165252; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165253; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, %zmm175254; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175255; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, %zmm185256; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185257; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, %zmm205258; AVX512DQ-FCP-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205259; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, %zmm235260; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235261; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5262; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, %zmm245263; AVX512DQ-FCP-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245264; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5265; AVX512DQ-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75266; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm29, %zmm305267; AVX512DQ-FCP-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305268; AVX512DQ-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95269; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, %zmm295270; AVX512DQ-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295271; AVX512DQ-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85272; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, %zmm285273; AVX512DQ-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285274; AVX512DQ-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125275; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, %zmm275276; AVX512DQ-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275277; AVX512DQ-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105278; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, %zmm265279; AVX512DQ-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265280; AVX512DQ-FCP-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145281; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, %zmm225282; AVX512DQ-FCP-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225283; AVX512DQ-FCP-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135284; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm195285; AVX512DQ-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115286; AVX512DQ-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215287; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195288; AVX512DQ-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm255289; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5290; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65291; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5292; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155293; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165294; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175295; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185296; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205297; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235298; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm65299; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115300; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5301; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225302; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245303; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305304; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295305; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285306; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275307; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265308; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215309; AVX512DQ-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5310; AVX512DQ-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75311; AVX512DQ-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95312; AVX512DQ-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85313; AVX512DQ-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125314; AVX512DQ-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105315; AVX512DQ-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145316; AVX512DQ-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135317; AVX512DQ-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195318; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5319; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5320; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5321; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5322; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5323; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5324; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5325; AVX512DQ-FCP-NEXT:    vmovaps %zmm0, 64(%rsi)5326; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm11, (%rsi)5327; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5328; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5329; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5330; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5331; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5332; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)5333; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5334; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5335; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5336; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5337; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5338; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5339; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5340; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5341; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, (%rcx)5342; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5343; AVX512DQ-FCP-NEXT:    vzeroupper5344; AVX512DQ-FCP-NEXT:    retq5345;5346; AVX512BW-LABEL: load_i64_stride3_vf64:5347; AVX512BW:       # %bb.0:5348; AVX512BW-NEXT:    vmovdqa64 1472(%rdi), %zmm05349; AVX512BW-NEXT:    vmovdqa64 1408(%rdi), %zmm145350; AVX512BW-NEXT:    vmovdqa64 1344(%rdi), %zmm225351; AVX512BW-NEXT:    vmovdqa64 1280(%rdi), %zmm15352; AVX512BW-NEXT:    vmovdqa64 1216(%rdi), %zmm135353; AVX512BW-NEXT:    vmovdqa64 1152(%rdi), %zmm195354; AVX512BW-NEXT:    vmovdqa64 1088(%rdi), %zmm25355; AVX512BW-NEXT:    vmovdqa64 1024(%rdi), %zmm125356; AVX512BW-NEXT:    vmovdqa64 960(%rdi), %zmm275357; AVX512BW-NEXT:    vmovdqa64 896(%rdi), %zmm35358; AVX512BW-NEXT:    vmovdqa64 832(%rdi), %zmm105359; AVX512BW-NEXT:    vmovdqa64 768(%rdi), %zmm265360; AVX512BW-NEXT:    vmovdqa64 704(%rdi), %zmm45361; AVX512BW-NEXT:    vmovdqa64 640(%rdi), %zmm95362; AVX512BW-NEXT:    vmovdqa64 576(%rdi), %zmm295363; AVX512BW-NEXT:    vmovdqa64 512(%rdi), %zmm55364; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm85365; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm285366; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm75367; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm255368; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm305369; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5370; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm65371; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65372; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm155373; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155374; AVX512BW-NEXT:    vmovdqa64 %zmm29, %zmm165375; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165376; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm175377; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175378; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm185379; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185380; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm205381; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205382; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm235383; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235384; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5385; AVX512BW-NEXT:    vmovdqa64 %zmm30, %zmm245386; AVX512BW-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245387; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5388; AVX512BW-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75389; AVX512BW-NEXT:    vmovdqa64 %zmm29, %zmm305390; AVX512BW-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305391; AVX512BW-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95392; AVX512BW-NEXT:    vmovdqa64 %zmm28, %zmm295393; AVX512BW-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295394; AVX512BW-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85395; AVX512BW-NEXT:    vmovdqa64 %zmm27, %zmm285396; AVX512BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285397; AVX512BW-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125398; AVX512BW-NEXT:    vmovdqa64 %zmm26, %zmm275399; AVX512BW-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275400; AVX512BW-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105401; AVX512BW-NEXT:    vmovdqa64 %zmm22, %zmm265402; AVX512BW-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265403; AVX512BW-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145404; AVX512BW-NEXT:    vmovdqa64 %zmm19, %zmm225405; AVX512BW-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225406; AVX512BW-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135407; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm195408; AVX512BW-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115409; AVX512BW-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215410; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195411; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm255412; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5413; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65414; AVX512BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5415; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155416; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165417; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175418; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185419; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205420; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235421; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm65422; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115423; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5424; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225425; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245426; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305427; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295428; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285429; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275430; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265431; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215432; AVX512BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5433; AVX512BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75434; AVX512BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95435; AVX512BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85436; AVX512BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125437; AVX512BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105438; AVX512BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145439; AVX512BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135440; AVX512BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195441; AVX512BW-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5442; AVX512BW-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5443; AVX512BW-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5444; AVX512BW-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5445; AVX512BW-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5446; AVX512BW-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5447; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5448; AVX512BW-NEXT:    vmovaps %zmm0, 64(%rsi)5449; AVX512BW-NEXT:    vmovdqa64 %zmm11, (%rsi)5450; AVX512BW-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5451; AVX512BW-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5452; AVX512BW-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5453; AVX512BW-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5454; AVX512BW-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5455; AVX512BW-NEXT:    vmovdqa64 %zmm21, (%rdx)5456; AVX512BW-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5457; AVX512BW-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5458; AVX512BW-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5459; AVX512BW-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5460; AVX512BW-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5461; AVX512BW-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5462; AVX512BW-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5463; AVX512BW-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5464; AVX512BW-NEXT:    vmovdqa64 %zmm19, (%rcx)5465; AVX512BW-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5466; AVX512BW-NEXT:    vzeroupper5467; AVX512BW-NEXT:    retq5468;5469; AVX512BW-FCP-LABEL: load_i64_stride3_vf64:5470; AVX512BW-FCP:       # %bb.0:5471; AVX512BW-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm05472; AVX512BW-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm145473; AVX512BW-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm225474; AVX512BW-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm15475; AVX512BW-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm135476; AVX512BW-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm195477; AVX512BW-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm25478; AVX512BW-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm125479; AVX512BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm275480; AVX512BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm35481; AVX512BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm105482; AVX512BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm265483; AVX512BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm45484; AVX512BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm95485; AVX512BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm295486; AVX512BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm55487; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm85488; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm285489; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm75490; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm255491; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305492; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5493; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm65494; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65495; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm155496; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155497; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm29, %zmm165498; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165499; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, %zmm175500; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175501; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm185502; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185503; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, %zmm205504; AVX512BW-FCP-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205505; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm22, %zmm235506; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235507; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5508; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm245509; AVX512BW-FCP-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245510; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5511; AVX512BW-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75512; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm29, %zmm305513; AVX512BW-FCP-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305514; AVX512BW-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95515; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm295516; AVX512BW-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295517; AVX512BW-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85518; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm285519; AVX512BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285520; AVX512BW-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125521; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, %zmm275522; AVX512BW-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275523; AVX512BW-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105524; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm22, %zmm265525; AVX512BW-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265526; AVX512BW-FCP-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145527; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, %zmm225528; AVX512BW-FCP-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225529; AVX512BW-FCP-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135530; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm195531; AVX512BW-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115532; AVX512BW-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215533; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195534; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm255535; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5536; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65537; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5538; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155539; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165540; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175541; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185542; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205543; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235544; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm65545; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115546; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5547; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225548; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245549; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305550; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295551; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285552; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275553; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265554; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215555; AVX512BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5556; AVX512BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75557; AVX512BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95558; AVX512BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85559; AVX512BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125560; AVX512BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105561; AVX512BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145562; AVX512BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135563; AVX512BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195564; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5565; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5566; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5567; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5568; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5569; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5570; AVX512BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5571; AVX512BW-FCP-NEXT:    vmovaps %zmm0, 64(%rsi)5572; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, (%rsi)5573; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5574; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5575; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5576; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5577; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5578; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)5579; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5580; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5581; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5582; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5583; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5584; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5585; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5586; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5587; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm19, (%rcx)5588; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5589; AVX512BW-FCP-NEXT:    vzeroupper5590; AVX512BW-FCP-NEXT:    retq5591;5592; AVX512DQ-BW-LABEL: load_i64_stride3_vf64:5593; AVX512DQ-BW:       # %bb.0:5594; AVX512DQ-BW-NEXT:    vmovdqa64 1472(%rdi), %zmm05595; AVX512DQ-BW-NEXT:    vmovdqa64 1408(%rdi), %zmm145596; AVX512DQ-BW-NEXT:    vmovdqa64 1344(%rdi), %zmm225597; AVX512DQ-BW-NEXT:    vmovdqa64 1280(%rdi), %zmm15598; AVX512DQ-BW-NEXT:    vmovdqa64 1216(%rdi), %zmm135599; AVX512DQ-BW-NEXT:    vmovdqa64 1152(%rdi), %zmm195600; AVX512DQ-BW-NEXT:    vmovdqa64 1088(%rdi), %zmm25601; AVX512DQ-BW-NEXT:    vmovdqa64 1024(%rdi), %zmm125602; AVX512DQ-BW-NEXT:    vmovdqa64 960(%rdi), %zmm275603; AVX512DQ-BW-NEXT:    vmovdqa64 896(%rdi), %zmm35604; AVX512DQ-BW-NEXT:    vmovdqa64 832(%rdi), %zmm105605; AVX512DQ-BW-NEXT:    vmovdqa64 768(%rdi), %zmm265606; AVX512DQ-BW-NEXT:    vmovdqa64 704(%rdi), %zmm45607; AVX512DQ-BW-NEXT:    vmovdqa64 640(%rdi), %zmm95608; AVX512DQ-BW-NEXT:    vmovdqa64 576(%rdi), %zmm295609; AVX512DQ-BW-NEXT:    vmovdqa64 512(%rdi), %zmm55610; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm85611; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm285612; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm75613; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm255614; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm305615; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5616; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, %zmm65617; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65618; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, %zmm155619; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155620; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm29, %zmm165621; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165622; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, %zmm175623; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175624; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, %zmm185625; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185626; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, %zmm205627; AVX512DQ-BW-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205628; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm22, %zmm235629; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235630; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5631; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, %zmm245632; AVX512DQ-BW-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245633; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5634; AVX512DQ-BW-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75635; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm29, %zmm305636; AVX512DQ-BW-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305637; AVX512DQ-BW-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95638; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, %zmm295639; AVX512DQ-BW-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295640; AVX512DQ-BW-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85641; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, %zmm285642; AVX512DQ-BW-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285643; AVX512DQ-BW-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125644; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, %zmm275645; AVX512DQ-BW-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275646; AVX512DQ-BW-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105647; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm22, %zmm265648; AVX512DQ-BW-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265649; AVX512DQ-BW-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145650; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, %zmm225651; AVX512DQ-BW-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225652; AVX512DQ-BW-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135653; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm195654; AVX512DQ-BW-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115655; AVX512DQ-BW-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215656; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195657; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm255658; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5659; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65660; AVX512DQ-BW-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5661; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155662; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165663; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175664; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185665; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205666; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235667; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm65668; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115669; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5670; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225671; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245672; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305673; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295674; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285675; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275676; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265677; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215678; AVX512DQ-BW-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5679; AVX512DQ-BW-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75680; AVX512DQ-BW-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95681; AVX512DQ-BW-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85682; AVX512DQ-BW-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125683; AVX512DQ-BW-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105684; AVX512DQ-BW-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145685; AVX512DQ-BW-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135686; AVX512DQ-BW-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195687; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5688; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5689; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5690; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5691; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5692; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5693; AVX512DQ-BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5694; AVX512DQ-BW-NEXT:    vmovaps %zmm0, 64(%rsi)5695; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, (%rsi)5696; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5697; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5698; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5699; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5700; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5701; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm21, (%rdx)5702; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5703; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5704; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5705; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5706; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5707; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5708; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5709; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5710; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm19, (%rcx)5711; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5712; AVX512DQ-BW-NEXT:    vzeroupper5713; AVX512DQ-BW-NEXT:    retq5714;5715; AVX512DQ-BW-FCP-LABEL: load_i64_stride3_vf64:5716; AVX512DQ-BW-FCP:       # %bb.0:5717; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1472(%rdi), %zmm05718; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1408(%rdi), %zmm145719; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1344(%rdi), %zmm225720; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1280(%rdi), %zmm15721; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1216(%rdi), %zmm135722; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1152(%rdi), %zmm195723; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1088(%rdi), %zmm25724; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 1024(%rdi), %zmm125725; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 960(%rdi), %zmm275726; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 896(%rdi), %zmm35727; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 832(%rdi), %zmm105728; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 768(%rdi), %zmm265729; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 704(%rdi), %zmm45730; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 640(%rdi), %zmm95731; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 576(%rdi), %zmm295732; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 512(%rdi), %zmm55733; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm85734; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm285735; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm75736; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm255737; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm305738; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm11 = [0,3,6,9,12,15,0,0]5739; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm65740; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm11, %zmm65741; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm155742; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm11, %zmm155743; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm29, %zmm165744; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm11, %zmm165745; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, %zmm175746; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm11, %zmm175747; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm185748; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm11, %zmm185749; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, %zmm205750; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm13, %zmm11, %zmm205751; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm22, %zmm235752; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm11, %zmm235753; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm21 = [1,4,7,10,13,0,0,0]5754; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, %zmm245755; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm7, %zmm21, %zmm245756; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [10,13,0,3,6,0,0,0]5757; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm30, %zmm31, %zmm75758; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm29, %zmm305759; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm9, %zmm21, %zmm305760; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm29, %zmm31, %zmm95761; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, %zmm295762; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm8, %zmm21, %zmm295763; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm28, %zmm31, %zmm85764; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, %zmm285765; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm12, %zmm21, %zmm285766; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm27, %zmm31, %zmm125767; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, %zmm275768; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm10, %zmm21, %zmm275769; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm26, %zmm31, %zmm105770; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm22, %zmm265771; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm14, %zmm21, %zmm265772; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm22, %zmm31, %zmm145773; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, %zmm225774; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm13, %zmm21, %zmm225775; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm19, %zmm31, %zmm135776; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm195777; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm115778; AVX512DQ-BW-FCP-NEXT:    vpermi2q %zmm19, %zmm25, %zmm215779; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm195780; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm255781; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,5,10,13]5782; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm65783; AVX512DQ-BW-FCP-NEXT:    vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5784; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm155785; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm165786; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm175787; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm185788; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm205789; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm235790; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm65791; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm115792; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,8,11,14]5793; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm225794; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm245795; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm305796; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm295797; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm285798; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm275799; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm265800; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm215801; AVX512DQ-BW-FCP-NEXT:    vpmovsxbq {{.*#+}} zmm31 = [0,1,2,3,4,9,12,15]5802; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm25, %zmm31, %zmm75803; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm4, %zmm31, %zmm95804; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm5, %zmm31, %zmm85805; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm2, %zmm31, %zmm125806; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm3, %zmm31, %zmm105807; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm0, %zmm31, %zmm145808; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm1, %zmm31, %zmm135809; AVX512DQ-BW-FCP-NEXT:    vpermt2q %zmm6, %zmm31, %zmm195810; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm23, 448(%rsi)5811; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, 384(%rsi)5812; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm18, 320(%rsi)5813; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm17, 256(%rsi)5814; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm16, 192(%rsi)5815; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, 128(%rsi)5816; AVX512DQ-BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5817; AVX512DQ-BW-FCP-NEXT:    vmovaps %zmm0, 64(%rsi)5818; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, (%rsi)5819; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm26, 448(%rdx)5820; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm27, 256(%rdx)5821; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm28, 320(%rdx)5822; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm29, 128(%rdx)5823; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm30, 192(%rdx)5824; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm21, (%rdx)5825; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm24, 64(%rdx)5826; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm22, 384(%rdx)5827; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, 384(%rcx)5828; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, 448(%rcx)5829; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, 256(%rcx)5830; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, 320(%rcx)5831; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, 128(%rcx)5832; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, 192(%rcx)5833; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm19, (%rcx)5834; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm7, 64(%rcx)5835; AVX512DQ-BW-FCP-NEXT:    vzeroupper5836; AVX512DQ-BW-FCP-NEXT:    retq5837  %wide.vec = load <192 x i64>, ptr %in.vec, align 645838  %strided.vec0 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <64 x i32> <i32 0, i32 3, i32 6, i32 9, i32 12, i32 15, i32 18, i32 21, i32 24, i32 27, i32 30, i32 33, i32 36, i32 39, i32 42, i32 45, i32 48, i32 51, i32 54, i32 57, i32 60, i32 63, i32 66, i32 69, i32 72, i32 75, i32 78, i32 81, i32 84, i32 87, i32 90, i32 93, i32 96, i32 99, i32 102, i32 105, i32 108, i32 111, i32 114, i32 117, i32 120, i32 123, i32 126, i32 129, i32 132, i32 135, i32 138, i32 141, i32 144, i32 147, i32 150, i32 153, i32 156, i32 159, i32 162, i32 165, i32 168, i32 171, i32 174, i32 177, i32 180, i32 183, i32 186, i32 189>5839  %strided.vec1 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <64 x i32> <i32 1, i32 4, i32 7, i32 10, i32 13, i32 16, i32 19, i32 22, i32 25, i32 28, i32 31, i32 34, i32 37, i32 40, i32 43, i32 46, i32 49, i32 52, i32 55, i32 58, i32 61, i32 64, i32 67, i32 70, i32 73, i32 76, i32 79, i32 82, i32 85, i32 88, i32 91, i32 94, i32 97, i32 100, i32 103, i32 106, i32 109, i32 112, i32 115, i32 118, i32 121, i32 124, i32 127, i32 130, i32 133, i32 136, i32 139, i32 142, i32 145, i32 148, i32 151, i32 154, i32 157, i32 160, i32 163, i32 166, i32 169, i32 172, i32 175, i32 178, i32 181, i32 184, i32 187, i32 190>5840  %strided.vec2 = shufflevector <192 x i64> %wide.vec, <192 x i64> poison, <64 x i32> <i32 2, i32 5, i32 8, i32 11, i32 14, i32 17, i32 20, i32 23, i32 26, i32 29, i32 32, i32 35, i32 38, i32 41, i32 44, i32 47, i32 50, i32 53, i32 56, i32 59, i32 62, i32 65, i32 68, i32 71, i32 74, i32 77, i32 80, i32 83, i32 86, i32 89, i32 92, i32 95, i32 98, i32 101, i32 104, i32 107, i32 110, i32 113, i32 116, i32 119, i32 122, i32 125, i32 128, i32 131, i32 134, i32 137, i32 140, i32 143, i32 146, i32 149, i32 152, i32 155, i32 158, i32 161, i32 164, i32 167, i32 170, i32 173, i32 176, i32 179, i32 182, i32 185, i32 188, i32 191>5841  store <64 x i64> %strided.vec0, ptr %out.vec0, align 645842  store <64 x i64> %strided.vec1, ptr %out.vec1, align 645843  store <64 x i64> %strided.vec2, ptr %out.vec2, align 645844  ret void5845}5846