16338 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_stride7_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {19; SSE-LABEL: load_i64_stride7_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1023; SSE-NEXT: movapd 96(%rdi), %xmm024; SSE-NEXT: movapd 80(%rdi), %xmm125; SSE-NEXT: movapd 64(%rdi), %xmm226; SSE-NEXT: movapd (%rdi), %xmm327; SSE-NEXT: movapd 16(%rdi), %xmm428; SSE-NEXT: movapd 32(%rdi), %xmm529; SSE-NEXT: movapd 48(%rdi), %xmm630; SSE-NEXT: movapd %xmm6, %xmm731; SSE-NEXT: movsd {{.*#+}} xmm7 = xmm3[0],xmm7[1]32; SSE-NEXT: shufpd {{.*#+}} xmm3 = xmm3[1],xmm2[0]33; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm4[0],xmm2[1]34; SSE-NEXT: shufpd {{.*#+}} xmm4 = xmm4[1],xmm1[0]35; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm5[0],xmm1[1]36; SSE-NEXT: shufpd {{.*#+}} xmm5 = xmm5[1],xmm0[0]37; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm6[0],xmm0[1]38; SSE-NEXT: movapd %xmm7, (%rsi)39; SSE-NEXT: movapd %xmm3, (%rdx)40; SSE-NEXT: movapd %xmm2, (%rcx)41; SSE-NEXT: movapd %xmm4, (%r8)42; SSE-NEXT: movapd %xmm1, (%r9)43; SSE-NEXT: movapd %xmm5, (%r10)44; SSE-NEXT: movapd %xmm0, (%rax)45; SSE-NEXT: retq46;47; AVX-LABEL: load_i64_stride7_vf2:48; AVX: # %bb.0:49; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax50; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1051; AVX-NEXT: vmovapd 16(%rdi), %xmm052; AVX-NEXT: vmovaps 48(%rdi), %xmm153; AVX-NEXT: vmovdqa 64(%rdi), %xmm254; AVX-NEXT: vmovapd 80(%rdi), %xmm355; AVX-NEXT: vblendps {{.*#+}} xmm4 = mem[0,1],xmm1[2,3]56; AVX-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]57; AVX-NEXT: vblendpd {{.*#+}} xmm5 = xmm0[0],mem[1]58; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm3[0],ymm0[2],ymm3[3]59; AVX-NEXT: vblendpd {{.*#+}} xmm3 = mem[0],xmm3[1]60; AVX-NEXT: vmovdqa 96(%rdi), %xmm661; AVX-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]62; AVX-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]63; AVX-NEXT: vmovaps %xmm4, (%rsi)64; AVX-NEXT: vmovdqa %xmm2, (%rdx)65; AVX-NEXT: vmovapd %xmm5, (%rcx)66; AVX-NEXT: vmovapd %xmm0, (%r8)67; AVX-NEXT: vmovapd %xmm3, (%r9)68; AVX-NEXT: vmovdqa %xmm6, (%r10)69; AVX-NEXT: vmovaps %xmm1, (%rax)70; AVX-NEXT: vzeroupper71; AVX-NEXT: retq72;73; AVX2-LABEL: load_i64_stride7_vf2:74; AVX2: # %bb.0:75; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax76; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1077; AVX2-NEXT: vmovdqa 64(%rdi), %ymm078; AVX2-NEXT: vmovaps 48(%rdi), %xmm179; AVX2-NEXT: vblendps {{.*#+}} xmm2 = mem[0,1],xmm1[2,3]80; AVX2-NEXT: vmovdqa 64(%rdi), %xmm381; AVX2-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]82; AVX2-NEXT: vmovaps 16(%rdi), %xmm483; AVX2-NEXT: vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]84; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]85; AVX2-NEXT: vmovaps 32(%rdi), %xmm586; AVX2-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]87; AVX2-NEXT: vmovdqa 96(%rdi), %xmm688; AVX2-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]89; AVX2-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]90; AVX2-NEXT: vmovaps %xmm2, (%rsi)91; AVX2-NEXT: vmovdqa %xmm3, (%rdx)92; AVX2-NEXT: vmovaps %xmm4, (%rcx)93; AVX2-NEXT: vextracti128 $1, %ymm0, (%r8)94; AVX2-NEXT: vmovaps %xmm5, (%r9)95; AVX2-NEXT: vmovdqa %xmm6, (%r10)96; AVX2-NEXT: vmovaps %xmm1, (%rax)97; AVX2-NEXT: vzeroupper98; AVX2-NEXT: retq99;100; AVX2-FP-LABEL: load_i64_stride7_vf2:101; AVX2-FP: # %bb.0:102; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax103; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10104; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm0105; AVX2-FP-NEXT: vmovaps 48(%rdi), %xmm1106; AVX2-FP-NEXT: vblendps {{.*#+}} xmm2 = mem[0,1],xmm1[2,3]107; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm3108; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]109; AVX2-FP-NEXT: vmovaps 16(%rdi), %xmm4110; AVX2-FP-NEXT: vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]111; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]112; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm5113; AVX2-FP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]114; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm6115; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]116; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]117; AVX2-FP-NEXT: vmovaps %xmm2, (%rsi)118; AVX2-FP-NEXT: vmovdqa %xmm3, (%rdx)119; AVX2-FP-NEXT: vmovaps %xmm4, (%rcx)120; AVX2-FP-NEXT: vextracti128 $1, %ymm0, (%r8)121; AVX2-FP-NEXT: vmovaps %xmm5, (%r9)122; AVX2-FP-NEXT: vmovdqa %xmm6, (%r10)123; AVX2-FP-NEXT: vmovaps %xmm1, (%rax)124; AVX2-FP-NEXT: vzeroupper125; AVX2-FP-NEXT: retq126;127; AVX2-FCP-LABEL: load_i64_stride7_vf2:128; AVX2-FCP: # %bb.0:129; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax130; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10131; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %ymm0132; AVX2-FCP-NEXT: vmovaps 48(%rdi), %xmm1133; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm2 = mem[0,1],xmm1[2,3]134; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %xmm3135; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]136; AVX2-FCP-NEXT: vmovaps 16(%rdi), %xmm4137; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]138; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]139; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm5140; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]141; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %xmm6142; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]143; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]144; AVX2-FCP-NEXT: vmovaps %xmm2, (%rsi)145; AVX2-FCP-NEXT: vmovdqa %xmm3, (%rdx)146; AVX2-FCP-NEXT: vmovaps %xmm4, (%rcx)147; AVX2-FCP-NEXT: vextracti128 $1, %ymm0, (%r8)148; AVX2-FCP-NEXT: vmovaps %xmm5, (%r9)149; AVX2-FCP-NEXT: vmovdqa %xmm6, (%r10)150; AVX2-FCP-NEXT: vmovaps %xmm1, (%rax)151; AVX2-FCP-NEXT: vzeroupper152; AVX2-FCP-NEXT: retq153;154; AVX512-LABEL: load_i64_stride7_vf2:155; AVX512: # %bb.0:156; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax157; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10158; AVX512-NEXT: vmovdqa (%rdi), %xmm0159; AVX512-NEXT: vmovdqa 16(%rdi), %xmm1160; AVX512-NEXT: vmovdqa 32(%rdi), %xmm2161; AVX512-NEXT: vmovdqa 48(%rdi), %xmm3162; AVX512-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]163; AVX512-NEXT: vmovdqa 64(%rdi), %xmm5164; AVX512-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]165; AVX512-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]166; AVX512-NEXT: vmovdqa 80(%rdi), %xmm6167; AVX512-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]168; AVX512-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]169; AVX512-NEXT: vmovdqa 96(%rdi), %xmm7170; AVX512-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]171; AVX512-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]172; AVX512-NEXT: vmovdqa %xmm4, (%rsi)173; AVX512-NEXT: vmovdqa %xmm0, (%rdx)174; AVX512-NEXT: vmovdqa %xmm5, (%rcx)175; AVX512-NEXT: vmovdqa %xmm1, (%r8)176; AVX512-NEXT: vmovdqa %xmm6, (%r9)177; AVX512-NEXT: vmovdqa %xmm2, (%r10)178; AVX512-NEXT: vmovdqa %xmm3, (%rax)179; AVX512-NEXT: retq180;181; AVX512-FCP-LABEL: load_i64_stride7_vf2:182; AVX512-FCP: # %bb.0:183; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax184; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10185; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm0186; AVX512-FCP-NEXT: vmovdqa 16(%rdi), %xmm1187; AVX512-FCP-NEXT: vmovdqa 32(%rdi), %xmm2188; AVX512-FCP-NEXT: vmovdqa 48(%rdi), %xmm3189; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]190; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm5191; AVX512-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]192; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]193; AVX512-FCP-NEXT: vmovdqa 80(%rdi), %xmm6194; AVX512-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]195; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]196; AVX512-FCP-NEXT: vmovdqa 96(%rdi), %xmm7197; AVX512-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]198; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]199; AVX512-FCP-NEXT: vmovdqa %xmm4, (%rsi)200; AVX512-FCP-NEXT: vmovdqa %xmm0, (%rdx)201; AVX512-FCP-NEXT: vmovdqa %xmm5, (%rcx)202; AVX512-FCP-NEXT: vmovdqa %xmm1, (%r8)203; AVX512-FCP-NEXT: vmovdqa %xmm6, (%r9)204; AVX512-FCP-NEXT: vmovdqa %xmm2, (%r10)205; AVX512-FCP-NEXT: vmovdqa %xmm3, (%rax)206; AVX512-FCP-NEXT: retq207;208; AVX512DQ-LABEL: load_i64_stride7_vf2:209; AVX512DQ: # %bb.0:210; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax211; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10212; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm0213; AVX512DQ-NEXT: vmovdqa 16(%rdi), %xmm1214; AVX512DQ-NEXT: vmovdqa 32(%rdi), %xmm2215; AVX512DQ-NEXT: vmovdqa 48(%rdi), %xmm3216; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]217; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm5218; AVX512DQ-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]219; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]220; AVX512DQ-NEXT: vmovdqa 80(%rdi), %xmm6221; AVX512DQ-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]222; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]223; AVX512DQ-NEXT: vmovdqa 96(%rdi), %xmm7224; AVX512DQ-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]225; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]226; AVX512DQ-NEXT: vmovdqa %xmm4, (%rsi)227; AVX512DQ-NEXT: vmovdqa %xmm0, (%rdx)228; AVX512DQ-NEXT: vmovdqa %xmm5, (%rcx)229; AVX512DQ-NEXT: vmovdqa %xmm1, (%r8)230; AVX512DQ-NEXT: vmovdqa %xmm6, (%r9)231; AVX512DQ-NEXT: vmovdqa %xmm2, (%r10)232; AVX512DQ-NEXT: vmovdqa %xmm3, (%rax)233; AVX512DQ-NEXT: retq234;235; AVX512DQ-FCP-LABEL: load_i64_stride7_vf2:236; AVX512DQ-FCP: # %bb.0:237; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax238; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10239; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm0240; AVX512DQ-FCP-NEXT: vmovdqa 16(%rdi), %xmm1241; AVX512DQ-FCP-NEXT: vmovdqa 32(%rdi), %xmm2242; AVX512DQ-FCP-NEXT: vmovdqa 48(%rdi), %xmm3243; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]244; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm5245; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]246; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]247; AVX512DQ-FCP-NEXT: vmovdqa 80(%rdi), %xmm6248; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]249; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]250; AVX512DQ-FCP-NEXT: vmovdqa 96(%rdi), %xmm7251; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]252; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]253; AVX512DQ-FCP-NEXT: vmovdqa %xmm4, (%rsi)254; AVX512DQ-FCP-NEXT: vmovdqa %xmm0, (%rdx)255; AVX512DQ-FCP-NEXT: vmovdqa %xmm5, (%rcx)256; AVX512DQ-FCP-NEXT: vmovdqa %xmm1, (%r8)257; AVX512DQ-FCP-NEXT: vmovdqa %xmm6, (%r9)258; AVX512DQ-FCP-NEXT: vmovdqa %xmm2, (%r10)259; AVX512DQ-FCP-NEXT: vmovdqa %xmm3, (%rax)260; AVX512DQ-FCP-NEXT: retq261;262; AVX512BW-LABEL: load_i64_stride7_vf2:263; AVX512BW: # %bb.0:264; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax265; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10266; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0267; AVX512BW-NEXT: vmovdqa 16(%rdi), %xmm1268; AVX512BW-NEXT: vmovdqa 32(%rdi), %xmm2269; AVX512BW-NEXT: vmovdqa 48(%rdi), %xmm3270; AVX512BW-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]271; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm5272; AVX512BW-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]273; AVX512BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]274; AVX512BW-NEXT: vmovdqa 80(%rdi), %xmm6275; AVX512BW-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]276; AVX512BW-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]277; AVX512BW-NEXT: vmovdqa 96(%rdi), %xmm7278; AVX512BW-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]279; AVX512BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]280; AVX512BW-NEXT: vmovdqa %xmm4, (%rsi)281; AVX512BW-NEXT: vmovdqa %xmm0, (%rdx)282; AVX512BW-NEXT: vmovdqa %xmm5, (%rcx)283; AVX512BW-NEXT: vmovdqa %xmm1, (%r8)284; AVX512BW-NEXT: vmovdqa %xmm6, (%r9)285; AVX512BW-NEXT: vmovdqa %xmm2, (%r10)286; AVX512BW-NEXT: vmovdqa %xmm3, (%rax)287; AVX512BW-NEXT: retq288;289; AVX512BW-FCP-LABEL: load_i64_stride7_vf2:290; AVX512BW-FCP: # %bb.0:291; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax292; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10293; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm0294; AVX512BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm1295; AVX512BW-FCP-NEXT: vmovdqa 32(%rdi), %xmm2296; AVX512BW-FCP-NEXT: vmovdqa 48(%rdi), %xmm3297; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]298; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm5299; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]300; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]301; AVX512BW-FCP-NEXT: vmovdqa 80(%rdi), %xmm6302; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]303; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]304; AVX512BW-FCP-NEXT: vmovdqa 96(%rdi), %xmm7305; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]306; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]307; AVX512BW-FCP-NEXT: vmovdqa %xmm4, (%rsi)308; AVX512BW-FCP-NEXT: vmovdqa %xmm0, (%rdx)309; AVX512BW-FCP-NEXT: vmovdqa %xmm5, (%rcx)310; AVX512BW-FCP-NEXT: vmovdqa %xmm1, (%r8)311; AVX512BW-FCP-NEXT: vmovdqa %xmm6, (%r9)312; AVX512BW-FCP-NEXT: vmovdqa %xmm2, (%r10)313; AVX512BW-FCP-NEXT: vmovdqa %xmm3, (%rax)314; AVX512BW-FCP-NEXT: retq315;316; AVX512DQ-BW-LABEL: load_i64_stride7_vf2:317; AVX512DQ-BW: # %bb.0:318; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax319; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10320; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm0321; AVX512DQ-BW-NEXT: vmovdqa 16(%rdi), %xmm1322; AVX512DQ-BW-NEXT: vmovdqa 32(%rdi), %xmm2323; AVX512DQ-BW-NEXT: vmovdqa 48(%rdi), %xmm3324; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]325; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm5326; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]327; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]328; AVX512DQ-BW-NEXT: vmovdqa 80(%rdi), %xmm6329; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]330; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]331; AVX512DQ-BW-NEXT: vmovdqa 96(%rdi), %xmm7332; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]333; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]334; AVX512DQ-BW-NEXT: vmovdqa %xmm4, (%rsi)335; AVX512DQ-BW-NEXT: vmovdqa %xmm0, (%rdx)336; AVX512DQ-BW-NEXT: vmovdqa %xmm5, (%rcx)337; AVX512DQ-BW-NEXT: vmovdqa %xmm1, (%r8)338; AVX512DQ-BW-NEXT: vmovdqa %xmm6, (%r9)339; AVX512DQ-BW-NEXT: vmovdqa %xmm2, (%r10)340; AVX512DQ-BW-NEXT: vmovdqa %xmm3, (%rax)341; AVX512DQ-BW-NEXT: retq342;343; AVX512DQ-BW-FCP-LABEL: load_i64_stride7_vf2:344; AVX512DQ-BW-FCP: # %bb.0:345; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax346; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10347; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm0348; AVX512DQ-BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm1349; AVX512DQ-BW-FCP-NEXT: vmovdqa 32(%rdi), %xmm2350; AVX512DQ-BW-FCP-NEXT: vmovdqa 48(%rdi), %xmm3351; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm0[0,1],xmm3[2,3]352; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm5353; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]354; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm5[2,3]355; AVX512DQ-BW-FCP-NEXT: vmovdqa 80(%rdi), %xmm6356; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]357; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm2[0,1],xmm6[2,3]358; AVX512DQ-BW-FCP-NEXT: vmovdqa 96(%rdi), %xmm7359; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]360; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm7[2,3]361; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm4, (%rsi)362; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm0, (%rdx)363; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm5, (%rcx)364; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm1, (%r8)365; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm6, (%r9)366; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm2, (%r10)367; AVX512DQ-BW-FCP-NEXT: vmovdqa %xmm3, (%rax)368; AVX512DQ-BW-FCP-NEXT: retq369 %wide.vec = load <14 x i64>, ptr %in.vec, align 64370 %strided.vec0 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 0, i32 7>371 %strided.vec1 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 1, i32 8>372 %strided.vec2 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 2, i32 9>373 %strided.vec3 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 3, i32 10>374 %strided.vec4 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 4, i32 11>375 %strided.vec5 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 5, i32 12>376 %strided.vec6 = shufflevector <14 x i64> %wide.vec, <14 x i64> poison, <2 x i32> <i32 6, i32 13>377 store <2 x i64> %strided.vec0, ptr %out.vec0, align 64378 store <2 x i64> %strided.vec1, ptr %out.vec1, align 64379 store <2 x i64> %strided.vec2, ptr %out.vec2, align 64380 store <2 x i64> %strided.vec3, ptr %out.vec3, align 64381 store <2 x i64> %strided.vec4, ptr %out.vec4, align 64382 store <2 x i64> %strided.vec5, ptr %out.vec5, align 64383 store <2 x i64> %strided.vec6, ptr %out.vec6, align 64384 ret void385}386 387define void @load_i64_stride7_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {388; SSE-LABEL: load_i64_stride7_vf4:389; SSE: # %bb.0:390; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax391; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r10392; SSE-NEXT: movapd 208(%rdi), %xmm1393; SSE-NEXT: movapd 96(%rdi), %xmm0394; SSE-NEXT: movapd 144(%rdi), %xmm2395; SSE-NEXT: movapd 192(%rdi), %xmm4396; SSE-NEXT: movapd 80(%rdi), %xmm3397; SSE-NEXT: movapd 128(%rdi), %xmm5398; SSE-NEXT: movapd 176(%rdi), %xmm8399; SSE-NEXT: movapd 64(%rdi), %xmm7400; SSE-NEXT: movapd (%rdi), %xmm10401; SSE-NEXT: movapd 16(%rdi), %xmm9402; SSE-NEXT: movapd 32(%rdi), %xmm6403; SSE-NEXT: movapd 48(%rdi), %xmm11404; SSE-NEXT: movapd 112(%rdi), %xmm12405; SSE-NEXT: movapd 160(%rdi), %xmm13406; SSE-NEXT: movapd %xmm13, %xmm14407; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm12[0],xmm14[1]408; SSE-NEXT: movapd %xmm11, %xmm15409; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm10[0],xmm15[1]410; SSE-NEXT: shufpd {{.*#+}} xmm10 = xmm10[1],xmm7[0]411; SSE-NEXT: shufpd {{.*#+}} xmm12 = xmm12[1],xmm8[0]412; SSE-NEXT: movsd {{.*#+}} xmm7 = xmm9[0],xmm7[1]413; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm5[0],xmm8[1]414; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm3[0]415; SSE-NEXT: shufpd {{.*#+}} xmm5 = xmm5[1],xmm4[0]416; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm6[0],xmm3[1]417; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm2[0],xmm4[1]418; SSE-NEXT: shufpd {{.*#+}} xmm6 = xmm6[1],xmm0[0]419; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]420; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm11[0],xmm0[1]421; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm13[0],xmm1[1]422; SSE-NEXT: movapd %xmm14, 16(%rsi)423; SSE-NEXT: movapd %xmm15, (%rsi)424; SSE-NEXT: movapd %xmm12, 16(%rdx)425; SSE-NEXT: movapd %xmm10, (%rdx)426; SSE-NEXT: movapd %xmm8, 16(%rcx)427; SSE-NEXT: movapd %xmm7, (%rcx)428; SSE-NEXT: movapd %xmm5, 16(%r8)429; SSE-NEXT: movapd %xmm9, (%r8)430; SSE-NEXT: movapd %xmm4, 16(%r9)431; SSE-NEXT: movapd %xmm3, (%r9)432; SSE-NEXT: movapd %xmm2, 16(%r10)433; SSE-NEXT: movapd %xmm6, (%r10)434; SSE-NEXT: movapd %xmm1, 16(%rax)435; SSE-NEXT: movapd %xmm0, (%rax)436; SSE-NEXT: retq437;438; AVX-LABEL: load_i64_stride7_vf4:439; AVX: # %bb.0:440; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax441; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r10442; AVX-NEXT: vmovapd 192(%rdi), %ymm0443; AVX-NEXT: vmovapd 128(%rdi), %ymm2444; AVX-NEXT: vmovapd 160(%rdi), %ymm4445; AVX-NEXT: vmovapd 96(%rdi), %ymm5446; AVX-NEXT: vinsertf128 $1, 160(%rdi), %ymm0, %ymm1447; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm5[0,1,2],ymm1[3]448; AVX-NEXT: vmovapd 16(%rdi), %xmm7449; AVX-NEXT: vmovapd 48(%rdi), %xmm3450; AVX-NEXT: vmovdqa 64(%rdi), %xmm8451; AVX-NEXT: vmovapd 80(%rdi), %xmm9452; AVX-NEXT: vblendpd {{.*#+}} xmm10 = mem[0],xmm3[1]453; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm10[0,1],ymm6[2,3]454; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm4[1],ymm5[3],ymm4[2]455; AVX-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]456; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm8[0,1],ymm5[2,3]457; AVX-NEXT: vmovdqa 128(%rdi), %xmm8458; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm10459; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm10[0,1,2],ymm4[3]460; AVX-NEXT: vblendpd {{.*#+}} xmm10 = xmm7[0],mem[1]461; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm10[0,1],ymm4[2,3]462; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[1],ymm9[0],ymm7[2],ymm9[3]463; AVX-NEXT: vmovdqa 192(%rdi), %xmm10464; AVX-NEXT: vpalignr {{.*#+}} xmm8 = xmm8[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]465; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm8466; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1],ymm8[2,3]467; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm8468; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm2[0,1,2],ymm8[3]469; AVX-NEXT: vblendpd {{.*#+}} xmm9 = mem[0],xmm9[1]470; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm9[0,1],ymm8[2,3]471; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm0[1],ymm2[3],ymm0[2]472; AVX-NEXT: vmovdqa 96(%rdi), %xmm9473; AVX-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]474; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm9[0,1],ymm2[2,3]475; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3]476; AVX-NEXT: vblendpd {{.*#+}} xmm1 = xmm3[0],mem[1]477; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]478; AVX-NEXT: vmovapd %ymm6, (%rsi)479; AVX-NEXT: vmovapd %ymm5, (%rdx)480; AVX-NEXT: vmovapd %ymm4, (%rcx)481; AVX-NEXT: vmovapd %ymm7, (%r8)482; AVX-NEXT: vmovapd %ymm8, (%r9)483; AVX-NEXT: vmovapd %ymm2, (%r10)484; AVX-NEXT: vmovapd %ymm0, (%rax)485; AVX-NEXT: vzeroupper486; AVX-NEXT: retq487;488; AVX2-LABEL: load_i64_stride7_vf4:489; AVX2: # %bb.0:490; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax491; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r10492; AVX2-NEXT: vmovdqa 192(%rdi), %ymm0493; AVX2-NEXT: vmovdqa 128(%rdi), %ymm2494; AVX2-NEXT: vmovdqa 64(%rdi), %ymm5495; AVX2-NEXT: vmovdqa 160(%rdi), %ymm6496; AVX2-NEXT: vmovdqa 96(%rdi), %ymm7497; AVX2-NEXT: vmovdqa 160(%rdi), %xmm1498; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm3499; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5],ymm3[6,7]500; AVX2-NEXT: vmovdqa 48(%rdi), %xmm3501; AVX2-NEXT: vpblendd {{.*#+}} xmm8 = mem[0,1],xmm3[2,3]502; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]503; AVX2-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]504; AVX2-NEXT: vmovdqa 64(%rdi), %xmm8505; AVX2-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]506; AVX2-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]507; AVX2-NEXT: vpbroadcastq 128(%rdi), %ymm8508; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]509; AVX2-NEXT: vmovdqa 16(%rdi), %xmm8510; AVX2-NEXT: vpblendd {{.*#+}} xmm8 = xmm8[0,1],mem[2,3]511; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]512; AVX2-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]513; AVX2-NEXT: vmovdqa 192(%rdi), %xmm8514; AVX2-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]515; AVX2-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm9516; AVX2-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm5[2,3],ymm9[2,3]517; AVX2-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8518; AVX2-NEXT: vpblendd {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5],ymm8[6,7]519; AVX2-NEXT: vmovdqa 32(%rdi), %xmm9520; AVX2-NEXT: vpblendd {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]521; AVX2-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]522; AVX2-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]523; AVX2-NEXT: vmovdqa 96(%rdi), %xmm9524; AVX2-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]525; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]526; AVX2-NEXT: vpbroadcastq %xmm1, %ymm1527; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]528; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm3[0,1],mem[2,3]529; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]530; AVX2-NEXT: vmovdqa %ymm4, (%rsi)531; AVX2-NEXT: vmovdqa %ymm7, (%rdx)532; AVX2-NEXT: vmovdqa %ymm6, (%rcx)533; AVX2-NEXT: vmovdqa %ymm5, (%r8)534; AVX2-NEXT: vmovdqa %ymm8, (%r9)535; AVX2-NEXT: vmovdqa %ymm2, (%r10)536; AVX2-NEXT: vmovdqa %ymm0, (%rax)537; AVX2-NEXT: vzeroupper538; AVX2-NEXT: retq539;540; AVX2-FP-LABEL: load_i64_stride7_vf4:541; AVX2-FP: # %bb.0:542; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax543; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10544; AVX2-FP-NEXT: vmovdqa 192(%rdi), %ymm0545; AVX2-FP-NEXT: vmovdqa 128(%rdi), %ymm2546; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm5547; AVX2-FP-NEXT: vmovdqa 160(%rdi), %ymm6548; AVX2-FP-NEXT: vmovdqa 96(%rdi), %ymm7549; AVX2-FP-NEXT: vmovdqa 160(%rdi), %xmm1550; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm3551; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5],ymm3[6,7]552; AVX2-FP-NEXT: vmovdqa 48(%rdi), %xmm3553; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm8 = mem[0,1],xmm3[2,3]554; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]555; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]556; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm8557; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]558; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]559; AVX2-FP-NEXT: vpbroadcastq 128(%rdi), %ymm8560; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]561; AVX2-FP-NEXT: vmovdqa 16(%rdi), %xmm8562; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm8 = xmm8[0,1],mem[2,3]563; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]564; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]565; AVX2-FP-NEXT: vmovdqa 192(%rdi), %xmm8566; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]567; AVX2-FP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm9568; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm5[2,3],ymm9[2,3]569; AVX2-FP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8570; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5],ymm8[6,7]571; AVX2-FP-NEXT: vmovdqa 32(%rdi), %xmm9572; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]573; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]574; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]575; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm9576; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]577; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]578; AVX2-FP-NEXT: vpbroadcastq %xmm1, %ymm1579; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]580; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm3[0,1],mem[2,3]581; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]582; AVX2-FP-NEXT: vmovdqa %ymm4, (%rsi)583; AVX2-FP-NEXT: vmovdqa %ymm7, (%rdx)584; AVX2-FP-NEXT: vmovdqa %ymm6, (%rcx)585; AVX2-FP-NEXT: vmovdqa %ymm5, (%r8)586; AVX2-FP-NEXT: vmovdqa %ymm8, (%r9)587; AVX2-FP-NEXT: vmovdqa %ymm2, (%r10)588; AVX2-FP-NEXT: vmovdqa %ymm0, (%rax)589; AVX2-FP-NEXT: vzeroupper590; AVX2-FP-NEXT: retq591;592; AVX2-FCP-LABEL: load_i64_stride7_vf4:593; AVX2-FCP: # %bb.0:594; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax595; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10596; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %ymm0597; AVX2-FCP-NEXT: vmovdqa 128(%rdi), %ymm2598; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %ymm5599; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %ymm6600; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %ymm7601; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %xmm1602; AVX2-FCP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm3603; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5],ymm3[6,7]604; AVX2-FCP-NEXT: vmovdqa 48(%rdi), %xmm3605; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm8 = mem[0,1],xmm3[2,3]606; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]607; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]608; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %xmm8609; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]610; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]611; AVX2-FCP-NEXT: vpbroadcastq 128(%rdi), %ymm8612; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm8[1],ymm6[1],ymm8[3],ymm6[3]613; AVX2-FCP-NEXT: vmovdqa 16(%rdi), %xmm8614; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm8 = xmm8[0,1],mem[2,3]615; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]616; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]617; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %xmm8618; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]619; AVX2-FCP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm9620; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm5[2,3],ymm9[2,3]621; AVX2-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8622; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5],ymm8[6,7]623; AVX2-FCP-NEXT: vmovdqa 32(%rdi), %xmm9624; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]625; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]626; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]627; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %xmm9628; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]629; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]630; AVX2-FCP-NEXT: vpbroadcastq %xmm1, %ymm1631; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]632; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm3[0,1],mem[2,3]633; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]634; AVX2-FCP-NEXT: vmovdqa %ymm4, (%rsi)635; AVX2-FCP-NEXT: vmovdqa %ymm7, (%rdx)636; AVX2-FCP-NEXT: vmovdqa %ymm6, (%rcx)637; AVX2-FCP-NEXT: vmovdqa %ymm5, (%r8)638; AVX2-FCP-NEXT: vmovdqa %ymm8, (%r9)639; AVX2-FCP-NEXT: vmovdqa %ymm2, (%r10)640; AVX2-FCP-NEXT: vmovdqa %ymm0, (%rax)641; AVX2-FCP-NEXT: vzeroupper642; AVX2-FCP-NEXT: retq643;644; AVX512-LABEL: load_i64_stride7_vf4:645; AVX512: # %bb.0:646; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax647; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10648; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm3649; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm4650; AVX512-NEXT: vmovdqa64 (%rdi), %zmm5651; AVX512-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0652; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]653; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm1654; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]655; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]656; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm1657; AVX512-NEXT: vpbroadcastq 176(%rdi), %ymm2658; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]659; AVX512-NEXT: vmovdqa 128(%rdi), %xmm6660; AVX512-NEXT: vpbroadcastq %xmm6, %ymm2661; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]662; AVX512-NEXT: vmovdqa 16(%rdi), %xmm7663; AVX512-NEXT: vpblendd {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]664; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]665; AVX512-NEXT: vmovdqa 64(%rdi), %ymm7666; AVX512-NEXT: vpalignr {{.*#+}} ymm7 = mem[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]667; AVX512-NEXT: vmovdqa 192(%rdi), %xmm8668; AVX512-NEXT: vpalignr {{.*#+}} xmm6 = xmm6[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]669; AVX512-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm6670; AVX512-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm7[2,3],ymm6[2,3]671; AVX512-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm7672; AVX512-NEXT: vmovdqa 128(%rdi), %ymm8673; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]674; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]675; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm9676; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]677; AVX512-NEXT: vmovdqa 192(%rdi), %ymm9678; AVX512-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]679; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]680; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm9681; AVX512-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]682; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]683; AVX512-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9684; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]685; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm3686; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]687; AVX512-NEXT: vmovdqa %ymm0, (%rsi)688; AVX512-NEXT: vmovdqa %ymm1, (%rdx)689; AVX512-NEXT: vmovdqa %ymm2, (%rcx)690; AVX512-NEXT: vmovdqa %ymm6, (%r8)691; AVX512-NEXT: vmovdqa %ymm7, (%r9)692; AVX512-NEXT: vmovdqa %ymm8, (%r10)693; AVX512-NEXT: vmovdqa %ymm3, (%rax)694; AVX512-NEXT: vzeroupper695; AVX512-NEXT: retq696;697; AVX512-FCP-LABEL: load_i64_stride7_vf4:698; AVX512-FCP: # %bb.0:699; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax700; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10701; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm3702; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm4703; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm5704; AVX512-FCP-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0705; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]706; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm1707; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]708; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]709; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm1710; AVX512-FCP-NEXT: vpbroadcastq 176(%rdi), %ymm2711; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]712; AVX512-FCP-NEXT: vmovdqa 16(%rdi), %xmm2713; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]714; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm6 = [0,0,0,7]715; AVX512-FCP-NEXT: vpermq %zmm3, %zmm6, %zmm6716; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]717; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm6718; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]719; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %xmm7720; AVX512-FCP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]721; AVX512-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8722; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm6[2,3],ymm8[2,3]723; AVX512-FCP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm7724; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm8725; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]726; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]727; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9728; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]729; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm9730; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]731; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]732; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9733; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]734; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]735; AVX512-FCP-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9736; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]737; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm3738; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]739; AVX512-FCP-NEXT: vmovdqa %ymm0, (%rsi)740; AVX512-FCP-NEXT: vmovdqa %ymm1, (%rdx)741; AVX512-FCP-NEXT: vmovdqa %ymm2, (%rcx)742; AVX512-FCP-NEXT: vmovdqa %ymm6, (%r8)743; AVX512-FCP-NEXT: vmovdqa %ymm7, (%r9)744; AVX512-FCP-NEXT: vmovdqa %ymm8, (%r10)745; AVX512-FCP-NEXT: vmovdqa %ymm3, (%rax)746; AVX512-FCP-NEXT: vzeroupper747; AVX512-FCP-NEXT: retq748;749; AVX512DQ-LABEL: load_i64_stride7_vf4:750; AVX512DQ: # %bb.0:751; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax752; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10753; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm3754; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm4755; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm5756; AVX512DQ-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0757; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]758; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm1759; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]760; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]761; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm1762; AVX512DQ-NEXT: vpbroadcastq 176(%rdi), %ymm2763; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]764; AVX512DQ-NEXT: vmovdqa 128(%rdi), %xmm6765; AVX512DQ-NEXT: vpbroadcastq %xmm6, %ymm2766; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]767; AVX512DQ-NEXT: vmovdqa 16(%rdi), %xmm7768; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]769; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]770; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm7771; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm7 = mem[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]772; AVX512DQ-NEXT: vmovdqa 192(%rdi), %xmm8773; AVX512DQ-NEXT: vpalignr {{.*#+}} xmm6 = xmm6[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]774; AVX512DQ-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm6775; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm7[2,3],ymm6[2,3]776; AVX512DQ-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm7777; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm8778; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]779; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]780; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm9781; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]782; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm9783; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]784; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]785; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm9786; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]787; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]788; AVX512DQ-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9789; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]790; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm3791; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]792; AVX512DQ-NEXT: vmovdqa %ymm0, (%rsi)793; AVX512DQ-NEXT: vmovdqa %ymm1, (%rdx)794; AVX512DQ-NEXT: vmovdqa %ymm2, (%rcx)795; AVX512DQ-NEXT: vmovdqa %ymm6, (%r8)796; AVX512DQ-NEXT: vmovdqa %ymm7, (%r9)797; AVX512DQ-NEXT: vmovdqa %ymm8, (%r10)798; AVX512DQ-NEXT: vmovdqa %ymm3, (%rax)799; AVX512DQ-NEXT: vzeroupper800; AVX512DQ-NEXT: retq801;802; AVX512DQ-FCP-LABEL: load_i64_stride7_vf4:803; AVX512DQ-FCP: # %bb.0:804; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax805; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10806; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm3807; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm4808; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm5809; AVX512DQ-FCP-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0810; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]811; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm1812; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]813; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]814; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm1815; AVX512DQ-FCP-NEXT: vpbroadcastq 176(%rdi), %ymm2816; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]817; AVX512DQ-FCP-NEXT: vmovdqa 16(%rdi), %xmm2818; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]819; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm6 = [0,0,0,7]820; AVX512DQ-FCP-NEXT: vpermq %zmm3, %zmm6, %zmm6821; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]822; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm6823; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]824; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %xmm7825; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]826; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8827; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm6[2,3],ymm8[2,3]828; AVX512DQ-FCP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm7829; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm8830; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]831; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]832; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9833; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]834; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm9835; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]836; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]837; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9838; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]839; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]840; AVX512DQ-FCP-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9841; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]842; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm3843; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]844; AVX512DQ-FCP-NEXT: vmovdqa %ymm0, (%rsi)845; AVX512DQ-FCP-NEXT: vmovdqa %ymm1, (%rdx)846; AVX512DQ-FCP-NEXT: vmovdqa %ymm2, (%rcx)847; AVX512DQ-FCP-NEXT: vmovdqa %ymm6, (%r8)848; AVX512DQ-FCP-NEXT: vmovdqa %ymm7, (%r9)849; AVX512DQ-FCP-NEXT: vmovdqa %ymm8, (%r10)850; AVX512DQ-FCP-NEXT: vmovdqa %ymm3, (%rax)851; AVX512DQ-FCP-NEXT: vzeroupper852; AVX512DQ-FCP-NEXT: retq853;854; AVX512BW-LABEL: load_i64_stride7_vf4:855; AVX512BW: # %bb.0:856; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax857; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10858; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm3859; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm4860; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm5861; AVX512BW-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0862; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]863; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm1864; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]865; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]866; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm1867; AVX512BW-NEXT: vpbroadcastq 176(%rdi), %ymm2868; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]869; AVX512BW-NEXT: vmovdqa 128(%rdi), %xmm6870; AVX512BW-NEXT: vpbroadcastq %xmm6, %ymm2871; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]872; AVX512BW-NEXT: vmovdqa 16(%rdi), %xmm7873; AVX512BW-NEXT: vpblendd {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]874; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]875; AVX512BW-NEXT: vmovdqa 64(%rdi), %ymm7876; AVX512BW-NEXT: vpalignr {{.*#+}} ymm7 = mem[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]877; AVX512BW-NEXT: vmovdqa 192(%rdi), %xmm8878; AVX512BW-NEXT: vpalignr {{.*#+}} xmm6 = xmm6[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]879; AVX512BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm6880; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm7[2,3],ymm6[2,3]881; AVX512BW-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm7882; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm8883; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]884; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]885; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm9886; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]887; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm9888; AVX512BW-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]889; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]890; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm9891; AVX512BW-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]892; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]893; AVX512BW-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9894; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]895; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm3896; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]897; AVX512BW-NEXT: vmovdqa %ymm0, (%rsi)898; AVX512BW-NEXT: vmovdqa %ymm1, (%rdx)899; AVX512BW-NEXT: vmovdqa %ymm2, (%rcx)900; AVX512BW-NEXT: vmovdqa %ymm6, (%r8)901; AVX512BW-NEXT: vmovdqa %ymm7, (%r9)902; AVX512BW-NEXT: vmovdqa %ymm8, (%r10)903; AVX512BW-NEXT: vmovdqa %ymm3, (%rax)904; AVX512BW-NEXT: vzeroupper905; AVX512BW-NEXT: retq906;907; AVX512BW-FCP-LABEL: load_i64_stride7_vf4:908; AVX512BW-FCP: # %bb.0:909; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax910; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10911; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm3912; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm4913; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm5914; AVX512BW-FCP-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0915; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]916; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm1917; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]918; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]919; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm1920; AVX512BW-FCP-NEXT: vpbroadcastq 176(%rdi), %ymm2921; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]922; AVX512BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm2923; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]924; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm6 = [0,0,0,7]925; AVX512BW-FCP-NEXT: vpermq %zmm3, %zmm6, %zmm6926; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]927; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm6928; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]929; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %xmm7930; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]931; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm8932; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm6[2,3],ymm8[2,3]933; AVX512BW-FCP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm7934; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm8935; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]936; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]937; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9938; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]939; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm9940; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]941; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]942; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm9943; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]944; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]945; AVX512BW-FCP-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9946; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]947; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm3948; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]949; AVX512BW-FCP-NEXT: vmovdqa %ymm0, (%rsi)950; AVX512BW-FCP-NEXT: vmovdqa %ymm1, (%rdx)951; AVX512BW-FCP-NEXT: vmovdqa %ymm2, (%rcx)952; AVX512BW-FCP-NEXT: vmovdqa %ymm6, (%r8)953; AVX512BW-FCP-NEXT: vmovdqa %ymm7, (%r9)954; AVX512BW-FCP-NEXT: vmovdqa %ymm8, (%r10)955; AVX512BW-FCP-NEXT: vmovdqa %ymm3, (%rax)956; AVX512BW-FCP-NEXT: vzeroupper957; AVX512BW-FCP-NEXT: retq958;959; AVX512DQ-BW-LABEL: load_i64_stride7_vf4:960; AVX512DQ-BW: # %bb.0:961; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax962; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10963; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm3964; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm4965; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm5966; AVX512DQ-BW-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm0967; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]968; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm1969; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]970; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]971; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm1972; AVX512DQ-BW-NEXT: vpbroadcastq 176(%rdi), %ymm2973; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]974; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %xmm6975; AVX512DQ-BW-NEXT: vpbroadcastq %xmm6, %ymm2976; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],mem[1],ymm2[3],mem[3]977; AVX512DQ-BW-NEXT: vmovdqa 16(%rdi), %xmm7978; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]979; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm7[0,1,2,3],ymm2[4,5,6,7]980; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %ymm7981; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm7 = mem[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]982; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %xmm8983; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} xmm6 = xmm6[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]984; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm6985; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm7[2,3],ymm6[2,3]986; AVX512DQ-BW-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm7987; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm8988; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]989; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]990; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm9991; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]992; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm9993; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]994; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]995; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm9996; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]997; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]998; AVX512DQ-BW-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm9999; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]1000; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm31001; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]1002; AVX512DQ-BW-NEXT: vmovdqa %ymm0, (%rsi)1003; AVX512DQ-BW-NEXT: vmovdqa %ymm1, (%rdx)1004; AVX512DQ-BW-NEXT: vmovdqa %ymm2, (%rcx)1005; AVX512DQ-BW-NEXT: vmovdqa %ymm6, (%r8)1006; AVX512DQ-BW-NEXT: vmovdqa %ymm7, (%r9)1007; AVX512DQ-BW-NEXT: vmovdqa %ymm8, (%r10)1008; AVX512DQ-BW-NEXT: vmovdqa %ymm3, (%rax)1009; AVX512DQ-BW-NEXT: vzeroupper1010; AVX512DQ-BW-NEXT: retq1011;1012; AVX512DQ-BW-FCP-LABEL: load_i64_stride7_vf4:1013; AVX512DQ-BW-FCP: # %bb.0:1014; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1015; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101016; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm31017; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm41018; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm51019; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 160(%rdi), %ymm0, %ymm01020; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [0,7,14,0]1021; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm11022; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]1023; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm1 = [9,0,7,0]1024; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm11025; AVX512DQ-BW-FCP-NEXT: vpbroadcastq 176(%rdi), %ymm21026; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]1027; AVX512DQ-BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm21028; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]1029; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm6 = [0,0,0,7]1030; AVX512DQ-BW-FCP-NEXT: vpermq %zmm3, %zmm6, %zmm61031; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]1032; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm61033; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]1034; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %xmm71035; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} xmm8 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]1036; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm81037; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm6[2,3],ymm8[2,3]1038; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm71039; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm81040; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]1041; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,11]1042; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm91043; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]1044; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm91045; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1046; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [5,12]1047; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm91048; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]1049; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,4,11]1050; AVX512DQ-BW-FCP-NEXT: vpermi2q 192(%rdi), %zmm3, %zmm91051; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [6,13]1052; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm31053; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm9[4,5,6,7]1054; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm0, (%rsi)1055; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm1, (%rdx)1056; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm2, (%rcx)1057; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm6, (%r8)1058; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm7, (%r9)1059; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm8, (%r10)1060; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm3, (%rax)1061; AVX512DQ-BW-FCP-NEXT: vzeroupper1062; AVX512DQ-BW-FCP-NEXT: retq1063 %wide.vec = load <28 x i64>, ptr %in.vec, align 641064 %strided.vec0 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 0, i32 7, i32 14, i32 21>1065 %strided.vec1 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 1, i32 8, i32 15, i32 22>1066 %strided.vec2 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 2, i32 9, i32 16, i32 23>1067 %strided.vec3 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 3, i32 10, i32 17, i32 24>1068 %strided.vec4 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 4, i32 11, i32 18, i32 25>1069 %strided.vec5 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 5, i32 12, i32 19, i32 26>1070 %strided.vec6 = shufflevector <28 x i64> %wide.vec, <28 x i64> poison, <4 x i32> <i32 6, i32 13, i32 20, i32 27>1071 store <4 x i64> %strided.vec0, ptr %out.vec0, align 641072 store <4 x i64> %strided.vec1, ptr %out.vec1, align 641073 store <4 x i64> %strided.vec2, ptr %out.vec2, align 641074 store <4 x i64> %strided.vec3, ptr %out.vec3, align 641075 store <4 x i64> %strided.vec4, ptr %out.vec4, align 641076 store <4 x i64> %strided.vec5, ptr %out.vec5, align 641077 store <4 x i64> %strided.vec6, ptr %out.vec6, align 641078 ret void1079}1080 1081define void @load_i64_stride7_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {1082; SSE-LABEL: load_i64_stride7_vf8:1083; SSE: # %bb.0:1084; SSE-NEXT: subq $88, %rsp1085; SSE-NEXT: movapd 320(%rdi), %xmm11086; SSE-NEXT: movapd 208(%rdi), %xmm01087; SSE-NEXT: movapd 256(%rdi), %xmm31088; SSE-NEXT: movapd 144(%rdi), %xmm21089; SSE-NEXT: movapd 304(%rdi), %xmm51090; SSE-NEXT: movapd 192(%rdi), %xmm41091; SSE-NEXT: movapd 240(%rdi), %xmm71092; SSE-NEXT: movapd 128(%rdi), %xmm61093; SSE-NEXT: movapd 288(%rdi), %xmm91094; SSE-NEXT: movapd 176(%rdi), %xmm81095; SSE-NEXT: movapd 336(%rdi), %xmm101096; SSE-NEXT: movapd 224(%rdi), %xmm111097; SSE-NEXT: movapd 272(%rdi), %xmm141098; SSE-NEXT: movapd 112(%rdi), %xmm131099; SSE-NEXT: movapd 160(%rdi), %xmm151100; SSE-NEXT: movapd %xmm15, %xmm121101; SSE-NEXT: movsd {{.*#+}} xmm12 = xmm13[0],xmm12[1]1102; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1103; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm8[0]1104; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm6[0],xmm8[1]1105; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1106; SSE-NEXT: shufpd {{.*#+}} xmm6 = xmm6[1],xmm4[0]1107; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1108; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm2[0],xmm4[1]1109; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1110; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm0[0]1111; SSE-NEXT: movapd %xmm2, (%rsp) # 16-byte Spill1112; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm15[0],xmm0[1]1113; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1114; SSE-NEXT: movapd %xmm14, %xmm121115; SSE-NEXT: movsd {{.*#+}} xmm12 = xmm11[0],xmm12[1]1116; SSE-NEXT: shufpd {{.*#+}} xmm11 = xmm11[1],xmm9[0]1117; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1118; SSE-NEXT: movsd {{.*#+}} xmm9 = xmm7[0],xmm9[1]1119; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1120; SSE-NEXT: shufpd {{.*#+}} xmm7 = xmm7[1],xmm5[0]1121; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1122; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm3[0],xmm5[1]1123; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1124; SSE-NEXT: shufpd {{.*#+}} xmm3 = xmm3[1],xmm1[0]1125; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1126; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm14[0],xmm1[1]1127; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1128; SSE-NEXT: movapd 384(%rdi), %xmm21129; SSE-NEXT: movapd %xmm2, %xmm111130; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm10[0],xmm11[1]1131; SSE-NEXT: movapd 400(%rdi), %xmm71132; SSE-NEXT: shufpd {{.*#+}} xmm10 = xmm10[1],xmm7[0]1133; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1134; SSE-NEXT: movapd 352(%rdi), %xmm81135; SSE-NEXT: movsd {{.*#+}} xmm7 = xmm8[0],xmm7[1]1136; SSE-NEXT: movapd 416(%rdi), %xmm101137; SSE-NEXT: shufpd {{.*#+}} xmm8 = xmm8[1],xmm10[0]1138; SSE-NEXT: movapd 368(%rdi), %xmm151139; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm15[0],xmm10[1]1140; SSE-NEXT: movapd 432(%rdi), %xmm141141; SSE-NEXT: shufpd {{.*#+}} xmm15 = xmm15[1],xmm14[0]1142; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm2[0],xmm14[1]1143; SSE-NEXT: movapd (%rdi), %xmm21144; SSE-NEXT: movapd 48(%rdi), %xmm91145; SSE-NEXT: movapd %xmm9, %xmm31146; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm2[0],xmm3[1]1147; SSE-NEXT: movapd 64(%rdi), %xmm01148; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm0[0]1149; SSE-NEXT: movapd 16(%rdi), %xmm11150; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]1151; SSE-NEXT: movapd 80(%rdi), %xmm41152; SSE-NEXT: shufpd {{.*#+}} xmm1 = xmm1[1],xmm4[0]1153; SSE-NEXT: movapd 32(%rdi), %xmm51154; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm5[0],xmm4[1]1155; SSE-NEXT: movapd 96(%rdi), %xmm61156; SSE-NEXT: shufpd {{.*#+}} xmm5 = xmm5[1],xmm6[0]1157; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm9[0],xmm6[1]1158; SSE-NEXT: movapd %xmm3, (%rsi)1159; SSE-NEXT: movapd %xmm11, 48(%rsi)1160; SSE-NEXT: movapd %xmm12, 32(%rsi)1161; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload1162; SSE-NEXT: movaps %xmm3, 16(%rsi)1163; SSE-NEXT: movapd %xmm2, (%rdx)1164; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1165; SSE-NEXT: movaps %xmm2, 48(%rdx)1166; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1167; SSE-NEXT: movaps %xmm2, 32(%rdx)1168; SSE-NEXT: movapd %xmm13, 16(%rdx)1169; SSE-NEXT: movapd %xmm0, (%rcx)1170; SSE-NEXT: movapd %xmm7, 48(%rcx)1171; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1172; SSE-NEXT: movaps %xmm0, 32(%rcx)1173; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1174; SSE-NEXT: movaps %xmm0, 16(%rcx)1175; SSE-NEXT: movapd %xmm1, (%r8)1176; SSE-NEXT: movapd %xmm8, 48(%r8)1177; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1178; SSE-NEXT: movaps %xmm0, 32(%r8)1179; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1180; SSE-NEXT: movaps %xmm0, 16(%r8)1181; SSE-NEXT: movapd %xmm4, (%r9)1182; SSE-NEXT: movapd %xmm10, 48(%r9)1183; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1184; SSE-NEXT: movaps %xmm0, 32(%r9)1185; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1186; SSE-NEXT: movaps %xmm0, 16(%r9)1187; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1188; SSE-NEXT: movapd %xmm5, (%rax)1189; SSE-NEXT: movapd %xmm15, 48(%rax)1190; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1191; SSE-NEXT: movaps %xmm0, 32(%rax)1192; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload1193; SSE-NEXT: movaps %xmm0, 16(%rax)1194; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1195; SSE-NEXT: movapd %xmm6, (%rax)1196; SSE-NEXT: movapd %xmm14, 48(%rax)1197; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1198; SSE-NEXT: movaps %xmm0, 32(%rax)1199; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1200; SSE-NEXT: movaps %xmm0, 16(%rax)1201; SSE-NEXT: addq $88, %rsp1202; SSE-NEXT: retq1203;1204; AVX-LABEL: load_i64_stride7_vf8:1205; AVX: # %bb.0:1206; AVX-NEXT: vmovapd 384(%rdi), %ymm91207; AVX-NEXT: vmovapd 160(%rdi), %ymm81208; AVX-NEXT: vmovapd 320(%rdi), %ymm71209; AVX-NEXT: vmovapd 96(%rdi), %ymm61210; AVX-NEXT: vinsertf128 $1, 160(%rdi), %ymm0, %ymm01211; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1212; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm6[0,1,2],ymm0[3]1213; AVX-NEXT: vmovdqa 16(%rdi), %xmm111214; AVX-NEXT: vmovapd 48(%rdi), %xmm11215; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1216; AVX-NEXT: vmovdqa 64(%rdi), %xmm121217; AVX-NEXT: vmovapd 80(%rdi), %xmm101218; AVX-NEXT: vblendpd {{.*#+}} xmm3 = mem[0],xmm1[1]1219; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3]1220; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1221; AVX-NEXT: vinsertf128 $1, 384(%rdi), %ymm0, %ymm31222; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm7[0,1,2],ymm3[3]1223; AVX-NEXT: vmovapd 224(%rdi), %xmm131224; AVX-NEXT: vmovapd 272(%rdi), %xmm41225; AVX-NEXT: vblendpd {{.*#+}} xmm14 = xmm13[0],xmm4[1]1226; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1],ymm5[2,3]1227; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1228; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[0],ymm8[1],ymm6[3],ymm8[2]1229; AVX-NEXT: vpalignr {{.*#+}} xmm14 = mem[8,9,10,11,12,13,14,15],xmm12[0,1,2,3,4,5,6,7]1230; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm14[0,1],ymm6[2,3]1231; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0],ymm9[1],ymm7[3],ymm9[2]1232; AVX-NEXT: vmovdqa 288(%rdi), %xmm141233; AVX-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1234; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm13[0,1],ymm7[2,3]1235; AVX-NEXT: vmovdqa 128(%rdi), %xmm131236; AVX-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm141237; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm14[0,1,2],ymm8[3]1238; AVX-NEXT: vpblendw {{.*#+}} xmm12 = xmm11[0,1,2,3],xmm12[4,5,6,7]1239; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm12[0,1],ymm8[2,3]1240; AVX-NEXT: vmovdqa 352(%rdi), %xmm121241; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm141242; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm14[0,1,2],ymm9[3]1243; AVX-NEXT: vmovapd 240(%rdi), %xmm141244; AVX-NEXT: vblendpd {{.*#+}} xmm15 = xmm14[0],mem[1]1245; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm15[0,1],ymm9[2,3]1246; AVX-NEXT: vshufpd {{.*#+}} ymm11 = ymm11[1],ymm10[0],ymm11[2],ymm10[3]1247; AVX-NEXT: vmovdqa 192(%rdi), %xmm151248; AVX-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]1249; AVX-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm131250; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm11[0,1],ymm13[2,3]1251; AVX-NEXT: vmovapd 304(%rdi), %xmm131252; AVX-NEXT: vshufpd {{.*#+}} ymm14 = ymm14[1],ymm13[0],ymm14[2],ymm13[3]1253; AVX-NEXT: vmovdqa 416(%rdi), %xmm01254; AVX-NEXT: vpalignr {{.*#+}} xmm12 = xmm12[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]1255; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm121256; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm14[0,1],ymm12[2,3]1257; AVX-NEXT: vinsertf128 $1, %xmm15, %ymm0, %ymm141258; AVX-NEXT: vmovapd 128(%rdi), %ymm151259; AVX-NEXT: vblendpd {{.*#+}} ymm14 = ymm15[0,1,2],ymm14[3]1260; AVX-NEXT: vblendpd {{.*#+}} xmm10 = mem[0],xmm10[1]1261; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm10[0,1],ymm14[2,3]1262; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm01263; AVX-NEXT: vmovapd 352(%rdi), %ymm141264; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1,2],ymm0[3]1265; AVX-NEXT: vmovapd 256(%rdi), %xmm11266; AVX-NEXT: vblendpd {{.*#+}} xmm13 = xmm1[0],xmm13[1]1267; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm13[0,1],ymm0[2,3]1268; AVX-NEXT: vmovapd 192(%rdi), %ymm131269; AVX-NEXT: vshufpd {{.*#+}} ymm15 = ymm15[0],ymm13[1],ymm15[3],ymm13[2]1270; AVX-NEXT: vmovdqa 96(%rdi), %xmm51271; AVX-NEXT: vpalignr {{.*#+}} xmm5 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]1272; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm15[2,3]1273; AVX-NEXT: vmovapd 416(%rdi), %ymm151274; AVX-NEXT: vshufpd {{.*#+}} ymm14 = ymm14[0],ymm15[1],ymm14[3],ymm15[2]1275; AVX-NEXT: vmovdqa 320(%rdi), %xmm01276; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]1277; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm14[2,3]1278; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload1279; AVX-NEXT: # ymm13 = mem[0,1,2],ymm13[3]1280; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload1281; AVX-NEXT: vblendpd {{.*#+}} xmm14 = xmm14[0],mem[1]1282; AVX-NEXT: vblendpd {{.*#+}} ymm13 = ymm14[0,1],ymm13[2,3]1283; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1,2],ymm15[3]1284; AVX-NEXT: vblendpd {{.*#+}} xmm0 = xmm4[0],xmm0[1]1285; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2,3]1286; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1287; AVX-NEXT: vmovaps %ymm3, 32(%rsi)1288; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1289; AVX-NEXT: vmovaps %ymm3, (%rsi)1290; AVX-NEXT: vmovapd %ymm7, 32(%rdx)1291; AVX-NEXT: vmovapd %ymm6, (%rdx)1292; AVX-NEXT: vmovapd %ymm9, 32(%rcx)1293; AVX-NEXT: vmovapd %ymm8, (%rcx)1294; AVX-NEXT: vmovapd %ymm12, 32(%r8)1295; AVX-NEXT: vmovapd %ymm11, (%r8)1296; AVX-NEXT: vmovapd %ymm2, 32(%r9)1297; AVX-NEXT: vmovapd %ymm10, (%r9)1298; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1299; AVX-NEXT: vmovapd %ymm1, 32(%rax)1300; AVX-NEXT: vmovapd %ymm5, (%rax)1301; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1302; AVX-NEXT: vmovapd %ymm0, 32(%rax)1303; AVX-NEXT: vmovapd %ymm13, (%rax)1304; AVX-NEXT: vzeroupper1305; AVX-NEXT: retq1306;1307; AVX2-LABEL: load_i64_stride7_vf8:1308; AVX2: # %bb.0:1309; AVX2-NEXT: vmovdqa 128(%rdi), %ymm41310; AVX2-NEXT: vmovdqa 288(%rdi), %ymm121311; AVX2-NEXT: vmovdqa 64(%rdi), %ymm111312; AVX2-NEXT: vmovdqa 384(%rdi), %ymm101313; AVX2-NEXT: vmovdqa 160(%rdi), %ymm91314; AVX2-NEXT: vmovdqa 320(%rdi), %ymm81315; AVX2-NEXT: vmovdqa 96(%rdi), %ymm71316; AVX2-NEXT: vmovdqa 160(%rdi), %xmm01317; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1318; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm01319; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]1320; AVX2-NEXT: vmovdqa 48(%rdi), %xmm21321; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = mem[0,1],xmm2[2,3]1322; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]1323; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1324; AVX2-NEXT: vmovdqa 384(%rdi), %xmm31325; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm51326; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3,4,5],ymm5[6,7]1327; AVX2-NEXT: vmovdqa 224(%rdi), %xmm131328; AVX2-NEXT: vmovdqa 272(%rdi), %xmm51329; AVX2-NEXT: vpblendd {{.*#+}} xmm14 = xmm13[0,1],xmm5[2,3]1330; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm6[4,5,6,7]1331; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1332; AVX2-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1333; AVX2-NEXT: vmovdqa 64(%rdi), %xmm141334; AVX2-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1335; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm7[4,5,6,7]1336; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1337; AVX2-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]1338; AVX2-NEXT: vmovdqa 288(%rdi), %xmm151339; AVX2-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]1340; AVX2-NEXT: vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3],ymm8[4,5,6,7]1341; AVX2-NEXT: vpbroadcastq 128(%rdi), %ymm131342; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm13[1],ymm9[1],ymm13[3],ymm9[3]1343; AVX2-NEXT: vpblendd {{.*#+}} xmm13 = mem[0,1],xmm14[2,3]1344; AVX2-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1345; AVX2-NEXT: vpbroadcastq 352(%rdi), %ymm131346; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm13[1],ymm10[1],ymm13[3],ymm10[3]1347; AVX2-NEXT: vmovdqa 240(%rdi), %xmm131348; AVX2-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]1349; AVX2-NEXT: vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3],ymm10[4,5,6,7]1350; AVX2-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1351; AVX2-NEXT: vmovdqa 192(%rdi), %xmm131352; AVX2-NEXT: vpalignr {{.*#+}} xmm14 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]1353; AVX2-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141354; AVX2-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]1355; AVX2-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]1356; AVX2-NEXT: vmovdqa 416(%rdi), %xmm141357; AVX2-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1358; AVX2-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm151359; AVX2-NEXT: vperm2i128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1360; AVX2-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm131361; AVX2-NEXT: vpblendd {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm13[6,7]1362; AVX2-NEXT: vmovdqa 32(%rdi), %xmm151363; AVX2-NEXT: vpblendd {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]1364; AVX2-NEXT: vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3],ymm13[4,5,6,7]1365; AVX2-NEXT: vmovdqa 352(%rdi), %ymm151366; AVX2-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141367; AVX2-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]1368; AVX2-NEXT: vmovdqa 256(%rdi), %xmm11369; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm1[0,1],mem[2,3]1370; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm14[4,5,6,7]1371; AVX2-NEXT: vmovdqa 192(%rdi), %ymm141372; AVX2-NEXT: vpalignr {{.*#+}} ymm4 = ymm4[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm4[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]1373; AVX2-NEXT: vmovdqa 96(%rdi), %xmm71374; AVX2-NEXT: vpalignr {{.*#+}} xmm7 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]1375; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1376; AVX2-NEXT: vmovdqa 416(%rdi), %ymm71377; AVX2-NEXT: vpalignr {{.*#+}} ymm15 = ymm15[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]1378; AVX2-NEXT: vmovdqa 320(%rdi), %xmm01379; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]1380; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]1381; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload1382; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1383; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]1384; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]1385; AVX2-NEXT: vpbroadcastq %xmm3, %ymm31386; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1387; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm5[0,1],xmm0[2,3]1388; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1389; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1390; AVX2-NEXT: vmovaps %ymm3, 32(%rsi)1391; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1392; AVX2-NEXT: vmovaps %ymm3, (%rsi)1393; AVX2-NEXT: vmovdqa %ymm8, 32(%rdx)1394; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1395; AVX2-NEXT: vmovaps %ymm3, (%rdx)1396; AVX2-NEXT: vmovdqa %ymm10, 32(%rcx)1397; AVX2-NEXT: vmovdqa %ymm9, (%rcx)1398; AVX2-NEXT: vmovdqa %ymm12, 32(%r8)1399; AVX2-NEXT: vmovdqa %ymm11, (%r8)1400; AVX2-NEXT: vmovdqa %ymm6, 32(%r9)1401; AVX2-NEXT: vmovdqa %ymm13, (%r9)1402; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1403; AVX2-NEXT: vmovdqa %ymm1, 32(%rax)1404; AVX2-NEXT: vmovdqa %ymm4, (%rax)1405; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1406; AVX2-NEXT: vmovdqa %ymm0, 32(%rax)1407; AVX2-NEXT: vmovdqa %ymm2, (%rax)1408; AVX2-NEXT: vzeroupper1409; AVX2-NEXT: retq1410;1411; AVX2-FP-LABEL: load_i64_stride7_vf8:1412; AVX2-FP: # %bb.0:1413; AVX2-FP-NEXT: vmovdqa 128(%rdi), %ymm41414; AVX2-FP-NEXT: vmovdqa 288(%rdi), %ymm121415; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm111416; AVX2-FP-NEXT: vmovdqa 384(%rdi), %ymm101417; AVX2-FP-NEXT: vmovdqa 160(%rdi), %ymm91418; AVX2-FP-NEXT: vmovdqa 320(%rdi), %ymm81419; AVX2-FP-NEXT: vmovdqa 96(%rdi), %ymm71420; AVX2-FP-NEXT: vmovdqa 160(%rdi), %xmm01421; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1422; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm01423; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]1424; AVX2-FP-NEXT: vmovdqa 48(%rdi), %xmm21425; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = mem[0,1],xmm2[2,3]1426; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]1427; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1428; AVX2-FP-NEXT: vmovdqa 384(%rdi), %xmm31429; AVX2-FP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm51430; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3,4,5],ymm5[6,7]1431; AVX2-FP-NEXT: vmovdqa 224(%rdi), %xmm131432; AVX2-FP-NEXT: vmovdqa 272(%rdi), %xmm51433; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm14 = xmm13[0,1],xmm5[2,3]1434; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm6[4,5,6,7]1435; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1436; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1437; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm141438; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1439; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm7[4,5,6,7]1440; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1441; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]1442; AVX2-FP-NEXT: vmovdqa 288(%rdi), %xmm151443; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]1444; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3],ymm8[4,5,6,7]1445; AVX2-FP-NEXT: vpbroadcastq 128(%rdi), %ymm131446; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm13[1],ymm9[1],ymm13[3],ymm9[3]1447; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm13 = mem[0,1],xmm14[2,3]1448; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1449; AVX2-FP-NEXT: vpbroadcastq 352(%rdi), %ymm131450; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm13[1],ymm10[1],ymm13[3],ymm10[3]1451; AVX2-FP-NEXT: vmovdqa 240(%rdi), %xmm131452; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]1453; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3],ymm10[4,5,6,7]1454; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1455; AVX2-FP-NEXT: vmovdqa 192(%rdi), %xmm131456; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm14 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]1457; AVX2-FP-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141458; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]1459; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]1460; AVX2-FP-NEXT: vmovdqa 416(%rdi), %xmm141461; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1462; AVX2-FP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm151463; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1464; AVX2-FP-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm131465; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm13[6,7]1466; AVX2-FP-NEXT: vmovdqa 32(%rdi), %xmm151467; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]1468; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3],ymm13[4,5,6,7]1469; AVX2-FP-NEXT: vmovdqa 352(%rdi), %ymm151470; AVX2-FP-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141471; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]1472; AVX2-FP-NEXT: vmovdqa 256(%rdi), %xmm11473; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm6 = xmm1[0,1],mem[2,3]1474; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm14[4,5,6,7]1475; AVX2-FP-NEXT: vmovdqa 192(%rdi), %ymm141476; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm4 = ymm4[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm4[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]1477; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm71478; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm7 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]1479; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1480; AVX2-FP-NEXT: vmovdqa 416(%rdi), %ymm71481; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm15 = ymm15[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]1482; AVX2-FP-NEXT: vmovdqa 320(%rdi), %xmm01483; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]1484; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]1485; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload1486; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1487; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]1488; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]1489; AVX2-FP-NEXT: vpbroadcastq %xmm3, %ymm31490; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1491; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm0 = xmm5[0,1],xmm0[2,3]1492; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1493; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1494; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rsi)1495; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1496; AVX2-FP-NEXT: vmovaps %ymm3, (%rsi)1497; AVX2-FP-NEXT: vmovdqa %ymm8, 32(%rdx)1498; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1499; AVX2-FP-NEXT: vmovaps %ymm3, (%rdx)1500; AVX2-FP-NEXT: vmovdqa %ymm10, 32(%rcx)1501; AVX2-FP-NEXT: vmovdqa %ymm9, (%rcx)1502; AVX2-FP-NEXT: vmovdqa %ymm12, 32(%r8)1503; AVX2-FP-NEXT: vmovdqa %ymm11, (%r8)1504; AVX2-FP-NEXT: vmovdqa %ymm6, 32(%r9)1505; AVX2-FP-NEXT: vmovdqa %ymm13, (%r9)1506; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1507; AVX2-FP-NEXT: vmovdqa %ymm1, 32(%rax)1508; AVX2-FP-NEXT: vmovdqa %ymm4, (%rax)1509; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1510; AVX2-FP-NEXT: vmovdqa %ymm0, 32(%rax)1511; AVX2-FP-NEXT: vmovdqa %ymm2, (%rax)1512; AVX2-FP-NEXT: vzeroupper1513; AVX2-FP-NEXT: retq1514;1515; AVX2-FCP-LABEL: load_i64_stride7_vf8:1516; AVX2-FCP: # %bb.0:1517; AVX2-FCP-NEXT: vmovdqa 128(%rdi), %ymm41518; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %ymm121519; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %ymm111520; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %ymm101521; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %ymm91522; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %ymm81523; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %ymm71524; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %xmm01525; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1526; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm01527; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]1528; AVX2-FCP-NEXT: vmovdqa 48(%rdi), %xmm21529; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = mem[0,1],xmm2[2,3]1530; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]1531; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1532; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %xmm31533; AVX2-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm51534; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3,4,5],ymm5[6,7]1535; AVX2-FCP-NEXT: vmovdqa 224(%rdi), %xmm131536; AVX2-FCP-NEXT: vmovdqa 272(%rdi), %xmm51537; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm14 = xmm13[0,1],xmm5[2,3]1538; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm6[4,5,6,7]1539; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1540; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1541; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %xmm141542; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1543; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm7[4,5,6,7]1544; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1545; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm8 = ymm8[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]1546; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %xmm151547; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]1548; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3],ymm8[4,5,6,7]1549; AVX2-FCP-NEXT: vpbroadcastq 128(%rdi), %ymm131550; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm13[1],ymm9[1],ymm13[3],ymm9[3]1551; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm13 = mem[0,1],xmm14[2,3]1552; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]1553; AVX2-FCP-NEXT: vpbroadcastq 352(%rdi), %ymm131554; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm10 = ymm13[1],ymm10[1],ymm13[3],ymm10[3]1555; AVX2-FCP-NEXT: vmovdqa 240(%rdi), %xmm131556; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]1557; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3],ymm10[4,5,6,7]1558; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1559; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %xmm131560; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm14 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]1561; AVX2-FCP-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141562; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]1563; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]1564; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %xmm141565; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]1566; AVX2-FCP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm151567; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm12 = ymm12[2,3],ymm15[2,3]1568; AVX2-FCP-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm131569; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm4[0,1,2,3,4,5],ymm13[6,7]1570; AVX2-FCP-NEXT: vmovdqa 32(%rdi), %xmm151571; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]1572; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3],ymm13[4,5,6,7]1573; AVX2-FCP-NEXT: vmovdqa 352(%rdi), %ymm151574; AVX2-FCP-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm141575; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4,5],ymm14[6,7]1576; AVX2-FCP-NEXT: vmovdqa 256(%rdi), %xmm11577; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm1[0,1],mem[2,3]1578; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm14[4,5,6,7]1579; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %ymm141580; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm4 = ymm4[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm4[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]1581; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %xmm71582; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm7 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]1583; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]1584; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %ymm71585; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm15 = ymm15[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]1586; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %xmm01587; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]1588; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm15[4,5,6,7]1589; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload1590; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm14 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1591; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]1592; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm14[4,5,6,7]1593; AVX2-FCP-NEXT: vpbroadcastq %xmm3, %ymm31594; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm3[1],ymm7[1],ymm3[3],ymm7[3]1595; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm0 = xmm5[0,1],xmm0[2,3]1596; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1597; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1598; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rsi)1599; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1600; AVX2-FCP-NEXT: vmovaps %ymm3, (%rsi)1601; AVX2-FCP-NEXT: vmovdqa %ymm8, 32(%rdx)1602; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1603; AVX2-FCP-NEXT: vmovaps %ymm3, (%rdx)1604; AVX2-FCP-NEXT: vmovdqa %ymm10, 32(%rcx)1605; AVX2-FCP-NEXT: vmovdqa %ymm9, (%rcx)1606; AVX2-FCP-NEXT: vmovdqa %ymm12, 32(%r8)1607; AVX2-FCP-NEXT: vmovdqa %ymm11, (%r8)1608; AVX2-FCP-NEXT: vmovdqa %ymm6, 32(%r9)1609; AVX2-FCP-NEXT: vmovdqa %ymm13, (%r9)1610; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1611; AVX2-FCP-NEXT: vmovdqa %ymm1, 32(%rax)1612; AVX2-FCP-NEXT: vmovdqa %ymm4, (%rax)1613; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1614; AVX2-FCP-NEXT: vmovdqa %ymm0, 32(%rax)1615; AVX2-FCP-NEXT: vmovdqa %ymm2, (%rax)1616; AVX2-FCP-NEXT: vzeroupper1617; AVX2-FCP-NEXT: retq1618;1619; AVX512-LABEL: load_i64_stride7_vf8:1620; AVX512: # %bb.0:1621; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm01622; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm11623; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm21624; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm41625; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm51626; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm91627; AVX512-NEXT: vmovdqa64 (%rdi), %zmm101628; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]1629; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1630; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]1631; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1632; AVX512-NEXT: vmovdqa64 %zmm9, %zmm31633; AVX512-NEXT: vpermt2q %zmm10, %zmm6, %zmm31634; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]1635; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]1636; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm71637; AVX512-NEXT: vmovdqa 16(%rdi), %xmm111638; AVX512-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1639; AVX512-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm71640; AVX512-NEXT: vmovdqa 64(%rdi), %ymm111641; AVX512-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1642; AVX512-NEXT: vextracti128 $1, %ymm11, %xmm111643; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm121644; AVX512-NEXT: vmovdqa 128(%rdi), %ymm131645; AVX512-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]1646; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm14 = [4,11]1647; AVX512-NEXT: vpermi2q %zmm9, %zmm10, %zmm141648; AVX512-NEXT: vpblendd {{.*#+}} ymm15 = ymm14[0,1,2,3],ymm12[4,5,6,7]1649; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm14 = [5,12]1650; AVX512-NEXT: vpermi2q %zmm9, %zmm10, %zmm141651; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]1652; AVX512-NEXT: vpermi2q %zmm9, %zmm10, %zmm121653; AVX512-NEXT: vpermt2q %zmm9, %zmm8, %zmm101654; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm81655; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]1656; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1657; AVX512-NEXT: vpermi2q %zmm0, %zmm8, %zmm91658; AVX512-NEXT: vinserti64x4 $0, %ymm15, %zmm9, %zmm81659; AVX512-NEXT: vmovdqa 192(%rdi), %ymm91660; AVX512-NEXT: vpalignr {{.*#+}} ymm9 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1661; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax1662; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdi1663; AVX512-NEXT: movb $24, %r10b1664; AVX512-NEXT: kmovw %r10d, %k21665; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]1666; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [10,3,10,3,10,3,10,3]1667; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1668; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm131669; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [0,5,6,9,0,5,6,9]1670; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1671; AVX512-NEXT: vpermi2q %zmm0, %zmm13, %zmm151672; AVX512-NEXT: movb $-32, %r10b1673; AVX512-NEXT: kmovw %r10d, %k11674; AVX512-NEXT: vmovdqa64 %zmm15, %zmm10 {%k1}1675; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,6,13,6,13,6,13,6]1676; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1677; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [7,0,9,0,7,0,9,0]1678; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1679; AVX512-NEXT: vpermi2q %zmm5, %zmm4, %zmm151680; AVX512-NEXT: vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]1681; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm14 = [0,0,4,11]1682; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm141683; AVX512-NEXT: vpermt2q %zmm4, %zmm13, %zmm51684; AVX512-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}1685; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]1686; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1687; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm41688; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]1689; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1690; AVX512-NEXT: vpermi2q %zmm0, %zmm4, %zmm51691; AVX512-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}1692; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]1693; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1694; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm41695; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]1696; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1697; AVX512-NEXT: vpermi2q %zmm0, %zmm4, %zmm51698; AVX512-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}1699; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm131700; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]1701; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1702; AVX512-NEXT: vpermi2q %zmm0, %zmm13, %zmm41703; AVX512-NEXT: vinserti32x4 $0, %xmm11, %zmm15, %zmm51704; AVX512-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}1705; AVX512-NEXT: vpermi2q %zmm2, %zmm1, %zmm61706; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]1707; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1708; AVX512-NEXT: vpermi2q %zmm0, %zmm6, %zmm41709; AVX512-NEXT: vinserti64x4 $0, %ymm9, %zmm4, %zmm41710; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]1711; AVX512-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1712; AVX512-NEXT: vpermi2q %zmm1, %zmm2, %zmm61713; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]1714; AVX512-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]1715; AVX512-NEXT: vpermi2q %zmm0, %zmm6, %zmm11716; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm14[4,5,6,7]1717; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm01718; AVX512-NEXT: vmovdqa64 %zmm10, (%rsi)1719; AVX512-NEXT: vmovdqa64 %zmm3, (%rdx)1720; AVX512-NEXT: vmovdqa64 %zmm7, (%rcx)1721; AVX512-NEXT: vmovdqa64 %zmm5, (%r8)1722; AVX512-NEXT: vmovdqa64 %zmm8, (%r9)1723; AVX512-NEXT: vmovdqa64 %zmm4, (%rdi)1724; AVX512-NEXT: vmovdqa64 %zmm0, (%rax)1725; AVX512-NEXT: vzeroupper1726; AVX512-NEXT: retq1727;1728; AVX512-FCP-LABEL: load_i64_stride7_vf8:1729; AVX512-FCP: # %bb.0:1730; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm01731; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm11732; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm21733; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm41734; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm51735; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm91736; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm101737; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]1738; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1739; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]1740; AVX512-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1741; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm31742; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm31743; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]1744; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]1745; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71746; AVX512-FCP-NEXT: vmovdqa 16(%rdi), %xmm111747; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1748; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm71749; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm111750; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1751; AVX512-FCP-NEXT: vextracti128 $1, %ymm11, %xmm111752; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm121753; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm131754; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]1755; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm14 = [4,11]1756; AVX512-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm141757; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm15 = ymm14[0,1,2,3],ymm12[4,5,6,7]1758; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm14 = [5,12]1759; AVX512-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm141760; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]1761; AVX512-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm121762; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm8, %zmm101763; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm81764; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]1765; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1766; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm91767; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm9, %zmm81768; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm91769; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm9 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1770; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1771; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rdi1772; AVX512-FCP-NEXT: movb $24, %r10b1773; AVX512-FCP-NEXT: kmovw %r10d, %k21774; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]1775; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [10,3,10,3,10,3,10,3]1776; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1777; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm131778; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [0,5,6,9,0,5,6,9]1779; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1780; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm13, %zmm151781; AVX512-FCP-NEXT: movb $-32, %r10b1782; AVX512-FCP-NEXT: kmovw %r10d, %k11783; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm10 {%k1}1784; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,6,13,6,13,6,13,6]1785; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1786; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [7,0,9,0,7,0,9,0]1787; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1788; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm151789; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]1790; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm14 = [0,0,4,11]1791; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm141792; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm51793; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}1794; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]1795; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1796; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm41797; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]1798; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1799; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm51800; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}1801; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]1802; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1803; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm41804; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]1805; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1806; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm51807; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}1808; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm131809; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]1810; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1811; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm13, %zmm41812; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm15, %zmm51813; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}1814; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm61815; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]1816; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1817; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm41818; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm4, %zmm41819; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]1820; AVX512-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1821; AVX512-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm61822; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]1823; AVX512-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]1824; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm11825; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm14[4,5,6,7]1826; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm01827; AVX512-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)1828; AVX512-FCP-NEXT: vmovdqa64 %zmm3, (%rdx)1829; AVX512-FCP-NEXT: vmovdqa64 %zmm7, (%rcx)1830; AVX512-FCP-NEXT: vmovdqa64 %zmm5, (%r8)1831; AVX512-FCP-NEXT: vmovdqa64 %zmm8, (%r9)1832; AVX512-FCP-NEXT: vmovdqa64 %zmm4, (%rdi)1833; AVX512-FCP-NEXT: vmovdqa64 %zmm0, (%rax)1834; AVX512-FCP-NEXT: vzeroupper1835; AVX512-FCP-NEXT: retq1836;1837; AVX512DQ-LABEL: load_i64_stride7_vf8:1838; AVX512DQ: # %bb.0:1839; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm01840; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm11841; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm21842; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm41843; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm51844; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm91845; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm101846; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]1847; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1848; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]1849; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1850; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm31851; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm6, %zmm31852; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]1853; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]1854; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm71855; AVX512DQ-NEXT: vmovdqa 16(%rdi), %xmm111856; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1857; AVX512DQ-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm71858; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm111859; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1860; AVX512DQ-NEXT: vextracti128 $1, %ymm11, %xmm111861; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm121862; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm131863; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]1864; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm14 = [4,11]1865; AVX512DQ-NEXT: vpermi2q %zmm9, %zmm10, %zmm141866; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm15 = ymm14[0,1,2,3],ymm12[4,5,6,7]1867; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm14 = [5,12]1868; AVX512DQ-NEXT: vpermi2q %zmm9, %zmm10, %zmm141869; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]1870; AVX512DQ-NEXT: vpermi2q %zmm9, %zmm10, %zmm121871; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm8, %zmm101872; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm81873; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]1874; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1875; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm8, %zmm91876; AVX512DQ-NEXT: vinserti64x4 $0, %ymm15, %zmm9, %zmm81877; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm91878; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm9 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1879; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax1880; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rdi1881; AVX512DQ-NEXT: movb $24, %r10b1882; AVX512DQ-NEXT: kmovw %r10d, %k21883; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]1884; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [10,3,10,3,10,3,10,3]1885; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1886; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm131887; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [0,5,6,9,0,5,6,9]1888; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1889; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm13, %zmm151890; AVX512DQ-NEXT: movb $-32, %r10b1891; AVX512DQ-NEXT: kmovw %r10d, %k11892; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm10 {%k1}1893; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,6,13,6,13,6,13,6]1894; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1895; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [7,0,9,0,7,0,9,0]1896; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1897; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm4, %zmm151898; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]1899; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm14 = [0,0,4,11]1900; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm141901; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm13, %zmm51902; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}1903; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]1904; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1905; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm41906; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]1907; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1908; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm4, %zmm51909; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}1910; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]1911; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1912; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm41913; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]1914; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]1915; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm4, %zmm51916; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}1917; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm131918; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]1919; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1920; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm13, %zmm41921; AVX512DQ-NEXT: vinserti32x4 $0, %xmm11, %zmm15, %zmm51922; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}1923; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm1, %zmm61924; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]1925; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]1926; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm6, %zmm41927; AVX512DQ-NEXT: vinserti64x4 $0, %ymm9, %zmm4, %zmm41928; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]1929; AVX512DQ-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1930; AVX512DQ-NEXT: vpermi2q %zmm1, %zmm2, %zmm61931; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]1932; AVX512DQ-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]1933; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm6, %zmm11934; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm14[4,5,6,7]1935; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm01936; AVX512DQ-NEXT: vmovdqa64 %zmm10, (%rsi)1937; AVX512DQ-NEXT: vmovdqa64 %zmm3, (%rdx)1938; AVX512DQ-NEXT: vmovdqa64 %zmm7, (%rcx)1939; AVX512DQ-NEXT: vmovdqa64 %zmm5, (%r8)1940; AVX512DQ-NEXT: vmovdqa64 %zmm8, (%r9)1941; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%rdi)1942; AVX512DQ-NEXT: vmovdqa64 %zmm0, (%rax)1943; AVX512DQ-NEXT: vzeroupper1944; AVX512DQ-NEXT: retq1945;1946; AVX512DQ-FCP-LABEL: load_i64_stride7_vf8:1947; AVX512DQ-FCP: # %bb.0:1948; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm01949; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm11950; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm21951; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm41952; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm51953; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm91954; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm101955; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]1956; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]1957; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]1958; AVX512DQ-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]1959; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm31960; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm31961; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]1962; AVX512DQ-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]1963; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm71964; AVX512DQ-FCP-NEXT: vmovdqa 16(%rdi), %xmm111965; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]1966; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm71967; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm111968; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm11 = mem[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]1969; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm11, %xmm111970; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm121971; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm131972; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]1973; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm14 = [4,11]1974; AVX512DQ-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm141975; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm15 = ymm14[0,1,2,3],ymm12[4,5,6,7]1976; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm14 = [5,12]1977; AVX512DQ-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm141978; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]1979; AVX512DQ-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm121980; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm8, %zmm101981; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm81982; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]1983; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]1984; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm91985; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm15, %zmm9, %zmm81986; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm91987; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm9 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]1988; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1989; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rdi1990; AVX512DQ-FCP-NEXT: movb $24, %r10b1991; AVX512DQ-FCP-NEXT: kmovw %r10d, %k21992; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]1993; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [10,3,10,3,10,3,10,3]1994; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1995; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm131996; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [0,5,6,9,0,5,6,9]1997; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]1998; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm13, %zmm151999; AVX512DQ-FCP-NEXT: movb $-32, %r10b2000; AVX512DQ-FCP-NEXT: kmovw %r10d, %k12001; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm10 {%k1}2002; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [13,6,13,6,13,6,13,6]2003; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2004; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm15 = [7,0,9,0,7,0,9,0]2005; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3]2006; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm152007; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]2008; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm14 = [0,0,4,11]2009; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm142010; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm13, %zmm52011; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}2012; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]2013; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2014; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42015; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]2016; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2017; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52018; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}2019; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]2020; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2021; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42022; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]2023; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2024; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52025; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}2026; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm132027; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]2028; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2029; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm13, %zmm42030; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm15, %zmm52031; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}2032; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm62033; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]2034; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2035; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm42036; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm4, %zmm42037; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]2038; AVX512DQ-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2039; AVX512DQ-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm62040; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]2041; AVX512DQ-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]2042; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm12043; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm14[4,5,6,7]2044; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm02045; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)2046; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, (%rdx)2047; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, (%rcx)2048; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, (%r8)2049; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2050; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, (%rdi)2051; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2052; AVX512DQ-FCP-NEXT: vzeroupper2053; AVX512DQ-FCP-NEXT: retq2054;2055; AVX512BW-LABEL: load_i64_stride7_vf8:2056; AVX512BW: # %bb.0:2057; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm02058; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm12059; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm22060; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm42061; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm52062; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm92063; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm102064; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]2065; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2066; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]2067; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2068; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm32069; AVX512BW-NEXT: vpermt2q %zmm10, %zmm6, %zmm32070; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]2071; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]2072; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm72073; AVX512BW-NEXT: vmovdqa 16(%rdi), %xmm112074; AVX512BW-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]2075; AVX512BW-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm72076; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm122077; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm112078; AVX512BW-NEXT: vpblendd {{.*#+}} ymm12 = ymm11[0,1,2,3,4,5],ymm12[6,7]2079; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm13 = [4,11]2080; AVX512BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm132081; AVX512BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm13[0,1,2,3],ymm12[4,5,6,7]2082; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm13 = [5,12]2083; AVX512BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm132084; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]2085; AVX512BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm122086; AVX512BW-NEXT: vpermt2q %zmm9, %zmm8, %zmm102087; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm82088; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]2089; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2090; AVX512BW-NEXT: vpermi2q %zmm0, %zmm8, %zmm92091; AVX512BW-NEXT: vinserti64x4 $0, %ymm14, %zmm9, %zmm82092; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2093; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r102094; AVX512BW-NEXT: movb $24, %r11b2095; AVX512BW-NEXT: kmovd %r11d, %k22096; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]2097; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [10,3,10,3,10,3,10,3]2098; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2099; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm92100; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,5,6,9,0,5,6,9]2101; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2102; AVX512BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm142103; AVX512BW-NEXT: movb $-32, %r11b2104; AVX512BW-NEXT: kmovd %r11d, %k12105; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm10 {%k1}2106; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [13,6,13,6,13,6,13,6]2107; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2108; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [7,0,9,0,7,0,9,0]2109; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2110; AVX512BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm142111; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm152112; AVX512BW-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]2113; AVX512BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3],ymm11[4,5,6,7]2114; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm13 = [0,0,4,11]2115; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm132116; AVX512BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm52117; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}2118; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]2119; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2120; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm42121; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]2122; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2123; AVX512BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm52124; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}2125; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]2126; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2127; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm42128; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]2129; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2130; AVX512BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm52131; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}2132; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm92133; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]2134; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2135; AVX512BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm42136; AVX512BW-NEXT: vmovdqa 64(%rdi), %ymm52137; AVX512BW-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]2138; AVX512BW-NEXT: vextracti128 $1, %ymm5, %xmm52139; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm14, %zmm52140; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}2141; AVX512BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm62142; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]2143; AVX512BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2144; AVX512BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm42145; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm42146; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]2147; AVX512BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2148; AVX512BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm62149; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]2150; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]2151; AVX512BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm12152; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm13[4,5,6,7]2153; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm02154; AVX512BW-NEXT: vmovdqa64 %zmm10, (%rsi)2155; AVX512BW-NEXT: vmovdqa64 %zmm3, (%rdx)2156; AVX512BW-NEXT: vmovdqa64 %zmm7, (%rcx)2157; AVX512BW-NEXT: vmovdqa64 %zmm5, (%r8)2158; AVX512BW-NEXT: vmovdqa64 %zmm8, (%r9)2159; AVX512BW-NEXT: vmovdqa64 %zmm4, (%r10)2160; AVX512BW-NEXT: vmovdqa64 %zmm0, (%rax)2161; AVX512BW-NEXT: vzeroupper2162; AVX512BW-NEXT: retq2163;2164; AVX512BW-FCP-LABEL: load_i64_stride7_vf8:2165; AVX512BW-FCP: # %bb.0:2166; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm02167; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm12168; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm22169; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm42170; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm52171; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm92172; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm102173; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]2174; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2175; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]2176; AVX512BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2177; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm32178; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm32179; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]2180; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]2181; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm72182; AVX512BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm112183; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]2184; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm72185; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm122186; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm112187; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm11[0,1,2,3,4,5],ymm12[6,7]2188; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm13 = [4,11]2189; AVX512BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm132190; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm13[0,1,2,3],ymm12[4,5,6,7]2191; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm13 = [5,12]2192; AVX512BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm132193; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]2194; AVX512BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm122195; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm8, %zmm102196; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm82197; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]2198; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2199; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm92200; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm9, %zmm82201; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2202; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102203; AVX512BW-FCP-NEXT: movb $24, %r11b2204; AVX512BW-FCP-NEXT: kmovd %r11d, %k22205; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]2206; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [10,3,10,3,10,3,10,3]2207; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2208; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm92209; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,5,6,9,0,5,6,9]2210; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2211; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm142212; AVX512BW-FCP-NEXT: movb $-32, %r11b2213; AVX512BW-FCP-NEXT: kmovd %r11d, %k12214; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm10 {%k1}2215; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [13,6,13,6,13,6,13,6]2216; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2217; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [7,0,9,0,7,0,9,0]2218; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2219; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm142220; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm152221; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]2222; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3],ymm11[4,5,6,7]2223; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm13 = [0,0,4,11]2224; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm132225; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm52226; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}2227; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]2228; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2229; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42230; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]2231; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2232; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52233; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}2234; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]2235; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2236; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42237; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]2238; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2239; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52240; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}2241; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm92242; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]2243; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2244; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm42245; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm52246; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]2247; AVX512BW-FCP-NEXT: vextracti128 $1, %ymm5, %xmm52248; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm14, %zmm52249; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}2250; AVX512BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm62251; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]2252; AVX512BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2253; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm42254; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm42255; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]2256; AVX512BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2257; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm62258; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]2259; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]2260; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm12261; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm13[4,5,6,7]2262; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm02263; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)2264; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, (%rdx)2265; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, (%rcx)2266; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, (%r8)2267; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2268; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, (%r10)2269; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2270; AVX512BW-FCP-NEXT: vzeroupper2271; AVX512BW-FCP-NEXT: retq2272;2273; AVX512DQ-BW-LABEL: load_i64_stride7_vf8:2274; AVX512DQ-BW: # %bb.0:2275; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm02276; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm12277; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm22278; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm42279; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm52280; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm92281; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm102282; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]2283; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2284; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]2285; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2286; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm32287; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm6, %zmm32288; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]2289; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]2290; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm72291; AVX512DQ-BW-NEXT: vmovdqa 16(%rdi), %xmm112292; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]2293; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm72294; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm122295; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm112296; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm12 = ymm11[0,1,2,3,4,5],ymm12[6,7]2297; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm13 = [4,11]2298; AVX512DQ-BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm132299; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm13[0,1,2,3],ymm12[4,5,6,7]2300; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm13 = [5,12]2301; AVX512DQ-BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm132302; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]2303; AVX512DQ-BW-NEXT: vpermi2q %zmm9, %zmm10, %zmm122304; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm8, %zmm102305; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm82306; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]2307; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2308; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm8, %zmm92309; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm14, %zmm9, %zmm82310; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2311; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r102312; AVX512DQ-BW-NEXT: movb $24, %r11b2313; AVX512DQ-BW-NEXT: kmovd %r11d, %k22314; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]2315; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [10,3,10,3,10,3,10,3]2316; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2317; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm92318; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,5,6,9,0,5,6,9]2319; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2320; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm142321; AVX512DQ-BW-NEXT: movb $-32, %r11b2322; AVX512DQ-BW-NEXT: kmovd %r11d, %k12323; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm10 {%k1}2324; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [13,6,13,6,13,6,13,6]2325; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2326; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [7,0,9,0,7,0,9,0]2327; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2328; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm4, %zmm142329; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm152330; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]2331; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3],ymm11[4,5,6,7]2332; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm13 = [0,0,4,11]2333; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm132334; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm52335; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}2336; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]2337; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2338; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm42339; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]2340; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2341; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm52342; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}2343; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]2344; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2345; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm42346; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]2347; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2348; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm4, %zmm52349; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}2350; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm92351; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]2352; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2353; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm9, %zmm42354; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %ymm52355; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]2356; AVX512DQ-BW-NEXT: vextracti128 $1, %ymm5, %xmm52357; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm14, %zmm52358; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}2359; AVX512DQ-BW-NEXT: vpermi2q %zmm2, %zmm1, %zmm62360; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]2361; AVX512DQ-BW-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2362; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm42363; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm42364; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]2365; AVX512DQ-BW-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2366; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm2, %zmm62367; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]2368; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]2369; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm12370; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm13[4,5,6,7]2371; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm02372; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, (%rsi)2373; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, (%rdx)2374; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, (%rcx)2375; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, (%r8)2376; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, (%r9)2377; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, (%r10)2378; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, (%rax)2379; AVX512DQ-BW-NEXT: vzeroupper2380; AVX512DQ-BW-NEXT: retq2381;2382; AVX512DQ-BW-FCP-LABEL: load_i64_stride7_vf8:2383; AVX512DQ-BW-FCP: # %bb.0:2384; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm02385; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm12386; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm22387; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm42388; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm52389; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm92390; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm102391; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm8 = [0,7,14,0,0,7,14,0]2392; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3]2393; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm6 = [9,0,7,0,9,0,7,0]2394; AVX512DQ-BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3]2395; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm32396; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm6, %zmm32397; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm7 = [14,0,0,7,14,0,0,7]2398; AVX512DQ-BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3]2399; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm72400; AVX512DQ-BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm112401; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]2402; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm7, %zmm72403; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm122404; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm112405; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm11[0,1,2,3,4,5],ymm12[6,7]2406; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm13 = [4,11]2407; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm132408; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm13[0,1,2,3],ymm12[4,5,6,7]2409; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm13 = [5,12]2410; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm132411; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]2412; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm9, %zmm10, %zmm122413; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm8, %zmm102414; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm82415; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [4,5,6,13,4,5,6,13]2416; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]2417; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm8, %zmm92418; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm9, %zmm82419; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2420; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102421; AVX512DQ-BW-FCP-NEXT: movb $24, %r11b2422; AVX512DQ-BW-FCP-NEXT: kmovd %r11d, %k22423; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm10 {%k2} = zmm5[4,5,4,5],zmm4[4,5,4,5]2424; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [10,3,10,3,10,3,10,3]2425; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2426; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm92427; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [0,5,6,9,0,5,6,9]2428; AVX512DQ-BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2429; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm142430; AVX512DQ-BW-FCP-NEXT: movb $-32, %r11b2431; AVX512DQ-BW-FCP-NEXT: kmovd %r11d, %k12432; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm10 {%k1}2433; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm9 = [13,6,13,6,13,6,13,6]2434; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2435; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm14 = [7,0,9,0,7,0,9,0]2436; AVX512DQ-BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3]2437; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm4, %zmm142438; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm152439; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]2440; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3],ymm11[4,5,6,7]2441; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm13 = [0,0,4,11]2442; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm132443; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm52444; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k2}2445; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [11,4,11,4,11,4,11,4]2446; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2447; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42448; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,10,0,5,6,10]2449; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2450; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52451; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm3 {%k1}2452; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm4 = [12,5,12,5,12,5,12,5]2453; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2454; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm42455; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [0,5,6,11,0,5,6,11]2456; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]2457; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm4, %zmm52458; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}2459; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm92460; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [0,5,6,12,0,5,6,12]2461; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2462; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm9, %zmm42463; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm52464; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]2465; AVX512DQ-BW-FCP-NEXT: vextracti128 $1, %ymm5, %xmm52466; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm14, %zmm52467; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm5 {%k1}2468; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm2, %zmm1, %zmm62469; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [4,5,6,14,4,5,6,14]2470; AVX512DQ-BW-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]2471; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm42472; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm42473; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm6 = [2,9,2,9,2,9,2,9]2474; AVX512DQ-BW-FCP-NEXT: # zmm6 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2475; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm2, %zmm62476; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]2477; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]2478; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm12479; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm13[4,5,6,7]2480; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm02481; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)2482; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, (%rdx)2483; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, (%rcx)2484; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, (%r8)2485; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, (%r9)2486; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, (%r10)2487; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2488; AVX512DQ-BW-FCP-NEXT: vzeroupper2489; AVX512DQ-BW-FCP-NEXT: retq2490 %wide.vec = load <56 x i64>, ptr %in.vec, align 642491 %strided.vec0 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49>2492 %strided.vec1 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50>2493 %strided.vec2 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51>2494 %strided.vec3 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52>2495 %strided.vec4 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53>2496 %strided.vec5 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54>2497 %strided.vec6 = shufflevector <56 x i64> %wide.vec, <56 x i64> poison, <8 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55>2498 store <8 x i64> %strided.vec0, ptr %out.vec0, align 642499 store <8 x i64> %strided.vec1, ptr %out.vec1, align 642500 store <8 x i64> %strided.vec2, ptr %out.vec2, align 642501 store <8 x i64> %strided.vec3, ptr %out.vec3, align 642502 store <8 x i64> %strided.vec4, ptr %out.vec4, align 642503 store <8 x i64> %strided.vec5, ptr %out.vec5, align 642504 store <8 x i64> %strided.vec6, ptr %out.vec6, align 642505 ret void2506}2507 2508define void @load_i64_stride7_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {2509; SSE-LABEL: load_i64_stride7_vf16:2510; SSE: # %bb.0:2511; SSE-NEXT: subq $536, %rsp # imm = 0x2182512; SSE-NEXT: movapd 208(%rdi), %xmm32513; SSE-NEXT: movapd 96(%rdi), %xmm22514; SSE-NEXT: movapd 144(%rdi), %xmm42515; SSE-NEXT: movapd 192(%rdi), %xmm62516; SSE-NEXT: movapd 80(%rdi), %xmm52517; SSE-NEXT: movapd 128(%rdi), %xmm82518; SSE-NEXT: movapd 64(%rdi), %xmm102519; SSE-NEXT: movapd 176(%rdi), %xmm112520; SSE-NEXT: movapd (%rdi), %xmm122521; SSE-NEXT: movapd 16(%rdi), %xmm92522; SSE-NEXT: movapd 32(%rdi), %xmm72523; SSE-NEXT: movapd 48(%rdi), %xmm02524; SSE-NEXT: movapd 224(%rdi), %xmm132525; SSE-NEXT: movapd 112(%rdi), %xmm142526; SSE-NEXT: movapd 160(%rdi), %xmm12527; SSE-NEXT: movapd %xmm0, %xmm152528; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm12[0],xmm15[1]2529; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2530; SSE-NEXT: shufpd {{.*#+}} xmm12 = xmm12[1],xmm10[0]2531; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2532; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm9[0],xmm10[1]2533; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2534; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm5[0]2535; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2536; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm7[0],xmm5[1]2537; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2538; SSE-NEXT: shufpd {{.*#+}} xmm7 = xmm7[1],xmm2[0]2539; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2540; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]2541; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2542; SSE-NEXT: movapd %xmm1, %xmm02543; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm14[0],xmm0[1]2544; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2545; SSE-NEXT: shufpd {{.*#+}} xmm14 = xmm14[1],xmm11[0]2546; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2547; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm8[0],xmm11[1]2548; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2549; SSE-NEXT: shufpd {{.*#+}} xmm8 = xmm8[1],xmm6[0]2550; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2551; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm4[0],xmm6[1]2552; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2553; SSE-NEXT: shufpd {{.*#+}} xmm4 = xmm4[1],xmm3[0]2554; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2555; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm1[0],xmm3[1]2556; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2557; SSE-NEXT: movapd 272(%rdi), %xmm02558; SSE-NEXT: movapd %xmm0, %xmm12559; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm13[0],xmm1[1]2560; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2561; SSE-NEXT: movapd 288(%rdi), %xmm12562; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm1[0]2563; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2564; SSE-NEXT: movapd 240(%rdi), %xmm22565; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2566; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2567; SSE-NEXT: movapd 304(%rdi), %xmm12568; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2569; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2570; SSE-NEXT: movapd 256(%rdi), %xmm22571; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2572; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2573; SSE-NEXT: movapd 320(%rdi), %xmm12574; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2575; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2576; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2577; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2578; SSE-NEXT: movapd 336(%rdi), %xmm22579; SSE-NEXT: movapd 384(%rdi), %xmm02580; SSE-NEXT: movapd %xmm0, %xmm12581; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2582; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2583; SSE-NEXT: movapd 400(%rdi), %xmm12584; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2585; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2586; SSE-NEXT: movapd 352(%rdi), %xmm22587; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2588; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2589; SSE-NEXT: movapd 416(%rdi), %xmm12590; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2591; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2592; SSE-NEXT: movapd 368(%rdi), %xmm22593; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2594; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2595; SSE-NEXT: movapd 432(%rdi), %xmm12596; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2597; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2598; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2599; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2600; SSE-NEXT: movapd 448(%rdi), %xmm22601; SSE-NEXT: movapd 496(%rdi), %xmm02602; SSE-NEXT: movapd %xmm0, %xmm12603; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2604; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2605; SSE-NEXT: movapd 512(%rdi), %xmm12606; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2607; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2608; SSE-NEXT: movapd 464(%rdi), %xmm22609; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2610; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2611; SSE-NEXT: movapd 528(%rdi), %xmm12612; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2613; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2614; SSE-NEXT: movapd 480(%rdi), %xmm22615; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2616; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2617; SSE-NEXT: movapd 544(%rdi), %xmm12618; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2619; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2620; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2621; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2622; SSE-NEXT: movapd 560(%rdi), %xmm132623; SSE-NEXT: movapd 608(%rdi), %xmm02624; SSE-NEXT: movapd %xmm0, %xmm12625; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm13[0],xmm1[1]2626; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2627; SSE-NEXT: movapd 624(%rdi), %xmm142628; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm14[0]2629; SSE-NEXT: movapd 576(%rdi), %xmm22630; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm2[0],xmm14[1]2631; SSE-NEXT: movapd 640(%rdi), %xmm12632; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2633; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2634; SSE-NEXT: movapd 592(%rdi), %xmm22635; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]2636; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2637; SSE-NEXT: movapd 656(%rdi), %xmm12638; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]2639; SSE-NEXT: movapd %xmm2, (%rsp) # 16-byte Spill2640; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2641; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2642; SSE-NEXT: movapd 672(%rdi), %xmm62643; SSE-NEXT: movapd 720(%rdi), %xmm02644; SSE-NEXT: movapd %xmm0, %xmm72645; SSE-NEXT: movsd {{.*#+}} xmm7 = xmm6[0],xmm7[1]2646; SSE-NEXT: movapd 736(%rdi), %xmm82647; SSE-NEXT: shufpd {{.*#+}} xmm6 = xmm6[1],xmm8[0]2648; SSE-NEXT: movapd 688(%rdi), %xmm102649; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm10[0],xmm8[1]2650; SSE-NEXT: movapd 752(%rdi), %xmm122651; SSE-NEXT: shufpd {{.*#+}} xmm10 = xmm10[1],xmm12[0]2652; SSE-NEXT: movapd 704(%rdi), %xmm152653; SSE-NEXT: movsd {{.*#+}} xmm12 = xmm15[0],xmm12[1]2654; SSE-NEXT: movapd 768(%rdi), %xmm12655; SSE-NEXT: shufpd {{.*#+}} xmm15 = xmm15[1],xmm1[0]2656; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]2657; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2658; SSE-NEXT: movapd 784(%rdi), %xmm02659; SSE-NEXT: movapd 832(%rdi), %xmm42660; SSE-NEXT: movapd %xmm4, %xmm22661; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]2662; SSE-NEXT: movapd 848(%rdi), %xmm12663; SSE-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1],xmm1[0]2664; SSE-NEXT: movapd 800(%rdi), %xmm32665; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm3[0],xmm1[1]2666; SSE-NEXT: movapd 864(%rdi), %xmm52667; SSE-NEXT: shufpd {{.*#+}} xmm3 = xmm3[1],xmm5[0]2668; SSE-NEXT: movapd 816(%rdi), %xmm92669; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm9[0],xmm5[1]2670; SSE-NEXT: movapd 880(%rdi), %xmm112671; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm11[0]2672; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm4[0],xmm11[1]2673; SSE-NEXT: movapd %xmm7, 96(%rsi)2674; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2675; SSE-NEXT: movaps %xmm4, 32(%rsi)2676; SSE-NEXT: movapd %xmm2, 112(%rsi)2677; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2678; SSE-NEXT: movaps %xmm2, 48(%rsi)2679; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2680; SSE-NEXT: movaps %xmm2, 64(%rsi)2681; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2682; SSE-NEXT: movaps %xmm2, (%rsi)2683; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2684; SSE-NEXT: movaps %xmm2, 80(%rsi)2685; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2686; SSE-NEXT: movaps %xmm2, 16(%rsi)2687; SSE-NEXT: movapd %xmm6, 96(%rdx)2688; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2689; SSE-NEXT: movaps %xmm2, 32(%rdx)2690; SSE-NEXT: movapd %xmm0, 112(%rdx)2691; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2692; SSE-NEXT: movaps %xmm0, 48(%rdx)2693; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2694; SSE-NEXT: movaps %xmm0, 64(%rdx)2695; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2696; SSE-NEXT: movaps %xmm0, (%rdx)2697; SSE-NEXT: movapd %xmm13, 80(%rdx)2698; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2699; SSE-NEXT: movaps %xmm0, 16(%rdx)2700; SSE-NEXT: movapd %xmm8, 96(%rcx)2701; SSE-NEXT: movapd %xmm1, 112(%rcx)2702; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2703; SSE-NEXT: movaps %xmm0, 64(%rcx)2704; SSE-NEXT: movapd %xmm14, 80(%rcx)2705; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2706; SSE-NEXT: movaps %xmm0, 32(%rcx)2707; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2708; SSE-NEXT: movaps %xmm0, 48(%rcx)2709; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2710; SSE-NEXT: movaps %xmm0, (%rcx)2711; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2712; SSE-NEXT: movaps %xmm0, 16(%rcx)2713; SSE-NEXT: movapd %xmm3, 112(%r8)2714; SSE-NEXT: movapd %xmm10, 96(%r8)2715; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2716; SSE-NEXT: movaps %xmm0, 80(%r8)2717; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2718; SSE-NEXT: movaps %xmm0, 64(%r8)2719; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2720; SSE-NEXT: movaps %xmm0, 48(%r8)2721; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2722; SSE-NEXT: movaps %xmm0, 32(%r8)2723; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2724; SSE-NEXT: movaps %xmm0, 16(%r8)2725; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2726; SSE-NEXT: movaps %xmm0, (%r8)2727; SSE-NEXT: movapd %xmm5, 112(%r9)2728; SSE-NEXT: movapd %xmm12, 96(%r9)2729; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2730; SSE-NEXT: movaps %xmm0, 80(%r9)2731; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2732; SSE-NEXT: movaps %xmm0, 64(%r9)2733; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2734; SSE-NEXT: movaps %xmm0, 48(%r9)2735; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2736; SSE-NEXT: movaps %xmm0, 32(%r9)2737; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2738; SSE-NEXT: movaps %xmm0, 16(%r9)2739; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2740; SSE-NEXT: movaps %xmm0, (%r9)2741; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2742; SSE-NEXT: movapd %xmm9, 112(%rax)2743; SSE-NEXT: movapd %xmm15, 96(%rax)2744; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload2745; SSE-NEXT: movaps %xmm0, 80(%rax)2746; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2747; SSE-NEXT: movaps %xmm0, 64(%rax)2748; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2749; SSE-NEXT: movaps %xmm0, 48(%rax)2750; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2751; SSE-NEXT: movaps %xmm0, 32(%rax)2752; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2753; SSE-NEXT: movaps %xmm0, 16(%rax)2754; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2755; SSE-NEXT: movaps %xmm0, (%rax)2756; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax2757; SSE-NEXT: movapd %xmm11, 112(%rax)2758; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2759; SSE-NEXT: movaps %xmm0, 96(%rax)2760; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2761; SSE-NEXT: movaps %xmm0, 80(%rax)2762; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2763; SSE-NEXT: movaps %xmm0, 64(%rax)2764; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2765; SSE-NEXT: movaps %xmm0, 48(%rax)2766; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2767; SSE-NEXT: movaps %xmm0, 32(%rax)2768; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2769; SSE-NEXT: movaps %xmm0, 16(%rax)2770; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2771; SSE-NEXT: movaps %xmm0, (%rax)2772; SSE-NEXT: addq $536, %rsp # imm = 0x2182773; SSE-NEXT: retq2774;2775; AVX-LABEL: load_i64_stride7_vf16:2776; AVX: # %bb.0:2777; AVX-NEXT: subq $552, %rsp # imm = 0x2282778; AVX-NEXT: vmovapd 544(%rdi), %ymm02779; AVX-NEXT: vmovapd 96(%rdi), %ymm12780; AVX-NEXT: vmovaps 768(%rdi), %ymm22781; AVX-NEXT: vmovaps 320(%rdi), %ymm32782; AVX-NEXT: vinsertf128 $1, 384(%rdi), %ymm0, %ymm42783; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2784; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5],ymm4[6,7]2785; AVX-NEXT: vmovaps 224(%rdi), %xmm52786; AVX-NEXT: vmovaps 272(%rdi), %xmm62787; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2788; AVX-NEXT: vblendps {{.*#+}} xmm6 = xmm5[0,1],xmm6[2,3]2789; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]2790; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2791; AVX-NEXT: vinsertf128 $1, 832(%rdi), %ymm0, %ymm42792; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2793; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm2[0,1,2,3,4,5],ymm4[6,7]2794; AVX-NEXT: vmovaps 672(%rdi), %xmm62795; AVX-NEXT: vmovaps 720(%rdi), %xmm72796; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2797; AVX-NEXT: vblendps {{.*#+}} xmm7 = xmm6[0,1],xmm7[2,3]2798; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]2799; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2800; AVX-NEXT: vinsertf128 $1, 160(%rdi), %ymm0, %ymm42801; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2802; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm1[0,1,2],ymm4[3]2803; AVX-NEXT: vmovapd 48(%rdi), %xmm72804; AVX-NEXT: vmovapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2805; AVX-NEXT: vblendpd {{.*#+}} xmm7 = mem[0],xmm7[1]2806; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm7[0,1],ymm4[2,3]2807; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2808; AVX-NEXT: vinsertf128 $1, 608(%rdi), %ymm0, %ymm42809; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2810; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm0[0,1,2],ymm4[3]2811; AVX-NEXT: vmovapd 448(%rdi), %xmm72812; AVX-NEXT: vmovapd 496(%rdi), %xmm82813; AVX-NEXT: vmovapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2814; AVX-NEXT: vblendpd {{.*#+}} xmm8 = xmm7[0],xmm8[1]2815; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm8[0,1],ymm4[2,3]2816; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2817; AVX-NEXT: vmovdqa 288(%rdi), %xmm42818; AVX-NEXT: vpalignr {{.*#+}} xmm4 = xmm5[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]2819; AVX-NEXT: vmovapd 384(%rdi), %ymm52820; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm5[1],ymm3[3],ymm5[2]2821; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3]2822; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2823; AVX-NEXT: vmovdqa 736(%rdi), %xmm32824; AVX-NEXT: vpalignr {{.*#+}} xmm3 = xmm6[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]2825; AVX-NEXT: vmovapd 832(%rdi), %ymm42826; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm4[1],ymm2[3],ymm4[2]2827; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3]2828; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2829; AVX-NEXT: vmovapd 160(%rdi), %ymm22830; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm2[1],ymm1[3],ymm2[2]2831; AVX-NEXT: vmovdqa 64(%rdi), %xmm62832; AVX-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]2833; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm3[0,1],ymm1[2,3]2834; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2835; AVX-NEXT: vmovapd 608(%rdi), %ymm82836; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm8[1],ymm0[3],ymm8[2]2837; AVX-NEXT: vmovdqa 512(%rdi), %xmm92838; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm7[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]2839; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]2840; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2841; AVX-NEXT: vmovdqa 352(%rdi), %xmm12842; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm02843; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm5[3]2844; AVX-NEXT: vmovapd 240(%rdi), %xmm32845; AVX-NEXT: vblendpd {{.*#+}} xmm5 = xmm3[0],mem[1]2846; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm5[0,1],ymm0[2,3]2847; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2848; AVX-NEXT: vmovdqa 800(%rdi), %xmm72849; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm02850; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm4[3]2851; AVX-NEXT: vmovapd 688(%rdi), %xmm52852; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm5[0],mem[1]2853; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm4[0,1],ymm0[2,3]2854; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2855; AVX-NEXT: vmovdqa 128(%rdi), %xmm42856; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm02857; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm2[3]2858; AVX-NEXT: vmovdqa 16(%rdi), %xmm102859; AVX-NEXT: vpblendw {{.*#+}} xmm2 = xmm10[0,1,2,3],xmm6[4,5,6,7]2860; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]2861; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2862; AVX-NEXT: vmovdqa 576(%rdi), %xmm22863; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm02864; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm8[3]2865; AVX-NEXT: vmovdqa 464(%rdi), %xmm62866; AVX-NEXT: vpblendw {{.*#+}} xmm8 = xmm6[0,1,2,3],xmm9[4,5,6,7]2867; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm8[0,1],ymm0[2,3]2868; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2869; AVX-NEXT: vmovapd 752(%rdi), %xmm122870; AVX-NEXT: vshufpd {{.*#+}} ymm8 = ymm5[1],ymm12[0],ymm5[2],ymm12[3]2871; AVX-NEXT: vmovdqa 864(%rdi), %xmm52872; AVX-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]2873; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm72874; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm8[0,1],ymm7[2,3]2875; AVX-NEXT: vmovupd %ymm0, (%rsp) # 32-byte Spill2876; AVX-NEXT: vmovapd 304(%rdi), %xmm72877; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[1],ymm7[0],ymm3[2],ymm7[3]2878; AVX-NEXT: vmovdqa 416(%rdi), %xmm82879; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]2880; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm12881; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0,1],ymm1[2,3]2882; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2883; AVX-NEXT: vmovapd 80(%rdi), %xmm112884; AVX-NEXT: vshufpd {{.*#+}} ymm9 = ymm10[1],ymm11[0],ymm10[2],ymm11[3]2885; AVX-NEXT: vmovdqa 192(%rdi), %xmm102886; AVX-NEXT: vpalignr {{.*#+}} xmm4 = xmm4[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]2887; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm42888; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm9[0,1],ymm4[2,3]2889; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2890; AVX-NEXT: vmovapd 528(%rdi), %xmm42891; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[1],ymm4[0],ymm6[2],ymm4[3]2892; AVX-NEXT: vmovdqa 640(%rdi), %xmm02893; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]2894; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm22895; AVX-NEXT: vblendpd {{.*#+}} ymm13 = ymm6[0,1],ymm2[2,3]2896; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm22897; AVX-NEXT: vmovapd 352(%rdi), %ymm62898; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm6[0,1,2],ymm2[3]2899; AVX-NEXT: vmovapd 256(%rdi), %xmm82900; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm8[0],xmm7[1]2901; AVX-NEXT: vblendpd {{.*#+}} ymm14 = ymm7[0,1],ymm2[2,3]2902; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm22903; AVX-NEXT: vmovapd 800(%rdi), %ymm32904; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1,2],ymm2[3]2905; AVX-NEXT: vmovapd 704(%rdi), %xmm52906; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm5[0],xmm12[1]2907; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm7[0,1],ymm2[2,3]2908; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm02909; AVX-NEXT: vmovapd 576(%rdi), %ymm72910; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1,2],ymm0[3]2911; AVX-NEXT: vmovapd 480(%rdi), %xmm12912; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm1[0],xmm4[1]2913; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm4[0,1],ymm0[2,3]2914; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm02915; AVX-NEXT: vmovapd 128(%rdi), %ymm102916; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm10[0,1,2],ymm0[3]2917; AVX-NEXT: vblendpd {{.*#+}} xmm4 = mem[0],xmm11[1]2918; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm4[0,1],ymm0[2,3]2919; AVX-NEXT: vmovapd 416(%rdi), %ymm22920; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm6[0],ymm2[1],ymm6[3],ymm2[2]2921; AVX-NEXT: vmovdqa 320(%rdi), %xmm62922; AVX-NEXT: vpalignr {{.*#+}} xmm8 = xmm8[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]2923; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm8[0,1],ymm4[2,3]2924; AVX-NEXT: vmovapd 864(%rdi), %ymm42925; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[3],ymm4[2]2926; AVX-NEXT: vmovdqa 768(%rdi), %xmm02927; AVX-NEXT: vpalignr {{.*#+}} xmm5 = xmm5[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]2928; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm3[2,3]2929; AVX-NEXT: vmovdqa 544(%rdi), %xmm32930; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]2931; AVX-NEXT: vmovapd 640(%rdi), %ymm32932; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0],ymm3[1],ymm7[3],ymm3[2]2933; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm1[0,1],ymm7[2,3]2934; AVX-NEXT: vmovapd 192(%rdi), %ymm12935; AVX-NEXT: vshufpd {{.*#+}} ymm10 = ymm10[0],ymm1[1],ymm10[3],ymm1[2]2936; AVX-NEXT: vmovdqa 96(%rdi), %xmm152937; AVX-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]2938; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm15[0,1],ymm10[2,3]2939; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload2940; AVX-NEXT: # ymm2 = mem[0,1,2],ymm2[3]2941; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload2942; AVX-NEXT: # xmm6 = mem[0,1,2,3],xmm6[4,5,6,7]2943; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm6[0,1],ymm2[2,3]2944; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload2945; AVX-NEXT: # ymm4 = mem[0,1,2],ymm4[3]2946; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload2947; AVX-NEXT: # xmm0 = mem[0,1,2,3],xmm0[4,5,6,7]2948; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm4[2,3]2949; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload2950; AVX-NEXT: # ymm1 = mem[0,1,2],ymm1[3]2951; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2952; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm4[0],mem[1]2953; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3]2954; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload2955; AVX-NEXT: # ymm3 = mem[0,1,2],ymm3[3]2956; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2957; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm4[0],mem[1]2958; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3]2959; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2960; AVX-NEXT: vmovaps %ymm4, 64(%rsi)2961; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2962; AVX-NEXT: vmovaps %ymm4, (%rsi)2963; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2964; AVX-NEXT: vmovaps %ymm4, 96(%rsi)2965; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2966; AVX-NEXT: vmovaps %ymm4, 32(%rsi)2967; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2968; AVX-NEXT: vmovaps %ymm4, 64(%rdx)2969; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2970; AVX-NEXT: vmovaps %ymm4, (%rdx)2971; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2972; AVX-NEXT: vmovaps %ymm4, 96(%rdx)2973; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2974; AVX-NEXT: vmovaps %ymm4, 32(%rdx)2975; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2976; AVX-NEXT: vmovaps %ymm4, 64(%rcx)2977; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2978; AVX-NEXT: vmovaps %ymm4, (%rcx)2979; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2980; AVX-NEXT: vmovaps %ymm4, 96(%rcx)2981; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2982; AVX-NEXT: vmovaps %ymm4, 32(%rcx)2983; AVX-NEXT: vmovapd %ymm13, 64(%r8)2984; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2985; AVX-NEXT: vmovaps %ymm4, (%r8)2986; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload2987; AVX-NEXT: vmovaps %ymm4, 32(%r8)2988; AVX-NEXT: vmovups (%rsp), %ymm4 # 32-byte Reload2989; AVX-NEXT: vmovaps %ymm4, 96(%r8)2990; AVX-NEXT: vmovapd %ymm11, (%r9)2991; AVX-NEXT: vmovapd %ymm9, 64(%r9)2992; AVX-NEXT: vmovapd %ymm12, 96(%r9)2993; AVX-NEXT: vmovapd %ymm14, 32(%r9)2994; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax2995; AVX-NEXT: vmovapd %ymm10, (%rax)2996; AVX-NEXT: vmovapd %ymm7, 64(%rax)2997; AVX-NEXT: vmovapd %ymm5, 96(%rax)2998; AVX-NEXT: vmovapd %ymm8, 32(%rax)2999; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax3000; AVX-NEXT: vmovapd %ymm3, 64(%rax)3001; AVX-NEXT: vmovapd %ymm1, (%rax)3002; AVX-NEXT: vmovapd %ymm0, 96(%rax)3003; AVX-NEXT: vmovapd %ymm2, 32(%rax)3004; AVX-NEXT: addq $552, %rsp # imm = 0x2283005; AVX-NEXT: vzeroupper3006; AVX-NEXT: retq3007;3008; AVX2-LABEL: load_i64_stride7_vf16:3009; AVX2: # %bb.0:3010; AVX2-NEXT: subq $520, %rsp # imm = 0x2083011; AVX2-NEXT: vmovdqa 544(%rdi), %ymm03012; AVX2-NEXT: vmovdqa 96(%rdi), %ymm13013; AVX2-NEXT: vmovdqa 768(%rdi), %ymm23014; AVX2-NEXT: vmovdqa 320(%rdi), %ymm33015; AVX2-NEXT: vmovdqa 384(%rdi), %xmm43016; AVX2-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3017; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43018; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5],ymm4[6,7]3019; AVX2-NEXT: vmovdqa 224(%rdi), %xmm53020; AVX2-NEXT: vmovdqa 272(%rdi), %xmm63021; AVX2-NEXT: vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3022; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm6[2,3]3023; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]3024; AVX2-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3025; AVX2-NEXT: vmovdqa 832(%rdi), %xmm43026; AVX2-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3027; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43028; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm2[0,1,2,3,4,5],ymm4[6,7]3029; AVX2-NEXT: vmovdqa 672(%rdi), %xmm63030; AVX2-NEXT: vmovdqa 720(%rdi), %xmm133031; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm13[2,3]3032; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3033; AVX2-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3034; AVX2-NEXT: vmovdqa 160(%rdi), %xmm43035; AVX2-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3036; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43037; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],ymm4[6,7]3038; AVX2-NEXT: vmovdqa 48(%rdi), %xmm113039; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = mem[0,1],xmm11[2,3]3040; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3041; AVX2-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3042; AVX2-NEXT: vmovdqa 608(%rdi), %xmm43043; AVX2-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3044; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43045; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm0[0,1,2,3,4,5],ymm4[6,7]3046; AVX2-NEXT: vmovdqa 448(%rdi), %xmm73047; AVX2-NEXT: vmovdqa 496(%rdi), %xmm83048; AVX2-NEXT: vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3049; AVX2-NEXT: vpblendd {{.*#+}} xmm8 = xmm7[0,1],xmm8[2,3]3050; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]3051; AVX2-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3052; AVX2-NEXT: vmovdqa 288(%rdi), %xmm43053; AVX2-NEXT: vpalignr {{.*#+}} xmm4 = xmm5[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3054; AVX2-NEXT: vmovdqa 384(%rdi), %ymm53055; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]3056; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]3057; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3058; AVX2-NEXT: vmovdqa 736(%rdi), %xmm33059; AVX2-NEXT: vpalignr {{.*#+}} xmm3 = xmm6[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3060; AVX2-NEXT: vmovdqa 832(%rdi), %ymm43061; AVX2-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3062; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]3063; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3064; AVX2-NEXT: vmovdqa 160(%rdi), %ymm23065; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm1[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],ymm1[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]3066; AVX2-NEXT: vmovdqa 64(%rdi), %xmm33067; AVX2-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3068; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]3069; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3070; AVX2-NEXT: vmovdqa 608(%rdi), %ymm13071; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm0[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm0[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]3072; AVX2-NEXT: vmovdqa 512(%rdi), %xmm63073; AVX2-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]3074; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]3075; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3076; AVX2-NEXT: vpbroadcastq 352(%rdi), %ymm03077; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3078; AVX2-NEXT: vmovdqa 240(%rdi), %xmm53079; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3080; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3081; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3082; AVX2-NEXT: vpbroadcastq 800(%rdi), %ymm03083; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]3084; AVX2-NEXT: vmovdqa 688(%rdi), %xmm43085; AVX2-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]3086; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]3087; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3088; AVX2-NEXT: vpbroadcastq 128(%rdi), %ymm03089; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]3090; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]3091; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3092; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3093; AVX2-NEXT: vpbroadcastq 576(%rdi), %ymm03094; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3095; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm6[2,3]3096; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3097; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3098; AVX2-NEXT: vmovdqa 736(%rdi), %ymm03099; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3100; AVX2-NEXT: vmovdqa 864(%rdi), %xmm13101; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]3102; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm23103; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]3104; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3105; AVX2-NEXT: vmovdqa 288(%rdi), %ymm03106; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3107; AVX2-NEXT: vmovdqa 416(%rdi), %xmm23108; AVX2-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3109; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm33110; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]3111; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3112; AVX2-NEXT: vmovdqa 64(%rdi), %ymm03113; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3114; AVX2-NEXT: vmovdqa 192(%rdi), %xmm103115; AVX2-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]3116; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43117; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm4[2,3]3118; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3119; AVX2-NEXT: vmovdqa 512(%rdi), %ymm03120; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3121; AVX2-NEXT: vmovdqa 640(%rdi), %xmm43122; AVX2-NEXT: vpalignr {{.*#+}} xmm5 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3123; AVX2-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm53124; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm5[2,3]3125; AVX2-NEXT: vmovdqu %ymm0, (%rsp) # 32-byte Spill3126; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm03127; AVX2-NEXT: vmovdqa 352(%rdi), %ymm63128; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3129; AVX2-NEXT: vmovdqa 256(%rdi), %xmm83130; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm8[0,1],mem[2,3]3131; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3132; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3133; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm03134; AVX2-NEXT: vmovdqa 800(%rdi), %ymm33135; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]3136; AVX2-NEXT: vmovdqa 704(%rdi), %xmm73137; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm7[0,1],mem[2,3]3138; AVX2-NEXT: vpblendd {{.*#+}} ymm14 = ymm5[0,1,2,3],ymm0[4,5,6,7]3139; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm03140; AVX2-NEXT: vmovdqa 576(%rdi), %ymm93141; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],ymm0[6,7]3142; AVX2-NEXT: vmovdqa 480(%rdi), %xmm13143; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],mem[2,3]3144; AVX2-NEXT: vpblendd {{.*#+}} ymm12 = ymm5[0,1,2,3],ymm0[4,5,6,7]3145; AVX2-NEXT: vinserti128 $1, %xmm10, %ymm0, %ymm03146; AVX2-NEXT: vmovdqa 128(%rdi), %ymm103147; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]3148; AVX2-NEXT: vmovdqa 32(%rdi), %xmm53149; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3150; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]3151; AVX2-NEXT: vmovdqa 416(%rdi), %ymm43152; AVX2-NEXT: vpalignr {{.*#+}} ymm6 = ymm6[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3153; AVX2-NEXT: vmovdqa 320(%rdi), %xmm23154; AVX2-NEXT: vpalignr {{.*#+}} xmm8 = xmm8[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3155; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]3156; AVX2-NEXT: vmovdqa 864(%rdi), %ymm83157; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]3158; AVX2-NEXT: vmovdqa 768(%rdi), %xmm03159; AVX2-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]3160; AVX2-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm3[4,5,6,7]3161; AVX2-NEXT: vmovdqa 544(%rdi), %xmm33162; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3163; AVX2-NEXT: vmovdqa 640(%rdi), %ymm33164; AVX2-NEXT: vpalignr {{.*#+}} ymm9 = ymm9[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]3165; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]3166; AVX2-NEXT: vmovdqa 192(%rdi), %ymm93167; AVX2-NEXT: vpalignr {{.*#+}} ymm10 = ymm10[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]3168; AVX2-NEXT: vmovdqa 96(%rdi), %xmm153169; AVX2-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]3170; AVX2-NEXT: vpblendd {{.*#+}} ymm10 = ymm15[0,1,2,3],ymm10[4,5,6,7]3171; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload3172; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm4[1],ymm15[3],ymm4[3]3173; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload3174; AVX2-NEXT: # xmm2 = mem[0,1],xmm2[2,3]3175; AVX2-NEXT: vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm4[4,5,6,7]3176; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 16-byte Folded Reload3177; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]3178; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]3179; AVX2-NEXT: vpblendd {{.*#+}} ymm13 = ymm0[0,1,2,3],ymm2[4,5,6,7]3180; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3181; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]3182; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm11[0,1],mem[2,3]3183; AVX2-NEXT: vpblendd {{.*#+}} ymm11 = ymm2[0,1,2,3],ymm0[4,5,6,7]3184; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3185; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]3186; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3187; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]3188; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3189; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3190; AVX2-NEXT: vmovaps %ymm2, 64(%rsi)3191; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3192; AVX2-NEXT: vmovaps %ymm2, (%rsi)3193; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3194; AVX2-NEXT: vmovaps %ymm2, 96(%rsi)3195; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3196; AVX2-NEXT: vmovaps %ymm2, 32(%rsi)3197; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3198; AVX2-NEXT: vmovaps %ymm2, 64(%rdx)3199; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3200; AVX2-NEXT: vmovaps %ymm2, (%rdx)3201; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3202; AVX2-NEXT: vmovaps %ymm2, 96(%rdx)3203; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3204; AVX2-NEXT: vmovaps %ymm2, 32(%rdx)3205; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3206; AVX2-NEXT: vmovaps %ymm2, 64(%rcx)3207; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3208; AVX2-NEXT: vmovaps %ymm2, (%rcx)3209; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3210; AVX2-NEXT: vmovaps %ymm2, 96(%rcx)3211; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3212; AVX2-NEXT: vmovaps %ymm2, 32(%rcx)3213; AVX2-NEXT: vmovups (%rsp), %ymm2 # 32-byte Reload3214; AVX2-NEXT: vmovaps %ymm2, 64(%r8)3215; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3216; AVX2-NEXT: vmovaps %ymm2, (%r8)3217; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3218; AVX2-NEXT: vmovaps %ymm2, 32(%r8)3219; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3220; AVX2-NEXT: vmovaps %ymm2, 96(%r8)3221; AVX2-NEXT: vmovdqa %ymm5, (%r9)3222; AVX2-NEXT: vmovdqa %ymm12, 64(%r9)3223; AVX2-NEXT: vmovdqa %ymm14, 96(%r9)3224; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3225; AVX2-NEXT: vmovaps %ymm2, 32(%r9)3226; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3227; AVX2-NEXT: vmovdqa %ymm10, (%rax)3228; AVX2-NEXT: vmovdqa %ymm1, 64(%rax)3229; AVX2-NEXT: vmovdqa %ymm7, 96(%rax)3230; AVX2-NEXT: vmovdqa %ymm6, 32(%rax)3231; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3232; AVX2-NEXT: vmovdqa %ymm0, 64(%rax)3233; AVX2-NEXT: vmovdqa %ymm11, (%rax)3234; AVX2-NEXT: vmovdqa %ymm13, 96(%rax)3235; AVX2-NEXT: vmovdqa %ymm15, 32(%rax)3236; AVX2-NEXT: addq $520, %rsp # imm = 0x2083237; AVX2-NEXT: vzeroupper3238; AVX2-NEXT: retq3239;3240; AVX2-FP-LABEL: load_i64_stride7_vf16:3241; AVX2-FP: # %bb.0:3242; AVX2-FP-NEXT: subq $520, %rsp # imm = 0x2083243; AVX2-FP-NEXT: vmovdqa 544(%rdi), %ymm03244; AVX2-FP-NEXT: vmovdqa 96(%rdi), %ymm13245; AVX2-FP-NEXT: vmovdqa 768(%rdi), %ymm23246; AVX2-FP-NEXT: vmovdqa 320(%rdi), %ymm33247; AVX2-FP-NEXT: vmovdqa 384(%rdi), %xmm43248; AVX2-FP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3249; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43250; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5],ymm4[6,7]3251; AVX2-FP-NEXT: vmovdqa 224(%rdi), %xmm53252; AVX2-FP-NEXT: vmovdqa 272(%rdi), %xmm63253; AVX2-FP-NEXT: vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3254; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm6[2,3]3255; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]3256; AVX2-FP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3257; AVX2-FP-NEXT: vmovdqa 832(%rdi), %xmm43258; AVX2-FP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3259; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43260; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm2[0,1,2,3,4,5],ymm4[6,7]3261; AVX2-FP-NEXT: vmovdqa 672(%rdi), %xmm63262; AVX2-FP-NEXT: vmovdqa 720(%rdi), %xmm133263; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm13[2,3]3264; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3265; AVX2-FP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3266; AVX2-FP-NEXT: vmovdqa 160(%rdi), %xmm43267; AVX2-FP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3268; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43269; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],ymm4[6,7]3270; AVX2-FP-NEXT: vmovdqa 48(%rdi), %xmm113271; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = mem[0,1],xmm11[2,3]3272; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3273; AVX2-FP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3274; AVX2-FP-NEXT: vmovdqa 608(%rdi), %xmm43275; AVX2-FP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3276; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43277; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm0[0,1,2,3,4,5],ymm4[6,7]3278; AVX2-FP-NEXT: vmovdqa 448(%rdi), %xmm73279; AVX2-FP-NEXT: vmovdqa 496(%rdi), %xmm83280; AVX2-FP-NEXT: vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3281; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm8 = xmm7[0,1],xmm8[2,3]3282; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]3283; AVX2-FP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3284; AVX2-FP-NEXT: vmovdqa 288(%rdi), %xmm43285; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm4 = xmm5[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3286; AVX2-FP-NEXT: vmovdqa 384(%rdi), %ymm53287; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]3288; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]3289; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3290; AVX2-FP-NEXT: vmovdqa 736(%rdi), %xmm33291; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm3 = xmm6[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3292; AVX2-FP-NEXT: vmovdqa 832(%rdi), %ymm43293; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3294; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]3295; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3296; AVX2-FP-NEXT: vmovdqa 160(%rdi), %ymm23297; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm1[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],ymm1[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]3298; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm33299; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3300; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]3301; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3302; AVX2-FP-NEXT: vmovdqa 608(%rdi), %ymm13303; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm0[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm0[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]3304; AVX2-FP-NEXT: vmovdqa 512(%rdi), %xmm63305; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]3306; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]3307; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3308; AVX2-FP-NEXT: vpbroadcastq 352(%rdi), %ymm03309; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3310; AVX2-FP-NEXT: vmovdqa 240(%rdi), %xmm53311; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3312; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3313; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3314; AVX2-FP-NEXT: vpbroadcastq 800(%rdi), %ymm03315; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]3316; AVX2-FP-NEXT: vmovdqa 688(%rdi), %xmm43317; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]3318; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]3319; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3320; AVX2-FP-NEXT: vpbroadcastq 128(%rdi), %ymm03321; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]3322; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]3323; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3324; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3325; AVX2-FP-NEXT: vpbroadcastq 576(%rdi), %ymm03326; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3327; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm6[2,3]3328; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3329; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3330; AVX2-FP-NEXT: vmovdqa 736(%rdi), %ymm03331; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3332; AVX2-FP-NEXT: vmovdqa 864(%rdi), %xmm13333; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]3334; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm23335; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]3336; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3337; AVX2-FP-NEXT: vmovdqa 288(%rdi), %ymm03338; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3339; AVX2-FP-NEXT: vmovdqa 416(%rdi), %xmm23340; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3341; AVX2-FP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm33342; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]3343; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3344; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm03345; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3346; AVX2-FP-NEXT: vmovdqa 192(%rdi), %xmm103347; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]3348; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43349; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm4[2,3]3350; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3351; AVX2-FP-NEXT: vmovdqa 512(%rdi), %ymm03352; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3353; AVX2-FP-NEXT: vmovdqa 640(%rdi), %xmm43354; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm5 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3355; AVX2-FP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm53356; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm5[2,3]3357; AVX2-FP-NEXT: vmovdqu %ymm0, (%rsp) # 32-byte Spill3358; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm03359; AVX2-FP-NEXT: vmovdqa 352(%rdi), %ymm63360; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3361; AVX2-FP-NEXT: vmovdqa 256(%rdi), %xmm83362; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm8[0,1],mem[2,3]3363; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3364; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3365; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm03366; AVX2-FP-NEXT: vmovdqa 800(%rdi), %ymm33367; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]3368; AVX2-FP-NEXT: vmovdqa 704(%rdi), %xmm73369; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm7[0,1],mem[2,3]3370; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm14 = ymm5[0,1,2,3],ymm0[4,5,6,7]3371; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm03372; AVX2-FP-NEXT: vmovdqa 576(%rdi), %ymm93373; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],ymm0[6,7]3374; AVX2-FP-NEXT: vmovdqa 480(%rdi), %xmm13375; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],mem[2,3]3376; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm12 = ymm5[0,1,2,3],ymm0[4,5,6,7]3377; AVX2-FP-NEXT: vinserti128 $1, %xmm10, %ymm0, %ymm03378; AVX2-FP-NEXT: vmovdqa 128(%rdi), %ymm103379; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]3380; AVX2-FP-NEXT: vmovdqa 32(%rdi), %xmm53381; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3382; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]3383; AVX2-FP-NEXT: vmovdqa 416(%rdi), %ymm43384; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm6 = ymm6[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3385; AVX2-FP-NEXT: vmovdqa 320(%rdi), %xmm23386; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm8 = xmm8[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3387; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]3388; AVX2-FP-NEXT: vmovdqa 864(%rdi), %ymm83389; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]3390; AVX2-FP-NEXT: vmovdqa 768(%rdi), %xmm03391; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]3392; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm3[4,5,6,7]3393; AVX2-FP-NEXT: vmovdqa 544(%rdi), %xmm33394; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3395; AVX2-FP-NEXT: vmovdqa 640(%rdi), %ymm33396; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm9 = ymm9[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]3397; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]3398; AVX2-FP-NEXT: vmovdqa 192(%rdi), %ymm93399; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm10 = ymm10[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]3400; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm153401; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]3402; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm10 = ymm15[0,1,2,3],ymm10[4,5,6,7]3403; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload3404; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm4[1],ymm15[3],ymm4[3]3405; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload3406; AVX2-FP-NEXT: # xmm2 = mem[0,1],xmm2[2,3]3407; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm4[4,5,6,7]3408; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 16-byte Folded Reload3409; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]3410; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]3411; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm13 = ymm0[0,1,2,3],ymm2[4,5,6,7]3412; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3413; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]3414; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm11[0,1],mem[2,3]3415; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm11 = ymm2[0,1,2,3],ymm0[4,5,6,7]3416; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3417; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]3418; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3419; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]3420; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3421; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3422; AVX2-FP-NEXT: vmovaps %ymm2, 64(%rsi)3423; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3424; AVX2-FP-NEXT: vmovaps %ymm2, (%rsi)3425; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3426; AVX2-FP-NEXT: vmovaps %ymm2, 96(%rsi)3427; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3428; AVX2-FP-NEXT: vmovaps %ymm2, 32(%rsi)3429; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3430; AVX2-FP-NEXT: vmovaps %ymm2, 64(%rdx)3431; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3432; AVX2-FP-NEXT: vmovaps %ymm2, (%rdx)3433; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3434; AVX2-FP-NEXT: vmovaps %ymm2, 96(%rdx)3435; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3436; AVX2-FP-NEXT: vmovaps %ymm2, 32(%rdx)3437; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3438; AVX2-FP-NEXT: vmovaps %ymm2, 64(%rcx)3439; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3440; AVX2-FP-NEXT: vmovaps %ymm2, (%rcx)3441; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3442; AVX2-FP-NEXT: vmovaps %ymm2, 96(%rcx)3443; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3444; AVX2-FP-NEXT: vmovaps %ymm2, 32(%rcx)3445; AVX2-FP-NEXT: vmovups (%rsp), %ymm2 # 32-byte Reload3446; AVX2-FP-NEXT: vmovaps %ymm2, 64(%r8)3447; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3448; AVX2-FP-NEXT: vmovaps %ymm2, (%r8)3449; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3450; AVX2-FP-NEXT: vmovaps %ymm2, 32(%r8)3451; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3452; AVX2-FP-NEXT: vmovaps %ymm2, 96(%r8)3453; AVX2-FP-NEXT: vmovdqa %ymm5, (%r9)3454; AVX2-FP-NEXT: vmovdqa %ymm12, 64(%r9)3455; AVX2-FP-NEXT: vmovdqa %ymm14, 96(%r9)3456; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3457; AVX2-FP-NEXT: vmovaps %ymm2, 32(%r9)3458; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3459; AVX2-FP-NEXT: vmovdqa %ymm10, (%rax)3460; AVX2-FP-NEXT: vmovdqa %ymm1, 64(%rax)3461; AVX2-FP-NEXT: vmovdqa %ymm7, 96(%rax)3462; AVX2-FP-NEXT: vmovdqa %ymm6, 32(%rax)3463; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3464; AVX2-FP-NEXT: vmovdqa %ymm0, 64(%rax)3465; AVX2-FP-NEXT: vmovdqa %ymm11, (%rax)3466; AVX2-FP-NEXT: vmovdqa %ymm13, 96(%rax)3467; AVX2-FP-NEXT: vmovdqa %ymm15, 32(%rax)3468; AVX2-FP-NEXT: addq $520, %rsp # imm = 0x2083469; AVX2-FP-NEXT: vzeroupper3470; AVX2-FP-NEXT: retq3471;3472; AVX2-FCP-LABEL: load_i64_stride7_vf16:3473; AVX2-FCP: # %bb.0:3474; AVX2-FCP-NEXT: subq $520, %rsp # imm = 0x2083475; AVX2-FCP-NEXT: vmovdqa 544(%rdi), %ymm03476; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %ymm13477; AVX2-FCP-NEXT: vmovdqa 768(%rdi), %ymm23478; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %ymm33479; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %xmm43480; AVX2-FCP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3481; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43482; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5],ymm4[6,7]3483; AVX2-FCP-NEXT: vmovdqa 224(%rdi), %xmm53484; AVX2-FCP-NEXT: vmovdqa 272(%rdi), %xmm63485; AVX2-FCP-NEXT: vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3486; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm6[2,3]3487; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]3488; AVX2-FCP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3489; AVX2-FCP-NEXT: vmovdqa 832(%rdi), %xmm43490; AVX2-FCP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3491; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43492; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm2[0,1,2,3,4,5],ymm4[6,7]3493; AVX2-FCP-NEXT: vmovdqa 672(%rdi), %xmm63494; AVX2-FCP-NEXT: vmovdqa 720(%rdi), %xmm133495; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm13[2,3]3496; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3497; AVX2-FCP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3498; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %xmm43499; AVX2-FCP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3500; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43501; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3,4,5],ymm4[6,7]3502; AVX2-FCP-NEXT: vmovdqa 48(%rdi), %xmm113503; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm7 = mem[0,1],xmm11[2,3]3504; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3],ymm4[4,5,6,7]3505; AVX2-FCP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3506; AVX2-FCP-NEXT: vmovdqa 608(%rdi), %xmm43507; AVX2-FCP-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3508; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43509; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm0[0,1,2,3,4,5],ymm4[6,7]3510; AVX2-FCP-NEXT: vmovdqa 448(%rdi), %xmm73511; AVX2-FCP-NEXT: vmovdqa 496(%rdi), %xmm83512; AVX2-FCP-NEXT: vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3513; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm8 = xmm7[0,1],xmm8[2,3]3514; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]3515; AVX2-FCP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3516; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %xmm43517; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm4 = xmm5[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3518; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %ymm53519; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]3520; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]3521; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3522; AVX2-FCP-NEXT: vmovdqa 736(%rdi), %xmm33523; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm3 = xmm6[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3524; AVX2-FCP-NEXT: vmovdqa 832(%rdi), %ymm43525; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3526; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]3527; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3528; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %ymm23529; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = ymm1[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],ymm1[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]3530; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %xmm33531; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3532; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]3533; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3534; AVX2-FCP-NEXT: vmovdqa 608(%rdi), %ymm13535; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = ymm0[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm0[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]3536; AVX2-FCP-NEXT: vmovdqa 512(%rdi), %xmm63537; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]3538; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]3539; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3540; AVX2-FCP-NEXT: vpbroadcastq 352(%rdi), %ymm03541; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3542; AVX2-FCP-NEXT: vmovdqa 240(%rdi), %xmm53543; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3544; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3545; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3546; AVX2-FCP-NEXT: vpbroadcastq 800(%rdi), %ymm03547; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]3548; AVX2-FCP-NEXT: vmovdqa 688(%rdi), %xmm43549; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]3550; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]3551; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3552; AVX2-FCP-NEXT: vpbroadcastq 128(%rdi), %ymm03553; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]3554; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]3555; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3556; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3557; AVX2-FCP-NEXT: vpbroadcastq 576(%rdi), %ymm03558; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3559; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm6[2,3]3560; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3561; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3562; AVX2-FCP-NEXT: vmovdqa 736(%rdi), %ymm03563; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3564; AVX2-FCP-NEXT: vmovdqa 864(%rdi), %xmm13565; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]3566; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm23567; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]3568; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3569; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %ymm03570; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3571; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %xmm23572; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3573; AVX2-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm33574; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm3[2,3]3575; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3576; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %ymm03577; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3578; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %xmm103579; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]3580; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm43581; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm4[2,3]3582; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3583; AVX2-FCP-NEXT: vmovdqa 512(%rdi), %ymm03584; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]3585; AVX2-FCP-NEXT: vmovdqa 640(%rdi), %xmm43586; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm5 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]3587; AVX2-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm53588; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm5[2,3]3589; AVX2-FCP-NEXT: vmovdqu %ymm0, (%rsp) # 32-byte Spill3590; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm03591; AVX2-FCP-NEXT: vmovdqa 352(%rdi), %ymm63592; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]3593; AVX2-FCP-NEXT: vmovdqa 256(%rdi), %xmm83594; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm8[0,1],mem[2,3]3595; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]3596; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3597; AVX2-FCP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm03598; AVX2-FCP-NEXT: vmovdqa 800(%rdi), %ymm33599; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]3600; AVX2-FCP-NEXT: vmovdqa 704(%rdi), %xmm73601; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm7[0,1],mem[2,3]3602; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm5[0,1,2,3],ymm0[4,5,6,7]3603; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm03604; AVX2-FCP-NEXT: vmovdqa 576(%rdi), %ymm93605; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],ymm0[6,7]3606; AVX2-FCP-NEXT: vmovdqa 480(%rdi), %xmm13607; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm1[0,1],mem[2,3]3608; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm5[0,1,2,3],ymm0[4,5,6,7]3609; AVX2-FCP-NEXT: vinserti128 $1, %xmm10, %ymm0, %ymm03610; AVX2-FCP-NEXT: vmovdqa 128(%rdi), %ymm103611; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]3612; AVX2-FCP-NEXT: vmovdqa 32(%rdi), %xmm53613; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3614; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]3615; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %ymm43616; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm6 = ymm6[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3617; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %xmm23618; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm8 = xmm8[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]3619; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm8[0,1,2,3],ymm6[4,5,6,7]3620; AVX2-FCP-NEXT: vmovdqa 864(%rdi), %ymm83621; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm3 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]3622; AVX2-FCP-NEXT: vmovdqa 768(%rdi), %xmm03623; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm7 = xmm7[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]3624; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm3[4,5,6,7]3625; AVX2-FCP-NEXT: vmovdqa 544(%rdi), %xmm33626; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]3627; AVX2-FCP-NEXT: vmovdqa 640(%rdi), %ymm33628; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm9 = ymm9[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]3629; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]3630; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %ymm93631; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm10 = ymm10[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]3632; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %xmm153633; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]3634; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm15[0,1,2,3],ymm10[4,5,6,7]3635; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 16-byte Folded Reload3636; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm15[1],ymm4[1],ymm15[3],ymm4[3]3637; AVX2-FCP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload3638; AVX2-FCP-NEXT: # xmm2 = mem[0,1],xmm2[2,3]3639; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm4[4,5,6,7]3640; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 16-byte Folded Reload3641; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]3642; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]3643; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm0[0,1,2,3],ymm2[4,5,6,7]3644; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3645; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]3646; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm11[0,1],mem[2,3]3647; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm2[0,1,2,3],ymm0[4,5,6,7]3648; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload3649; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]3650; AVX2-FCP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3651; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]3652; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]3653; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3654; AVX2-FCP-NEXT: vmovaps %ymm2, 64(%rsi)3655; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3656; AVX2-FCP-NEXT: vmovaps %ymm2, (%rsi)3657; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3658; AVX2-FCP-NEXT: vmovaps %ymm2, 96(%rsi)3659; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3660; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%rsi)3661; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3662; AVX2-FCP-NEXT: vmovaps %ymm2, 64(%rdx)3663; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3664; AVX2-FCP-NEXT: vmovaps %ymm2, (%rdx)3665; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3666; AVX2-FCP-NEXT: vmovaps %ymm2, 96(%rdx)3667; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3668; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%rdx)3669; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3670; AVX2-FCP-NEXT: vmovaps %ymm2, 64(%rcx)3671; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3672; AVX2-FCP-NEXT: vmovaps %ymm2, (%rcx)3673; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3674; AVX2-FCP-NEXT: vmovaps %ymm2, 96(%rcx)3675; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3676; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%rcx)3677; AVX2-FCP-NEXT: vmovups (%rsp), %ymm2 # 32-byte Reload3678; AVX2-FCP-NEXT: vmovaps %ymm2, 64(%r8)3679; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3680; AVX2-FCP-NEXT: vmovaps %ymm2, (%r8)3681; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3682; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%r8)3683; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3684; AVX2-FCP-NEXT: vmovaps %ymm2, 96(%r8)3685; AVX2-FCP-NEXT: vmovdqa %ymm5, (%r9)3686; AVX2-FCP-NEXT: vmovdqa %ymm12, 64(%r9)3687; AVX2-FCP-NEXT: vmovdqa %ymm14, 96(%r9)3688; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload3689; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%r9)3690; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3691; AVX2-FCP-NEXT: vmovdqa %ymm10, (%rax)3692; AVX2-FCP-NEXT: vmovdqa %ymm1, 64(%rax)3693; AVX2-FCP-NEXT: vmovdqa %ymm7, 96(%rax)3694; AVX2-FCP-NEXT: vmovdqa %ymm6, 32(%rax)3695; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3696; AVX2-FCP-NEXT: vmovdqa %ymm0, 64(%rax)3697; AVX2-FCP-NEXT: vmovdqa %ymm11, (%rax)3698; AVX2-FCP-NEXT: vmovdqa %ymm13, 96(%rax)3699; AVX2-FCP-NEXT: vmovdqa %ymm15, 32(%rax)3700; AVX2-FCP-NEXT: addq $520, %rsp # imm = 0x2083701; AVX2-FCP-NEXT: vzeroupper3702; AVX2-FCP-NEXT: retq3703;3704; AVX512-LABEL: load_i64_stride7_vf16:3705; AVX512: # %bb.0:3706; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax3707; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r103708; AVX512-NEXT: vmovdqa64 832(%rdi), %zmm303709; AVX512-NEXT: vmovdqa64 768(%rdi), %zmm63710; AVX512-NEXT: vmovdqa64 704(%rdi), %zmm03711; AVX512-NEXT: vmovdqa64 640(%rdi), %zmm263712; AVX512-NEXT: vmovdqa64 576(%rdi), %zmm33713; AVX512-NEXT: vmovdqa64 512(%rdi), %zmm273714; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm23715; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm133716; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm153717; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm83718; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm293719; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm93720; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm283721; AVX512-NEXT: vmovdqa64 (%rdi), %zmm13722; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]3723; AVX512-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3724; AVX512-NEXT: vmovdqa64 %zmm1, %zmm313725; AVX512-NEXT: vpermt2q %zmm28, %zmm18, %zmm313726; AVX512-NEXT: movb $24, %r11b3727; AVX512-NEXT: kmovw %r11d, %k23728; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm29[4,5,4,5]3729; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]3730; AVX512-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3731; AVX512-NEXT: vmovdqa64 %zmm8, %zmm143732; AVX512-NEXT: vpermt2q %zmm15, %zmm16, %zmm143733; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]3734; AVX512-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]3735; AVX512-NEXT: vpermt2q %zmm13, %zmm17, %zmm143736; AVX512-NEXT: movb $-32, %r11b3737; AVX512-NEXT: kmovw %r11d, %k13738; AVX512-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}3739; AVX512-NEXT: vmovdqa64 %zmm2, %zmm143740; AVX512-NEXT: vpermt2q %zmm27, %zmm18, %zmm143741; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm3[4,5,4,5],zmm26[4,5,4,5]3742; AVX512-NEXT: vpermi2q %zmm6, %zmm0, %zmm163743; AVX512-NEXT: vpermt2q %zmm30, %zmm17, %zmm163744; AVX512-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}3745; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]3746; AVX512-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3747; AVX512-NEXT: vmovdqa64 %zmm9, %zmm173748; AVX512-NEXT: vpermt2q %zmm29, %zmm24, %zmm173749; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]3750; AVX512-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3751; AVX512-NEXT: vmovdqa64 %zmm28, %zmm163752; AVX512-NEXT: vpermt2q %zmm1, %zmm20, %zmm163753; AVX512-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}3754; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]3755; AVX512-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3756; AVX512-NEXT: vmovdqa64 %zmm8, %zmm173757; AVX512-NEXT: vpermt2q %zmm15, %zmm19, %zmm173758; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]3759; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]3760; AVX512-NEXT: vpermt2q %zmm13, %zmm21, %zmm173761; AVX512-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}3762; AVX512-NEXT: vmovdqa64 %zmm3, %zmm223763; AVX512-NEXT: vpermt2q %zmm26, %zmm24, %zmm223764; AVX512-NEXT: vmovdqa64 %zmm27, %zmm173765; AVX512-NEXT: vpermt2q %zmm2, %zmm20, %zmm173766; AVX512-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}3767; AVX512-NEXT: vpermi2q %zmm6, %zmm0, %zmm193768; AVX512-NEXT: vpermt2q %zmm30, %zmm21, %zmm193769; AVX512-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}3770; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]3771; AVX512-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3772; AVX512-NEXT: vmovdqa64 %zmm8, %zmm213773; AVX512-NEXT: vpermt2q %zmm15, %zmm22, %zmm213774; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]3775; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]3776; AVX512-NEXT: vpermt2q %zmm13, %zmm23, %zmm213777; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]3778; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]3779; AVX512-NEXT: vmovdqa64 %zmm9, %zmm193780; AVX512-NEXT: vpermt2q %zmm29, %zmm25, %zmm193781; AVX512-NEXT: vmovdqa 16(%rdi), %xmm53782; AVX512-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3783; AVX512-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm193784; AVX512-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}3785; AVX512-NEXT: vpermi2q %zmm6, %zmm0, %zmm223786; AVX512-NEXT: vpermt2q %zmm30, %zmm23, %zmm223787; AVX512-NEXT: vpermi2q %zmm26, %zmm3, %zmm253788; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill3789; AVX512-NEXT: vmovdqa 464(%rdi), %xmm53790; AVX512-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3791; AVX512-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm213792; AVX512-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}3793; AVX512-NEXT: vmovdqa64 %zmm8, %zmm53794; AVX512-NEXT: vpermt2q %zmm15, %zmm24, %zmm53795; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]3796; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]3797; AVX512-NEXT: vpermt2q %zmm13, %zmm23, %zmm53798; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]3799; AVX512-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]3800; AVX512-NEXT: vmovdqa64 %zmm29, %zmm223801; AVX512-NEXT: vpermt2q %zmm9, %zmm25, %zmm223802; AVX512-NEXT: vmovdqa 64(%rdi), %ymm43803; AVX512-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3804; AVX512-NEXT: vextracti128 $1, %ymm4, %xmm43805; AVX512-NEXT: vinserti32x4 $0, %xmm4, %zmm22, %zmm223806; AVX512-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}3807; AVX512-NEXT: vpermi2q %zmm6, %zmm0, %zmm243808; AVX512-NEXT: vpermt2q %zmm30, %zmm23, %zmm243809; AVX512-NEXT: vpermi2q %zmm3, %zmm26, %zmm253810; AVX512-NEXT: vmovdqa 512(%rdi), %ymm43811; AVX512-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3812; AVX512-NEXT: vextracti128 $1, %ymm4, %xmm43813; AVX512-NEXT: vinserti32x4 $0, %xmm4, %zmm25, %zmm233814; AVX512-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}3815; AVX512-NEXT: vmovdqa64 %zmm8, %zmm43816; AVX512-NEXT: vpermt2q %zmm15, %zmm18, %zmm43817; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,5,6,13,4,5,6,13]3818; AVX512-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]3819; AVX512-NEXT: vpermt2q %zmm13, %zmm5, %zmm43820; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm113821; AVX512-NEXT: vmovdqa 128(%rdi), %ymm123822; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]3823; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]3824; AVX512-NEXT: vmovdqa64 %zmm1, %zmm103825; AVX512-NEXT: vpermt2q %zmm28, %zmm3, %zmm103826; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]3827; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm4, %zmm243828; AVX512-NEXT: vpermi2q %zmm6, %zmm0, %zmm183829; AVX512-NEXT: vpermt2q %zmm30, %zmm5, %zmm183830; AVX512-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm43831; AVX512-NEXT: vmovdqa 576(%rdi), %ymm53832; AVX512-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]3833; AVX512-NEXT: vpermi2q %zmm27, %zmm2, %zmm33834; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]3835; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm33836; AVX512-NEXT: vmovdqa64 %zmm15, %zmm43837; AVX512-NEXT: vpermt2q %zmm8, %zmm20, %zmm43838; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,6,14,4,5,6,14]3839; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]3840; AVX512-NEXT: vpermt2q %zmm13, %zmm10, %zmm43841; AVX512-NEXT: vmovdqa 192(%rdi), %ymm113842; AVX512-NEXT: vpalignr {{.*#+}} ymm11 = ymm12[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]3843; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm12 = [5,12]3844; AVX512-NEXT: vmovdqa64 %zmm1, %zmm73845; AVX512-NEXT: vpermt2q %zmm28, %zmm12, %zmm73846; AVX512-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]3847; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm43848; AVX512-NEXT: vpermi2q %zmm0, %zmm6, %zmm203849; AVX512-NEXT: vpermt2q %zmm30, %zmm10, %zmm203850; AVX512-NEXT: vmovdqa 640(%rdi), %ymm73851; AVX512-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]3852; AVX512-NEXT: vpermi2q %zmm27, %zmm2, %zmm123853; AVX512-NEXT: vpblendd {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]3854; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm20, %zmm53855; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,9,2,9,2,9,2,9]3856; AVX512-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3857; AVX512-NEXT: vpermt2q %zmm15, %zmm7, %zmm83858; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]3859; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]3860; AVX512-NEXT: vpermt2q %zmm13, %zmm10, %zmm83861; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]3862; AVX512-NEXT: vpermt2q %zmm29, %zmm11, %zmm93863; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]3864; AVX512-NEXT: vpermt2q %zmm28, %zmm12, %zmm13865; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]3866; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm13867; AVX512-NEXT: vpermt2q %zmm6, %zmm7, %zmm03868; AVX512-NEXT: vpermt2q %zmm30, %zmm10, %zmm03869; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload3870; AVX512-NEXT: vpermt2q %zmm26, %zmm11, %zmm63871; AVX512-NEXT: vpermt2q %zmm27, %zmm12, %zmm23872; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]3873; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm03874; AVX512-NEXT: vmovdqa64 %zmm14, 64(%rsi)3875; AVX512-NEXT: vmovdqa64 %zmm31, (%rsi)3876; AVX512-NEXT: vmovdqa64 %zmm17, 64(%rdx)3877; AVX512-NEXT: vmovdqa64 %zmm16, (%rdx)3878; AVX512-NEXT: vmovdqa64 %zmm21, 64(%rcx)3879; AVX512-NEXT: vmovdqa64 %zmm19, (%rcx)3880; AVX512-NEXT: vmovdqa64 %zmm23, 64(%r8)3881; AVX512-NEXT: vmovdqa64 %zmm22, (%r8)3882; AVX512-NEXT: vmovdqa64 %zmm3, 64(%r9)3883; AVX512-NEXT: vmovdqa64 %zmm24, (%r9)3884; AVX512-NEXT: vmovdqa64 %zmm5, 64(%r10)3885; AVX512-NEXT: vmovdqa64 %zmm4, (%r10)3886; AVX512-NEXT: vmovdqa64 %zmm0, 64(%rax)3887; AVX512-NEXT: vmovdqa64 %zmm1, (%rax)3888; AVX512-NEXT: vzeroupper3889; AVX512-NEXT: retq3890;3891; AVX512-FCP-LABEL: load_i64_stride7_vf16:3892; AVX512-FCP: # %bb.0:3893; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax3894; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r103895; AVX512-FCP-NEXT: vmovdqa64 832(%rdi), %zmm303896; AVX512-FCP-NEXT: vmovdqa64 768(%rdi), %zmm63897; AVX512-FCP-NEXT: vmovdqa64 704(%rdi), %zmm03898; AVX512-FCP-NEXT: vmovdqa64 640(%rdi), %zmm263899; AVX512-FCP-NEXT: vmovdqa64 576(%rdi), %zmm33900; AVX512-FCP-NEXT: vmovdqa64 512(%rdi), %zmm273901; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm23902; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm133903; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm153904; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm83905; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm293906; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm93907; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm283908; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm13909; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]3910; AVX512-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]3911; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm313912; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm313913; AVX512-FCP-NEXT: movb $24, %r11b3914; AVX512-FCP-NEXT: kmovw %r11d, %k23915; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm29[4,5,4,5]3916; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]3917; AVX512-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3918; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm143919; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm16, %zmm143920; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]3921; AVX512-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]3922; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm143923; AVX512-FCP-NEXT: movb $-32, %r11b3924; AVX512-FCP-NEXT: kmovw %r11d, %k13925; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}3926; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm143927; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm18, %zmm143928; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm3[4,5,4,5],zmm26[4,5,4,5]3929; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm163930; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm17, %zmm163931; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}3932; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]3933; AVX512-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3934; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm173935; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm24, %zmm173936; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]3937; AVX512-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]3938; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm163939; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm163940; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}3941; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]3942; AVX512-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3943; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm173944; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm19, %zmm173945; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]3946; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]3947; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm173948; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}3949; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm223950; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm223951; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm173952; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm173953; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}3954; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm193955; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm193956; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}3957; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]3958; AVX512-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]3959; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm213960; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm22, %zmm213961; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]3962; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]3963; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm213964; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]3965; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]3966; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm193967; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm193968; AVX512-FCP-NEXT: vmovdqa 16(%rdi), %xmm53969; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3970; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm193971; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}3972; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm223973; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm23, %zmm223974; AVX512-FCP-NEXT: vpermi2q %zmm26, %zmm3, %zmm253975; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill3976; AVX512-FCP-NEXT: vmovdqa 464(%rdi), %xmm53977; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]3978; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm213979; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}3980; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm53981; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm53982; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]3983; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]3984; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm53985; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]3986; AVX512-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]3987; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm223988; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm25, %zmm223989; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm43990; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3991; AVX512-FCP-NEXT: vextracti128 $1, %ymm4, %xmm43992; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm4, %zmm22, %zmm223993; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}3994; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm243995; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm23, %zmm243996; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm26, %zmm253997; AVX512-FCP-NEXT: vmovdqa 512(%rdi), %ymm43998; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]3999; AVX512-FCP-NEXT: vextracti128 $1, %ymm4, %xmm44000; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm4, %zmm25, %zmm234001; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4002; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm44003; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm44004; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,5,6,13,4,5,6,13]4005; AVX512-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4006; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm5, %zmm44007; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm114008; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm124009; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]4010; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]4011; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm104012; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm3, %zmm104013; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]4014; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm4, %zmm244015; AVX512-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm184016; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm184017; AVX512-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44018; AVX512-FCP-NEXT: vmovdqa 576(%rdi), %ymm54019; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4020; AVX512-FCP-NEXT: vpermi2q %zmm27, %zmm2, %zmm34021; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]4022; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm34023; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm44024; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm44025; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,6,14,4,5,6,14]4026; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4027; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm44028; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm114029; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm12[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]4030; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [5,12]4031; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm74032; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm74033; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4034; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm44035; AVX512-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm204036; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm10, %zmm204037; AVX512-FCP-NEXT: vmovdqa 640(%rdi), %ymm74038; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]4039; AVX512-FCP-NEXT: vpermi2q %zmm27, %zmm2, %zmm124040; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]4041; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm20, %zmm54042; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,9,2,9,2,9,2,9]4043; AVX512-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4044; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm7, %zmm84045; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4046; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4047; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm84048; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4049; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm11, %zmm94050; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4051; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm14052; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4053; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14054; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm7, %zmm04055; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm10, %zmm04056; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload4057; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm64058; AVX512-FCP-NEXT: vpermt2q %zmm27, %zmm12, %zmm24059; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]4060; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04061; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 64(%rsi)4062; AVX512-FCP-NEXT: vmovdqa64 %zmm31, (%rsi)4063; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 64(%rdx)4064; AVX512-FCP-NEXT: vmovdqa64 %zmm16, (%rdx)4065; AVX512-FCP-NEXT: vmovdqa64 %zmm21, 64(%rcx)4066; AVX512-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)4067; AVX512-FCP-NEXT: vmovdqa64 %zmm23, 64(%r8)4068; AVX512-FCP-NEXT: vmovdqa64 %zmm22, (%r8)4069; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 64(%r9)4070; AVX512-FCP-NEXT: vmovdqa64 %zmm24, (%r9)4071; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 64(%r10)4072; AVX512-FCP-NEXT: vmovdqa64 %zmm4, (%r10)4073; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 64(%rax)4074; AVX512-FCP-NEXT: vmovdqa64 %zmm1, (%rax)4075; AVX512-FCP-NEXT: vzeroupper4076; AVX512-FCP-NEXT: retq4077;4078; AVX512DQ-LABEL: load_i64_stride7_vf16:4079; AVX512DQ: # %bb.0:4080; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4081; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r104082; AVX512DQ-NEXT: vmovdqa64 832(%rdi), %zmm304083; AVX512DQ-NEXT: vmovdqa64 768(%rdi), %zmm64084; AVX512DQ-NEXT: vmovdqa64 704(%rdi), %zmm04085; AVX512DQ-NEXT: vmovdqa64 640(%rdi), %zmm264086; AVX512DQ-NEXT: vmovdqa64 576(%rdi), %zmm34087; AVX512DQ-NEXT: vmovdqa64 512(%rdi), %zmm274088; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm24089; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm134090; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm154091; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm84092; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm294093; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm94094; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm284095; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm14096; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]4097; AVX512DQ-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]4098; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm314099; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm18, %zmm314100; AVX512DQ-NEXT: movb $24, %r11b4101; AVX512DQ-NEXT: kmovw %r11d, %k24102; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm29[4,5,4,5]4103; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]4104; AVX512DQ-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4105; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm144106; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm16, %zmm144107; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]4108; AVX512DQ-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4109; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm17, %zmm144110; AVX512DQ-NEXT: movb $-32, %r11b4111; AVX512DQ-NEXT: kmovw %r11d, %k14112; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}4113; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm144114; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm18, %zmm144115; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm3[4,5,4,5],zmm26[4,5,4,5]4116; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm0, %zmm164117; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm17, %zmm164118; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}4119; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]4120; AVX512DQ-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4121; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm174122; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm24, %zmm174123; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]4124; AVX512DQ-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4125; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm164126; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm20, %zmm164127; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}4128; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]4129; AVX512DQ-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4130; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm174131; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm19, %zmm174132; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]4133; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4134; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm21, %zmm174135; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}4136; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm224137; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm24, %zmm224138; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm174139; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm20, %zmm174140; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}4141; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm0, %zmm194142; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm21, %zmm194143; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}4144; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]4145; AVX512DQ-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4146; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm214147; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm22, %zmm214148; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]4149; AVX512DQ-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4150; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm23, %zmm214151; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]4152; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4153; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm194154; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm25, %zmm194155; AVX512DQ-NEXT: vmovdqa 16(%rdi), %xmm54156; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4157; AVX512DQ-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm194158; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}4159; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm0, %zmm224160; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm23, %zmm224161; AVX512DQ-NEXT: vpermi2q %zmm26, %zmm3, %zmm254162; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4163; AVX512DQ-NEXT: vmovdqa 464(%rdi), %xmm54164; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4165; AVX512DQ-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm214166; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}4167; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm54168; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm24, %zmm54169; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]4170; AVX512DQ-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4171; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm23, %zmm54172; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]4173; AVX512DQ-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4174; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm224175; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm25, %zmm224176; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm44177; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]4178; AVX512DQ-NEXT: vextracti128 $1, %ymm4, %xmm44179; AVX512DQ-NEXT: vinserti32x4 $0, %xmm4, %zmm22, %zmm224180; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}4181; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm0, %zmm244182; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm23, %zmm244183; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm26, %zmm254184; AVX512DQ-NEXT: vmovdqa 512(%rdi), %ymm44185; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]4186; AVX512DQ-NEXT: vextracti128 $1, %ymm4, %xmm44187; AVX512DQ-NEXT: vinserti32x4 $0, %xmm4, %zmm25, %zmm234188; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4189; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm44190; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm18, %zmm44191; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,5,6,13,4,5,6,13]4192; AVX512DQ-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4193; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm5, %zmm44194; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm114195; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm124196; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]4197; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]4198; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm104199; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm3, %zmm104200; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]4201; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm4, %zmm244202; AVX512DQ-NEXT: vpermi2q %zmm6, %zmm0, %zmm184203; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm5, %zmm184204; AVX512DQ-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44205; AVX512DQ-NEXT: vmovdqa 576(%rdi), %ymm54206; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4207; AVX512DQ-NEXT: vpermi2q %zmm27, %zmm2, %zmm34208; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]4209; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm34210; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm44211; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm20, %zmm44212; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,6,14,4,5,6,14]4213; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4214; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm10, %zmm44215; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm114216; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm11 = ymm12[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]4217; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm12 = [5,12]4218; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm74219; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm12, %zmm74220; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4221; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm44222; AVX512DQ-NEXT: vpermi2q %zmm0, %zmm6, %zmm204223; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm10, %zmm204224; AVX512DQ-NEXT: vmovdqa 640(%rdi), %ymm74225; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]4226; AVX512DQ-NEXT: vpermi2q %zmm27, %zmm2, %zmm124227; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]4228; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm20, %zmm54229; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,9,2,9,2,9,2,9]4230; AVX512DQ-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4231; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm7, %zmm84232; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4233; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4234; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm10, %zmm84235; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4236; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm11, %zmm94237; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4238; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm12, %zmm14239; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4240; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14241; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm7, %zmm04242; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm10, %zmm04243; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload4244; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm11, %zmm64245; AVX512DQ-NEXT: vpermt2q %zmm27, %zmm12, %zmm24246; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]4247; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04248; AVX512DQ-NEXT: vmovdqa64 %zmm14, 64(%rsi)4249; AVX512DQ-NEXT: vmovdqa64 %zmm31, (%rsi)4250; AVX512DQ-NEXT: vmovdqa64 %zmm17, 64(%rdx)4251; AVX512DQ-NEXT: vmovdqa64 %zmm16, (%rdx)4252; AVX512DQ-NEXT: vmovdqa64 %zmm21, 64(%rcx)4253; AVX512DQ-NEXT: vmovdqa64 %zmm19, (%rcx)4254; AVX512DQ-NEXT: vmovdqa64 %zmm23, 64(%r8)4255; AVX512DQ-NEXT: vmovdqa64 %zmm22, (%r8)4256; AVX512DQ-NEXT: vmovdqa64 %zmm3, 64(%r9)4257; AVX512DQ-NEXT: vmovdqa64 %zmm24, (%r9)4258; AVX512DQ-NEXT: vmovdqa64 %zmm5, 64(%r10)4259; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%r10)4260; AVX512DQ-NEXT: vmovdqa64 %zmm0, 64(%rax)4261; AVX512DQ-NEXT: vmovdqa64 %zmm1, (%rax)4262; AVX512DQ-NEXT: vzeroupper4263; AVX512DQ-NEXT: retq4264;4265; AVX512DQ-FCP-LABEL: load_i64_stride7_vf16:4266; AVX512DQ-FCP: # %bb.0:4267; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4268; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r104269; AVX512DQ-FCP-NEXT: vmovdqa64 832(%rdi), %zmm304270; AVX512DQ-FCP-NEXT: vmovdqa64 768(%rdi), %zmm64271; AVX512DQ-FCP-NEXT: vmovdqa64 704(%rdi), %zmm04272; AVX512DQ-FCP-NEXT: vmovdqa64 640(%rdi), %zmm264273; AVX512DQ-FCP-NEXT: vmovdqa64 576(%rdi), %zmm34274; AVX512DQ-FCP-NEXT: vmovdqa64 512(%rdi), %zmm274275; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm24276; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm134277; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm154278; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm84279; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm294280; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm94281; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm284282; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm14283; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]4284; AVX512DQ-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]4285; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm314286; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm314287; AVX512DQ-FCP-NEXT: movb $24, %r11b4288; AVX512DQ-FCP-NEXT: kmovw %r11d, %k24289; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm29[4,5,4,5]4290; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]4291; AVX512DQ-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4292; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm144293; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm16, %zmm144294; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]4295; AVX512DQ-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4296; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm144297; AVX512DQ-FCP-NEXT: movb $-32, %r11b4298; AVX512DQ-FCP-NEXT: kmovw %r11d, %k14299; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}4300; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm144301; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm18, %zmm144302; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm3[4,5,4,5],zmm26[4,5,4,5]4303; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm164304; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm17, %zmm164305; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}4306; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]4307; AVX512DQ-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4308; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm174309; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm24, %zmm174310; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]4311; AVX512DQ-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4312; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm164313; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm164314; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}4315; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]4316; AVX512DQ-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4317; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm174318; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm19, %zmm174319; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]4320; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4321; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm174322; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}4323; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm224324; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm224325; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm174326; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm174327; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}4328; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm194329; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm194330; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}4331; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]4332; AVX512DQ-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4333; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm214334; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm22, %zmm214335; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]4336; AVX512DQ-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4337; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm214338; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]4339; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4340; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm194341; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm194342; AVX512DQ-FCP-NEXT: vmovdqa 16(%rdi), %xmm54343; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4344; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm194345; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}4346; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm224347; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm23, %zmm224348; AVX512DQ-FCP-NEXT: vpermi2q %zmm26, %zmm3, %zmm254349; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4350; AVX512DQ-FCP-NEXT: vmovdqa 464(%rdi), %xmm54351; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4352; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm214353; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}4354; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm54355; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm54356; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]4357; AVX512DQ-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4358; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm54359; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]4360; AVX512DQ-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4361; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm224362; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm25, %zmm224363; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm44364; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]4365; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm4, %xmm44366; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm4, %zmm22, %zmm224367; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}4368; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm244369; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm23, %zmm244370; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm26, %zmm254371; AVX512DQ-FCP-NEXT: vmovdqa 512(%rdi), %ymm44372; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm4 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]4373; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm4, %xmm44374; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm4, %zmm25, %zmm234375; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4376; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm44377; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm44378; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm5 = [4,5,6,13,4,5,6,13]4379; AVX512DQ-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3]4380; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm5, %zmm44381; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm114382; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm124383; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]4384; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]4385; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm104386; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm3, %zmm104387; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]4388; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm4, %zmm244389; AVX512DQ-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm184390; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm5, %zmm184391; AVX512DQ-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44392; AVX512DQ-FCP-NEXT: vmovdqa 576(%rdi), %ymm54393; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4394; AVX512DQ-FCP-NEXT: vpermi2q %zmm27, %zmm2, %zmm34395; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]4396; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm18, %zmm34397; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm44398; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm44399; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,6,14,4,5,6,14]4400; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4401; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm44402; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm114403; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm12[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]4404; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [5,12]4405; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm74406; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm74407; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4408; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm4, %zmm44409; AVX512DQ-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm204410; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm10, %zmm204411; AVX512DQ-FCP-NEXT: vmovdqa 640(%rdi), %ymm74412; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm7[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm7[16,17,18,19,20,21,22,23]4413; AVX512DQ-FCP-NEXT: vpermi2q %zmm27, %zmm2, %zmm124414; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm12[0,1,2,3],ymm5[4,5,6,7]4415; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm20, %zmm54416; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [2,9,2,9,2,9,2,9]4417; AVX512DQ-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4418; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm7, %zmm84419; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4420; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4421; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm84422; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4423; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm11, %zmm94424; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4425; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm14426; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4427; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14428; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm7, %zmm04429; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm10, %zmm04430; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload4431; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm64432; AVX512DQ-FCP-NEXT: vpermt2q %zmm27, %zmm12, %zmm24433; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm6[4,5,6,7]4434; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04435; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 64(%rsi)4436; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, (%rsi)4437; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 64(%rdx)4438; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, (%rdx)4439; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, 64(%rcx)4440; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)4441; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, 64(%r8)4442; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, (%r8)4443; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 64(%r9)4444; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, (%r9)4445; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 64(%r10)4446; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, (%r10)4447; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 64(%rax)4448; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, (%rax)4449; AVX512DQ-FCP-NEXT: vzeroupper4450; AVX512DQ-FCP-NEXT: retq4451;4452; AVX512BW-LABEL: load_i64_stride7_vf16:4453; AVX512BW: # %bb.0:4454; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax4455; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r104456; AVX512BW-NEXT: vmovdqa64 832(%rdi), %zmm34457; AVX512BW-NEXT: vmovdqa64 768(%rdi), %zmm64458; AVX512BW-NEXT: vmovdqa64 704(%rdi), %zmm04459; AVX512BW-NEXT: vmovdqa64 640(%rdi), %zmm264460; AVX512BW-NEXT: vmovdqa64 576(%rdi), %zmm44461; AVX512BW-NEXT: vmovdqa64 512(%rdi), %zmm284462; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm24463; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm134464; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm154465; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm84466; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm304467; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm94468; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm294469; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm14470; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]4471; AVX512BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]4472; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm314473; AVX512BW-NEXT: vpermt2q %zmm29, %zmm18, %zmm314474; AVX512BW-NEXT: movb $24, %r11b4475; AVX512BW-NEXT: kmovd %r11d, %k24476; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm30[4,5,4,5]4477; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]4478; AVX512BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4479; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm144480; AVX512BW-NEXT: vpermt2q %zmm15, %zmm16, %zmm144481; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]4482; AVX512BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4483; AVX512BW-NEXT: vpermt2q %zmm13, %zmm17, %zmm144484; AVX512BW-NEXT: movb $-32, %r11b4485; AVX512BW-NEXT: kmovd %r11d, %k14486; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}4487; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm144488; AVX512BW-NEXT: vpermt2q %zmm28, %zmm18, %zmm144489; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm4[4,5,4,5],zmm26[4,5,4,5]4490; AVX512BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm164491; AVX512BW-NEXT: vpermt2q %zmm3, %zmm17, %zmm164492; AVX512BW-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}4493; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]4494; AVX512BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4495; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm174496; AVX512BW-NEXT: vpermt2q %zmm30, %zmm24, %zmm174497; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]4498; AVX512BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4499; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm164500; AVX512BW-NEXT: vpermt2q %zmm1, %zmm20, %zmm164501; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}4502; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]4503; AVX512BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4504; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm174505; AVX512BW-NEXT: vpermt2q %zmm15, %zmm19, %zmm174506; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]4507; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4508; AVX512BW-NEXT: vpermt2q %zmm13, %zmm21, %zmm174509; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}4510; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm224511; AVX512BW-NEXT: vpermt2q %zmm26, %zmm24, %zmm224512; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm174513; AVX512BW-NEXT: vpermt2q %zmm2, %zmm20, %zmm174514; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}4515; AVX512BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm194516; AVX512BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm194517; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}4518; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]4519; AVX512BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4520; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm214521; AVX512BW-NEXT: vpermt2q %zmm15, %zmm22, %zmm214522; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]4523; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4524; AVX512BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm214525; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]4526; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4527; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm194528; AVX512BW-NEXT: vpermt2q %zmm30, %zmm25, %zmm194529; AVX512BW-NEXT: vmovdqa 16(%rdi), %xmm54530; AVX512BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4531; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm194532; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}4533; AVX512BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm224534; AVX512BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm224535; AVX512BW-NEXT: vpermi2q %zmm26, %zmm4, %zmm254536; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4537; AVX512BW-NEXT: vmovdqa 464(%rdi), %xmm54538; AVX512BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4539; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm214540; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}4541; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm54542; AVX512BW-NEXT: vpermt2q %zmm15, %zmm24, %zmm54543; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]4544; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4545; AVX512BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm54546; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]4547; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4548; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm224549; AVX512BW-NEXT: vpermt2q %zmm9, %zmm25, %zmm224550; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm274551; AVX512BW-NEXT: vpalignr {{.*#+}} ymm27 = mem[8,9,10,11,12,13,14,15],ymm27[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm27[16,17,18,19,20,21,22,23]4552; AVX512BW-NEXT: vextracti32x4 $1, %ymm27, %xmm274553; AVX512BW-NEXT: vinserti32x4 $0, %xmm27, %zmm22, %zmm224554; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}4555; AVX512BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm244556; AVX512BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm244557; AVX512BW-NEXT: vpermi2q %zmm4, %zmm26, %zmm254558; AVX512BW-NEXT: vmovdqa 512(%rdi), %ymm54559; AVX512BW-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]4560; AVX512BW-NEXT: vextracti128 $1, %ymm5, %xmm54561; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm234562; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4563; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm54564; AVX512BW-NEXT: vpermt2q %zmm15, %zmm18, %zmm54565; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [4,5,6,13,4,5,6,13]4566; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4567; AVX512BW-NEXT: vpermt2q %zmm13, %zmm25, %zmm54568; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm44569; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm114570; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3,4,5],ymm4[6,7]4571; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [4,11]4572; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm104573; AVX512BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm104574; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm4[4,5,6,7]4575; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm244576; AVX512BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm184577; AVX512BW-NEXT: vpermt2q %zmm3, %zmm25, %zmm184578; AVX512BW-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44579; AVX512BW-NEXT: vmovdqa 576(%rdi), %ymm54580; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4581; AVX512BW-NEXT: vpermi2q %zmm28, %zmm2, %zmm124582; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]4583; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm18, %zmm254584; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm104585; AVX512BW-NEXT: vpermt2q %zmm8, %zmm20, %zmm104586; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,5,6,14,4,5,6,14]4587; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]4588; AVX512BW-NEXT: vpermt2q %zmm13, %zmm12, %zmm104589; AVX512BW-NEXT: vmovdqa64 192(%rdi), %ymm184590; AVX512BW-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm18[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm18[16,17,18,19,20,21,22,23]4591; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm4 = [5,12]4592; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm74593; AVX512BW-NEXT: vpermt2q %zmm29, %zmm4, %zmm74594; AVX512BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4595; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm74596; AVX512BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm204597; AVX512BW-NEXT: vpermt2q %zmm3, %zmm12, %zmm204598; AVX512BW-NEXT: vmovdqa 640(%rdi), %ymm104599; AVX512BW-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]4600; AVX512BW-NEXT: vpermi2q %zmm28, %zmm2, %zmm44601; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4602; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm44603; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [2,9,2,9,2,9,2,9]4604; AVX512BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4605; AVX512BW-NEXT: vpermt2q %zmm15, %zmm5, %zmm84606; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4607; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4608; AVX512BW-NEXT: vpermt2q %zmm13, %zmm10, %zmm84609; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4610; AVX512BW-NEXT: vpermt2q %zmm30, %zmm11, %zmm94611; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4612; AVX512BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm14613; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4614; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14615; AVX512BW-NEXT: vpermt2q %zmm6, %zmm5, %zmm04616; AVX512BW-NEXT: vpermt2q %zmm3, %zmm10, %zmm04617; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload4618; AVX512BW-NEXT: vpermt2q %zmm26, %zmm11, %zmm34619; AVX512BW-NEXT: vpermt2q %zmm28, %zmm12, %zmm24620; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]4621; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04622; AVX512BW-NEXT: vmovdqa64 %zmm14, 64(%rsi)4623; AVX512BW-NEXT: vmovdqa64 %zmm31, (%rsi)4624; AVX512BW-NEXT: vmovdqa64 %zmm17, 64(%rdx)4625; AVX512BW-NEXT: vmovdqa64 %zmm16, (%rdx)4626; AVX512BW-NEXT: vmovdqa64 %zmm21, 64(%rcx)4627; AVX512BW-NEXT: vmovdqa64 %zmm19, (%rcx)4628; AVX512BW-NEXT: vmovdqa64 %zmm23, 64(%r8)4629; AVX512BW-NEXT: vmovdqa64 %zmm22, (%r8)4630; AVX512BW-NEXT: vmovdqa64 %zmm25, 64(%r9)4631; AVX512BW-NEXT: vmovdqa64 %zmm24, (%r9)4632; AVX512BW-NEXT: vmovdqa64 %zmm4, 64(%r10)4633; AVX512BW-NEXT: vmovdqa64 %zmm7, (%r10)4634; AVX512BW-NEXT: vmovdqa64 %zmm0, 64(%rax)4635; AVX512BW-NEXT: vmovdqa64 %zmm1, (%rax)4636; AVX512BW-NEXT: vzeroupper4637; AVX512BW-NEXT: retq4638;4639; AVX512BW-FCP-LABEL: load_i64_stride7_vf16:4640; AVX512BW-FCP: # %bb.0:4641; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4642; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r104643; AVX512BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm34644; AVX512BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm64645; AVX512BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm04646; AVX512BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm264647; AVX512BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm44648; AVX512BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm284649; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm24650; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm134651; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm154652; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm84653; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm304654; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm94655; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm294656; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm14657; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]4658; AVX512BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]4659; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm314660; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm18, %zmm314661; AVX512BW-FCP-NEXT: movb $24, %r11b4662; AVX512BW-FCP-NEXT: kmovd %r11d, %k24663; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm30[4,5,4,5]4664; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]4665; AVX512BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4666; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm144667; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm16, %zmm144668; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]4669; AVX512BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4670; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm144671; AVX512BW-FCP-NEXT: movb $-32, %r11b4672; AVX512BW-FCP-NEXT: kmovd %r11d, %k14673; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}4674; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm144675; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm144676; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm4[4,5,4,5],zmm26[4,5,4,5]4677; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm164678; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm164679; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}4680; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]4681; AVX512BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4682; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm174683; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm24, %zmm174684; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]4685; AVX512BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4686; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm164687; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm164688; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}4689; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]4690; AVX512BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4691; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm174692; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm19, %zmm174693; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]4694; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4695; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm174696; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}4697; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm224698; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm224699; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm174700; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm174701; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}4702; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm194703; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm194704; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}4705; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]4706; AVX512BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4707; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm214708; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm22, %zmm214709; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]4710; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4711; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm214712; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]4713; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4714; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm194715; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm25, %zmm194716; AVX512BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm54717; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4718; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm194719; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}4720; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm224721; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm224722; AVX512BW-FCP-NEXT: vpermi2q %zmm26, %zmm4, %zmm254723; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4724; AVX512BW-FCP-NEXT: vmovdqa 464(%rdi), %xmm54725; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4726; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm214727; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}4728; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm54729; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm54730; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]4731; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4732; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm54733; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]4734; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4735; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm224736; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm25, %zmm224737; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm274738; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm27 = mem[8,9,10,11,12,13,14,15],ymm27[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm27[16,17,18,19,20,21,22,23]4739; AVX512BW-FCP-NEXT: vextracti32x4 $1, %ymm27, %xmm274740; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm27, %zmm22, %zmm224741; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}4742; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm244743; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm244744; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm26, %zmm254745; AVX512BW-FCP-NEXT: vmovdqa 512(%rdi), %ymm54746; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]4747; AVX512BW-FCP-NEXT: vextracti128 $1, %ymm5, %xmm54748; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm234749; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4750; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm54751; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm54752; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [4,5,6,13,4,5,6,13]4753; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4754; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm54755; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm44756; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm114757; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3,4,5],ymm4[6,7]4758; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [4,11]4759; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm104760; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm104761; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm4[4,5,6,7]4762; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm244763; AVX512BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm184764; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm25, %zmm184765; AVX512BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44766; AVX512BW-FCP-NEXT: vmovdqa 576(%rdi), %ymm54767; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4768; AVX512BW-FCP-NEXT: vpermi2q %zmm28, %zmm2, %zmm124769; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]4770; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm18, %zmm254771; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm104772; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm104773; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,5,6,14,4,5,6,14]4774; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]4775; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm12, %zmm104776; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm184777; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm18[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm18[16,17,18,19,20,21,22,23]4778; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm4 = [5,12]4779; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm74780; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm4, %zmm74781; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4782; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm74783; AVX512BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm204784; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm12, %zmm204785; AVX512BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm104786; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]4787; AVX512BW-FCP-NEXT: vpermi2q %zmm28, %zmm2, %zmm44788; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4789; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm44790; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [2,9,2,9,2,9,2,9]4791; AVX512BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4792; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm5, %zmm84793; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4794; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4795; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm84796; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4797; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm11, %zmm94798; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4799; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm14800; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4801; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14802; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm5, %zmm04803; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm10, %zmm04804; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload4805; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm34806; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm24807; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]4808; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04809; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 64(%rsi)4810; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, (%rsi)4811; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, 64(%rdx)4812; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, (%rdx)4813; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, 64(%rcx)4814; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)4815; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, 64(%r8)4816; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, (%r8)4817; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)4818; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, (%r9)4819; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%r10)4820; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, (%r10)4821; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 64(%rax)4822; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, (%rax)4823; AVX512BW-FCP-NEXT: vzeroupper4824; AVX512BW-FCP-NEXT: retq4825;4826; AVX512DQ-BW-LABEL: load_i64_stride7_vf16:4827; AVX512DQ-BW: # %bb.0:4828; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax4829; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r104830; AVX512DQ-BW-NEXT: vmovdqa64 832(%rdi), %zmm34831; AVX512DQ-BW-NEXT: vmovdqa64 768(%rdi), %zmm64832; AVX512DQ-BW-NEXT: vmovdqa64 704(%rdi), %zmm04833; AVX512DQ-BW-NEXT: vmovdqa64 640(%rdi), %zmm264834; AVX512DQ-BW-NEXT: vmovdqa64 576(%rdi), %zmm44835; AVX512DQ-BW-NEXT: vmovdqa64 512(%rdi), %zmm284836; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm24837; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm134838; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm154839; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm84840; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm304841; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm94842; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm294843; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm14844; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]4845; AVX512DQ-BW-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]4846; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm314847; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm18, %zmm314848; AVX512DQ-BW-NEXT: movb $24, %r11b4849; AVX512DQ-BW-NEXT: kmovd %r11d, %k24850; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm30[4,5,4,5]4851; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]4852; AVX512DQ-BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4853; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm144854; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm16, %zmm144855; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]4856; AVX512DQ-BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]4857; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm17, %zmm144858; AVX512DQ-BW-NEXT: movb $-32, %r11b4859; AVX512DQ-BW-NEXT: kmovd %r11d, %k14860; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}4861; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm144862; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm18, %zmm144863; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm4[4,5,4,5],zmm26[4,5,4,5]4864; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm164865; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm17, %zmm164866; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}4867; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]4868; AVX512DQ-BW-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4869; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm174870; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm24, %zmm174871; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]4872; AVX512DQ-BW-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]4873; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm164874; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm20, %zmm164875; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}4876; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]4877; AVX512DQ-BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4878; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm174879; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm19, %zmm174880; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]4881; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]4882; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm21, %zmm174883; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}4884; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm224885; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm24, %zmm224886; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm174887; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm20, %zmm174888; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}4889; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm194890; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm194891; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}4892; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]4893; AVX512DQ-BW-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4894; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm214895; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm22, %zmm214896; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]4897; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4898; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm214899; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]4900; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4901; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm194902; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm25, %zmm194903; AVX512DQ-BW-NEXT: vmovdqa 16(%rdi), %xmm54904; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4905; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm194906; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}4907; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm224908; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm224909; AVX512DQ-BW-NEXT: vpermi2q %zmm26, %zmm4, %zmm254910; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4911; AVX512DQ-BW-NEXT: vmovdqa 464(%rdi), %xmm54912; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]4913; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm214914; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}4915; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm54916; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm24, %zmm54917; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]4918; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]4919; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm54920; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]4921; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4922; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm224923; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm25, %zmm224924; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm274925; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm27 = mem[8,9,10,11,12,13,14,15],ymm27[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm27[16,17,18,19,20,21,22,23]4926; AVX512DQ-BW-NEXT: vextracti32x4 $1, %ymm27, %xmm274927; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm27, %zmm22, %zmm224928; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}4929; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm244930; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm23, %zmm244931; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm26, %zmm254932; AVX512DQ-BW-NEXT: vmovdqa 512(%rdi), %ymm54933; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]4934; AVX512DQ-BW-NEXT: vextracti128 $1, %ymm5, %xmm54935; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm234936; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}4937; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm54938; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm18, %zmm54939; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [4,5,6,13,4,5,6,13]4940; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]4941; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm25, %zmm54942; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm44943; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm114944; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3,4,5],ymm4[6,7]4945; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [4,11]4946; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm104947; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm104948; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm4[4,5,6,7]4949; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm244950; AVX512DQ-BW-NEXT: vpermi2q %zmm6, %zmm0, %zmm184951; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm25, %zmm184952; AVX512DQ-BW-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm44953; AVX512DQ-BW-NEXT: vmovdqa 576(%rdi), %ymm54954; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]4955; AVX512DQ-BW-NEXT: vpermi2q %zmm28, %zmm2, %zmm124956; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]4957; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm18, %zmm254958; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm104959; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm20, %zmm104960; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,5,6,14,4,5,6,14]4961; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]4962; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm12, %zmm104963; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %ymm184964; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm18[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm18[16,17,18,19,20,21,22,23]4965; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm4 = [5,12]4966; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm74967; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm4, %zmm74968; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]4969; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm74970; AVX512DQ-BW-NEXT: vpermi2q %zmm0, %zmm6, %zmm204971; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm12, %zmm204972; AVX512DQ-BW-NEXT: vmovdqa 640(%rdi), %ymm104973; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]4974; AVX512DQ-BW-NEXT: vpermi2q %zmm28, %zmm2, %zmm44975; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4976; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm44977; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [2,9,2,9,2,9,2,9]4978; AVX512DQ-BW-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4979; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm5, %zmm84980; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]4981; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]4982; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm10, %zmm84983; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]4984; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm11, %zmm94985; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]4986; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm12, %zmm14987; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]4988; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm14989; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm5, %zmm04990; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm10, %zmm04991; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload4992; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm11, %zmm34993; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm12, %zmm24994; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]4995; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm04996; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 64(%rsi)4997; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, (%rsi)4998; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, 64(%rdx)4999; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, (%rdx)5000; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, 64(%rcx)5001; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, (%rcx)5002; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, 64(%r8)5003; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, (%r8)5004; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 64(%r9)5005; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, (%r9)5006; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 64(%r10)5007; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, (%r10)5008; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 64(%rax)5009; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, (%rax)5010; AVX512DQ-BW-NEXT: vzeroupper5011; AVX512DQ-BW-NEXT: retq5012;5013; AVX512DQ-BW-FCP-LABEL: load_i64_stride7_vf16:5014; AVX512DQ-BW-FCP: # %bb.0:5015; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5016; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r105017; AVX512DQ-BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm35018; AVX512DQ-BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm65019; AVX512DQ-BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm05020; AVX512DQ-BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm265021; AVX512DQ-BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm45022; AVX512DQ-BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm285023; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm25024; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm135025; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm155026; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm85027; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm305028; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm95029; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm295030; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm15031; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm18 = [0,7,14,0,0,7,14,0]5032; AVX512DQ-BW-FCP-NEXT: # zmm18 = mem[0,1,2,3,0,1,2,3]5033; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm315034; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm18, %zmm315035; AVX512DQ-BW-FCP-NEXT: movb $24, %r11b5036; AVX512DQ-BW-FCP-NEXT: kmovd %r11d, %k25037; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm31 {%k2} = zmm9[4,5,4,5],zmm30[4,5,4,5]5038; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [10,3,10,3,10,3,10,3]5039; AVX512DQ-BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5040; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm145041; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm16, %zmm145042; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm17 = [0,5,6,9,0,5,6,9]5043; AVX512DQ-BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3]5044; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm145045; AVX512DQ-BW-FCP-NEXT: movb $-32, %r11b5046; AVX512DQ-BW-FCP-NEXT: kmovd %r11d, %k15047; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm31 {%k1}5048; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm145049; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm18, %zmm145050; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k2} = zmm4[4,5,4,5],zmm26[4,5,4,5]5051; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm165052; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm17, %zmm165053; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, %zmm14 {%k1}5054; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm24 = [13,6,13,6,13,6,13,6]5055; AVX512DQ-BW-FCP-NEXT: # zmm24 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5056; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm175057; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm24, %zmm175058; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm20 = [9,0,7,0,9,0,7,0]5059; AVX512DQ-BW-FCP-NEXT: # zmm20 = mem[0,1,2,3,0,1,2,3]5060; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm165061; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm20, %zmm165062; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k2}5063; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [11,4,11,4,11,4,11,4]5064; AVX512DQ-BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5065; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm175066; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm19, %zmm175067; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm21 = [0,5,6,10,0,5,6,10]5068; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3]5069; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm21, %zmm175070; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm16 {%k1}5071; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm225072; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm24, %zmm225073; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm175074; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm20, %zmm175075; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}5076; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm195077; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm195078; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm17 {%k1}5079; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]5080; AVX512DQ-BW-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5081; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm215082; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm22, %zmm215083; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,11,0,5,6,11]5084; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]5085; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm215086; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [14,0,0,7,14,0,0,7]5087; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]5088; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm195089; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm25, %zmm195090; AVX512DQ-BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm55091; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]5092; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm195093; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm19 {%k1}5094; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm225095; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm225096; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm26, %zmm4, %zmm255097; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5098; AVX512DQ-BW-FCP-NEXT: vmovdqa 464(%rdi), %xmm55099; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]5100; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm215101; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm21 {%k1}5102; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm55103; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm24, %zmm55104; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm23 = [0,5,6,12,0,5,6,12]5105; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3]5106; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm55107; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [7,0,9,0,7,0,9,0]5108; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]5109; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm225110; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm25, %zmm225111; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm275112; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm27 = mem[8,9,10,11,12,13,14,15],ymm27[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm27[16,17,18,19,20,21,22,23]5113; AVX512DQ-BW-FCP-NEXT: vextracti32x4 $1, %ymm27, %xmm275114; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm27, %zmm22, %zmm225115; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm22 {%k1}5116; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm245117; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm23, %zmm245118; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm26, %zmm255119; AVX512DQ-BW-FCP-NEXT: vmovdqa 512(%rdi), %ymm55120; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]5121; AVX512DQ-BW-FCP-NEXT: vextracti128 $1, %ymm5, %xmm55122; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm25, %zmm235123; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm23 {%k1}5124; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm55125; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm18, %zmm55126; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [4,5,6,13,4,5,6,13]5127; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]5128; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm25, %zmm55129; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm45130; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm115131; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3,4,5],ymm4[6,7]5132; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [4,11]5133; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm105134; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm105135; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3],ymm4[4,5,6,7]5136; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm245137; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm6, %zmm0, %zmm185138; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm25, %zmm185139; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm45140; AVX512DQ-BW-FCP-NEXT: vmovdqa 576(%rdi), %ymm55141; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]5142; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm28, %zmm2, %zmm125143; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]5144; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm18, %zmm255145; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm105146; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm20, %zmm105147; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm12 = [4,5,6,14,4,5,6,14]5148; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3]5149; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm12, %zmm105150; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm185151; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm18[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm18[16,17,18,19,20,21,22,23]5152; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm4 = [5,12]5153; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm75154; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm4, %zmm75155; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm11[4,5,6,7]5156; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm75157; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm0, %zmm6, %zmm205158; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm12, %zmm205159; AVX512DQ-BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm105160; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm5[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]5161; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm28, %zmm2, %zmm45162; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]5163; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm20, %zmm45164; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm5 = [2,9,2,9,2,9,2,9]5165; AVX512DQ-BW-FCP-NEXT: # zmm5 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5166; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm5, %zmm85167; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [4,5,8,15,4,5,8,15]5168; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]5169; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm10, %zmm85170; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,4,11]5171; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm11, %zmm95172; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm12 = [6,13]5173; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm12, %zmm15174; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm9[4,5,6,7]5175; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm8, %zmm15176; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm5, %zmm05177; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm10, %zmm05178; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload5179; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm35180; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm12, %zmm25181; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]5182; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm0, %zmm05183; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 64(%rsi)5184; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, (%rsi)5185; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, 64(%rdx)5186; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, (%rdx)5187; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, 64(%rcx)5188; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)5189; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, 64(%r8)5190; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, (%r8)5191; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)5192; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, (%r9)5193; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%r10)5194; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, (%r10)5195; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 64(%rax)5196; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, (%rax)5197; AVX512DQ-BW-FCP-NEXT: vzeroupper5198; AVX512DQ-BW-FCP-NEXT: retq5199 %wide.vec = load <112 x i64>, ptr %in.vec, align 645200 %strided.vec0 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49, i32 56, i32 63, i32 70, i32 77, i32 84, i32 91, i32 98, i32 105>5201 %strided.vec1 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50, i32 57, i32 64, i32 71, i32 78, i32 85, i32 92, i32 99, i32 106>5202 %strided.vec2 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51, i32 58, i32 65, i32 72, i32 79, i32 86, i32 93, i32 100, i32 107>5203 %strided.vec3 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52, i32 59, i32 66, i32 73, i32 80, i32 87, i32 94, i32 101, i32 108>5204 %strided.vec4 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53, i32 60, i32 67, i32 74, i32 81, i32 88, i32 95, i32 102, i32 109>5205 %strided.vec5 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54, i32 61, i32 68, i32 75, i32 82, i32 89, i32 96, i32 103, i32 110>5206 %strided.vec6 = shufflevector <112 x i64> %wide.vec, <112 x i64> poison, <16 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55, i32 62, i32 69, i32 76, i32 83, i32 90, i32 97, i32 104, i32 111>5207 store <16 x i64> %strided.vec0, ptr %out.vec0, align 645208 store <16 x i64> %strided.vec1, ptr %out.vec1, align 645209 store <16 x i64> %strided.vec2, ptr %out.vec2, align 645210 store <16 x i64> %strided.vec3, ptr %out.vec3, align 645211 store <16 x i64> %strided.vec4, ptr %out.vec4, align 645212 store <16 x i64> %strided.vec5, ptr %out.vec5, align 645213 store <16 x i64> %strided.vec6, ptr %out.vec6, align 645214 ret void5215}5216 5217define void @load_i64_stride7_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {5218; SSE-LABEL: load_i64_stride7_vf32:5219; SSE: # %bb.0:5220; SSE-NEXT: subq $1448, %rsp # imm = 0x5A85221; SSE-NEXT: movapd 208(%rdi), %xmm35222; SSE-NEXT: movapd 96(%rdi), %xmm25223; SSE-NEXT: movapd 144(%rdi), %xmm45224; SSE-NEXT: movapd 192(%rdi), %xmm65225; SSE-NEXT: movapd 80(%rdi), %xmm55226; SSE-NEXT: movapd 128(%rdi), %xmm85227; SSE-NEXT: movapd 64(%rdi), %xmm105228; SSE-NEXT: movapd 176(%rdi), %xmm115229; SSE-NEXT: movapd (%rdi), %xmm125230; SSE-NEXT: movapd 16(%rdi), %xmm95231; SSE-NEXT: movapd 32(%rdi), %xmm75232; SSE-NEXT: movapd 48(%rdi), %xmm05233; SSE-NEXT: movapd 224(%rdi), %xmm135234; SSE-NEXT: movapd 112(%rdi), %xmm145235; SSE-NEXT: movapd 160(%rdi), %xmm15236; SSE-NEXT: movapd %xmm0, %xmm155237; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm12[0],xmm15[1]5238; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5239; SSE-NEXT: shufpd {{.*#+}} xmm12 = xmm12[1],xmm10[0]5240; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5241; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm9[0],xmm10[1]5242; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5243; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm5[0]5244; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5245; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm7[0],xmm5[1]5246; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5247; SSE-NEXT: shufpd {{.*#+}} xmm7 = xmm7[1],xmm2[0]5248; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5249; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]5250; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5251; SSE-NEXT: movapd %xmm1, %xmm05252; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm14[0],xmm0[1]5253; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5254; SSE-NEXT: shufpd {{.*#+}} xmm14 = xmm14[1],xmm11[0]5255; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5256; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm8[0],xmm11[1]5257; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5258; SSE-NEXT: shufpd {{.*#+}} xmm8 = xmm8[1],xmm6[0]5259; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5260; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm4[0],xmm6[1]5261; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5262; SSE-NEXT: shufpd {{.*#+}} xmm4 = xmm4[1],xmm3[0]5263; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5264; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm1[0],xmm3[1]5265; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5266; SSE-NEXT: movapd 272(%rdi), %xmm05267; SSE-NEXT: movapd %xmm0, %xmm15268; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm13[0],xmm1[1]5269; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5270; SSE-NEXT: movapd 288(%rdi), %xmm15271; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm1[0]5272; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5273; SSE-NEXT: movapd 240(%rdi), %xmm25274; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5275; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5276; SSE-NEXT: movapd 304(%rdi), %xmm15277; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5278; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5279; SSE-NEXT: movapd 256(%rdi), %xmm25280; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5281; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5282; SSE-NEXT: movapd 320(%rdi), %xmm15283; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5284; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5285; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5286; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5287; SSE-NEXT: movapd 336(%rdi), %xmm25288; SSE-NEXT: movapd 384(%rdi), %xmm05289; SSE-NEXT: movapd %xmm0, %xmm15290; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5291; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5292; SSE-NEXT: movapd 400(%rdi), %xmm15293; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5294; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5295; SSE-NEXT: movapd 352(%rdi), %xmm25296; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5297; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5298; SSE-NEXT: movapd 416(%rdi), %xmm15299; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5300; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5301; SSE-NEXT: movapd 368(%rdi), %xmm25302; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5303; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5304; SSE-NEXT: movapd 432(%rdi), %xmm15305; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5306; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5307; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5308; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5309; SSE-NEXT: movapd 448(%rdi), %xmm25310; SSE-NEXT: movapd 496(%rdi), %xmm05311; SSE-NEXT: movapd %xmm0, %xmm15312; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5313; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5314; SSE-NEXT: movapd 512(%rdi), %xmm15315; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5316; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5317; SSE-NEXT: movapd 464(%rdi), %xmm25318; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5319; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5320; SSE-NEXT: movapd 528(%rdi), %xmm15321; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5322; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5323; SSE-NEXT: movapd 480(%rdi), %xmm25324; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5325; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5326; SSE-NEXT: movapd 544(%rdi), %xmm15327; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5328; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5329; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5330; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5331; SSE-NEXT: movapd 560(%rdi), %xmm25332; SSE-NEXT: movapd 608(%rdi), %xmm05333; SSE-NEXT: movapd %xmm0, %xmm15334; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5335; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5336; SSE-NEXT: movapd 624(%rdi), %xmm15337; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5338; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5339; SSE-NEXT: movapd 576(%rdi), %xmm25340; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5341; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5342; SSE-NEXT: movapd 640(%rdi), %xmm15343; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5344; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5345; SSE-NEXT: movapd 592(%rdi), %xmm25346; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5347; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5348; SSE-NEXT: movapd 656(%rdi), %xmm15349; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5350; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5351; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5352; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5353; SSE-NEXT: movapd 672(%rdi), %xmm25354; SSE-NEXT: movapd 720(%rdi), %xmm05355; SSE-NEXT: movapd %xmm0, %xmm15356; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5357; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5358; SSE-NEXT: movapd 736(%rdi), %xmm15359; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5360; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5361; SSE-NEXT: movapd 688(%rdi), %xmm25362; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5363; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5364; SSE-NEXT: movapd 752(%rdi), %xmm15365; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5366; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5367; SSE-NEXT: movapd 704(%rdi), %xmm25368; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5369; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5370; SSE-NEXT: movapd 768(%rdi), %xmm15371; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5372; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5373; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5374; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5375; SSE-NEXT: movapd 784(%rdi), %xmm25376; SSE-NEXT: movapd 832(%rdi), %xmm05377; SSE-NEXT: movapd %xmm0, %xmm15378; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5379; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5380; SSE-NEXT: movapd 848(%rdi), %xmm15381; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5382; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5383; SSE-NEXT: movapd 800(%rdi), %xmm25384; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5385; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5386; SSE-NEXT: movapd 864(%rdi), %xmm15387; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5388; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5389; SSE-NEXT: movapd 816(%rdi), %xmm25390; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5391; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5392; SSE-NEXT: movapd 880(%rdi), %xmm15393; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5394; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5395; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5396; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5397; SSE-NEXT: movapd 896(%rdi), %xmm25398; SSE-NEXT: movapd 944(%rdi), %xmm05399; SSE-NEXT: movapd %xmm0, %xmm15400; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5401; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5402; SSE-NEXT: movapd 960(%rdi), %xmm15403; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5404; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5405; SSE-NEXT: movapd 912(%rdi), %xmm25406; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5407; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5408; SSE-NEXT: movapd 976(%rdi), %xmm15409; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5410; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5411; SSE-NEXT: movapd 928(%rdi), %xmm25412; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5413; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5414; SSE-NEXT: movapd 992(%rdi), %xmm15415; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5416; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5417; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5418; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5419; SSE-NEXT: movapd 1008(%rdi), %xmm25420; SSE-NEXT: movapd 1056(%rdi), %xmm05421; SSE-NEXT: movapd %xmm0, %xmm15422; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5423; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5424; SSE-NEXT: movapd 1072(%rdi), %xmm15425; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5426; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5427; SSE-NEXT: movapd 1024(%rdi), %xmm25428; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5429; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5430; SSE-NEXT: movapd 1088(%rdi), %xmm15431; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5432; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5433; SSE-NEXT: movapd 1040(%rdi), %xmm25434; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5435; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5436; SSE-NEXT: movapd 1104(%rdi), %xmm15437; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5438; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5439; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5440; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5441; SSE-NEXT: movapd 1120(%rdi), %xmm25442; SSE-NEXT: movapd 1168(%rdi), %xmm05443; SSE-NEXT: movapd %xmm0, %xmm15444; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5445; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5446; SSE-NEXT: movapd 1184(%rdi), %xmm15447; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5448; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5449; SSE-NEXT: movapd 1136(%rdi), %xmm25450; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5451; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5452; SSE-NEXT: movapd 1200(%rdi), %xmm15453; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5454; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5455; SSE-NEXT: movapd 1152(%rdi), %xmm25456; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5457; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5458; SSE-NEXT: movapd 1216(%rdi), %xmm15459; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5460; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5461; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5462; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5463; SSE-NEXT: movapd 1232(%rdi), %xmm25464; SSE-NEXT: movapd 1280(%rdi), %xmm05465; SSE-NEXT: movapd %xmm0, %xmm15466; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5467; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5468; SSE-NEXT: movapd 1296(%rdi), %xmm15469; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5470; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5471; SSE-NEXT: movapd 1248(%rdi), %xmm25472; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5473; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5474; SSE-NEXT: movapd 1312(%rdi), %xmm15475; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5476; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5477; SSE-NEXT: movapd 1264(%rdi), %xmm25478; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5479; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5480; SSE-NEXT: movapd 1328(%rdi), %xmm15481; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5482; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5483; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5484; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5485; SSE-NEXT: movapd 1344(%rdi), %xmm145486; SSE-NEXT: movapd 1392(%rdi), %xmm05487; SSE-NEXT: movapd %xmm0, %xmm15488; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm14[0],xmm1[1]5489; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5490; SSE-NEXT: movapd 1408(%rdi), %xmm15491; SSE-NEXT: shufpd {{.*#+}} xmm14 = xmm14[1],xmm1[0]5492; SSE-NEXT: movapd 1360(%rdi), %xmm25493; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5494; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5495; SSE-NEXT: movapd 1424(%rdi), %xmm15496; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5497; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5498; SSE-NEXT: movapd 1376(%rdi), %xmm25499; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5500; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5501; SSE-NEXT: movapd 1440(%rdi), %xmm15502; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5503; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5504; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5505; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5506; SSE-NEXT: movapd 1456(%rdi), %xmm95507; SSE-NEXT: movapd 1504(%rdi), %xmm05508; SSE-NEXT: movapd %xmm0, %xmm125509; SSE-NEXT: movsd {{.*#+}} xmm12 = xmm9[0],xmm12[1]5510; SSE-NEXT: movapd 1520(%rdi), %xmm135511; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm13[0]5512; SSE-NEXT: movapd 1472(%rdi), %xmm25513; SSE-NEXT: movsd {{.*#+}} xmm13 = xmm2[0],xmm13[1]5514; SSE-NEXT: movapd 1536(%rdi), %xmm15515; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5516; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5517; SSE-NEXT: movapd 1488(%rdi), %xmm25518; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5519; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5520; SSE-NEXT: movapd 1552(%rdi), %xmm15521; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5522; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5523; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5524; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5525; SSE-NEXT: movapd 1568(%rdi), %xmm65526; SSE-NEXT: movapd 1616(%rdi), %xmm05527; SSE-NEXT: movapd %xmm0, %xmm45528; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm6[0],xmm4[1]5529; SSE-NEXT: movapd 1632(%rdi), %xmm85530; SSE-NEXT: shufpd {{.*#+}} xmm6 = xmm6[1],xmm8[0]5531; SSE-NEXT: movapd 1584(%rdi), %xmm115532; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm11[0],xmm8[1]5533; SSE-NEXT: movapd 1648(%rdi), %xmm15534; SSE-NEXT: shufpd {{.*#+}} xmm11 = xmm11[1],xmm1[0]5535; SSE-NEXT: movapd 1600(%rdi), %xmm25536; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]5537; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5538; SSE-NEXT: movapd 1664(%rdi), %xmm15539; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]5540; SSE-NEXT: movapd %xmm2, (%rsp) # 16-byte Spill5541; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]5542; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5543; SSE-NEXT: movapd 1680(%rdi), %xmm35544; SSE-NEXT: movapd 1728(%rdi), %xmm25545; SSE-NEXT: movapd %xmm2, %xmm15546; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm3[0],xmm1[1]5547; SSE-NEXT: movapd 1744(%rdi), %xmm55548; SSE-NEXT: shufpd {{.*#+}} xmm3 = xmm3[1],xmm5[0]5549; SSE-NEXT: movapd 1696(%rdi), %xmm75550; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm7[0],xmm5[1]5551; SSE-NEXT: movapd 1760(%rdi), %xmm105552; SSE-NEXT: shufpd {{.*#+}} xmm7 = xmm7[1],xmm10[0]5553; SSE-NEXT: movapd 1712(%rdi), %xmm155554; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm15[0],xmm10[1]5555; SSE-NEXT: movapd 1776(%rdi), %xmm05556; SSE-NEXT: shufpd {{.*#+}} xmm15 = xmm15[1],xmm0[0]5557; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm2[0],xmm0[1]5558; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5559; SSE-NEXT: movapd %xmm4, 224(%rsi)5560; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5561; SSE-NEXT: movaps %xmm0, 160(%rsi)5562; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5563; SSE-NEXT: movaps %xmm2, 96(%rsi)5564; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5565; SSE-NEXT: movaps %xmm2, 32(%rsi)5566; SSE-NEXT: movapd %xmm1, 240(%rsi)5567; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5568; SSE-NEXT: movaps %xmm0, 176(%rsi)5569; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5570; SSE-NEXT: movaps %xmm1, 112(%rsi)5571; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5572; SSE-NEXT: movaps %xmm1, 48(%rsi)5573; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5574; SSE-NEXT: movaps %xmm0, 192(%rsi)5575; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5576; SSE-NEXT: movaps %xmm1, 128(%rsi)5577; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5578; SSE-NEXT: movaps %xmm1, 64(%rsi)5579; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5580; SSE-NEXT: movaps %xmm1, (%rsi)5581; SSE-NEXT: movapd %xmm12, 208(%rsi)5582; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5583; SSE-NEXT: movaps %xmm1, 144(%rsi)5584; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5585; SSE-NEXT: movaps %xmm1, 80(%rsi)5586; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5587; SSE-NEXT: movaps %xmm1, 16(%rsi)5588; SSE-NEXT: movapd %xmm6, 224(%rdx)5589; SSE-NEXT: movapd %xmm3, 240(%rdx)5590; SSE-NEXT: movapd %xmm14, 192(%rdx)5591; SSE-NEXT: movapd %xmm9, 208(%rdx)5592; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5593; SSE-NEXT: movaps %xmm0, 160(%rdx)5594; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5595; SSE-NEXT: movaps %xmm0, 176(%rdx)5596; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5597; SSE-NEXT: movaps %xmm0, 128(%rdx)5598; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5599; SSE-NEXT: movaps %xmm0, 144(%rdx)5600; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5601; SSE-NEXT: movaps %xmm0, 96(%rdx)5602; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5603; SSE-NEXT: movaps %xmm0, 112(%rdx)5604; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5605; SSE-NEXT: movaps %xmm0, 64(%rdx)5606; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5607; SSE-NEXT: movaps %xmm0, 80(%rdx)5608; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5609; SSE-NEXT: movaps %xmm0, 32(%rdx)5610; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5611; SSE-NEXT: movaps %xmm0, 48(%rdx)5612; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5613; SSE-NEXT: movaps %xmm0, (%rdx)5614; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5615; SSE-NEXT: movaps %xmm0, 16(%rdx)5616; SSE-NEXT: movapd %xmm5, 240(%rcx)5617; SSE-NEXT: movapd %xmm8, 224(%rcx)5618; SSE-NEXT: movapd %xmm13, 208(%rcx)5619; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5620; SSE-NEXT: movaps %xmm0, 192(%rcx)5621; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5622; SSE-NEXT: movaps %xmm0, 176(%rcx)5623; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5624; SSE-NEXT: movaps %xmm0, 160(%rcx)5625; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5626; SSE-NEXT: movaps %xmm0, 144(%rcx)5627; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5628; SSE-NEXT: movaps %xmm0, 128(%rcx)5629; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5630; SSE-NEXT: movaps %xmm0, 112(%rcx)5631; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5632; SSE-NEXT: movaps %xmm0, 96(%rcx)5633; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5634; SSE-NEXT: movaps %xmm0, 80(%rcx)5635; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5636; SSE-NEXT: movaps %xmm0, 64(%rcx)5637; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5638; SSE-NEXT: movaps %xmm0, 48(%rcx)5639; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5640; SSE-NEXT: movaps %xmm0, 32(%rcx)5641; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5642; SSE-NEXT: movaps %xmm0, 16(%rcx)5643; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5644; SSE-NEXT: movaps %xmm0, (%rcx)5645; SSE-NEXT: movapd %xmm7, 240(%r8)5646; SSE-NEXT: movapd %xmm11, 224(%r8)5647; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5648; SSE-NEXT: movaps %xmm0, 208(%r8)5649; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5650; SSE-NEXT: movaps %xmm0, 192(%r8)5651; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5652; SSE-NEXT: movaps %xmm0, 176(%r8)5653; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5654; SSE-NEXT: movaps %xmm0, 160(%r8)5655; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5656; SSE-NEXT: movaps %xmm0, 144(%r8)5657; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5658; SSE-NEXT: movaps %xmm0, 128(%r8)5659; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5660; SSE-NEXT: movaps %xmm0, 112(%r8)5661; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5662; SSE-NEXT: movaps %xmm0, 96(%r8)5663; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5664; SSE-NEXT: movaps %xmm0, 80(%r8)5665; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5666; SSE-NEXT: movaps %xmm0, 64(%r8)5667; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5668; SSE-NEXT: movaps %xmm0, 48(%r8)5669; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5670; SSE-NEXT: movaps %xmm0, 32(%r8)5671; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5672; SSE-NEXT: movaps %xmm0, 16(%r8)5673; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5674; SSE-NEXT: movaps %xmm0, (%r8)5675; SSE-NEXT: movapd %xmm10, 240(%r9)5676; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5677; SSE-NEXT: movaps %xmm0, 224(%r9)5678; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5679; SSE-NEXT: movaps %xmm0, 208(%r9)5680; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5681; SSE-NEXT: movaps %xmm0, 192(%r9)5682; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5683; SSE-NEXT: movaps %xmm0, 176(%r9)5684; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5685; SSE-NEXT: movaps %xmm0, 160(%r9)5686; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5687; SSE-NEXT: movaps %xmm0, 144(%r9)5688; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5689; SSE-NEXT: movaps %xmm0, 128(%r9)5690; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5691; SSE-NEXT: movaps %xmm0, 112(%r9)5692; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5693; SSE-NEXT: movaps %xmm0, 96(%r9)5694; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5695; SSE-NEXT: movaps %xmm0, 80(%r9)5696; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5697; SSE-NEXT: movaps %xmm0, 64(%r9)5698; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5699; SSE-NEXT: movaps %xmm0, 48(%r9)5700; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5701; SSE-NEXT: movaps %xmm0, 32(%r9)5702; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5703; SSE-NEXT: movaps %xmm0, 16(%r9)5704; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5705; SSE-NEXT: movaps %xmm0, (%r9)5706; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5707; SSE-NEXT: movapd %xmm15, 240(%rax)5708; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload5709; SSE-NEXT: movaps %xmm0, 224(%rax)5710; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5711; SSE-NEXT: movaps %xmm0, 208(%rax)5712; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5713; SSE-NEXT: movaps %xmm0, 192(%rax)5714; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5715; SSE-NEXT: movaps %xmm0, 176(%rax)5716; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5717; SSE-NEXT: movaps %xmm0, 160(%rax)5718; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5719; SSE-NEXT: movaps %xmm0, 144(%rax)5720; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5721; SSE-NEXT: movaps %xmm0, 128(%rax)5722; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5723; SSE-NEXT: movaps %xmm0, 112(%rax)5724; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5725; SSE-NEXT: movaps %xmm0, 96(%rax)5726; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5727; SSE-NEXT: movaps %xmm0, 80(%rax)5728; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5729; SSE-NEXT: movaps %xmm0, 64(%rax)5730; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5731; SSE-NEXT: movaps %xmm0, 48(%rax)5732; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5733; SSE-NEXT: movaps %xmm0, 32(%rax)5734; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5735; SSE-NEXT: movaps %xmm0, 16(%rax)5736; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5737; SSE-NEXT: movaps %xmm0, (%rax)5738; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax5739; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5740; SSE-NEXT: movaps %xmm0, 240(%rax)5741; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5742; SSE-NEXT: movaps %xmm0, 224(%rax)5743; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5744; SSE-NEXT: movaps %xmm0, 208(%rax)5745; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5746; SSE-NEXT: movaps %xmm0, 192(%rax)5747; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5748; SSE-NEXT: movaps %xmm0, 176(%rax)5749; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5750; SSE-NEXT: movaps %xmm0, 160(%rax)5751; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5752; SSE-NEXT: movaps %xmm0, 144(%rax)5753; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5754; SSE-NEXT: movaps %xmm0, 128(%rax)5755; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5756; SSE-NEXT: movaps %xmm0, 112(%rax)5757; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5758; SSE-NEXT: movaps %xmm0, 96(%rax)5759; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5760; SSE-NEXT: movaps %xmm0, 80(%rax)5761; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5762; SSE-NEXT: movaps %xmm0, 64(%rax)5763; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5764; SSE-NEXT: movaps %xmm0, 48(%rax)5765; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5766; SSE-NEXT: movaps %xmm0, 32(%rax)5767; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5768; SSE-NEXT: movaps %xmm0, 16(%rax)5769; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5770; SSE-NEXT: movaps %xmm0, (%rax)5771; SSE-NEXT: addq $1448, %rsp # imm = 0x5A85772; SSE-NEXT: retq5773;5774; AVX-LABEL: load_i64_stride7_vf32:5775; AVX: # %bb.0:5776; AVX-NEXT: subq $1736, %rsp # imm = 0x6C85777; AVX-NEXT: vmovaps 1216(%rdi), %ymm15778; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5779; AVX-NEXT: vmovaps 768(%rdi), %ymm35780; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5781; AVX-NEXT: vmovaps 320(%rdi), %ymm75782; AVX-NEXT: vinsertf128 $1, 384(%rdi), %ymm0, %ymm05783; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5784; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]5785; AVX-NEXT: vmovaps 224(%rdi), %xmm55786; AVX-NEXT: vmovaps 272(%rdi), %xmm25787; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5788; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]5789; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]5790; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5791; AVX-NEXT: vinsertf128 $1, 832(%rdi), %ymm0, %ymm05792; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5793; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]5794; AVX-NEXT: vmovaps 672(%rdi), %xmm65795; AVX-NEXT: vmovaps 720(%rdi), %xmm25796; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5797; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm6[0,1],xmm2[2,3]5798; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]5799; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5800; AVX-NEXT: vinsertf128 $1, 1280(%rdi), %ymm0, %ymm05801; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5802; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5803; AVX-NEXT: vmovaps 1120(%rdi), %xmm115804; AVX-NEXT: vmovaps 1168(%rdi), %xmm25805; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5806; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm11[0,1],xmm2[2,3]5807; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]5808; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5809; AVX-NEXT: vmovaps 1664(%rdi), %ymm145810; AVX-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm05811; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5812; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]5813; AVX-NEXT: vmovaps 1568(%rdi), %xmm85814; AVX-NEXT: vmovaps 1616(%rdi), %xmm25815; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5816; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm8[0,1],xmm2[2,3]5817; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]5818; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5819; AVX-NEXT: vmovapd 96(%rdi), %ymm45820; AVX-NEXT: vinsertf128 $1, 160(%rdi), %ymm0, %ymm05821; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5822; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm4[0,1,2],ymm0[3]5823; AVX-NEXT: vmovapd 48(%rdi), %xmm15824; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5825; AVX-NEXT: vblendpd {{.*#+}} xmm2 = mem[0],xmm1[1]5826; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]5827; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5828; AVX-NEXT: vmovapd 544(%rdi), %ymm95829; AVX-NEXT: vinsertf128 $1, 608(%rdi), %ymm0, %ymm05830; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5831; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm9[0,1,2],ymm0[3]5832; AVX-NEXT: vmovapd 448(%rdi), %xmm105833; AVX-NEXT: vmovapd 496(%rdi), %xmm15834; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5835; AVX-NEXT: vblendpd {{.*#+}} xmm2 = xmm10[0],xmm1[1]5836; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]5837; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5838; AVX-NEXT: vmovapd 992(%rdi), %ymm155839; AVX-NEXT: vinsertf128 $1, 1056(%rdi), %ymm0, %ymm05840; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5841; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm15[0,1,2],ymm0[3]5842; AVX-NEXT: vmovapd 896(%rdi), %xmm125843; AVX-NEXT: vmovapd 944(%rdi), %xmm15844; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5845; AVX-NEXT: vblendpd {{.*#+}} xmm2 = xmm12[0],xmm1[1]5846; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]5847; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5848; AVX-NEXT: vmovapd 1440(%rdi), %ymm25849; AVX-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm05850; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5851; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1,2],ymm0[3]5852; AVX-NEXT: vmovapd 1344(%rdi), %xmm35853; AVX-NEXT: vmovapd 1392(%rdi), %xmm05854; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5855; AVX-NEXT: vblendpd {{.*#+}} xmm13 = xmm3[0],xmm0[1]5856; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm13[0,1],ymm1[2,3]5857; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5858; AVX-NEXT: vmovdqa 288(%rdi), %xmm05859; AVX-NEXT: vpalignr {{.*#+}} xmm5 = xmm5[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]5860; AVX-NEXT: vmovapd 384(%rdi), %ymm05861; AVX-NEXT: vshufpd {{.*#+}} ymm7 = ymm7[0],ymm0[1],ymm7[3],ymm0[2]5862; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm7[2,3]5863; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5864; AVX-NEXT: vmovdqa 736(%rdi), %xmm55865; AVX-NEXT: vpalignr {{.*#+}} xmm5 = xmm6[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]5866; AVX-NEXT: vmovapd 832(%rdi), %ymm75867; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5868; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm7[1],ymm1[3],ymm7[2]5869; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm5[0,1],ymm1[2,3]5870; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5871; AVX-NEXT: vmovdqa 1184(%rdi), %xmm15872; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm11[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]5873; AVX-NEXT: vmovapd 1280(%rdi), %ymm65874; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload5875; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm5[0],ymm6[1],ymm5[3],ymm6[2]5876; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm5[2,3]5877; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5878; AVX-NEXT: vmovdqa 1632(%rdi), %xmm15879; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm8[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]5880; AVX-NEXT: vmovapd 1728(%rdi), %ymm115881; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm14[0],ymm11[1],ymm14[3],ymm11[2]5882; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm5[2,3]5883; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5884; AVX-NEXT: vmovapd 160(%rdi), %ymm85885; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[0],ymm8[1],ymm4[3],ymm8[2]5886; AVX-NEXT: vmovdqa 64(%rdi), %xmm15887; AVX-NEXT: vpalignr {{.*#+}} xmm5 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]5888; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]5889; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5890; AVX-NEXT: vmovapd 608(%rdi), %ymm145891; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm9[0],ymm14[1],ymm9[3],ymm14[2]5892; AVX-NEXT: vmovdqa 512(%rdi), %xmm45893; AVX-NEXT: vpalignr {{.*#+}} xmm9 = xmm10[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]5894; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm9[0,1],ymm5[2,3]5895; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5896; AVX-NEXT: vmovapd 1056(%rdi), %ymm135897; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm15[0],ymm13[1],ymm15[3],ymm13[2]5898; AVX-NEXT: vmovdqa 960(%rdi), %xmm155899; AVX-NEXT: vpalignr {{.*#+}} xmm9 = xmm12[8,9,10,11,12,13,14,15],xmm15[0,1,2,3,4,5,6,7]5900; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm9[0,1],ymm5[2,3]5901; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5902; AVX-NEXT: vmovapd 1504(%rdi), %ymm55903; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm5[1],ymm2[3],ymm5[2]5904; AVX-NEXT: vmovdqa 1408(%rdi), %xmm95905; AVX-NEXT: vpalignr {{.*#+}} xmm3 = xmm3[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]5906; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3]5907; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5908; AVX-NEXT: vmovdqa 352(%rdi), %xmm35909; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm25910; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3]5911; AVX-NEXT: vmovapd 240(%rdi), %xmm25912; AVX-NEXT: vblendpd {{.*#+}} xmm10 = xmm2[0],mem[1]5913; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm10[0,1],ymm0[2,3]5914; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5915; AVX-NEXT: vmovdqa 800(%rdi), %xmm05916; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm105917; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm10[0,1,2],ymm7[3]5918; AVX-NEXT: vmovapd 688(%rdi), %xmm105919; AVX-NEXT: vblendpd {{.*#+}} xmm12 = xmm10[0],mem[1]5920; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm12[0,1],ymm7[2,3]5921; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5922; AVX-NEXT: vmovaps 1248(%rdi), %xmm75923; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5924; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm125925; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm12[0,1,2],ymm6[3]5926; AVX-NEXT: vmovapd 1136(%rdi), %xmm65927; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm6[0],mem[1]5928; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1],ymm12[2,3]5929; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5930; AVX-NEXT: vmovaps 1696(%rdi), %xmm75931; AVX-NEXT: vmovaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5932; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm75933; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1,2],ymm11[3]5934; AVX-NEXT: vmovapd 1584(%rdi), %xmm115935; AVX-NEXT: vblendpd {{.*#+}} xmm12 = xmm11[0],mem[1]5936; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm12[0,1],ymm7[2,3]5937; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5938; AVX-NEXT: vmovdqa 128(%rdi), %xmm125939; AVX-NEXT: vinsertf128 $1, %xmm12, %ymm0, %ymm75940; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1,2],ymm8[3]5941; AVX-NEXT: vmovdqa 16(%rdi), %xmm85942; AVX-NEXT: vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5943; AVX-NEXT: vpblendw {{.*#+}} xmm1 = xmm8[0,1,2,3],xmm1[4,5,6,7]5944; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm7[2,3]5945; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5946; AVX-NEXT: vmovaps 576(%rdi), %xmm15947; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5948; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm15949; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm14[3]5950; AVX-NEXT: vmovdqa 464(%rdi), %xmm85951; AVX-NEXT: vpblendw {{.*#+}} xmm4 = xmm8[0,1,2,3],xmm4[4,5,6,7]5952; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3]5953; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5954; AVX-NEXT: vmovdqa 1024(%rdi), %xmm145955; AVX-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm15956; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm1[0,1,2],ymm13[3]5957; AVX-NEXT: vmovdqa 912(%rdi), %xmm15958; AVX-NEXT: vpblendw {{.*#+}} xmm7 = xmm1[0,1,2,3],xmm15[4,5,6,7]5959; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm7[0,1],ymm4[2,3]5960; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5961; AVX-NEXT: vmovdqa 1472(%rdi), %xmm45962; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm75963; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm7[0,1,2],ymm5[3]5964; AVX-NEXT: vmovdqa 1360(%rdi), %xmm155965; AVX-NEXT: vpblendw {{.*#+}} xmm7 = xmm15[0,1,2,3],xmm9[4,5,6,7]5966; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm7[0,1],ymm5[2,3]5967; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5968; AVX-NEXT: vmovapd 304(%rdi), %xmm95969; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[1],ymm9[0],ymm2[2],ymm9[3]5970; AVX-NEXT: vmovdqa 416(%rdi), %xmm135971; AVX-NEXT: vpalignr {{.*#+}} xmm3 = xmm3[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]5972; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm35973; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3]5974; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5975; AVX-NEXT: vmovapd 752(%rdi), %xmm55976; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm10[1],ymm5[0],ymm10[2],ymm5[3]5977; AVX-NEXT: vmovdqa 864(%rdi), %xmm105978; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]5979; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm05980; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]5981; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5982; AVX-NEXT: vmovapd 1200(%rdi), %xmm05983; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5984; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm6[1],ymm0[0],ymm6[2],ymm0[3]5985; AVX-NEXT: vmovdqa 1312(%rdi), %xmm65986; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm2 # 16-byte Folded Reload5987; AVX-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]5988; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm25989; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]5990; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5991; AVX-NEXT: vmovapd 1648(%rdi), %xmm05992; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5993; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm11[1],ymm0[0],ymm11[2],ymm0[3]5994; AVX-NEXT: vmovdqa 1760(%rdi), %xmm25995; AVX-NEXT: vmovdqa %xmm2, (%rsp) # 16-byte Spill5996; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload5997; AVX-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]5998; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm25999; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]6000; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6001; AVX-NEXT: vmovapd 1424(%rdi), %xmm06002; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6003; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm15[1],ymm0[0],ymm15[2],ymm0[3]6004; AVX-NEXT: vmovdqa 1536(%rdi), %xmm116005; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm4[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]6006; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm26007; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]6008; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6009; AVX-NEXT: vmovapd 976(%rdi), %xmm156010; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[1],ymm15[0],ymm1[2],ymm15[3]6011; AVX-NEXT: vmovdqa 1088(%rdi), %xmm16012; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm14[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]6013; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm26014; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]6015; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6016; AVX-NEXT: vmovapd 528(%rdi), %xmm06017; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm8[1],ymm0[0],ymm8[2],ymm0[3]6018; AVX-NEXT: vmovdqa 640(%rdi), %xmm46019; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm3 # 16-byte Folded Reload6020; AVX-NEXT: # xmm3 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]6021; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm36022; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3]6023; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6024; AVX-NEXT: vmovapd 80(%rdi), %xmm36025; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6026; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[1],ymm3[0],ymm2[2],ymm3[3]6027; AVX-NEXT: vmovdqa 192(%rdi), %xmm76028; AVX-NEXT: vpalignr {{.*#+}} xmm8 = xmm12[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]6029; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm86030; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm8[2,3]6031; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6032; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm76033; AVX-NEXT: vmovapd 128(%rdi), %ymm26034; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm2[0,1,2],ymm7[3]6035; AVX-NEXT: vblendpd {{.*#+}} xmm3 = mem[0],xmm3[1]6036; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm7[2,3]6037; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6038; AVX-NEXT: vinsertf128 $1, %xmm13, %ymm0, %ymm36039; AVX-NEXT: vmovapd 352(%rdi), %ymm76040; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6041; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm7[0,1,2],ymm3[3]6042; AVX-NEXT: vmovapd 256(%rdi), %xmm36043; AVX-NEXT: vblendpd {{.*#+}} xmm8 = xmm3[0],xmm9[1]6044; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm8[0,1],ymm7[2,3]6045; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6046; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm46047; AVX-NEXT: vmovapd 576(%rdi), %ymm76048; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6049; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm7[0,1,2],ymm4[3]6050; AVX-NEXT: vmovapd 480(%rdi), %xmm76051; AVX-NEXT: vblendpd {{.*#+}} xmm0 = xmm7[0],xmm0[1]6052; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm4[2,3]6053; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6054; AVX-NEXT: vinsertf128 $1, %xmm10, %ymm0, %ymm46055; AVX-NEXT: vmovapd 800(%rdi), %ymm06056; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm0[0,1,2],ymm4[3]6057; AVX-NEXT: vmovapd 704(%rdi), %xmm146058; AVX-NEXT: vblendpd {{.*#+}} xmm5 = xmm14[0],xmm5[1]6059; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]6060; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6061; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm16062; AVX-NEXT: vmovapd 1024(%rdi), %ymm46063; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6064; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm4[0,1,2],ymm1[3]6065; AVX-NEXT: vmovapd 928(%rdi), %xmm96066; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm9[0],xmm15[1]6067; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm4[0,1],ymm1[2,3]6068; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6069; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm46070; AVX-NEXT: vmovapd 1248(%rdi), %ymm16071; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm1[0,1,2],ymm4[3]6072; AVX-NEXT: vmovapd 1152(%rdi), %xmm156073; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm5 # 16-byte Folded Reload6074; AVX-NEXT: # xmm5 = xmm15[0],mem[1]6075; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]6076; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6077; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm46078; AVX-NEXT: vmovaps 1472(%rdi), %ymm56079; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6080; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]6081; AVX-NEXT: vmovaps 1376(%rdi), %xmm86082; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm5 # 16-byte Folded Reload6083; AVX-NEXT: # xmm5 = xmm8[0,1],mem[2,3]6084; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]6085; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6086; AVX-NEXT: vinsertf128 $1, (%rsp), %ymm0, %ymm4 # 16-byte Folded Reload6087; AVX-NEXT: vmovapd 1696(%rdi), %ymm126088; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm12[0,1,2],ymm4[3]6089; AVX-NEXT: vmovapd 1600(%rdi), %xmm136090; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm5 # 16-byte Folded Reload6091; AVX-NEXT: # xmm5 = xmm13[0],mem[1]6092; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]6093; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6094; AVX-NEXT: vmovapd 192(%rdi), %ymm116095; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm11[1],ymm2[3],ymm11[2]6096; AVX-NEXT: vmovdqa 96(%rdi), %xmm46097; AVX-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]6098; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm4[0,1],ymm2[2,3]6099; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6100; AVX-NEXT: vmovapd 416(%rdi), %ymm106101; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6102; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm10[1],ymm2[3],ymm10[2]6103; AVX-NEXT: vmovdqa 320(%rdi), %xmm66104; AVX-NEXT: vpalignr {{.*#+}} xmm3 = xmm3[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]6105; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm3[0,1],ymm2[2,3]6106; AVX-NEXT: vmovupd %ymm2, (%rsp) # 32-byte Spill6107; AVX-NEXT: vmovdqa 544(%rdi), %xmm26108; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm7[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]6109; AVX-NEXT: vmovapd 640(%rdi), %ymm56110; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6111; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[0],ymm5[1],ymm3[3],ymm5[2]6112; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm3[2,3]6113; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6114; AVX-NEXT: vmovapd 864(%rdi), %ymm76115; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm7[1],ymm0[3],ymm7[2]6116; AVX-NEXT: vmovdqa 768(%rdi), %xmm46117; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm14[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]6118; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1],ymm0[2,3]6119; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6120; AVX-NEXT: vmovdqa 992(%rdi), %xmm06121; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm9[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6122; AVX-NEXT: vmovapd 1088(%rdi), %ymm36123; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6124; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[3],ymm3[2]6125; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]6126; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6127; AVX-NEXT: vmovapd 1312(%rdi), %ymm96128; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm9[1],ymm1[3],ymm9[2]6129; AVX-NEXT: vmovdqa 1216(%rdi), %xmm26130; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm15[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]6131; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm1[0,1],ymm0[2,3]6132; AVX-NEXT: vmovdqa 1440(%rdi), %xmm06133; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm8[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6134; AVX-NEXT: vmovapd 1536(%rdi), %ymm86135; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6136; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm8[1],ymm1[3],ymm8[2]6137; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]6138; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6139; AVX-NEXT: vmovapd 1760(%rdi), %ymm16140; AVX-NEXT: vshufpd {{.*#+}} ymm12 = ymm12[0],ymm1[1],ymm12[3],ymm1[2]6141; AVX-NEXT: vmovdqa 1664(%rdi), %xmm06142; AVX-NEXT: vpalignr {{.*#+}} xmm13 = xmm13[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6143; AVX-NEXT: vblendpd {{.*#+}} ymm12 = ymm13[0,1],ymm12[2,3]6144; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6145; AVX-NEXT: # ymm11 = mem[0,1,2],ymm11[3]6146; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload6147; AVX-NEXT: vblendpd {{.*#+}} xmm13 = xmm13[0],mem[1]6148; AVX-NEXT: vblendpd {{.*#+}} ymm14 = ymm13[0,1],ymm11[2,3]6149; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10, %ymm10 # 32-byte Folded Reload6150; AVX-NEXT: # ymm10 = mem[0,1,2],ymm10[3]6151; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload6152; AVX-NEXT: # xmm6 = mem[0,1,2,3],xmm6[4,5,6,7]6153; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm6[0,1],ymm10[2,3]6154; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload6155; AVX-NEXT: # ymm5 = mem[0,1,2],ymm5[3]6156; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload6157; AVX-NEXT: vblendpd {{.*#+}} xmm6 = xmm6[0],mem[1]6158; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm5[2,3]6159; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm5 # 32-byte Folded Reload6160; AVX-NEXT: # ymm5 = mem[0,1,2],ymm7[3]6161; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm4 # 16-byte Folded Reload6162; AVX-NEXT: # xmm4 = mem[0,1,2,3],xmm4[4,5,6,7]6163; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm4[0,1],ymm5[2,3]6164; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload6165; AVX-NEXT: # ymm3 = mem[0,1,2],ymm3[3]6166; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload6167; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm4[0],mem[1]6168; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm4[0,1],ymm3[2,3]6169; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm4 # 32-byte Folded Reload6170; AVX-NEXT: # ymm4 = mem[0,1,2],ymm9[3]6171; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload6172; AVX-NEXT: # xmm2 = mem[0,1,2,3],xmm2[4,5,6,7]6173; AVX-NEXT: vblendpd {{.*#+}} ymm7 = ymm2[0,1],ymm4[2,3]6174; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm2 # 32-byte Folded Reload6175; AVX-NEXT: # ymm2 = mem[0,1,2],ymm8[3]6176; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload6177; AVX-NEXT: vblendpd {{.*#+}} xmm4 = xmm4[0],mem[1]6178; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm2[2,3]6179; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload6180; AVX-NEXT: # ymm1 = mem[0,1,2],ymm1[3]6181; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload6182; AVX-NEXT: # xmm0 = mem[0,1,2,3],xmm0[4,5,6,7]6183; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm0[0,1],ymm1[2,3]6184; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6185; AVX-NEXT: vmovaps %ymm0, 192(%rsi)6186; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6187; AVX-NEXT: vmovaps %ymm0, 128(%rsi)6188; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6189; AVX-NEXT: vmovaps %ymm0, 64(%rsi)6190; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6191; AVX-NEXT: vmovaps %ymm0, (%rsi)6192; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6193; AVX-NEXT: vmovaps %ymm0, 224(%rsi)6194; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6195; AVX-NEXT: vmovaps %ymm0, 160(%rsi)6196; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6197; AVX-NEXT: vmovaps %ymm0, 96(%rsi)6198; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6199; AVX-NEXT: vmovaps %ymm0, 32(%rsi)6200; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6201; AVX-NEXT: vmovaps %ymm0, 192(%rdx)6202; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6203; AVX-NEXT: vmovaps %ymm0, 128(%rdx)6204; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6205; AVX-NEXT: vmovaps %ymm0, 64(%rdx)6206; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6207; AVX-NEXT: vmovaps %ymm0, (%rdx)6208; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6209; AVX-NEXT: vmovaps %ymm0, 224(%rdx)6210; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6211; AVX-NEXT: vmovaps %ymm0, 160(%rdx)6212; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6213; AVX-NEXT: vmovaps %ymm0, 96(%rdx)6214; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6215; AVX-NEXT: vmovaps %ymm0, 32(%rdx)6216; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6217; AVX-NEXT: vmovaps %ymm0, 192(%rcx)6218; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6219; AVX-NEXT: vmovaps %ymm0, 128(%rcx)6220; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6221; AVX-NEXT: vmovaps %ymm0, 64(%rcx)6222; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6223; AVX-NEXT: vmovaps %ymm0, (%rcx)6224; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6225; AVX-NEXT: vmovaps %ymm0, 224(%rcx)6226; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6227; AVX-NEXT: vmovaps %ymm0, 160(%rcx)6228; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6229; AVX-NEXT: vmovaps %ymm0, 96(%rcx)6230; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6231; AVX-NEXT: vmovaps %ymm0, 32(%rcx)6232; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6233; AVX-NEXT: vmovaps %ymm0, (%r8)6234; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6235; AVX-NEXT: vmovaps %ymm0, 64(%r8)6236; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6237; AVX-NEXT: vmovaps %ymm0, 128(%r8)6238; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6239; AVX-NEXT: vmovaps %ymm0, 192(%r8)6240; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6241; AVX-NEXT: vmovaps %ymm0, 224(%r8)6242; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6243; AVX-NEXT: vmovaps %ymm0, 160(%r8)6244; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6245; AVX-NEXT: vmovaps %ymm0, 96(%r8)6246; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6247; AVX-NEXT: vmovaps %ymm0, 32(%r8)6248; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6249; AVX-NEXT: vmovaps %ymm0, 224(%r9)6250; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6251; AVX-NEXT: vmovaps %ymm0, 192(%r9)6252; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6253; AVX-NEXT: vmovaps %ymm0, 160(%r9)6254; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6255; AVX-NEXT: vmovaps %ymm0, 128(%r9)6256; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6257; AVX-NEXT: vmovaps %ymm0, 96(%r9)6258; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6259; AVX-NEXT: vmovaps %ymm0, 64(%r9)6260; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6261; AVX-NEXT: vmovaps %ymm0, 32(%r9)6262; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6263; AVX-NEXT: vmovaps %ymm0, (%r9)6264; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax6265; AVX-NEXT: vmovapd %ymm12, 224(%rax)6266; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6267; AVX-NEXT: vmovaps %ymm0, 192(%rax)6268; AVX-NEXT: vmovapd %ymm15, 160(%rax)6269; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6270; AVX-NEXT: vmovaps %ymm0, 128(%rax)6271; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6272; AVX-NEXT: vmovaps %ymm0, 96(%rax)6273; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6274; AVX-NEXT: vmovaps %ymm0, 64(%rax)6275; AVX-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload6276; AVX-NEXT: vmovaps %ymm0, 32(%rax)6277; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6278; AVX-NEXT: vmovaps %ymm0, (%rax)6279; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax6280; AVX-NEXT: vmovapd %ymm10, 224(%rax)6281; AVX-NEXT: vmovapd %ymm4, 192(%rax)6282; AVX-NEXT: vmovapd %ymm7, 160(%rax)6283; AVX-NEXT: vmovapd %ymm3, 128(%rax)6284; AVX-NEXT: vmovapd %ymm5, 96(%rax)6285; AVX-NEXT: vmovapd %ymm6, 64(%rax)6286; AVX-NEXT: vmovapd %ymm11, 32(%rax)6287; AVX-NEXT: vmovapd %ymm14, (%rax)6288; AVX-NEXT: addq $1736, %rsp # imm = 0x6C86289; AVX-NEXT: vzeroupper6290; AVX-NEXT: retq6291;6292; AVX2-LABEL: load_i64_stride7_vf32:6293; AVX2: # %bb.0:6294; AVX2-NEXT: subq $1576, %rsp # imm = 0x6286295; AVX2-NEXT: vmovdqa 1216(%rdi), %ymm16296; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6297; AVX2-NEXT: vmovdqa 768(%rdi), %ymm66298; AVX2-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6299; AVX2-NEXT: vmovdqa 320(%rdi), %ymm26300; AVX2-NEXT: vmovdqa 384(%rdi), %xmm06301; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6302; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36303; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm3[6,7]6304; AVX2-NEXT: vmovdqa 224(%rdi), %xmm46305; AVX2-NEXT: vmovdqa 272(%rdi), %xmm06306; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6307; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm4[0,1],xmm0[2,3]6308; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm3[4,5,6,7]6309; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6310; AVX2-NEXT: vmovdqa 832(%rdi), %xmm06311; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6312; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36313; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]6314; AVX2-NEXT: vmovdqa 672(%rdi), %xmm56315; AVX2-NEXT: vmovdqa 720(%rdi), %xmm06316; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6317; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm0[2,3]6318; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm3[4,5,6,7]6319; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6320; AVX2-NEXT: vmovdqa 1280(%rdi), %xmm06321; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6322; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36323; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm3[6,7]6324; AVX2-NEXT: vmovdqa 1120(%rdi), %xmm66325; AVX2-NEXT: vmovdqa 1168(%rdi), %xmm06326; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6327; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm0[2,3]6328; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm3[4,5,6,7]6329; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6330; AVX2-NEXT: vmovdqa 1664(%rdi), %ymm36331; AVX2-NEXT: vmovdqa 1728(%rdi), %xmm06332; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6333; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm76334; AVX2-NEXT: vpblendd {{.*#+}} ymm7 = ymm3[0,1,2,3,4,5],ymm7[6,7]6335; AVX2-NEXT: vmovdqa 1568(%rdi), %xmm86336; AVX2-NEXT: vmovdqa 1616(%rdi), %xmm06337; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6338; AVX2-NEXT: vpblendd {{.*#+}} xmm9 = xmm8[0,1],xmm0[2,3]6339; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm7[4,5,6,7]6340; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6341; AVX2-NEXT: vmovdqa 96(%rdi), %ymm76342; AVX2-NEXT: vmovdqa 160(%rdi), %xmm06343; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6344; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm96345; AVX2-NEXT: vpblendd {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]6346; AVX2-NEXT: vmovdqa 48(%rdi), %xmm06347; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6348; AVX2-NEXT: vpblendd {{.*#+}} xmm10 = mem[0,1],xmm0[2,3]6349; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm9[4,5,6,7]6350; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6351; AVX2-NEXT: vmovdqa 544(%rdi), %ymm96352; AVX2-NEXT: vmovdqa 608(%rdi), %xmm06353; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6354; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm106355; AVX2-NEXT: vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5],ymm10[6,7]6356; AVX2-NEXT: vmovdqa 448(%rdi), %xmm106357; AVX2-NEXT: vmovdqa 496(%rdi), %xmm06358; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6359; AVX2-NEXT: vpblendd {{.*#+}} xmm12 = xmm10[0,1],xmm0[2,3]6360; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm11[4,5,6,7]6361; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6362; AVX2-NEXT: vmovdqa 992(%rdi), %ymm116363; AVX2-NEXT: vmovdqa 1056(%rdi), %xmm06364; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6365; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm126366; AVX2-NEXT: vpblendd {{.*#+}} ymm13 = ymm11[0,1,2,3,4,5],ymm12[6,7]6367; AVX2-NEXT: vmovdqa 896(%rdi), %xmm126368; AVX2-NEXT: vmovdqa 944(%rdi), %xmm06369; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6370; AVX2-NEXT: vpblendd {{.*#+}} xmm14 = xmm12[0,1],xmm0[2,3]6371; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm13[4,5,6,7]6372; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6373; AVX2-NEXT: vmovdqa 1440(%rdi), %ymm136374; AVX2-NEXT: vmovdqa 1504(%rdi), %xmm06375; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6376; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm146377; AVX2-NEXT: vpblendd {{.*#+}} ymm15 = ymm13[0,1,2,3,4,5],ymm14[6,7]6378; AVX2-NEXT: vmovdqa 1344(%rdi), %xmm146379; AVX2-NEXT: vmovdqa 1392(%rdi), %xmm06380; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6381; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm14[0,1],xmm0[2,3]6382; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]6383; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6384; AVX2-NEXT: vmovdqa 288(%rdi), %xmm06385; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm4[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6386; AVX2-NEXT: vmovdqa 384(%rdi), %ymm46387; AVX2-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]6388; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6389; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6390; AVX2-NEXT: vmovdqa 736(%rdi), %xmm06391; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm5[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6392; AVX2-NEXT: vmovdqa 832(%rdi), %ymm26393; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm1 # 32-byte Folded Reload6394; AVX2-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]6395; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6396; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6397; AVX2-NEXT: vmovdqa 1184(%rdi), %xmm06398; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm6[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6399; AVX2-NEXT: vmovdqa 1280(%rdi), %ymm56400; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm1 # 32-byte Folded Reload6401; AVX2-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]6402; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6403; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6404; AVX2-NEXT: vmovdqa 1632(%rdi), %xmm06405; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm8[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6406; AVX2-NEXT: vmovdqa 1728(%rdi), %ymm86407; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]6408; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6409; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6410; AVX2-NEXT: vmovdqa 160(%rdi), %ymm06411; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]6412; AVX2-NEXT: vmovdqa 64(%rdi), %xmm36413; AVX2-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]6414; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]6415; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6416; AVX2-NEXT: vmovdqa 608(%rdi), %ymm16417; AVX2-NEXT: vpalignr {{.*#+}} ymm6 = ymm9[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6418; AVX2-NEXT: vmovdqa 512(%rdi), %xmm76419; AVX2-NEXT: vpalignr {{.*#+}} xmm9 = xmm10[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]6420; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]6421; AVX2-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6422; AVX2-NEXT: vmovdqa 1056(%rdi), %ymm66423; AVX2-NEXT: vpalignr {{.*#+}} ymm9 = ymm11[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]6424; AVX2-NEXT: vmovdqa 960(%rdi), %xmm106425; AVX2-NEXT: vpalignr {{.*#+}} xmm11 = xmm12[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]6426; AVX2-NEXT: vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3],ymm9[4,5,6,7]6427; AVX2-NEXT: vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6428; AVX2-NEXT: vmovdqa 1504(%rdi), %ymm96429; AVX2-NEXT: vpalignr {{.*#+}} ymm12 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]6430; AVX2-NEXT: vmovdqa 1408(%rdi), %xmm116431; AVX2-NEXT: vpalignr {{.*#+}} xmm13 = xmm14[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]6432; AVX2-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]6433; AVX2-NEXT: vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6434; AVX2-NEXT: vpbroadcastq 352(%rdi), %ymm126435; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm12[1],ymm4[1],ymm12[3],ymm4[3]6436; AVX2-NEXT: vmovdqa 240(%rdi), %xmm126437; AVX2-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]6438; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]6439; AVX2-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6440; AVX2-NEXT: vpbroadcastq 800(%rdi), %ymm46441; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]6442; AVX2-NEXT: vmovdqa 688(%rdi), %xmm46443; AVX2-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6444; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6445; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6446; AVX2-NEXT: vpbroadcastq 1248(%rdi), %ymm26447; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]6448; AVX2-NEXT: vmovdqa 1136(%rdi), %xmm46449; AVX2-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6450; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6451; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6452; AVX2-NEXT: vpbroadcastq 1696(%rdi), %ymm26453; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]6454; AVX2-NEXT: vmovdqa 1584(%rdi), %xmm46455; AVX2-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6456; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6457; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6458; AVX2-NEXT: vpbroadcastq 128(%rdi), %ymm26459; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]6460; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]6461; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6462; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6463; AVX2-NEXT: vpbroadcastq 576(%rdi), %ymm06464; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6465; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm7[2,3]6466; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6467; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6468; AVX2-NEXT: vpbroadcastq 1024(%rdi), %ymm06469; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]6470; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm10[2,3]6471; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6472; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6473; AVX2-NEXT: vpbroadcastq 1472(%rdi), %ymm06474; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]6475; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm11[2,3]6476; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6477; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6478; AVX2-NEXT: vmovdqa 288(%rdi), %ymm06479; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]6480; AVX2-NEXT: vmovdqa 416(%rdi), %xmm06481; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6482; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26483; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6484; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6485; AVX2-NEXT: vmovdqa 736(%rdi), %ymm16486; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6487; AVX2-NEXT: vmovdqa 864(%rdi), %xmm36488; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]6489; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26490; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6491; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6492; AVX2-NEXT: vmovdqa 1184(%rdi), %ymm16493; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6494; AVX2-NEXT: vmovdqa 1312(%rdi), %xmm76495; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]6496; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26497; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6498; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6499; AVX2-NEXT: vmovdqa 1632(%rdi), %ymm16500; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6501; AVX2-NEXT: vmovdqa 1760(%rdi), %xmm66502; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]6503; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26504; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6505; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6506; AVX2-NEXT: vmovdqa 1408(%rdi), %ymm16507; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6508; AVX2-NEXT: vmovdqa 1536(%rdi), %xmm56509; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]6510; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26511; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6512; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6513; AVX2-NEXT: vmovdqa 960(%rdi), %ymm16514; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6515; AVX2-NEXT: vmovdqa 1088(%rdi), %xmm46516; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]6517; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26518; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6519; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6520; AVX2-NEXT: vmovdqa 512(%rdi), %ymm16521; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6522; AVX2-NEXT: vmovdqa 640(%rdi), %xmm86523; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]6524; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26525; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6526; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6527; AVX2-NEXT: vmovdqa 64(%rdi), %ymm16528; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6529; AVX2-NEXT: vmovdqa 192(%rdi), %xmm26530; AVX2-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]6531; AVX2-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm96532; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm9[2,3]6533; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6534; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm16535; AVX2-NEXT: vmovdqa 128(%rdi), %ymm126536; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]6537; AVX2-NEXT: vmovdqa 32(%rdi), %xmm26538; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]6539; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6540; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6541; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm06542; AVX2-NEXT: vmovdqa 352(%rdi), %ymm146543; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]6544; AVX2-NEXT: vmovdqa 256(%rdi), %xmm26545; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],mem[2,3]6546; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6547; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6548; AVX2-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm06549; AVX2-NEXT: vmovdqa 576(%rdi), %ymm16550; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6551; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6552; AVX2-NEXT: vmovdqa 480(%rdi), %xmm116553; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],mem[2,3]6554; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6555; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6556; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm06557; AVX2-NEXT: vmovdqa 800(%rdi), %ymm106558; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]6559; AVX2-NEXT: vmovdqa 704(%rdi), %xmm16560; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm1[0,1],mem[2,3]6561; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]6562; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6563; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm06564; AVX2-NEXT: vmovdqa 1024(%rdi), %ymm36565; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6566; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]6567; AVX2-NEXT: vmovdqa 928(%rdi), %xmm46568; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm4[0,1],mem[2,3]6569; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]6570; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6571; AVX2-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm06572; AVX2-NEXT: vmovdqa 1248(%rdi), %ymm86573; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm0[6,7]6574; AVX2-NEXT: vmovdqa 1152(%rdi), %xmm06575; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]6576; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]6577; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6578; AVX2-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm36579; AVX2-NEXT: vmovdqa 1472(%rdi), %ymm156580; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4,5],ymm3[6,7]6581; AVX2-NEXT: vmovdqa 1376(%rdi), %xmm36582; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = xmm3[0,1],mem[2,3]6583; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3],ymm5[4,5,6,7]6584; AVX2-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6585; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm56586; AVX2-NEXT: vmovdqa 1696(%rdi), %ymm76587; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm5[6,7]6588; AVX2-NEXT: vmovdqa 1600(%rdi), %xmm96589; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm9[0,1],mem[2,3]6590; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]6591; AVX2-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6592; AVX2-NEXT: vmovdqa 192(%rdi), %ymm136593; AVX2-NEXT: vpalignr {{.*#+}} ymm5 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]6594; AVX2-NEXT: vmovdqa 96(%rdi), %xmm66595; AVX2-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]6596; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]6597; AVX2-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6598; AVX2-NEXT: vmovdqa 416(%rdi), %ymm126599; AVX2-NEXT: vpalignr {{.*#+}} ymm5 = ymm14[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm14[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]6600; AVX2-NEXT: vmovdqa 320(%rdi), %xmm66601; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]6602; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]6603; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6604; AVX2-NEXT: vmovdqa 544(%rdi), %xmm26605; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm11[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]6606; AVX2-NEXT: vmovdqa 640(%rdi), %ymm56607; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm11 # 32-byte Folded Reload6608; AVX2-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]6609; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm11[4,5,6,7]6610; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6611; AVX2-NEXT: vmovdqa 864(%rdi), %ymm116612; AVX2-NEXT: vpalignr {{.*#+}} ymm2 = ymm10[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]6613; AVX2-NEXT: vmovdqa 768(%rdi), %xmm106614; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]6615; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6616; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6617; AVX2-NEXT: vmovdqa 992(%rdi), %xmm16618; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = xmm4[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]6619; AVX2-NEXT: vmovdqa 1088(%rdi), %ymm26620; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm4 # 32-byte Folded Reload6621; AVX2-NEXT: # ymm4 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]6622; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]6623; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6624; AVX2-NEXT: vmovdqa 1312(%rdi), %ymm46625; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm8[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]6626; AVX2-NEXT: vmovdqa 1216(%rdi), %xmm86627; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]6628; AVX2-NEXT: vpblendd {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]6629; AVX2-NEXT: vmovdqa 1440(%rdi), %xmm06630; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = xmm3[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6631; AVX2-NEXT: vmovdqa 1536(%rdi), %ymm06632; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm15[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]6633; AVX2-NEXT: vpblendd {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm3[4,5,6,7]6634; AVX2-NEXT: vmovdqa 1760(%rdi), %ymm36635; AVX2-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]6636; AVX2-NEXT: vmovdqa 1664(%rdi), %xmm16637; AVX2-NEXT: vpalignr {{.*#+}} xmm9 = xmm9[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]6638; AVX2-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]6639; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 16-byte Folded Reload6640; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm13[1],ymm9[3],ymm13[3]6641; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload6642; AVX2-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]6643; AVX2-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]6644; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 16-byte Folded Reload6645; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]6646; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload6647; AVX2-NEXT: # xmm6 = mem[0,1],xmm6[2,3]6648; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm12[4,5,6,7]6649; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 16-byte Folded Reload6650; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm5[1],ymm12[3],ymm5[3]6651; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload6652; AVX2-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]6653; AVX2-NEXT: vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm5[4,5,6,7]6654; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload6655; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm5[1],ymm11[1],ymm5[3],ymm11[3]6656; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload6657; AVX2-NEXT: # xmm10 = mem[0,1],xmm10[2,3]6658; AVX2-NEXT: vpblendd {{.*#+}} ymm11 = ymm10[0,1,2,3],ymm5[4,5,6,7]6659; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload6660; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]6661; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload6662; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]6663; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]6664; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload6665; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]6666; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm5 # 16-byte Folded Reload6667; AVX2-NEXT: # xmm5 = mem[0,1],xmm8[2,3]6668; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]6669; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload6670; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm5[1],ymm0[1],ymm5[3],ymm0[3]6671; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload6672; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]6673; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6674; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload6675; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]6676; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload6677; AVX2-NEXT: # xmm1 = mem[0,1],xmm1[2,3]6678; AVX2-NEXT: vpblendd {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm3[4,5,6,7]6679; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6680; AVX2-NEXT: vmovaps %ymm1, 192(%rsi)6681; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6682; AVX2-NEXT: vmovaps %ymm1, 128(%rsi)6683; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6684; AVX2-NEXT: vmovaps %ymm1, 64(%rsi)6685; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6686; AVX2-NEXT: vmovaps %ymm1, (%rsi)6687; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6688; AVX2-NEXT: vmovaps %ymm1, 224(%rsi)6689; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6690; AVX2-NEXT: vmovaps %ymm1, 160(%rsi)6691; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6692; AVX2-NEXT: vmovaps %ymm1, 96(%rsi)6693; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6694; AVX2-NEXT: vmovaps %ymm1, 32(%rsi)6695; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6696; AVX2-NEXT: vmovaps %ymm1, 192(%rdx)6697; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6698; AVX2-NEXT: vmovaps %ymm1, 128(%rdx)6699; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6700; AVX2-NEXT: vmovaps %ymm1, 64(%rdx)6701; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6702; AVX2-NEXT: vmovaps %ymm1, (%rdx)6703; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6704; AVX2-NEXT: vmovaps %ymm1, 224(%rdx)6705; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6706; AVX2-NEXT: vmovaps %ymm1, 160(%rdx)6707; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6708; AVX2-NEXT: vmovaps %ymm1, 96(%rdx)6709; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6710; AVX2-NEXT: vmovaps %ymm1, 32(%rdx)6711; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6712; AVX2-NEXT: vmovaps %ymm1, 192(%rcx)6713; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6714; AVX2-NEXT: vmovaps %ymm1, 128(%rcx)6715; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6716; AVX2-NEXT: vmovaps %ymm1, 64(%rcx)6717; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6718; AVX2-NEXT: vmovaps %ymm1, (%rcx)6719; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6720; AVX2-NEXT: vmovaps %ymm1, 224(%rcx)6721; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6722; AVX2-NEXT: vmovaps %ymm1, 160(%rcx)6723; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6724; AVX2-NEXT: vmovaps %ymm1, 96(%rcx)6725; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6726; AVX2-NEXT: vmovaps %ymm1, 32(%rcx)6727; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6728; AVX2-NEXT: vmovaps %ymm1, (%r8)6729; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6730; AVX2-NEXT: vmovaps %ymm1, 64(%r8)6731; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6732; AVX2-NEXT: vmovaps %ymm1, 128(%r8)6733; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6734; AVX2-NEXT: vmovaps %ymm1, 192(%r8)6735; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6736; AVX2-NEXT: vmovaps %ymm1, 224(%r8)6737; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6738; AVX2-NEXT: vmovaps %ymm1, 160(%r8)6739; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6740; AVX2-NEXT: vmovaps %ymm1, 96(%r8)6741; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6742; AVX2-NEXT: vmovaps %ymm1, 32(%r8)6743; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6744; AVX2-NEXT: vmovaps %ymm1, 224(%r9)6745; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6746; AVX2-NEXT: vmovaps %ymm1, 192(%r9)6747; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6748; AVX2-NEXT: vmovaps %ymm1, 160(%r9)6749; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6750; AVX2-NEXT: vmovaps %ymm1, 128(%r9)6751; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6752; AVX2-NEXT: vmovaps %ymm1, 96(%r9)6753; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6754; AVX2-NEXT: vmovaps %ymm1, 64(%r9)6755; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6756; AVX2-NEXT: vmovaps %ymm1, 32(%r9)6757; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6758; AVX2-NEXT: vmovaps %ymm1, (%r9)6759; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax6760; AVX2-NEXT: vmovdqa %ymm7, 224(%rax)6761; AVX2-NEXT: vmovdqa %ymm15, 192(%rax)6762; AVX2-NEXT: vmovdqa %ymm14, 160(%rax)6763; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6764; AVX2-NEXT: vmovaps %ymm1, 128(%rax)6765; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6766; AVX2-NEXT: vmovaps %ymm1, 96(%rax)6767; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6768; AVX2-NEXT: vmovaps %ymm1, 64(%rax)6769; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6770; AVX2-NEXT: vmovaps %ymm1, 32(%rax)6771; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload6772; AVX2-NEXT: vmovaps %ymm1, (%rax)6773; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax6774; AVX2-NEXT: vmovdqa %ymm10, 224(%rax)6775; AVX2-NEXT: vmovdqa %ymm0, 192(%rax)6776; AVX2-NEXT: vmovdqa %ymm4, 160(%rax)6777; AVX2-NEXT: vmovdqa %ymm2, 128(%rax)6778; AVX2-NEXT: vmovdqa %ymm11, 96(%rax)6779; AVX2-NEXT: vmovdqa %ymm12, 64(%rax)6780; AVX2-NEXT: vmovdqa %ymm6, 32(%rax)6781; AVX2-NEXT: vmovdqa %ymm9, (%rax)6782; AVX2-NEXT: addq $1576, %rsp # imm = 0x6286783; AVX2-NEXT: vzeroupper6784; AVX2-NEXT: retq6785;6786; AVX2-FP-LABEL: load_i64_stride7_vf32:6787; AVX2-FP: # %bb.0:6788; AVX2-FP-NEXT: subq $1576, %rsp # imm = 0x6286789; AVX2-FP-NEXT: vmovdqa 1216(%rdi), %ymm16790; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6791; AVX2-FP-NEXT: vmovdqa 768(%rdi), %ymm66792; AVX2-FP-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6793; AVX2-FP-NEXT: vmovdqa 320(%rdi), %ymm26794; AVX2-FP-NEXT: vmovdqa 384(%rdi), %xmm06795; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6796; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36797; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm3[6,7]6798; AVX2-FP-NEXT: vmovdqa 224(%rdi), %xmm46799; AVX2-FP-NEXT: vmovdqa 272(%rdi), %xmm06800; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6801; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm4[0,1],xmm0[2,3]6802; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm3[4,5,6,7]6803; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6804; AVX2-FP-NEXT: vmovdqa 832(%rdi), %xmm06805; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6806; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36807; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]6808; AVX2-FP-NEXT: vmovdqa 672(%rdi), %xmm56809; AVX2-FP-NEXT: vmovdqa 720(%rdi), %xmm06810; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6811; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm0[2,3]6812; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm3[4,5,6,7]6813; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6814; AVX2-FP-NEXT: vmovdqa 1280(%rdi), %xmm06815; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6816; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm36817; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm3[6,7]6818; AVX2-FP-NEXT: vmovdqa 1120(%rdi), %xmm66819; AVX2-FP-NEXT: vmovdqa 1168(%rdi), %xmm06820; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6821; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm0[2,3]6822; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm3[4,5,6,7]6823; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6824; AVX2-FP-NEXT: vmovdqa 1664(%rdi), %ymm36825; AVX2-FP-NEXT: vmovdqa 1728(%rdi), %xmm06826; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6827; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm76828; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm7 = ymm3[0,1,2,3,4,5],ymm7[6,7]6829; AVX2-FP-NEXT: vmovdqa 1568(%rdi), %xmm86830; AVX2-FP-NEXT: vmovdqa 1616(%rdi), %xmm06831; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6832; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm9 = xmm8[0,1],xmm0[2,3]6833; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm7[4,5,6,7]6834; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6835; AVX2-FP-NEXT: vmovdqa 96(%rdi), %ymm76836; AVX2-FP-NEXT: vmovdqa 160(%rdi), %xmm06837; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6838; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm96839; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]6840; AVX2-FP-NEXT: vmovdqa 48(%rdi), %xmm06841; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6842; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm10 = mem[0,1],xmm0[2,3]6843; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm9[4,5,6,7]6844; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6845; AVX2-FP-NEXT: vmovdqa 544(%rdi), %ymm96846; AVX2-FP-NEXT: vmovdqa 608(%rdi), %xmm06847; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6848; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm106849; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5],ymm10[6,7]6850; AVX2-FP-NEXT: vmovdqa 448(%rdi), %xmm106851; AVX2-FP-NEXT: vmovdqa 496(%rdi), %xmm06852; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6853; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm12 = xmm10[0,1],xmm0[2,3]6854; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm11[4,5,6,7]6855; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6856; AVX2-FP-NEXT: vmovdqa 992(%rdi), %ymm116857; AVX2-FP-NEXT: vmovdqa 1056(%rdi), %xmm06858; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6859; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm126860; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm13 = ymm11[0,1,2,3,4,5],ymm12[6,7]6861; AVX2-FP-NEXT: vmovdqa 896(%rdi), %xmm126862; AVX2-FP-NEXT: vmovdqa 944(%rdi), %xmm06863; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6864; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm14 = xmm12[0,1],xmm0[2,3]6865; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm13[4,5,6,7]6866; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6867; AVX2-FP-NEXT: vmovdqa 1440(%rdi), %ymm136868; AVX2-FP-NEXT: vmovdqa 1504(%rdi), %xmm06869; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6870; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm146871; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm15 = ymm13[0,1,2,3,4,5],ymm14[6,7]6872; AVX2-FP-NEXT: vmovdqa 1344(%rdi), %xmm146873; AVX2-FP-NEXT: vmovdqa 1392(%rdi), %xmm06874; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6875; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm0 = xmm14[0,1],xmm0[2,3]6876; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]6877; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6878; AVX2-FP-NEXT: vmovdqa 288(%rdi), %xmm06879; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm4[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6880; AVX2-FP-NEXT: vmovdqa 384(%rdi), %ymm46881; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]6882; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]6883; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6884; AVX2-FP-NEXT: vmovdqa 736(%rdi), %xmm06885; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm5[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6886; AVX2-FP-NEXT: vmovdqa 832(%rdi), %ymm26887; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm1 # 32-byte Folded Reload6888; AVX2-FP-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]6889; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6890; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6891; AVX2-FP-NEXT: vmovdqa 1184(%rdi), %xmm06892; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm6[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6893; AVX2-FP-NEXT: vmovdqa 1280(%rdi), %ymm56894; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm1 # 32-byte Folded Reload6895; AVX2-FP-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]6896; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6897; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6898; AVX2-FP-NEXT: vmovdqa 1632(%rdi), %xmm06899; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm8[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6900; AVX2-FP-NEXT: vmovdqa 1728(%rdi), %ymm86901; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]6902; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6903; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6904; AVX2-FP-NEXT: vmovdqa 160(%rdi), %ymm06905; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]6906; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm36907; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]6908; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]6909; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6910; AVX2-FP-NEXT: vmovdqa 608(%rdi), %ymm16911; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm6 = ymm9[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6912; AVX2-FP-NEXT: vmovdqa 512(%rdi), %xmm76913; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm9 = xmm10[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]6914; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]6915; AVX2-FP-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6916; AVX2-FP-NEXT: vmovdqa 1056(%rdi), %ymm66917; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm9 = ymm11[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]6918; AVX2-FP-NEXT: vmovdqa 960(%rdi), %xmm106919; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm11 = xmm12[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]6920; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3],ymm9[4,5,6,7]6921; AVX2-FP-NEXT: vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6922; AVX2-FP-NEXT: vmovdqa 1504(%rdi), %ymm96923; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm12 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]6924; AVX2-FP-NEXT: vmovdqa 1408(%rdi), %xmm116925; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm13 = xmm14[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]6926; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]6927; AVX2-FP-NEXT: vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6928; AVX2-FP-NEXT: vpbroadcastq 352(%rdi), %ymm126929; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm12[1],ymm4[1],ymm12[3],ymm4[3]6930; AVX2-FP-NEXT: vmovdqa 240(%rdi), %xmm126931; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]6932; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]6933; AVX2-FP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6934; AVX2-FP-NEXT: vpbroadcastq 800(%rdi), %ymm46935; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]6936; AVX2-FP-NEXT: vmovdqa 688(%rdi), %xmm46937; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6938; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6939; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6940; AVX2-FP-NEXT: vpbroadcastq 1248(%rdi), %ymm26941; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]6942; AVX2-FP-NEXT: vmovdqa 1136(%rdi), %xmm46943; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6944; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6945; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6946; AVX2-FP-NEXT: vpbroadcastq 1696(%rdi), %ymm26947; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]6948; AVX2-FP-NEXT: vmovdqa 1584(%rdi), %xmm46949; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]6950; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]6951; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6952; AVX2-FP-NEXT: vpbroadcastq 128(%rdi), %ymm26953; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]6954; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]6955; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6956; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6957; AVX2-FP-NEXT: vpbroadcastq 576(%rdi), %ymm06958; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]6959; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm7[2,3]6960; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6961; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6962; AVX2-FP-NEXT: vpbroadcastq 1024(%rdi), %ymm06963; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]6964; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm10[2,3]6965; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6966; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6967; AVX2-FP-NEXT: vpbroadcastq 1472(%rdi), %ymm06968; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]6969; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm11[2,3]6970; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6971; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6972; AVX2-FP-NEXT: vmovdqa 288(%rdi), %ymm06973; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]6974; AVX2-FP-NEXT: vmovdqa 416(%rdi), %xmm06975; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]6976; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26977; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6978; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6979; AVX2-FP-NEXT: vmovdqa 736(%rdi), %ymm16980; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6981; AVX2-FP-NEXT: vmovdqa 864(%rdi), %xmm36982; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]6983; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26984; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6985; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6986; AVX2-FP-NEXT: vmovdqa 1184(%rdi), %ymm16987; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6988; AVX2-FP-NEXT: vmovdqa 1312(%rdi), %xmm76989; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]6990; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26991; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6992; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6993; AVX2-FP-NEXT: vmovdqa 1632(%rdi), %ymm16994; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]6995; AVX2-FP-NEXT: vmovdqa 1760(%rdi), %xmm66996; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]6997; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm26998; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]6999; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7000; AVX2-FP-NEXT: vmovdqa 1408(%rdi), %ymm17001; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7002; AVX2-FP-NEXT: vmovdqa 1536(%rdi), %xmm57003; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]7004; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27005; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7006; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7007; AVX2-FP-NEXT: vmovdqa 960(%rdi), %ymm17008; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7009; AVX2-FP-NEXT: vmovdqa 1088(%rdi), %xmm47010; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]7011; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27012; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7013; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7014; AVX2-FP-NEXT: vmovdqa 512(%rdi), %ymm17015; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7016; AVX2-FP-NEXT: vmovdqa 640(%rdi), %xmm87017; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]7018; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27019; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7020; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7021; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm17022; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7023; AVX2-FP-NEXT: vmovdqa 192(%rdi), %xmm27024; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]7025; AVX2-FP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm97026; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm9[2,3]7027; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7028; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm17029; AVX2-FP-NEXT: vmovdqa 128(%rdi), %ymm127030; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]7031; AVX2-FP-NEXT: vmovdqa 32(%rdi), %xmm27032; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]7033; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7034; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7035; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm07036; AVX2-FP-NEXT: vmovdqa 352(%rdi), %ymm147037; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]7038; AVX2-FP-NEXT: vmovdqa 256(%rdi), %xmm27039; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],mem[2,3]7040; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7041; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7042; AVX2-FP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm07043; AVX2-FP-NEXT: vmovdqa 576(%rdi), %ymm17044; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7045; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7046; AVX2-FP-NEXT: vmovdqa 480(%rdi), %xmm117047; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],mem[2,3]7048; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7049; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7050; AVX2-FP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm07051; AVX2-FP-NEXT: vmovdqa 800(%rdi), %ymm107052; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]7053; AVX2-FP-NEXT: vmovdqa 704(%rdi), %xmm17054; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm1[0,1],mem[2,3]7055; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]7056; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7057; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm07058; AVX2-FP-NEXT: vmovdqa 1024(%rdi), %ymm37059; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7060; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]7061; AVX2-FP-NEXT: vmovdqa 928(%rdi), %xmm47062; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm4[0,1],mem[2,3]7063; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]7064; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7065; AVX2-FP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm07066; AVX2-FP-NEXT: vmovdqa 1248(%rdi), %ymm87067; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm0[6,7]7068; AVX2-FP-NEXT: vmovdqa 1152(%rdi), %xmm07069; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]7070; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]7071; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7072; AVX2-FP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm37073; AVX2-FP-NEXT: vmovdqa 1472(%rdi), %ymm157074; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4,5],ymm3[6,7]7075; AVX2-FP-NEXT: vmovdqa 1376(%rdi), %xmm37076; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = xmm3[0,1],mem[2,3]7077; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3],ymm5[4,5,6,7]7078; AVX2-FP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7079; AVX2-FP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm57080; AVX2-FP-NEXT: vmovdqa 1696(%rdi), %ymm77081; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm5[6,7]7082; AVX2-FP-NEXT: vmovdqa 1600(%rdi), %xmm97083; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm6 = xmm9[0,1],mem[2,3]7084; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]7085; AVX2-FP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7086; AVX2-FP-NEXT: vmovdqa 192(%rdi), %ymm137087; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm5 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]7088; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm67089; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]7090; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]7091; AVX2-FP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7092; AVX2-FP-NEXT: vmovdqa 416(%rdi), %ymm127093; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm5 = ymm14[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm14[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]7094; AVX2-FP-NEXT: vmovdqa 320(%rdi), %xmm67095; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]7096; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]7097; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7098; AVX2-FP-NEXT: vmovdqa 544(%rdi), %xmm27099; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm11[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]7100; AVX2-FP-NEXT: vmovdqa 640(%rdi), %ymm57101; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm11 # 32-byte Folded Reload7102; AVX2-FP-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]7103; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm11[4,5,6,7]7104; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7105; AVX2-FP-NEXT: vmovdqa 864(%rdi), %ymm117106; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm2 = ymm10[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]7107; AVX2-FP-NEXT: vmovdqa 768(%rdi), %xmm107108; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]7109; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7110; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7111; AVX2-FP-NEXT: vmovdqa 992(%rdi), %xmm17112; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = xmm4[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]7113; AVX2-FP-NEXT: vmovdqa 1088(%rdi), %ymm27114; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm4 # 32-byte Folded Reload7115; AVX2-FP-NEXT: # ymm4 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]7116; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7117; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7118; AVX2-FP-NEXT: vmovdqa 1312(%rdi), %ymm47119; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm8[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]7120; AVX2-FP-NEXT: vmovdqa 1216(%rdi), %xmm87121; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]7122; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]7123; AVX2-FP-NEXT: vmovdqa 1440(%rdi), %xmm07124; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = xmm3[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7125; AVX2-FP-NEXT: vmovdqa 1536(%rdi), %ymm07126; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm15[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]7127; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm3[4,5,6,7]7128; AVX2-FP-NEXT: vmovdqa 1760(%rdi), %ymm37129; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]7130; AVX2-FP-NEXT: vmovdqa 1664(%rdi), %xmm17131; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm9 = xmm9[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]7132; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]7133; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 16-byte Folded Reload7134; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm13[1],ymm9[3],ymm13[3]7135; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload7136; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]7137; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]7138; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 16-byte Folded Reload7139; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]7140; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload7141; AVX2-FP-NEXT: # xmm6 = mem[0,1],xmm6[2,3]7142; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm12[4,5,6,7]7143; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 16-byte Folded Reload7144; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm5[1],ymm12[3],ymm5[3]7145; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload7146; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]7147; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm5[4,5,6,7]7148; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7149; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm5[1],ymm11[1],ymm5[3],ymm11[3]7150; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload7151; AVX2-FP-NEXT: # xmm10 = mem[0,1],xmm10[2,3]7152; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm11 = ymm10[0,1,2,3],ymm5[4,5,6,7]7153; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7154; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]7155; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7156; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7157; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]7158; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7159; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]7160; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm5 # 16-byte Folded Reload7161; AVX2-FP-NEXT: # xmm5 = mem[0,1],xmm8[2,3]7162; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]7163; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7164; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm5[1],ymm0[1],ymm5[3],ymm0[3]7165; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7166; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7167; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7168; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7169; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]7170; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload7171; AVX2-FP-NEXT: # xmm1 = mem[0,1],xmm1[2,3]7172; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm3[4,5,6,7]7173; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7174; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rsi)7175; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7176; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rsi)7177; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7178; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rsi)7179; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7180; AVX2-FP-NEXT: vmovaps %ymm1, (%rsi)7181; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7182; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rsi)7183; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7184; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rsi)7185; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7186; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rsi)7187; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7188; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rsi)7189; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7190; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rdx)7191; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7192; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rdx)7193; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7194; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rdx)7195; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7196; AVX2-FP-NEXT: vmovaps %ymm1, (%rdx)7197; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7198; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rdx)7199; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7200; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rdx)7201; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7202; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rdx)7203; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7204; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rdx)7205; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7206; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rcx)7207; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7208; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rcx)7209; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7210; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rcx)7211; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7212; AVX2-FP-NEXT: vmovaps %ymm1, (%rcx)7213; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7214; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rcx)7215; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7216; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rcx)7217; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7218; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rcx)7219; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7220; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rcx)7221; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7222; AVX2-FP-NEXT: vmovaps %ymm1, (%r8)7223; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7224; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r8)7225; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7226; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r8)7227; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7228; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r8)7229; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7230; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r8)7231; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7232; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r8)7233; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7234; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r8)7235; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7236; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r8)7237; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7238; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r9)7239; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7240; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r9)7241; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7242; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r9)7243; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7244; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r9)7245; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7246; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r9)7247; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7248; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r9)7249; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7250; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r9)7251; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7252; AVX2-FP-NEXT: vmovaps %ymm1, (%r9)7253; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax7254; AVX2-FP-NEXT: vmovdqa %ymm7, 224(%rax)7255; AVX2-FP-NEXT: vmovdqa %ymm15, 192(%rax)7256; AVX2-FP-NEXT: vmovdqa %ymm14, 160(%rax)7257; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7258; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)7259; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7260; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)7261; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7262; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rax)7263; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7264; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rax)7265; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7266; AVX2-FP-NEXT: vmovaps %ymm1, (%rax)7267; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax7268; AVX2-FP-NEXT: vmovdqa %ymm10, 224(%rax)7269; AVX2-FP-NEXT: vmovdqa %ymm0, 192(%rax)7270; AVX2-FP-NEXT: vmovdqa %ymm4, 160(%rax)7271; AVX2-FP-NEXT: vmovdqa %ymm2, 128(%rax)7272; AVX2-FP-NEXT: vmovdqa %ymm11, 96(%rax)7273; AVX2-FP-NEXT: vmovdqa %ymm12, 64(%rax)7274; AVX2-FP-NEXT: vmovdqa %ymm6, 32(%rax)7275; AVX2-FP-NEXT: vmovdqa %ymm9, (%rax)7276; AVX2-FP-NEXT: addq $1576, %rsp # imm = 0x6287277; AVX2-FP-NEXT: vzeroupper7278; AVX2-FP-NEXT: retq7279;7280; AVX2-FCP-LABEL: load_i64_stride7_vf32:7281; AVX2-FCP: # %bb.0:7282; AVX2-FCP-NEXT: subq $1576, %rsp # imm = 0x6287283; AVX2-FCP-NEXT: vmovdqa 1216(%rdi), %ymm17284; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7285; AVX2-FCP-NEXT: vmovdqa 768(%rdi), %ymm67286; AVX2-FCP-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7287; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %ymm27288; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %xmm07289; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7290; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm37291; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm3[6,7]7292; AVX2-FCP-NEXT: vmovdqa 224(%rdi), %xmm47293; AVX2-FCP-NEXT: vmovdqa 272(%rdi), %xmm07294; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7295; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm4[0,1],xmm0[2,3]7296; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm3[4,5,6,7]7297; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7298; AVX2-FCP-NEXT: vmovdqa 832(%rdi), %xmm07299; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7300; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm37301; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]7302; AVX2-FCP-NEXT: vmovdqa 672(%rdi), %xmm57303; AVX2-FCP-NEXT: vmovdqa 720(%rdi), %xmm07304; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7305; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm5[0,1],xmm0[2,3]7306; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm3[4,5,6,7]7307; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7308; AVX2-FCP-NEXT: vmovdqa 1280(%rdi), %xmm07309; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7310; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm37311; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm3[6,7]7312; AVX2-FCP-NEXT: vmovdqa 1120(%rdi), %xmm67313; AVX2-FCP-NEXT: vmovdqa 1168(%rdi), %xmm07314; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7315; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm7 = xmm6[0,1],xmm0[2,3]7316; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm3[4,5,6,7]7317; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7318; AVX2-FCP-NEXT: vmovdqa 1664(%rdi), %ymm37319; AVX2-FCP-NEXT: vmovdqa 1728(%rdi), %xmm07320; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7321; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm77322; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm3[0,1,2,3,4,5],ymm7[6,7]7323; AVX2-FCP-NEXT: vmovdqa 1568(%rdi), %xmm87324; AVX2-FCP-NEXT: vmovdqa 1616(%rdi), %xmm07325; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7326; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm9 = xmm8[0,1],xmm0[2,3]7327; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm7[4,5,6,7]7328; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7329; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %ymm77330; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %xmm07331; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7332; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm97333; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5],ymm9[6,7]7334; AVX2-FCP-NEXT: vmovdqa 48(%rdi), %xmm07335; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7336; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm10 = mem[0,1],xmm0[2,3]7337; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm9[4,5,6,7]7338; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7339; AVX2-FCP-NEXT: vmovdqa 544(%rdi), %ymm97340; AVX2-FCP-NEXT: vmovdqa 608(%rdi), %xmm07341; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7342; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm107343; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5],ymm10[6,7]7344; AVX2-FCP-NEXT: vmovdqa 448(%rdi), %xmm107345; AVX2-FCP-NEXT: vmovdqa 496(%rdi), %xmm07346; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7347; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm12 = xmm10[0,1],xmm0[2,3]7348; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm11[4,5,6,7]7349; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7350; AVX2-FCP-NEXT: vmovdqa 992(%rdi), %ymm117351; AVX2-FCP-NEXT: vmovdqa 1056(%rdi), %xmm07352; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7353; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm127354; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm11[0,1,2,3,4,5],ymm12[6,7]7355; AVX2-FCP-NEXT: vmovdqa 896(%rdi), %xmm127356; AVX2-FCP-NEXT: vmovdqa 944(%rdi), %xmm07357; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7358; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm14 = xmm12[0,1],xmm0[2,3]7359; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm13[4,5,6,7]7360; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7361; AVX2-FCP-NEXT: vmovdqa 1440(%rdi), %ymm137362; AVX2-FCP-NEXT: vmovdqa 1504(%rdi), %xmm07363; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7364; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm147365; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm15 = ymm13[0,1,2,3,4,5],ymm14[6,7]7366; AVX2-FCP-NEXT: vmovdqa 1344(%rdi), %xmm147367; AVX2-FCP-NEXT: vmovdqa 1392(%rdi), %xmm07368; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7369; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm0 = xmm14[0,1],xmm0[2,3]7370; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm15[4,5,6,7]7371; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7372; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %xmm07373; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm4[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7374; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %ymm47375; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm2 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]7376; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]7377; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7378; AVX2-FCP-NEXT: vmovdqa 736(%rdi), %xmm07379; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm5[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7380; AVX2-FCP-NEXT: vmovdqa 832(%rdi), %ymm27381; AVX2-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm1 # 32-byte Folded Reload7382; AVX2-FCP-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]7383; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7384; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7385; AVX2-FCP-NEXT: vmovdqa 1184(%rdi), %xmm07386; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm6[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7387; AVX2-FCP-NEXT: vmovdqa 1280(%rdi), %ymm57388; AVX2-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm1 # 32-byte Folded Reload7389; AVX2-FCP-NEXT: # ymm1 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]7390; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7391; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7392; AVX2-FCP-NEXT: vmovdqa 1632(%rdi), %xmm07393; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm8[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7394; AVX2-FCP-NEXT: vmovdqa 1728(%rdi), %ymm87395; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]7396; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7397; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7398; AVX2-FCP-NEXT: vmovdqa 160(%rdi), %ymm07399; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]7400; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %xmm37401; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]7402; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]7403; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7404; AVX2-FCP-NEXT: vmovdqa 608(%rdi), %ymm17405; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm6 = ymm9[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7406; AVX2-FCP-NEXT: vmovdqa 512(%rdi), %xmm77407; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm9 = xmm10[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]7408; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]7409; AVX2-FCP-NEXT: vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7410; AVX2-FCP-NEXT: vmovdqa 1056(%rdi), %ymm67411; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm9 = ymm11[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]7412; AVX2-FCP-NEXT: vmovdqa 960(%rdi), %xmm107413; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm11 = xmm12[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]7414; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3],ymm9[4,5,6,7]7415; AVX2-FCP-NEXT: vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7416; AVX2-FCP-NEXT: vmovdqa 1504(%rdi), %ymm97417; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm12 = ymm13[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]7418; AVX2-FCP-NEXT: vmovdqa 1408(%rdi), %xmm117419; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm13 = xmm14[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]7420; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]7421; AVX2-FCP-NEXT: vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7422; AVX2-FCP-NEXT: vpbroadcastq 352(%rdi), %ymm127423; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm12[1],ymm4[1],ymm12[3],ymm4[3]7424; AVX2-FCP-NEXT: vmovdqa 240(%rdi), %xmm127425; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]7426; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm12[0,1,2,3],ymm4[4,5,6,7]7427; AVX2-FCP-NEXT: vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7428; AVX2-FCP-NEXT: vpbroadcastq 800(%rdi), %ymm47429; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]7430; AVX2-FCP-NEXT: vmovdqa 688(%rdi), %xmm47431; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]7432; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]7433; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7434; AVX2-FCP-NEXT: vpbroadcastq 1248(%rdi), %ymm27435; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm5[1],ymm2[3],ymm5[3]7436; AVX2-FCP-NEXT: vmovdqa 1136(%rdi), %xmm47437; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]7438; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]7439; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7440; AVX2-FCP-NEXT: vpbroadcastq 1696(%rdi), %ymm27441; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm2[1],ymm8[1],ymm2[3],ymm8[3]7442; AVX2-FCP-NEXT: vmovdqa 1584(%rdi), %xmm47443; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]7444; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]7445; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7446; AVX2-FCP-NEXT: vpbroadcastq 128(%rdi), %ymm27447; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm2[1],ymm0[1],ymm2[3],ymm0[3]7448; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = mem[0,1],xmm3[2,3]7449; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]7450; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7451; AVX2-FCP-NEXT: vpbroadcastq 576(%rdi), %ymm07452; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]7453; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm7[2,3]7454; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7455; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7456; AVX2-FCP-NEXT: vpbroadcastq 1024(%rdi), %ymm07457; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]7458; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm10[2,3]7459; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7460; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7461; AVX2-FCP-NEXT: vpbroadcastq 1472(%rdi), %ymm07462; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]7463; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm11[2,3]7464; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7465; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7466; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %ymm07467; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]7468; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %xmm07469; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7470; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27471; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7472; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7473; AVX2-FCP-NEXT: vmovdqa 736(%rdi), %ymm17474; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7475; AVX2-FCP-NEXT: vmovdqa 864(%rdi), %xmm37476; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]7477; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27478; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7479; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7480; AVX2-FCP-NEXT: vmovdqa 1184(%rdi), %ymm17481; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7482; AVX2-FCP-NEXT: vmovdqa 1312(%rdi), %xmm77483; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]7484; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27485; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7486; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7487; AVX2-FCP-NEXT: vmovdqa 1632(%rdi), %ymm17488; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7489; AVX2-FCP-NEXT: vmovdqa 1760(%rdi), %xmm67490; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]7491; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27492; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7493; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7494; AVX2-FCP-NEXT: vmovdqa 1408(%rdi), %ymm17495; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7496; AVX2-FCP-NEXT: vmovdqa 1536(%rdi), %xmm57497; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]7498; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27499; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7500; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7501; AVX2-FCP-NEXT: vmovdqa 960(%rdi), %ymm17502; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7503; AVX2-FCP-NEXT: vmovdqa 1088(%rdi), %xmm47504; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]7505; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27506; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7507; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7508; AVX2-FCP-NEXT: vmovdqa 512(%rdi), %ymm17509; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7510; AVX2-FCP-NEXT: vmovdqa 640(%rdi), %xmm87511; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]7512; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm27513; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]7514; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7515; AVX2-FCP-NEXT: vmovdqa 64(%rdi), %ymm17516; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]7517; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %xmm27518; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm9 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]7519; AVX2-FCP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm97520; AVX2-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm9[2,3]7521; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7522; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm17523; AVX2-FCP-NEXT: vmovdqa 128(%rdi), %ymm127524; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]7525; AVX2-FCP-NEXT: vmovdqa 32(%rdi), %xmm27526; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]7527; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7528; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7529; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm07530; AVX2-FCP-NEXT: vmovdqa 352(%rdi), %ymm147531; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]7532; AVX2-FCP-NEXT: vmovdqa 256(%rdi), %xmm27533; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],mem[2,3]7534; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7535; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7536; AVX2-FCP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm07537; AVX2-FCP-NEXT: vmovdqa 576(%rdi), %ymm17538; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7539; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7540; AVX2-FCP-NEXT: vmovdqa 480(%rdi), %xmm117541; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],mem[2,3]7542; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]7543; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7544; AVX2-FCP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm07545; AVX2-FCP-NEXT: vmovdqa 800(%rdi), %ymm107546; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5],ymm0[6,7]7547; AVX2-FCP-NEXT: vmovdqa 704(%rdi), %xmm17548; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm1[0,1],mem[2,3]7549; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]7550; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7551; AVX2-FCP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm07552; AVX2-FCP-NEXT: vmovdqa 1024(%rdi), %ymm37553; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7554; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]7555; AVX2-FCP-NEXT: vmovdqa 928(%rdi), %xmm47556; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm4[0,1],mem[2,3]7557; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]7558; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7559; AVX2-FCP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm07560; AVX2-FCP-NEXT: vmovdqa 1248(%rdi), %ymm87561; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5],ymm0[6,7]7562; AVX2-FCP-NEXT: vmovdqa 1152(%rdi), %xmm07563; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]7564; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]7565; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7566; AVX2-FCP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm37567; AVX2-FCP-NEXT: vmovdqa 1472(%rdi), %ymm157568; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4,5],ymm3[6,7]7569; AVX2-FCP-NEXT: vmovdqa 1376(%rdi), %xmm37570; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm7 = xmm3[0,1],mem[2,3]7571; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3],ymm5[4,5,6,7]7572; AVX2-FCP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7573; AVX2-FCP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm57574; AVX2-FCP-NEXT: vmovdqa 1696(%rdi), %ymm77575; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5],ymm5[6,7]7576; AVX2-FCP-NEXT: vmovdqa 1600(%rdi), %xmm97577; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm6 = xmm9[0,1],mem[2,3]7578; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]7579; AVX2-FCP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7580; AVX2-FCP-NEXT: vmovdqa 192(%rdi), %ymm137581; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]7582; AVX2-FCP-NEXT: vmovdqa 96(%rdi), %xmm67583; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm6 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]7584; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]7585; AVX2-FCP-NEXT: vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7586; AVX2-FCP-NEXT: vmovdqa 416(%rdi), %ymm127587; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm14[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm14[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]7588; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %xmm67589; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]7590; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]7591; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7592; AVX2-FCP-NEXT: vmovdqa 544(%rdi), %xmm27593; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm2 = xmm11[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]7594; AVX2-FCP-NEXT: vmovdqa 640(%rdi), %ymm57595; AVX2-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm11 # 32-byte Folded Reload7596; AVX2-FCP-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm5[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm5[16,17,18,19,20,21,22,23]7597; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm11[4,5,6,7]7598; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7599; AVX2-FCP-NEXT: vmovdqa 864(%rdi), %ymm117600; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm2 = ymm10[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]7601; AVX2-FCP-NEXT: vmovdqa 768(%rdi), %xmm107602; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]7603; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7604; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7605; AVX2-FCP-NEXT: vmovdqa 992(%rdi), %xmm17606; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm4[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]7607; AVX2-FCP-NEXT: vmovdqa 1088(%rdi), %ymm27608; AVX2-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm4 # 32-byte Folded Reload7609; AVX2-FCP-NEXT: # ymm4 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]7610; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]7611; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7612; AVX2-FCP-NEXT: vmovdqa 1312(%rdi), %ymm47613; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm1 = ymm8[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]7614; AVX2-FCP-NEXT: vmovdqa 1216(%rdi), %xmm87615; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]7616; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]7617; AVX2-FCP-NEXT: vmovdqa 1440(%rdi), %xmm07618; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm1 = xmm3[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]7619; AVX2-FCP-NEXT: vmovdqa 1536(%rdi), %ymm07620; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm3 = ymm15[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]7621; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm15 = ymm1[0,1,2,3],ymm3[4,5,6,7]7622; AVX2-FCP-NEXT: vmovdqa 1760(%rdi), %ymm37623; AVX2-FCP-NEXT: vpalignr {{.*#+}} ymm7 = ymm7[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]7624; AVX2-FCP-NEXT: vmovdqa 1664(%rdi), %xmm17625; AVX2-FCP-NEXT: vpalignr {{.*#+}} xmm9 = xmm9[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]7626; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]7627; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 16-byte Folded Reload7628; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm13[1],ymm9[3],ymm13[3]7629; AVX2-FCP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload7630; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]7631; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]7632; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 16-byte Folded Reload7633; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]7634; AVX2-FCP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload7635; AVX2-FCP-NEXT: # xmm6 = mem[0,1],xmm6[2,3]7636; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm12[4,5,6,7]7637; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 16-byte Folded Reload7638; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm12[1],ymm5[1],ymm12[3],ymm5[3]7639; AVX2-FCP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload7640; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]7641; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm5[4,5,6,7]7642; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7643; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm5[1],ymm11[1],ymm5[3],ymm11[3]7644; AVX2-FCP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload7645; AVX2-FCP-NEXT: # xmm10 = mem[0,1],xmm10[2,3]7646; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm10[0,1,2,3],ymm5[4,5,6,7]7647; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7648; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]7649; AVX2-FCP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7650; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7651; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]7652; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7653; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]7654; AVX2-FCP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm5 # 16-byte Folded Reload7655; AVX2-FCP-NEXT: # xmm5 = mem[0,1],xmm8[2,3]7656; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]7657; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7658; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm5[1],ymm0[1],ymm5[3],ymm0[3]7659; AVX2-FCP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7660; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]7661; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7662; AVX2-FCP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 16-byte Folded Reload7663; AVX2-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm5[1],ymm3[1],ymm5[3],ymm3[3]7664; AVX2-FCP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload7665; AVX2-FCP-NEXT: # xmm1 = mem[0,1],xmm1[2,3]7666; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm1[0,1,2,3],ymm3[4,5,6,7]7667; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7668; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rsi)7669; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7670; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rsi)7671; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7672; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rsi)7673; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7674; AVX2-FCP-NEXT: vmovaps %ymm1, (%rsi)7675; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7676; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rsi)7677; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7678; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rsi)7679; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7680; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rsi)7681; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7682; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rsi)7683; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7684; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rdx)7685; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7686; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rdx)7687; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7688; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rdx)7689; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7690; AVX2-FCP-NEXT: vmovaps %ymm1, (%rdx)7691; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7692; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rdx)7693; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7694; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rdx)7695; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7696; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rdx)7697; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7698; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rdx)7699; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7700; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rcx)7701; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7702; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rcx)7703; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7704; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rcx)7705; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7706; AVX2-FCP-NEXT: vmovaps %ymm1, (%rcx)7707; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7708; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rcx)7709; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7710; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rcx)7711; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7712; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rcx)7713; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7714; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rcx)7715; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7716; AVX2-FCP-NEXT: vmovaps %ymm1, (%r8)7717; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7718; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%r8)7719; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7720; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%r8)7721; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7722; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%r8)7723; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7724; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%r8)7725; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7726; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%r8)7727; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7728; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%r8)7729; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7730; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r8)7731; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7732; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%r9)7733; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7734; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%r9)7735; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7736; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%r9)7737; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7738; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%r9)7739; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7740; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%r9)7741; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7742; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%r9)7743; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7744; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r9)7745; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7746; AVX2-FCP-NEXT: vmovaps %ymm1, (%r9)7747; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7748; AVX2-FCP-NEXT: vmovdqa %ymm7, 224(%rax)7749; AVX2-FCP-NEXT: vmovdqa %ymm15, 192(%rax)7750; AVX2-FCP-NEXT: vmovdqa %ymm14, 160(%rax)7751; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7752; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rax)7753; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7754; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rax)7755; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7756; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rax)7757; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7758; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rax)7759; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7760; AVX2-FCP-NEXT: vmovaps %ymm1, (%rax)7761; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax7762; AVX2-FCP-NEXT: vmovdqa %ymm10, 224(%rax)7763; AVX2-FCP-NEXT: vmovdqa %ymm0, 192(%rax)7764; AVX2-FCP-NEXT: vmovdqa %ymm4, 160(%rax)7765; AVX2-FCP-NEXT: vmovdqa %ymm2, 128(%rax)7766; AVX2-FCP-NEXT: vmovdqa %ymm11, 96(%rax)7767; AVX2-FCP-NEXT: vmovdqa %ymm12, 64(%rax)7768; AVX2-FCP-NEXT: vmovdqa %ymm6, 32(%rax)7769; AVX2-FCP-NEXT: vmovdqa %ymm9, (%rax)7770; AVX2-FCP-NEXT: addq $1576, %rsp # imm = 0x6287771; AVX2-FCP-NEXT: vzeroupper7772; AVX2-FCP-NEXT: retq7773;7774; AVX512-LABEL: load_i64_stride7_vf32:7775; AVX512: # %bb.0:7776; AVX512-NEXT: subq $2728, %rsp # imm = 0xAA87777; AVX512-NEXT: vmovdqa64 1216(%rdi), %zmm257778; AVX512-NEXT: vmovdqa64 1152(%rdi), %zmm17779; AVX512-NEXT: vmovdqa64 960(%rdi), %zmm317780; AVX512-NEXT: vmovdqa64 896(%rdi), %zmm127781; AVX512-NEXT: vmovdqa64 768(%rdi), %zmm27782; AVX512-NEXT: vmovdqa64 704(%rdi), %zmm207783; AVX512-NEXT: vmovdqa64 512(%rdi), %zmm147784; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm77785; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7786; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm267787; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm197788; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm237789; AVX512-NEXT: vmovdqa64 (%rdi), %zmm67790; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,7,14,0,0,7,14,0]7791; AVX512-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]7792; AVX512-NEXT: vmovdqa64 %zmm6, %zmm37793; AVX512-NEXT: vmovdqa64 %zmm6, %zmm137794; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7795; AVX512-NEXT: vpermt2q %zmm23, %zmm30, %zmm37796; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7797; AVX512-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7798; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]7799; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7800; AVX512-NEXT: vmovdqa64 %zmm19, %zmm67801; AVX512-NEXT: vpermt2q %zmm26, %zmm8, %zmm67802; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7803; AVX512-NEXT: vmovdqa64 %zmm7, %zmm37804; AVX512-NEXT: vpermt2q %zmm14, %zmm30, %zmm37805; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7806; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7807; AVX512-NEXT: vmovdqa64 %zmm20, %zmm37808; AVX512-NEXT: vpermt2q %zmm2, %zmm8, %zmm37809; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7810; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]7811; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7812; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]7813; AVX512-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]7814; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,4,11,4,11,4,11,4]7815; AVX512-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7816; AVX512-NEXT: vmovdqa64 %zmm20, %zmm37817; AVX512-NEXT: vpermt2q %zmm2, %zmm15, %zmm37818; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7819; AVX512-NEXT: vmovdqa64 %zmm19, %zmm37820; AVX512-NEXT: vpermt2q %zmm26, %zmm15, %zmm37821; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7822; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]7823; AVX512-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7824; AVX512-NEXT: vmovdqa64 %zmm20, %zmm37825; AVX512-NEXT: vpermt2q %zmm2, %zmm22, %zmm37826; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7827; AVX512-NEXT: vmovdqa64 %zmm19, %zmm37828; AVX512-NEXT: vpermt2q %zmm26, %zmm22, %zmm37829; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7830; AVX512-NEXT: vmovdqa64 %zmm20, %zmm37831; AVX512-NEXT: vpermt2q %zmm2, %zmm11, %zmm37832; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7833; AVX512-NEXT: vmovdqa64 %zmm19, %zmm37834; AVX512-NEXT: vpermt2q %zmm26, %zmm11, %zmm37835; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7836; AVX512-NEXT: vmovdqa64 %zmm20, %zmm37837; AVX512-NEXT: vpermt2q %zmm2, %zmm30, %zmm37838; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7839; AVX512-NEXT: vmovdqa64 %zmm19, %zmm37840; AVX512-NEXT: vpermt2q %zmm26, %zmm30, %zmm37841; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7842; AVX512-NEXT: vmovdqa64 %zmm2, %zmm37843; AVX512-NEXT: vpermt2q %zmm20, %zmm9, %zmm37844; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7845; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]7846; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7847; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm207848; AVX512-NEXT: vmovdqa64 %zmm26, %zmm217849; AVX512-NEXT: vpermt2q %zmm19, %zmm9, %zmm217850; AVX512-NEXT: vpermt2q %zmm26, %zmm0, %zmm197851; AVX512-NEXT: vmovdqa64 %zmm12, %zmm37852; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7853; AVX512-NEXT: vmovdqa64 %zmm12, %zmm27854; AVX512-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7855; AVX512-NEXT: vpermt2q %zmm31, %zmm30, %zmm27856; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7857; AVX512-NEXT: vmovdqa64 %zmm1, %zmm127858; AVX512-NEXT: vpermt2q %zmm25, %zmm8, %zmm127859; AVX512-NEXT: vmovdqa64 1408(%rdi), %zmm287860; AVX512-NEXT: vmovdqa64 1344(%rdi), %zmm27861; AVX512-NEXT: vmovdqa64 %zmm2, %zmm57862; AVX512-NEXT: vmovdqa64 %zmm2, %zmm77863; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7864; AVX512-NEXT: vpermt2q %zmm28, %zmm30, %zmm57865; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7866; AVX512-NEXT: vmovdqa64 1664(%rdi), %zmm27867; AVX512-NEXT: vmovdqa64 1600(%rdi), %zmm107868; AVX512-NEXT: vpermi2q %zmm2, %zmm10, %zmm87869; AVX512-NEXT: vmovdqa64 1088(%rdi), %zmm187870; AVX512-NEXT: vmovdqa64 1024(%rdi), %zmm67871; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7872; AVX512-NEXT: vmovdqa64 %zmm11, %zmm57873; AVX512-NEXT: vpermt2q %zmm18, %zmm11, %zmm67874; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7875; AVX512-NEXT: vpermt2q %zmm3, %zmm9, %zmm317876; AVX512-NEXT: vmovdqa64 %zmm1, %zmm47877; AVX512-NEXT: vmovdqa64 %zmm15, %zmm67878; AVX512-NEXT: vpermt2q %zmm25, %zmm15, %zmm47879; AVX512-NEXT: vmovdqa64 %zmm4, %zmm177880; AVX512-NEXT: vmovdqa64 640(%rdi), %zmm157881; AVX512-NEXT: vmovdqa64 576(%rdi), %zmm47882; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7883; AVX512-NEXT: vpermt2q %zmm15, %zmm11, %zmm47884; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7885; AVX512-NEXT: vmovdqa64 %zmm14, %zmm267886; AVX512-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload7887; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm167888; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm47889; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7890; AVX512-NEXT: vpermt2q %zmm16, %zmm11, %zmm47891; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7892; AVX512-NEXT: vpermt2q %zmm13, %zmm9, %zmm237893; AVX512-NEXT: vmovdqa64 1536(%rdi), %zmm117894; AVX512-NEXT: vmovdqa64 1472(%rdi), %zmm47895; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7896; AVX512-NEXT: vpermt2q %zmm11, %zmm5, %zmm47897; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7898; AVX512-NEXT: vmovdqa64 %zmm28, %zmm277899; AVX512-NEXT: vpermt2q %zmm7, %zmm9, %zmm277900; AVX512-NEXT: vpermi2q %zmm2, %zmm10, %zmm67901; AVX512-NEXT: vmovdqa64 %zmm1, %zmm297902; AVX512-NEXT: vmovdqa64 %zmm25, %zmm37903; AVX512-NEXT: vpermt2q %zmm25, %zmm22, %zmm297904; AVX512-NEXT: vpermi2q %zmm2, %zmm10, %zmm227905; AVX512-NEXT: vmovdqa64 %zmm22, %zmm147906; AVX512-NEXT: vmovdqa64 %zmm1, %zmm227907; AVX512-NEXT: vpermt2q %zmm25, %zmm5, %zmm227908; AVX512-NEXT: vpermi2q %zmm2, %zmm10, %zmm57909; AVX512-NEXT: vmovdqa64 %zmm5, %zmm137910; AVX512-NEXT: vmovdqa64 %zmm1, %zmm257911; AVX512-NEXT: vpermt2q %zmm3, %zmm30, %zmm257912; AVX512-NEXT: vpermi2q %zmm2, %zmm10, %zmm307913; AVX512-NEXT: vmovdqa64 %zmm3, %zmm247914; AVX512-NEXT: vpermt2q %zmm1, %zmm9, %zmm247915; AVX512-NEXT: vmovdqa64 %zmm1, %zmm47916; AVX512-NEXT: vpermi2q %zmm10, %zmm2, %zmm97917; AVX512-NEXT: vmovdqa64 %zmm9, %zmm77918; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm107919; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm47920; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm07921; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,9,0,5,6,9]7922; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7923; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7924; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm17925; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7926; AVX512-NEXT: vmovdqa64 832(%rdi), %zmm37927; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7928; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm17929; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7930; AVX512-NEXT: vmovdqa64 1280(%rdi), %zmm57931; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm127932; AVX512-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7933; AVX512-NEXT: vmovdqa64 1728(%rdi), %zmm97934; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm87935; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7936; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,10,0,5,6,10]7937; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7938; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm177939; AVX512-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7940; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7941; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm17942; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7943; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7944; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm17945; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7946; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm67947; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7948; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,11,0,5,6,11]7949; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7950; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm297951; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7952; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm17953; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7954; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7955; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm17956; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7957; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm147958; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7959; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,12,0,5,6,12]7960; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7961; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm227962; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7963; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm17964; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7965; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7966; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm17967; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7968; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm137969; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7970; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,13,4,5,6,13]7971; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7972; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm257973; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload7974; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm87975; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload7976; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm147977; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm307978; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,14,4,5,6,14]7979; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7980; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm247981; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload7982; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm17983; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7984; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm217985; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7986; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm77987; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7988; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,8,15,4,5,8,15]7989; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]7990; AVX512-NEXT: vpermt2q %zmm3, %zmm2, %zmm207991; AVX512-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7992; AVX512-NEXT: vpermt2q %zmm0, %zmm2, %zmm197993; AVX512-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7994; AVX512-NEXT: vpermt2q %zmm9, %zmm2, %zmm107995; AVX512-NEXT: vpermt2q %zmm5, %zmm2, %zmm47996; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7997; AVX512-NEXT: movb $24, %al7998; AVX512-NEXT: kmovw %eax, %k17999; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8000; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8001; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm15[4,5,4,5]8002; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8003; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]8004; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]8005; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28006; AVX512-NEXT: vpermt2q %zmm15, %zmm0, %zmm28007; AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [7,0,9,0,7,0,9,0]8008; AVX512-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]8009; AVX512-NEXT: vmovdqa64 %zmm15, %zmm208010; AVX512-NEXT: vpermt2q %zmm1, %zmm4, %zmm208011; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm21 = [0,0,4,11]8012; AVX512-NEXT: vpermt2q %zmm15, %zmm21, %zmm18013; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8014; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8015; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8016; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm16[4,5,4,5]8017; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8018; AVX512-NEXT: vmovdqa64 %zmm3, %zmm158019; AVX512-NEXT: vpermt2q %zmm16, %zmm0, %zmm158020; AVX512-NEXT: vmovdqa64 %zmm16, %zmm198021; AVX512-NEXT: vpermt2q %zmm3, %zmm4, %zmm198022; AVX512-NEXT: vpermt2q %zmm16, %zmm21, %zmm38023; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8024; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8025; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8026; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm11[4,5,4,5]8027; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8028; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8029; AVX512-NEXT: vmovdqa64 %zmm1, %zmm168030; AVX512-NEXT: vpermt2q %zmm18, %zmm0, %zmm168031; AVX512-NEXT: vpermi2q %zmm11, %zmm3, %zmm08032; AVX512-NEXT: vmovdqa64 %zmm18, %zmm178033; AVX512-NEXT: vpermt2q %zmm1, %zmm4, %zmm178034; AVX512-NEXT: vpermi2q %zmm3, %zmm11, %zmm48035; AVX512-NEXT: vpermt2q %zmm11, %zmm21, %zmm38036; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8037; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8038; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]8039; AVX512-NEXT: vpermt2q %zmm18, %zmm21, %zmm18040; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8041; AVX512-NEXT: vmovdqa 912(%rdi), %xmm118042; AVX512-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]8043; AVX512-NEXT: vinserti32x4 $0, %xmm11, %zmm16, %zmm18044; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8045; AVX512-NEXT: vmovdqa 464(%rdi), %xmm118046; AVX512-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]8047; AVX512-NEXT: vinserti32x4 $0, %xmm11, %zmm2, %zmm18048; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8049; AVX512-NEXT: vmovdqa 16(%rdi), %xmm28050; AVX512-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]8051; AVX512-NEXT: vinserti32x4 $0, %xmm2, %zmm15, %zmm218052; AVX512-NEXT: vmovdqa 1360(%rdi), %xmm28053; AVX512-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]8054; AVX512-NEXT: vinserti32x4 $0, %xmm2, %zmm0, %zmm168055; AVX512-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm08056; AVX512-NEXT: vmovdqa 1024(%rdi), %ymm78057; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm0[6,7]8058; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm0 = [4,11]8059; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8060; AVX512-NEXT: vmovdqa64 %zmm5, %zmm128061; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload8062; AVX512-NEXT: vpermt2q %zmm13, %zmm0, %zmm128063; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]8064; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm18065; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8066; AVX512-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm118067; AVX512-NEXT: vmovdqa 576(%rdi), %ymm18068; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]8069; AVX512-NEXT: vmovdqa64 %ymm1, %ymm258070; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8071; AVX512-NEXT: vmovdqa64 %zmm2, %zmm158072; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload8073; AVX512-NEXT: vpermt2q %zmm12, %zmm0, %zmm158074; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm15[0,1,2,3],ymm11[4,5,6,7]8075; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm18076; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8077; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm118078; AVX512-NEXT: vmovdqa 128(%rdi), %ymm18079; AVX512-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8080; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]8081; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8082; AVX512-NEXT: vmovdqa64 %zmm3, %zmm18083; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload8084; AVX512-NEXT: vpermt2q %zmm15, %zmm0, %zmm18085; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]8086; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm14, %zmm18087; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8088; AVX512-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm18089; AVX512-NEXT: vmovdqa 1472(%rdi), %ymm118090; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]8091; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload8092; AVX512-NEXT: vpermi2q %zmm28, %zmm8, %zmm08093; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8094; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm30, %zmm08095; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8096; AVX512-NEXT: vmovdqa 1088(%rdi), %ymm08097; AVX512-NEXT: vpalignr {{.*#+}} ymm14 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]8098; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm0 = [5,12]8099; AVX512-NEXT: vmovdqa64 %zmm2, %zmm18100; AVX512-NEXT: vmovdqa64 %zmm2, %zmm78101; AVX512-NEXT: vpermt2q %zmm12, %zmm0, %zmm78102; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]8103; AVX512-NEXT: vpermt2q %zmm12, %zmm30, %zmm18104; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8105; AVX512-NEXT: vmovdqa64 %zmm3, %zmm68106; AVX512-NEXT: vpermt2q %zmm15, %zmm0, %zmm68107; AVX512-NEXT: vpermt2q %zmm15, %zmm30, %zmm38108; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8109; AVX512-NEXT: vmovdqa 960(%rdi), %ymm158110; AVX512-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]8111; AVX512-NEXT: vextracti128 $1, %ymm15, %xmm158112; AVX512-NEXT: vmovdqa 512(%rdi), %ymm128113; AVX512-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]8114; AVX512-NEXT: vextracti128 $1, %ymm12, %xmm128115; AVX512-NEXT: vmovdqa64 %zmm5, %zmm28116; AVX512-NEXT: vpermt2q %zmm13, %zmm0, %zmm28117; AVX512-NEXT: vmovdqa64 %zmm8, %zmm38118; AVX512-NEXT: vpermi2q %zmm28, %zmm8, %zmm08119; AVX512-NEXT: vpermt2q %zmm28, %zmm30, %zmm38120; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8121; AVX512-NEXT: vpermt2q %zmm13, %zmm30, %zmm58122; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8123; AVX512-NEXT: movb $-32, %al8124; AVX512-NEXT: kmovw %eax, %k28125; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload8126; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8127; AVX512-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}8128; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload8129; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8130; AVX512-NEXT: vmovdqa64 %zmm1, %zmm30 {%k2}8131; AVX512-NEXT: vmovdqa64 %zmm9, %zmm138132; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8133; AVX512-NEXT: vmovdqa64 %zmm1, %zmm13 {%k2}8134; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload8135; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8136; AVX512-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}8137; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8138; AVX512-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}8139; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8140; AVX512-NEXT: vmovdqa64 %zmm1, %zmm31 {%k2}8141; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8142; AVX512-NEXT: vmovdqa64 %zmm1, %zmm26 {%k1}8143; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8144; AVX512-NEXT: vmovdqa64 %zmm1, %zmm26 {%k2}8145; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8146; AVX512-NEXT: vmovdqa64 %zmm1, %zmm23 {%k1}8147; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8148; AVX512-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}8149; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8150; AVX512-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}8151; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8152; AVX512-NEXT: vmovdqa64 %zmm1, %zmm27 {%k2}8153; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8154; AVX512-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}8155; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8156; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload8157; AVX512-NEXT: vmovdqa64 %zmm1, %zmm29 {%k2}8158; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8159; AVX512-NEXT: vmovdqa64 %zmm1, %zmm21 {%k2}8160; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8161; AVX512-NEXT: vmovdqa64 %zmm1, %zmm16 {%k2}8162; AVX512-NEXT: vinserti32x4 $0, %xmm15, %zmm17, %zmm178163; AVX512-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}8164; AVX512-NEXT: vinserti32x4 $0, %xmm12, %zmm20, %zmm128165; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8166; AVX512-NEXT: vmovdqa64 %zmm1, %zmm12 {%k2}8167; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm14[4,5,6,7]8168; AVX512-NEXT: vmovdqa 64(%rdi), %ymm148169; AVX512-NEXT: vpalignr {{.*#+}} ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8170; AVX512-NEXT: vextracti128 $1, %ymm14, %xmm148171; AVX512-NEXT: vinserti32x4 $0, %xmm14, %zmm19, %zmm98172; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8173; AVX512-NEXT: vmovdqa64 %zmm2, %zmm9 {%k2}8174; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm24, %zmm18175; AVX512-NEXT: vmovdqa 640(%rdi), %ymm148176; AVX512-NEXT: vmovdqa64 %ymm25, %ymm28177; AVX512-NEXT: vpalignr {{.*#+}} ymm14 = ymm2[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8178; AVX512-NEXT: vmovdqa 1408(%rdi), %ymm158179; AVX512-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]8180; AVX512-NEXT: vextracti128 $1, %ymm15, %xmm158181; AVX512-NEXT: vinserti32x4 $0, %xmm15, %zmm4, %zmm48182; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8183; AVX512-NEXT: vmovdqa64 %zmm2, %zmm4 {%k2}8184; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm14[4,5,6,7]8185; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8186; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm2, %zmm38187; AVX512-NEXT: vmovdqa 192(%rdi), %ymm148188; AVX512-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload8189; AVX512-NEXT: # ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8190; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm14[4,5,6,7]8191; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8192; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm6, %zmm28193; AVX512-NEXT: vmovdqa 1536(%rdi), %ymm148194; AVX512-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8195; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]8196; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8197; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm6, %zmm08198; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8199; AVX512-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm11 # 32-byte Folded Reload8200; AVX512-NEXT: # ymm11 = ymm6[0,1,2,3],mem[4,5,6,7]8201; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8202; AVX512-NEXT: vinsertf64x4 $0, %ymm11, %zmm6, %zmm118203; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8204; AVX512-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm8 # 32-byte Folded Reload8205; AVX512-NEXT: # ymm8 = ymm6[0,1,2,3],mem[4,5,6,7]8206; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8207; AVX512-NEXT: vinsertf64x4 $0, %ymm8, %zmm6, %zmm88208; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8209; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload8210; AVX512-NEXT: # ymm7 = ymm6[0,1,2,3],mem[4,5,6,7]8211; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm68212; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8213; AVX512-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload8214; AVX512-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]8215; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8216; AVX512-NEXT: vinsertf64x4 $0, %ymm7, %zmm10, %zmm78217; AVX512-NEXT: vmovdqa64 %zmm18, 192(%rsi)8218; AVX512-NEXT: vmovdqa64 %zmm13, 128(%rsi)8219; AVX512-NEXT: vmovdqa64 %zmm30, 64(%rsi)8220; AVX512-NEXT: vmovdqa64 %zmm28, (%rsi)8221; AVX512-NEXT: vmovdqa64 %zmm27, 192(%rdx)8222; AVX512-NEXT: vmovdqa64 %zmm23, (%rdx)8223; AVX512-NEXT: vmovdqa64 %zmm26, 64(%rdx)8224; AVX512-NEXT: vmovdqa64 %zmm31, 128(%rdx)8225; AVX512-NEXT: vmovdqa64 %zmm16, 192(%rcx)8226; AVX512-NEXT: vmovdqa64 %zmm21, (%rcx)8227; AVX512-NEXT: vmovdqa64 %zmm29, 64(%rcx)8228; AVX512-NEXT: vmovdqa64 %zmm5, 128(%rcx)8229; AVX512-NEXT: vmovdqa64 %zmm4, 192(%r8)8230; AVX512-NEXT: vmovdqa64 %zmm9, (%r8)8231; AVX512-NEXT: vmovdqa64 %zmm12, 64(%r8)8232; AVX512-NEXT: vmovdqa64 %zmm17, 128(%r8)8233; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8234; AVX512-NEXT: vmovaps %zmm4, 192(%r9)8235; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8236; AVX512-NEXT: vmovaps %zmm4, (%r9)8237; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8238; AVX512-NEXT: vmovaps %zmm4, 64(%r9)8239; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8240; AVX512-NEXT: vmovaps %zmm4, 128(%r9)8241; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax8242; AVX512-NEXT: vmovdqa64 %zmm0, 192(%rax)8243; AVX512-NEXT: vmovdqa64 %zmm2, (%rax)8244; AVX512-NEXT: vmovdqa64 %zmm3, 64(%rax)8245; AVX512-NEXT: vmovdqa64 %zmm1, 128(%rax)8246; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax8247; AVX512-NEXT: vmovaps %zmm7, 128(%rax)8248; AVX512-NEXT: vmovdqa64 %zmm6, 192(%rax)8249; AVX512-NEXT: vmovaps %zmm8, (%rax)8250; AVX512-NEXT: vmovaps %zmm11, 64(%rax)8251; AVX512-NEXT: addq $2728, %rsp # imm = 0xAA88252; AVX512-NEXT: vzeroupper8253; AVX512-NEXT: retq8254;8255; AVX512-FCP-LABEL: load_i64_stride7_vf32:8256; AVX512-FCP: # %bb.0:8257; AVX512-FCP-NEXT: subq $2728, %rsp # imm = 0xAA88258; AVX512-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm258259; AVX512-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm18260; AVX512-FCP-NEXT: vmovdqa64 960(%rdi), %zmm318261; AVX512-FCP-NEXT: vmovdqa64 896(%rdi), %zmm128262; AVX512-FCP-NEXT: vmovdqa64 768(%rdi), %zmm28263; AVX512-FCP-NEXT: vmovdqa64 704(%rdi), %zmm208264; AVX512-FCP-NEXT: vmovdqa64 512(%rdi), %zmm148265; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm78266; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8267; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm268268; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm198269; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm238270; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm68271; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,7,14,0,0,7,14,0]8272; AVX512-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]8273; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm38274; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm138275; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8276; AVX512-FCP-NEXT: vpermt2q %zmm23, %zmm30, %zmm38277; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8278; AVX512-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8279; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]8280; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8281; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm68282; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm8, %zmm68283; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8284; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm38285; AVX512-FCP-NEXT: vpermt2q %zmm14, %zmm30, %zmm38286; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8287; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8288; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm38289; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm38290; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8291; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]8292; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8293; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]8294; AVX512-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]8295; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,4,11,4,11,4,11,4]8296; AVX512-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8297; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm38298; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm38299; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8300; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm38301; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm15, %zmm38302; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8303; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]8304; AVX512-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8305; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm38306; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm22, %zmm38307; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8308; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm38309; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm22, %zmm38310; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8311; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm38312; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm38313; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8314; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm38315; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm38316; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8317; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm38318; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm30, %zmm38319; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8320; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm38321; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm30, %zmm38322; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8323; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm38324; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm9, %zmm38325; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8326; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]8327; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8328; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm208329; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm218330; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm9, %zmm218331; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm198332; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm38333; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8334; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm28335; AVX512-FCP-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8336; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm30, %zmm28337; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8338; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm128339; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm8, %zmm128340; AVX512-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm288341; AVX512-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm28342; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm58343; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm78344; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8345; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm30, %zmm58346; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8347; AVX512-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm28348; AVX512-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm108349; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm88350; AVX512-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm188351; AVX512-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm68352; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8353; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm58354; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm11, %zmm68355; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8356; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm9, %zmm318357; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm48358; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm68359; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm48360; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm178361; AVX512-FCP-NEXT: vmovdqa64 640(%rdi), %zmm158362; AVX512-FCP-NEXT: vmovdqa64 576(%rdi), %zmm48363; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8364; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm48365; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8366; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm268367; AVX512-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload8368; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm168369; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm48370; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8371; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm11, %zmm48372; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8373; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm9, %zmm238374; AVX512-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm118375; AVX512-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm48376; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8377; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm48378; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8379; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm278380; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm9, %zmm278381; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm68382; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm298383; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm38384; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm22, %zmm298385; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm228386; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm148387; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm228388; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm5, %zmm228389; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm58390; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm138391; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm258392; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm30, %zmm258393; AVX512-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm308394; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm248395; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm9, %zmm248396; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm48397; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm2, %zmm98398; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm78399; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm108400; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm48401; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm08402; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,9,0,5,6,9]8403; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8404; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8405; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm18406; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8407; AVX512-FCP-NEXT: vmovdqa64 832(%rdi), %zmm38408; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8409; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm18410; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8411; AVX512-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm58412; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm128413; AVX512-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8414; AVX512-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm98415; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm88416; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8417; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,10,0,5,6,10]8418; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8419; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm178420; AVX512-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8421; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8422; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm18423; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8424; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8425; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm18426; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8427; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm68428; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8429; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,11,0,5,6,11]8430; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8431; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm298432; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8433; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm18434; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8435; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8436; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm18437; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8438; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm148439; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8440; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,12,0,5,6,12]8441; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8442; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm228443; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8444; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm18445; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8446; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8447; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm18448; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8449; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm138450; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8451; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,13,4,5,6,13]8452; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8453; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm258454; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload8455; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm88456; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload8457; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm148458; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm308459; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,14,4,5,6,14]8460; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8461; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm248462; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8463; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm18464; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8465; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm218466; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8467; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm78468; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8469; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,8,15,4,5,8,15]8470; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8471; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm208472; AVX512-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8473; AVX512-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm198474; AVX512-FCP-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8475; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm108476; AVX512-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm48477; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8478; AVX512-FCP-NEXT: movb $24, %al8479; AVX512-FCP-NEXT: kmovw %eax, %k18480; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8481; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8482; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm15[4,5,4,5]8483; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8484; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]8485; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]8486; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm28487; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm28488; AVX512-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [7,0,9,0,7,0,9,0]8489; AVX512-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]8490; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm208491; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm4, %zmm208492; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm21 = [0,0,4,11]8493; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm21, %zmm18494; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8495; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8496; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8497; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm16[4,5,4,5]8498; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8499; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm158500; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm158501; AVX512-FCP-NEXT: vmovdqa64 %zmm16, %zmm198502; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm198503; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm38504; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8505; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8506; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8507; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm11[4,5,4,5]8508; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8509; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8510; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm168511; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm168512; AVX512-FCP-NEXT: vpermi2q %zmm11, %zmm3, %zmm08513; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm178514; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm4, %zmm178515; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm11, %zmm48516; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm38517; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8518; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload8519; AVX512-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]8520; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm18521; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8522; AVX512-FCP-NEXT: vmovdqa 912(%rdi), %xmm118523; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]8524; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm16, %zmm18525; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8526; AVX512-FCP-NEXT: vmovdqa 464(%rdi), %xmm118527; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]8528; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm2, %zmm18529; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8530; AVX512-FCP-NEXT: vmovdqa 16(%rdi), %xmm28531; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]8532; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm2, %zmm15, %zmm218533; AVX512-FCP-NEXT: vmovdqa 1360(%rdi), %xmm28534; AVX512-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]8535; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm2, %zmm0, %zmm168536; AVX512-FCP-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm08537; AVX512-FCP-NEXT: vmovdqa 1024(%rdi), %ymm78538; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm0[6,7]8539; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm0 = [4,11]8540; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8541; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm128542; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload8543; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm128544; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]8545; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm18546; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8547; AVX512-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm118548; AVX512-FCP-NEXT: vmovdqa 576(%rdi), %ymm18549; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]8550; AVX512-FCP-NEXT: vmovdqa64 %ymm1, %ymm258551; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8552; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm158553; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload8554; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm158555; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm15[0,1,2,3],ymm11[4,5,6,7]8556; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm18557; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8558; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm118559; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm18560; AVX512-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8561; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]8562; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8563; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm18564; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload8565; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm18566; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]8567; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm14, %zmm18568; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8569; AVX512-FCP-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm18570; AVX512-FCP-NEXT: vmovdqa 1472(%rdi), %ymm118571; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]8572; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload8573; AVX512-FCP-NEXT: vpermi2q %zmm28, %zmm8, %zmm08574; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8575; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm30, %zmm08576; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8577; AVX512-FCP-NEXT: vmovdqa 1088(%rdi), %ymm08578; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm14 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]8579; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm0 = [5,12]8580; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm18581; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm78582; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm78583; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]8584; AVX512-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm18585; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8586; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm68587; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm68588; AVX512-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm38589; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8590; AVX512-FCP-NEXT: vmovdqa 960(%rdi), %ymm158591; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]8592; AVX512-FCP-NEXT: vextracti128 $1, %ymm15, %xmm158593; AVX512-FCP-NEXT: vmovdqa 512(%rdi), %ymm128594; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]8595; AVX512-FCP-NEXT: vextracti128 $1, %ymm12, %xmm128596; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm28597; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm28598; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm38599; AVX512-FCP-NEXT: vpermi2q %zmm28, %zmm8, %zmm08600; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm30, %zmm38601; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8602; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm30, %zmm58603; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8604; AVX512-FCP-NEXT: movb $-32, %al8605; AVX512-FCP-NEXT: kmovw %eax, %k28606; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload8607; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8608; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}8609; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload8610; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8611; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm30 {%k2}8612; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm138613; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8614; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm13 {%k2}8615; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload8616; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8617; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}8618; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8619; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}8620; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8621; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k2}8622; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8623; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm26 {%k1}8624; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8625; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm26 {%k2}8626; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8627; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k1}8628; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8629; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}8630; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8631; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}8632; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8633; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k2}8634; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload8635; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}8636; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8637; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload8638; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k2}8639; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8640; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm21 {%k2}8641; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8642; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm16 {%k2}8643; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm15, %zmm17, %zmm178644; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}8645; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm12, %zmm20, %zmm128646; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8647; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm12 {%k2}8648; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm14[4,5,6,7]8649; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm148650; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8651; AVX512-FCP-NEXT: vextracti128 $1, %ymm14, %xmm148652; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm14, %zmm19, %zmm98653; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8654; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm9 {%k2}8655; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm24, %zmm18656; AVX512-FCP-NEXT: vmovdqa 640(%rdi), %ymm148657; AVX512-FCP-NEXT: vmovdqa64 %ymm25, %ymm28658; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm14 = ymm2[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8659; AVX512-FCP-NEXT: vmovdqa 1408(%rdi), %ymm158660; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]8661; AVX512-FCP-NEXT: vextracti128 $1, %ymm15, %xmm158662; AVX512-FCP-NEXT: vinserti32x4 $0, %xmm15, %zmm4, %zmm48663; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8664; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k2}8665; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm14[4,5,6,7]8666; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload8667; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm2, %zmm38668; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm148669; AVX512-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload8670; AVX512-FCP-NEXT: # ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8671; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm14[4,5,6,7]8672; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8673; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm6, %zmm28674; AVX512-FCP-NEXT: vmovdqa 1536(%rdi), %ymm148675; AVX512-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]8676; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]8677; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8678; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm6, %zmm08679; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8680; AVX512-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm11 # 32-byte Folded Reload8681; AVX512-FCP-NEXT: # ymm11 = ymm6[0,1,2,3],mem[4,5,6,7]8682; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8683; AVX512-FCP-NEXT: vinsertf64x4 $0, %ymm11, %zmm6, %zmm118684; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8685; AVX512-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm8 # 32-byte Folded Reload8686; AVX512-FCP-NEXT: # ymm8 = ymm6[0,1,2,3],mem[4,5,6,7]8687; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8688; AVX512-FCP-NEXT: vinsertf64x4 $0, %ymm8, %zmm6, %zmm88689; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload8690; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload8691; AVX512-FCP-NEXT: # ymm7 = ymm6[0,1,2,3],mem[4,5,6,7]8692; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm68693; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload8694; AVX512-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload8695; AVX512-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]8696; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload8697; AVX512-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm10, %zmm78698; AVX512-FCP-NEXT: vmovdqa64 %zmm18, 192(%rsi)8699; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 128(%rsi)8700; AVX512-FCP-NEXT: vmovdqa64 %zmm30, 64(%rsi)8701; AVX512-FCP-NEXT: vmovdqa64 %zmm28, (%rsi)8702; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 192(%rdx)8703; AVX512-FCP-NEXT: vmovdqa64 %zmm23, (%rdx)8704; AVX512-FCP-NEXT: vmovdqa64 %zmm26, 64(%rdx)8705; AVX512-FCP-NEXT: vmovdqa64 %zmm31, 128(%rdx)8706; AVX512-FCP-NEXT: vmovdqa64 %zmm16, 192(%rcx)8707; AVX512-FCP-NEXT: vmovdqa64 %zmm21, (%rcx)8708; AVX512-FCP-NEXT: vmovdqa64 %zmm29, 64(%rcx)8709; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 128(%rcx)8710; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 192(%r8)8711; AVX512-FCP-NEXT: vmovdqa64 %zmm9, (%r8)8712; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 64(%r8)8713; AVX512-FCP-NEXT: vmovdqa64 %zmm17, 128(%r8)8714; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8715; AVX512-FCP-NEXT: vmovaps %zmm4, 192(%r9)8716; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8717; AVX512-FCP-NEXT: vmovaps %zmm4, (%r9)8718; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8719; AVX512-FCP-NEXT: vmovaps %zmm4, 64(%r9)8720; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload8721; AVX512-FCP-NEXT: vmovaps %zmm4, 128(%r9)8722; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8723; AVX512-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)8724; AVX512-FCP-NEXT: vmovdqa64 %zmm2, (%rax)8725; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)8726; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)8727; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8728; AVX512-FCP-NEXT: vmovaps %zmm7, 128(%rax)8729; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)8730; AVX512-FCP-NEXT: vmovaps %zmm8, (%rax)8731; AVX512-FCP-NEXT: vmovaps %zmm11, 64(%rax)8732; AVX512-FCP-NEXT: addq $2728, %rsp # imm = 0xAA88733; AVX512-FCP-NEXT: vzeroupper8734; AVX512-FCP-NEXT: retq8735;8736; AVX512DQ-LABEL: load_i64_stride7_vf32:8737; AVX512DQ: # %bb.0:8738; AVX512DQ-NEXT: subq $2728, %rsp # imm = 0xAA88739; AVX512DQ-NEXT: vmovdqa64 1216(%rdi), %zmm258740; AVX512DQ-NEXT: vmovdqa64 1152(%rdi), %zmm18741; AVX512DQ-NEXT: vmovdqa64 960(%rdi), %zmm318742; AVX512DQ-NEXT: vmovdqa64 896(%rdi), %zmm128743; AVX512DQ-NEXT: vmovdqa64 768(%rdi), %zmm28744; AVX512DQ-NEXT: vmovdqa64 704(%rdi), %zmm208745; AVX512DQ-NEXT: vmovdqa64 512(%rdi), %zmm148746; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm78747; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8748; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm268749; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm198750; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm238751; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm68752; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,7,14,0,0,7,14,0]8753; AVX512DQ-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]8754; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm38755; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm138756; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8757; AVX512DQ-NEXT: vpermt2q %zmm23, %zmm30, %zmm38758; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8759; AVX512DQ-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8760; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]8761; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8762; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm68763; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm8, %zmm68764; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8765; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm38766; AVX512DQ-NEXT: vpermt2q %zmm14, %zmm30, %zmm38767; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8768; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8769; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm38770; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm8, %zmm38771; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8772; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]8773; AVX512DQ-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8774; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]8775; AVX512DQ-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]8776; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,4,11,4,11,4,11,4]8777; AVX512DQ-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8778; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm38779; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm15, %zmm38780; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8781; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm38782; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm15, %zmm38783; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8784; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]8785; AVX512DQ-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8786; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm38787; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm22, %zmm38788; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8789; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm38790; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm22, %zmm38791; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8792; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm38793; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm11, %zmm38794; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8795; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm38796; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm11, %zmm38797; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8798; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm38799; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm30, %zmm38800; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8801; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm38802; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm30, %zmm38803; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8804; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm38805; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm9, %zmm38806; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8807; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]8808; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8809; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm208810; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm218811; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm9, %zmm218812; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm0, %zmm198813; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm38814; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8815; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm28816; AVX512DQ-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8817; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm30, %zmm28818; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8819; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm128820; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm8, %zmm128821; AVX512DQ-NEXT: vmovdqa64 1408(%rdi), %zmm288822; AVX512DQ-NEXT: vmovdqa64 1344(%rdi), %zmm28823; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm58824; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm78825; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8826; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm30, %zmm58827; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8828; AVX512DQ-NEXT: vmovdqa64 1664(%rdi), %zmm28829; AVX512DQ-NEXT: vmovdqa64 1600(%rdi), %zmm108830; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm88831; AVX512DQ-NEXT: vmovdqa64 1088(%rdi), %zmm188832; AVX512DQ-NEXT: vmovdqa64 1024(%rdi), %zmm68833; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8834; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm58835; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm11, %zmm68836; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8837; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm9, %zmm318838; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm48839; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm68840; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm15, %zmm48841; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm178842; AVX512DQ-NEXT: vmovdqa64 640(%rdi), %zmm158843; AVX512DQ-NEXT: vmovdqa64 576(%rdi), %zmm48844; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8845; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm11, %zmm48846; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8847; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm268848; AVX512DQ-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload8849; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm168850; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm48851; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8852; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm11, %zmm48853; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8854; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm9, %zmm238855; AVX512DQ-NEXT: vmovdqa64 1536(%rdi), %zmm118856; AVX512DQ-NEXT: vmovdqa64 1472(%rdi), %zmm48857; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8858; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm5, %zmm48859; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8860; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm278861; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm9, %zmm278862; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm68863; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm298864; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm38865; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm22, %zmm298866; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm228867; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm148868; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm228869; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm5, %zmm228870; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm58871; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm138872; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm258873; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm30, %zmm258874; AVX512DQ-NEXT: vpermi2q %zmm2, %zmm10, %zmm308875; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm248876; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm9, %zmm248877; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm48878; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm2, %zmm98879; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm78880; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm108881; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm48882; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm08883; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,9,0,5,6,9]8884; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8885; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8886; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm18887; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8888; AVX512DQ-NEXT: vmovdqa64 832(%rdi), %zmm38889; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8890; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm18891; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8892; AVX512DQ-NEXT: vmovdqa64 1280(%rdi), %zmm58893; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm128894; AVX512DQ-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8895; AVX512DQ-NEXT: vmovdqa64 1728(%rdi), %zmm98896; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm88897; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8898; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,10,0,5,6,10]8899; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8900; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm178901; AVX512DQ-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8902; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8903; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm18904; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8905; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8906; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm18907; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8908; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm68909; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8910; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,11,0,5,6,11]8911; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8912; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm298913; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8914; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm18915; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8916; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8917; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm18918; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8919; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm148920; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8921; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,12,0,5,6,12]8922; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8923; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm228924; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8925; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm18926; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8927; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8928; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm18929; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8930; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm138931; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8932; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,13,4,5,6,13]8933; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8934; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm258935; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload8936; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm88937; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload8938; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm148939; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm308940; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,14,4,5,6,14]8941; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8942; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm248943; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8944; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm18945; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8946; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm218947; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8948; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm78949; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8950; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,8,15,4,5,8,15]8951; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]8952; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm2, %zmm208953; AVX512DQ-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8954; AVX512DQ-NEXT: vpermt2q %zmm0, %zmm2, %zmm198955; AVX512DQ-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8956; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm2, %zmm108957; AVX512DQ-NEXT: vpermt2q %zmm5, %zmm2, %zmm48958; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8959; AVX512DQ-NEXT: movb $24, %al8960; AVX512DQ-NEXT: kmovw %eax, %k18961; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload8962; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8963; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm15[4,5,4,5]8964; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8965; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]8966; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]8967; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm28968; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm0, %zmm28969; AVX512DQ-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [7,0,9,0,7,0,9,0]8970; AVX512DQ-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]8971; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm208972; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm4, %zmm208973; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm21 = [0,0,4,11]8974; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm21, %zmm18975; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8976; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8977; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8978; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm16[4,5,4,5]8979; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8980; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm158981; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm0, %zmm158982; AVX512DQ-NEXT: vmovdqa64 %zmm16, %zmm198983; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm4, %zmm198984; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm21, %zmm38985; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8986; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8987; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8988; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm11[4,5,4,5]8989; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8990; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload8991; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm168992; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm0, %zmm168993; AVX512DQ-NEXT: vpermi2q %zmm11, %zmm3, %zmm08994; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm178995; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm4, %zmm178996; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm11, %zmm48997; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm21, %zmm38998; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8999; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9000; AVX512DQ-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]9001; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm21, %zmm19002; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9003; AVX512DQ-NEXT: vmovdqa 912(%rdi), %xmm119004; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]9005; AVX512DQ-NEXT: vinserti32x4 $0, %xmm11, %zmm16, %zmm19006; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9007; AVX512DQ-NEXT: vmovdqa 464(%rdi), %xmm119008; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]9009; AVX512DQ-NEXT: vinserti32x4 $0, %xmm11, %zmm2, %zmm19010; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9011; AVX512DQ-NEXT: vmovdqa 16(%rdi), %xmm29012; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]9013; AVX512DQ-NEXT: vinserti32x4 $0, %xmm2, %zmm15, %zmm219014; AVX512DQ-NEXT: vmovdqa 1360(%rdi), %xmm29015; AVX512DQ-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]9016; AVX512DQ-NEXT: vinserti32x4 $0, %xmm2, %zmm0, %zmm169017; AVX512DQ-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm09018; AVX512DQ-NEXT: vmovdqa 1024(%rdi), %ymm79019; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm0[6,7]9020; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm0 = [4,11]9021; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9022; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm129023; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload9024; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm0, %zmm129025; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]9026; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm19027; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9028; AVX512DQ-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm119029; AVX512DQ-NEXT: vmovdqa 576(%rdi), %ymm19030; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]9031; AVX512DQ-NEXT: vmovdqa64 %ymm1, %ymm259032; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9033; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm159034; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload9035; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm0, %zmm159036; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm15[0,1,2,3],ymm11[4,5,6,7]9037; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm19038; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9039; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm119040; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm19041; AVX512DQ-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9042; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]9043; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9044; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm19045; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9046; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm0, %zmm19047; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]9048; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm14, %zmm19049; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9050; AVX512DQ-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm19051; AVX512DQ-NEXT: vmovdqa 1472(%rdi), %ymm119052; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]9053; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9054; AVX512DQ-NEXT: vpermi2q %zmm28, %zmm8, %zmm09055; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9056; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm30, %zmm09057; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9058; AVX512DQ-NEXT: vmovdqa 1088(%rdi), %ymm09059; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm14 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]9060; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm0 = [5,12]9061; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm19062; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm79063; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm0, %zmm79064; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]9065; AVX512DQ-NEXT: vpermt2q %zmm12, %zmm30, %zmm19066; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9067; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm69068; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm0, %zmm69069; AVX512DQ-NEXT: vpermt2q %zmm15, %zmm30, %zmm39070; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9071; AVX512DQ-NEXT: vmovdqa 960(%rdi), %ymm159072; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]9073; AVX512DQ-NEXT: vextracti128 $1, %ymm15, %xmm159074; AVX512DQ-NEXT: vmovdqa 512(%rdi), %ymm129075; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]9076; AVX512DQ-NEXT: vextracti128 $1, %ymm12, %xmm129077; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm29078; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm0, %zmm29079; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm39080; AVX512DQ-NEXT: vpermi2q %zmm28, %zmm8, %zmm09081; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm30, %zmm39082; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9083; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm30, %zmm59084; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9085; AVX512DQ-NEXT: movb $-32, %al9086; AVX512DQ-NEXT: kmovw %eax, %k29087; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload9088; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9089; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}9090; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload9091; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9092; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm30 {%k2}9093; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm139094; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9095; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm13 {%k2}9096; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload9097; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9098; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}9099; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9100; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}9101; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9102; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm31 {%k2}9103; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9104; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm26 {%k1}9105; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9106; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm26 {%k2}9107; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9108; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm23 {%k1}9109; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9110; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}9111; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9112; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}9113; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9114; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm27 {%k2}9115; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9116; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}9117; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9118; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload9119; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm29 {%k2}9120; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9121; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm21 {%k2}9122; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9123; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm16 {%k2}9124; AVX512DQ-NEXT: vinserti32x4 $0, %xmm15, %zmm17, %zmm179125; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}9126; AVX512DQ-NEXT: vinserti32x4 $0, %xmm12, %zmm20, %zmm129127; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9128; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm12 {%k2}9129; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm14[4,5,6,7]9130; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm149131; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9132; AVX512DQ-NEXT: vextracti128 $1, %ymm14, %xmm149133; AVX512DQ-NEXT: vinserti32x4 $0, %xmm14, %zmm19, %zmm99134; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9135; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm9 {%k2}9136; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm24, %zmm19137; AVX512DQ-NEXT: vmovdqa 640(%rdi), %ymm149138; AVX512DQ-NEXT: vmovdqa64 %ymm25, %ymm29139; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm14 = ymm2[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9140; AVX512DQ-NEXT: vmovdqa 1408(%rdi), %ymm159141; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]9142; AVX512DQ-NEXT: vextracti128 $1, %ymm15, %xmm159143; AVX512DQ-NEXT: vinserti32x4 $0, %xmm15, %zmm4, %zmm49144; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9145; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm4 {%k2}9146; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm14[4,5,6,7]9147; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9148; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm2, %zmm39149; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm149150; AVX512DQ-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload9151; AVX512DQ-NEXT: # ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9152; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm14[4,5,6,7]9153; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9154; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm6, %zmm29155; AVX512DQ-NEXT: vmovdqa 1536(%rdi), %ymm149156; AVX512DQ-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9157; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]9158; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9159; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm6, %zmm09160; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9161; AVX512DQ-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm11 # 32-byte Folded Reload9162; AVX512DQ-NEXT: # ymm11 = ymm6[0,1,2,3],mem[4,5,6,7]9163; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9164; AVX512DQ-NEXT: vinsertf64x4 $0, %ymm11, %zmm6, %zmm119165; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9166; AVX512DQ-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm8 # 32-byte Folded Reload9167; AVX512DQ-NEXT: # ymm8 = ymm6[0,1,2,3],mem[4,5,6,7]9168; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9169; AVX512DQ-NEXT: vinsertf64x4 $0, %ymm8, %zmm6, %zmm89170; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9171; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload9172; AVX512DQ-NEXT: # ymm7 = ymm6[0,1,2,3],mem[4,5,6,7]9173; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm69174; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9175; AVX512DQ-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload9176; AVX512DQ-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]9177; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload9178; AVX512DQ-NEXT: vinsertf64x4 $0, %ymm7, %zmm10, %zmm79179; AVX512DQ-NEXT: vmovdqa64 %zmm18, 192(%rsi)9180; AVX512DQ-NEXT: vmovdqa64 %zmm13, 128(%rsi)9181; AVX512DQ-NEXT: vmovdqa64 %zmm30, 64(%rsi)9182; AVX512DQ-NEXT: vmovdqa64 %zmm28, (%rsi)9183; AVX512DQ-NEXT: vmovdqa64 %zmm27, 192(%rdx)9184; AVX512DQ-NEXT: vmovdqa64 %zmm23, (%rdx)9185; AVX512DQ-NEXT: vmovdqa64 %zmm26, 64(%rdx)9186; AVX512DQ-NEXT: vmovdqa64 %zmm31, 128(%rdx)9187; AVX512DQ-NEXT: vmovdqa64 %zmm16, 192(%rcx)9188; AVX512DQ-NEXT: vmovdqa64 %zmm21, (%rcx)9189; AVX512DQ-NEXT: vmovdqa64 %zmm29, 64(%rcx)9190; AVX512DQ-NEXT: vmovdqa64 %zmm5, 128(%rcx)9191; AVX512DQ-NEXT: vmovdqa64 %zmm4, 192(%r8)9192; AVX512DQ-NEXT: vmovdqa64 %zmm9, (%r8)9193; AVX512DQ-NEXT: vmovdqa64 %zmm12, 64(%r8)9194; AVX512DQ-NEXT: vmovdqa64 %zmm17, 128(%r8)9195; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9196; AVX512DQ-NEXT: vmovaps %zmm4, 192(%r9)9197; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9198; AVX512DQ-NEXT: vmovaps %zmm4, (%r9)9199; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9200; AVX512DQ-NEXT: vmovaps %zmm4, 64(%r9)9201; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9202; AVX512DQ-NEXT: vmovaps %zmm4, 128(%r9)9203; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax9204; AVX512DQ-NEXT: vmovdqa64 %zmm0, 192(%rax)9205; AVX512DQ-NEXT: vmovdqa64 %zmm2, (%rax)9206; AVX512DQ-NEXT: vmovdqa64 %zmm3, 64(%rax)9207; AVX512DQ-NEXT: vmovdqa64 %zmm1, 128(%rax)9208; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax9209; AVX512DQ-NEXT: vmovaps %zmm7, 128(%rax)9210; AVX512DQ-NEXT: vmovdqa64 %zmm6, 192(%rax)9211; AVX512DQ-NEXT: vmovaps %zmm8, (%rax)9212; AVX512DQ-NEXT: vmovaps %zmm11, 64(%rax)9213; AVX512DQ-NEXT: addq $2728, %rsp # imm = 0xAA89214; AVX512DQ-NEXT: vzeroupper9215; AVX512DQ-NEXT: retq9216;9217; AVX512DQ-FCP-LABEL: load_i64_stride7_vf32:9218; AVX512DQ-FCP: # %bb.0:9219; AVX512DQ-FCP-NEXT: subq $2728, %rsp # imm = 0xAA89220; AVX512DQ-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm259221; AVX512DQ-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm19222; AVX512DQ-FCP-NEXT: vmovdqa64 960(%rdi), %zmm319223; AVX512DQ-FCP-NEXT: vmovdqa64 896(%rdi), %zmm129224; AVX512DQ-FCP-NEXT: vmovdqa64 768(%rdi), %zmm29225; AVX512DQ-FCP-NEXT: vmovdqa64 704(%rdi), %zmm209226; AVX512DQ-FCP-NEXT: vmovdqa64 512(%rdi), %zmm149227; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm79228; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9229; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm269230; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm199231; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm239232; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm69233; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm30 = [0,7,14,0,0,7,14,0]9234; AVX512DQ-FCP-NEXT: # zmm30 = mem[0,1,2,3,0,1,2,3]9235; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm39236; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm139237; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9238; AVX512DQ-FCP-NEXT: vpermt2q %zmm23, %zmm30, %zmm39239; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9240; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9241; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]9242; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9243; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm69244; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm8, %zmm69245; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9246; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm39247; AVX512DQ-FCP-NEXT: vpermt2q %zmm14, %zmm30, %zmm39248; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9249; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9250; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm39251; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm8, %zmm39252; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9253; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]9254; AVX512DQ-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9255; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]9256; AVX512DQ-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]9257; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm15 = [11,4,11,4,11,4,11,4]9258; AVX512DQ-FCP-NEXT: # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9259; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm39260; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm15, %zmm39261; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9262; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm39263; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm15, %zmm39264; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9265; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm22 = [12,5,12,5,12,5,12,5]9266; AVX512DQ-FCP-NEXT: # zmm22 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9267; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm39268; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm22, %zmm39269; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9270; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm39271; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm22, %zmm39272; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9273; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm39274; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm39275; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9276; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm39277; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm39278; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9279; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm39280; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm30, %zmm39281; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9282; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm39283; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm30, %zmm39284; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9285; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm39286; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm9, %zmm39287; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9288; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]9289; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9290; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm209291; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm219292; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm9, %zmm219293; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm199294; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm39295; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9296; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm29297; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9298; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm30, %zmm29299; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9300; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm129301; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm8, %zmm129302; AVX512DQ-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm289303; AVX512DQ-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm29304; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm59305; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm79306; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9307; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm30, %zmm59308; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9309; AVX512DQ-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm29310; AVX512DQ-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm109311; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm89312; AVX512DQ-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm189313; AVX512DQ-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm69314; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9315; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm59316; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm11, %zmm69317; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9318; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm9, %zmm319319; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm49320; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm69321; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm15, %zmm49322; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm179323; AVX512DQ-FCP-NEXT: vmovdqa64 640(%rdi), %zmm159324; AVX512DQ-FCP-NEXT: vmovdqa64 576(%rdi), %zmm49325; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9326; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm11, %zmm49327; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9328; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm269329; AVX512DQ-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload9330; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm169331; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm49332; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9333; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm11, %zmm49334; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9335; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm9, %zmm239336; AVX512DQ-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm119337; AVX512DQ-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm49338; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9339; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm5, %zmm49340; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9341; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm279342; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm9, %zmm279343; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm69344; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm299345; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm39346; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm22, %zmm299347; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm229348; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm149349; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm229350; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm5, %zmm229351; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm59352; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm139353; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm259354; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm30, %zmm259355; AVX512DQ-FCP-NEXT: vpermi2q %zmm2, %zmm10, %zmm309356; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm249357; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm9, %zmm249358; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm49359; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm2, %zmm99360; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm79361; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm109362; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm49363; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm09364; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,9,0,5,6,9]9365; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9366; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9367; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm19368; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9369; AVX512DQ-FCP-NEXT: vmovdqa64 832(%rdi), %zmm39370; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9371; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm19372; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9373; AVX512DQ-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm59374; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm129375; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9376; AVX512DQ-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm99377; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm89378; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9379; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,10,0,5,6,10]9380; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9381; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm179382; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9383; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9384; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm19385; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9386; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9387; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm19388; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9389; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm69390; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9391; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,11,0,5,6,11]9392; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9393; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm299394; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9395; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm19396; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9397; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9398; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm19399; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9400; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm149401; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9402; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [0,5,6,12,0,5,6,12]9403; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9404; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm229405; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9406; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm19407; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9408; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9409; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm19410; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9411; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm139412; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9413; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,13,4,5,6,13]9414; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9415; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm259416; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9417; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm89418; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload9419; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm149420; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm309421; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,6,14,4,5,6,14]9422; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9423; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm249424; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9425; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm19426; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9427; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm219428; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9429; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm79430; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9431; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm2 = [4,5,8,15,4,5,8,15]9432; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3]9433; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm2, %zmm209434; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9435; AVX512DQ-FCP-NEXT: vpermt2q %zmm0, %zmm2, %zmm199436; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9437; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm2, %zmm109438; AVX512DQ-FCP-NEXT: vpermt2q %zmm5, %zmm2, %zmm49439; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9440; AVX512DQ-FCP-NEXT: movb $24, %al9441; AVX512DQ-FCP-NEXT: kmovw %eax, %k19442; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9443; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9444; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm15[4,5,4,5]9445; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9446; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]9447; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]9448; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm29449; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm29450; AVX512DQ-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm4 = [7,0,9,0,7,0,9,0]9451; AVX512DQ-FCP-NEXT: # zmm4 = mem[0,1,2,3,0,1,2,3]9452; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm209453; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm4, %zmm209454; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm21 = [0,0,4,11]9455; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm21, %zmm19456; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9457; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9458; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9459; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm16[4,5,4,5]9460; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9461; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm159462; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm159463; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, %zmm199464; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm4, %zmm199465; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm39466; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9467; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9468; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9469; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm3[4,5,4,5],zmm11[4,5,4,5]9470; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9471; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9472; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm169473; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm169474; AVX512DQ-FCP-NEXT: vpermi2q %zmm11, %zmm3, %zmm09475; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm179476; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm4, %zmm179477; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm11, %zmm49478; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm21, %zmm39479; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9480; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9481; AVX512DQ-FCP-NEXT: vshufi64x2 {{.*#+}} zmm9 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]9482; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm21, %zmm19483; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9484; AVX512DQ-FCP-NEXT: vmovdqa 912(%rdi), %xmm119485; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]9486; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm16, %zmm19487; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9488; AVX512DQ-FCP-NEXT: vmovdqa 464(%rdi), %xmm119489; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]9490; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm11, %zmm2, %zmm19491; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9492; AVX512DQ-FCP-NEXT: vmovdqa 16(%rdi), %xmm29493; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]9494; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm2, %zmm15, %zmm219495; AVX512DQ-FCP-NEXT: vmovdqa 1360(%rdi), %xmm29496; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm2[0,1],mem[2,3]9497; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm2, %zmm0, %zmm169498; AVX512DQ-FCP-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm09499; AVX512DQ-FCP-NEXT: vmovdqa 1024(%rdi), %ymm79500; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm7[0,1,2,3,4,5],ymm0[6,7]9501; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm0 = [4,11]9502; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9503; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm129504; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload9505; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm129506; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]9507; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm25, %zmm19508; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9509; AVX512DQ-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm119510; AVX512DQ-FCP-NEXT: vmovdqa 576(%rdi), %ymm19511; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]9512; AVX512DQ-FCP-NEXT: vmovdqa64 %ymm1, %ymm259513; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9514; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm159515; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload9516; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm159517; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm15[0,1,2,3],ymm11[4,5,6,7]9518; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm19519; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9520; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm119521; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm19522; AVX512DQ-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9523; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm1[0,1,2,3,4,5],ymm11[6,7]9524; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9525; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm19526; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9527; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm19528; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm11[4,5,6,7]9529; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm14, %zmm19530; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9531; AVX512DQ-FCP-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm19532; AVX512DQ-FCP-NEXT: vmovdqa 1472(%rdi), %ymm119533; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]9534; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9535; AVX512DQ-FCP-NEXT: vpermi2q %zmm28, %zmm8, %zmm09536; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9537; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm30, %zmm09538; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9539; AVX512DQ-FCP-NEXT: vmovdqa 1088(%rdi), %ymm09540; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm14 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]9541; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm0 = [5,12]9542; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm19543; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm79544; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm0, %zmm79545; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]9546; AVX512DQ-FCP-NEXT: vpermt2q %zmm12, %zmm30, %zmm19547; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9548; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm69549; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm0, %zmm69550; AVX512DQ-FCP-NEXT: vpermt2q %zmm15, %zmm30, %zmm39551; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9552; AVX512DQ-FCP-NEXT: vmovdqa 960(%rdi), %ymm159553; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]9554; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm15, %xmm159555; AVX512DQ-FCP-NEXT: vmovdqa 512(%rdi), %ymm129556; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm12 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]9557; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm12, %xmm129558; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm29559; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm29560; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm39561; AVX512DQ-FCP-NEXT: vpermi2q %zmm28, %zmm8, %zmm09562; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm30, %zmm39563; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9564; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm30, %zmm59565; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9566; AVX512DQ-FCP-NEXT: movb $-32, %al9567; AVX512DQ-FCP-NEXT: kmovw %eax, %k29568; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload9569; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9570; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm28 {%k2}9571; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm30 # 64-byte Reload9572; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9573; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm30 {%k2}9574; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm139575; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9576; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm13 {%k2}9577; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload9578; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9579; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm18 {%k2}9580; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9581; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k1}9582; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm31 {%k2}9584; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9585; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm26 {%k1}9586; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9587; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm26 {%k2}9588; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9589; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k1}9590; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9591; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm23 {%k2}9592; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k1}9594; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9595; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm27 {%k2}9596; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9597; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}9598; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9599; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload9600; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k2}9601; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9602; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm21 {%k2}9603; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9604; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm16 {%k2}9605; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm15, %zmm17, %zmm179606; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm17 {%k2}9607; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm12, %zmm20, %zmm129608; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9609; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm12 {%k2}9610; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm14[4,5,6,7]9611; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm149612; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9613; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm14, %xmm149614; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm14, %zmm19, %zmm99615; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9616; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm9 {%k2}9617; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm24, %zmm19618; AVX512DQ-FCP-NEXT: vmovdqa 640(%rdi), %ymm149619; AVX512DQ-FCP-NEXT: vmovdqa64 %ymm25, %ymm29620; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm14 = ymm2[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9621; AVX512DQ-FCP-NEXT: vmovdqa 1408(%rdi), %ymm159622; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]9623; AVX512DQ-FCP-NEXT: vextracti128 $1, %ymm15, %xmm159624; AVX512DQ-FCP-NEXT: vinserti32x4 $0, %xmm15, %zmm4, %zmm49625; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9626; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k2}9627; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm14[4,5,6,7]9628; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9629; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm2, %zmm39630; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm149631; AVX512DQ-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm14 # 32-byte Folded Reload9632; AVX512DQ-FCP-NEXT: # ymm14 = mem[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9633; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm14[4,5,6,7]9634; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9635; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm6, %zmm29636; AVX512DQ-FCP-NEXT: vmovdqa 1536(%rdi), %ymm149637; AVX512DQ-FCP-NEXT: vpalignr {{.*#+}} ymm11 = ymm11[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]9638; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm11[4,5,6,7]9639; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9640; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm6, %zmm09641; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9642; AVX512DQ-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm11 # 32-byte Folded Reload9643; AVX512DQ-FCP-NEXT: # ymm11 = ymm6[0,1,2,3],mem[4,5,6,7]9644; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9645; AVX512DQ-FCP-NEXT: vinsertf64x4 $0, %ymm11, %zmm6, %zmm119646; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9647; AVX512DQ-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm8 # 32-byte Folded Reload9648; AVX512DQ-FCP-NEXT: # ymm8 = ymm6[0,1,2,3],mem[4,5,6,7]9649; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9650; AVX512DQ-FCP-NEXT: vinsertf64x4 $0, %ymm8, %zmm6, %zmm89651; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9652; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm7 # 32-byte Folded Reload9653; AVX512DQ-FCP-NEXT: # ymm7 = ymm6[0,1,2,3],mem[4,5,6,7]9654; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm10, %zmm69655; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9656; AVX512DQ-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload9657; AVX512DQ-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]9658; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload9659; AVX512DQ-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm10, %zmm79660; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, 192(%rsi)9661; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 128(%rsi)9662; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm30, 64(%rsi)9663; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, (%rsi)9664; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 192(%rdx)9665; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, (%rdx)9666; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, 64(%rdx)9667; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, 128(%rdx)9668; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, 192(%rcx)9669; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, (%rcx)9670; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, 64(%rcx)9671; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 128(%rcx)9672; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 192(%r8)9673; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, (%r8)9674; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 64(%r8)9675; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, 128(%r8)9676; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9677; AVX512DQ-FCP-NEXT: vmovaps %zmm4, 192(%r9)9678; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9679; AVX512DQ-FCP-NEXT: vmovaps %zmm4, (%r9)9680; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9681; AVX512DQ-FCP-NEXT: vmovaps %zmm4, 64(%r9)9682; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9683; AVX512DQ-FCP-NEXT: vmovaps %zmm4, 128(%r9)9684; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9685; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)9686; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, (%rax)9687; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)9688; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 128(%rax)9689; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9690; AVX512DQ-FCP-NEXT: vmovaps %zmm7, 128(%rax)9691; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)9692; AVX512DQ-FCP-NEXT: vmovaps %zmm8, (%rax)9693; AVX512DQ-FCP-NEXT: vmovaps %zmm11, 64(%rax)9694; AVX512DQ-FCP-NEXT: addq $2728, %rsp # imm = 0xAA89695; AVX512DQ-FCP-NEXT: vzeroupper9696; AVX512DQ-FCP-NEXT: retq9697;9698; AVX512BW-LABEL: load_i64_stride7_vf32:9699; AVX512BW: # %bb.0:9700; AVX512BW-NEXT: subq $2760, %rsp # imm = 0xAC89701; AVX512BW-NEXT: vmovdqa64 1216(%rdi), %zmm209702; AVX512BW-NEXT: vmovdqa64 1152(%rdi), %zmm29703; AVX512BW-NEXT: vmovdqa64 960(%rdi), %zmm299704; AVX512BW-NEXT: vmovdqa64 896(%rdi), %zmm49705; AVX512BW-NEXT: vmovdqa64 768(%rdi), %zmm19706; AVX512BW-NEXT: vmovdqa64 704(%rdi), %zmm309707; AVX512BW-NEXT: vmovdqa64 512(%rdi), %zmm289708; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm129709; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm269710; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm179711; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm69712; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9713; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm39714; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9715; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [0,7,14,0,0,7,14,0]9716; AVX512BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]9717; AVX512BW-NEXT: vpermt2q %zmm6, %zmm25, %zmm39718; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9719; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]9720; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9721; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm69722; AVX512BW-NEXT: vpermt2q %zmm26, %zmm8, %zmm69723; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9724; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm39725; AVX512BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9726; AVX512BW-NEXT: vpermt2q %zmm28, %zmm25, %zmm39727; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9728; AVX512BW-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9729; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm39730; AVX512BW-NEXT: vpermt2q %zmm1, %zmm8, %zmm39731; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9732; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]9733; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9734; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]9735; AVX512BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]9736; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [11,4,11,4,11,4,11,4]9737; AVX512BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9738; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm39739; AVX512BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm39740; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9741; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm39742; AVX512BW-NEXT: vpermt2q %zmm26, %zmm7, %zmm39743; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9744; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [12,5,12,5,12,5,12,5]9745; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9746; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm39747; AVX512BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm39748; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9749; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm39750; AVX512BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm39751; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9752; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm39753; AVX512BW-NEXT: vpermt2q %zmm1, %zmm11, %zmm39754; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9755; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm39756; AVX512BW-NEXT: vpermt2q %zmm26, %zmm11, %zmm39757; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9758; AVX512BW-NEXT: vmovdqa64 %zmm30, %zmm39759; AVX512BW-NEXT: vpermt2q %zmm1, %zmm25, %zmm39760; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9761; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm39762; AVX512BW-NEXT: vpermt2q %zmm26, %zmm25, %zmm39763; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9764; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm39765; AVX512BW-NEXT: vpermt2q %zmm30, %zmm9, %zmm39766; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9767; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]9768; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9769; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm309770; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm109771; AVX512BW-NEXT: vpermt2q %zmm17, %zmm9, %zmm109772; AVX512BW-NEXT: vpermt2q %zmm26, %zmm0, %zmm179773; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9774; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm19775; AVX512BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9776; AVX512BW-NEXT: vpermt2q %zmm29, %zmm25, %zmm19777; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9778; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm69779; AVX512BW-NEXT: vpermt2q %zmm20, %zmm8, %zmm69780; AVX512BW-NEXT: vmovdqa64 1408(%rdi), %zmm249781; AVX512BW-NEXT: vmovdqa64 1344(%rdi), %zmm159782; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm39783; AVX512BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9784; AVX512BW-NEXT: vpermt2q %zmm24, %zmm25, %zmm39785; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9786; AVX512BW-NEXT: vmovdqa64 1664(%rdi), %zmm19787; AVX512BW-NEXT: vmovdqa64 1600(%rdi), %zmm169788; AVX512BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm89789; AVX512BW-NEXT: vmovdqa64 1088(%rdi), %zmm139790; AVX512BW-NEXT: vmovdqa64 1024(%rdi), %zmm59791; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9792; AVX512BW-NEXT: vpermt2q %zmm13, %zmm11, %zmm59793; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9794; AVX512BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm299795; AVX512BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9796; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm49797; AVX512BW-NEXT: vpermt2q %zmm20, %zmm7, %zmm49798; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm149799; AVX512BW-NEXT: vmovdqa64 640(%rdi), %zmm189800; AVX512BW-NEXT: vmovdqa64 576(%rdi), %zmm49801; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9802; AVX512BW-NEXT: vpermt2q %zmm18, %zmm11, %zmm49803; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9804; AVX512BW-NEXT: vpermt2q %zmm12, %zmm9, %zmm289805; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm199806; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm49807; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9808; AVX512BW-NEXT: vpermt2q %zmm19, %zmm11, %zmm49809; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9810; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload9811; AVX512BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload9812; AVX512BW-NEXT: vmovdqa64 1536(%rdi), %zmm129813; AVX512BW-NEXT: vmovdqa64 1472(%rdi), %zmm49814; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9815; AVX512BW-NEXT: vpermt2q %zmm12, %zmm11, %zmm49816; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9817; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm229818; AVX512BW-NEXT: vpermt2q %zmm15, %zmm9, %zmm229819; AVX512BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm79820; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm299821; AVX512BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm299822; AVX512BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm239823; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm319824; AVX512BW-NEXT: vpermt2q %zmm20, %zmm11, %zmm319825; AVX512BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm119826; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm159827; AVX512BW-NEXT: vpermt2q %zmm20, %zmm25, %zmm159828; AVX512BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm259829; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm219830; AVX512BW-NEXT: vpermt2q %zmm2, %zmm9, %zmm219831; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm49832; AVX512BW-NEXT: vpermi2q %zmm16, %zmm1, %zmm99833; AVX512BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm169834; AVX512BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm49835; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm09836; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,9,0,5,6,9]9837; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9838; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9839; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm29840; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9841; AVX512BW-NEXT: vmovdqa64 832(%rdi), %zmm39842; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9843; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm29844; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9845; AVX512BW-NEXT: vmovdqa64 1280(%rdi), %zmm59846; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm69847; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9848; AVX512BW-NEXT: vmovdqa64 1728(%rdi), %zmm69849; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm89850; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9851; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,10,0,5,6,10]9852; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9853; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm149854; AVX512BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9855; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9856; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm29857; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9858; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9859; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm29860; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9861; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm79862; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9863; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,11,0,5,6,11]9864; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9865; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm299866; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9867; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm29868; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9869; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9870; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm29871; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9872; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm239873; AVX512BW-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9874; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,12,0,5,6,12]9875; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9876; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm319877; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9878; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm29879; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9880; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9881; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm29882; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9883; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm119884; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9885; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,13,4,5,6,13]9886; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9887; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm159888; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9889; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm29890; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9891; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm79892; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm259893; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,14,4,5,6,14]9894; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9895; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm219896; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9897; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm89898; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9899; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm109900; AVX512BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9901; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm99902; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9903; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]9904; AVX512BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]9905; AVX512BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm309906; AVX512BW-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9907; AVX512BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm179908; AVX512BW-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9909; AVX512BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm169910; AVX512BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm49911; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9912; AVX512BW-NEXT: movb $24, %al9913; AVX512BW-NEXT: kmovd %eax, %k19914; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9915; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9916; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]9917; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9918; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]9919; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]9920; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm39921; AVX512BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm39922; AVX512BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [7,0,9,0,7,0,9,0]9923; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]9924; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm279925; AVX512BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm279926; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm5 = [0,0,4,11]9927; AVX512BW-NEXT: vpermt2q %zmm18, %zmm5, %zmm19928; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9929; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9930; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9931; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm4[4,5,4,5],zmm19[4,5,4,5]9932; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9933; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm189934; AVX512BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm189935; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm239936; AVX512BW-NEXT: vpermt2q %zmm4, %zmm10, %zmm239937; AVX512BW-NEXT: vpermt2q %zmm19, %zmm5, %zmm49938; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9939; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9940; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload9941; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm17 {%k1} = zmm4[4,5,4,5],zmm12[4,5,4,5]9942; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9943; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm199944; AVX512BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm199945; AVX512BW-NEXT: vpermi2q %zmm12, %zmm4, %zmm09946; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm209947; AVX512BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm209948; AVX512BW-NEXT: vpermi2q %zmm4, %zmm12, %zmm109949; AVX512BW-NEXT: vpermt2q %zmm12, %zmm5, %zmm49950; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9951; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload9952; AVX512BW-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k1} = zmm1[4,5,4,5],zmm13[4,5,4,5]9953; AVX512BW-NEXT: vpermt2q %zmm13, %zmm5, %zmm19954; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9955; AVX512BW-NEXT: vmovdqa 912(%rdi), %xmm59956; AVX512BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]9957; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm19958; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9959; AVX512BW-NEXT: vmovdqa 464(%rdi), %xmm59960; AVX512BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]9961; AVX512BW-NEXT: vinserti32x4 $0, %xmm5, %zmm3, %zmm19962; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9963; AVX512BW-NEXT: vmovdqa 16(%rdi), %xmm39964; AVX512BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]9965; AVX512BW-NEXT: vinserti32x4 $0, %xmm3, %zmm18, %zmm199966; AVX512BW-NEXT: vmovdqa 1360(%rdi), %xmm39967; AVX512BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]9968; AVX512BW-NEXT: vinserti32x4 $0, %xmm3, %zmm0, %zmm189969; AVX512BW-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm09970; AVX512BW-NEXT: vmovdqa 1024(%rdi), %ymm139971; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]9972; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]9973; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9974; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm129975; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9976; AVX512BW-NEXT: vpermt2q %zmm8, %zmm3, %zmm129977; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]9978; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm15, %zmm09979; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9980; AVX512BW-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm09981; AVX512BW-NEXT: vmovdqa 576(%rdi), %ymm19982; AVX512BW-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9983; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9984; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9985; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm119986; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9987; AVX512BW-NEXT: vpermt2q %zmm1, %zmm3, %zmm119988; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]9989; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm2, %zmm09990; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9991; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm09992; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm129993; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5],ymm0[6,7]9994; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9995; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm119996; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9997; AVX512BW-NEXT: vpermt2q %zmm4, %zmm3, %zmm119998; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]9999; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010000; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10001; AVX512BW-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm010002; AVX512BW-NEXT: vmovdqa 1472(%rdi), %ymm210003; AVX512BW-NEXT: vmovdqu %ymm2, (%rsp) # 32-byte Spill10004; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]10005; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10006; AVX512BW-NEXT: vpermi2q %zmm24, %zmm2, %zmm310007; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]10008; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm25, %zmm010009; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10010; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm7 = [5,12]10011; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm1110012; AVX512BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm1110013; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]10014; AVX512BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm610015; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10016; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm310017; AVX512BW-NEXT: vpermt2q %zmm4, %zmm7, %zmm310018; AVX512BW-NEXT: vpermt2q %zmm4, %zmm30, %zmm510019; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10020; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm010021; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm410022; AVX512BW-NEXT: vpermt2q %zmm8, %zmm7, %zmm010023; AVX512BW-NEXT: vpermi2q %zmm24, %zmm2, %zmm710024; AVX512BW-NEXT: vpermt2q %zmm24, %zmm30, %zmm210025; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm810026; AVX512BW-NEXT: vpermt2q %zmm4, %zmm30, %zmm910027; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10028; AVX512BW-NEXT: vmovdqa64 1088(%rdi), %ymm2410029; AVX512BW-NEXT: vpalignr {{.*#+}} ymm5 = ymm13[8,9,10,11,12,13,14,15],ymm24[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm24[16,17,18,19,20,21,22,23]10030; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm5[4,5,6,7]10031; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm010032; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10033; AVX512BW-NEXT: movb $-32, %al10034; AVX512BW-NEXT: kmovd %eax, %k210035; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10036; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10037; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm24 {%k2}10038; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload10039; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10040; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}10041; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm210042; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10043; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}10044; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm1410045; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10046; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}10047; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10048; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10049; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}10050; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10051; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}10052; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm3010053; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10054; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm28 {%k1}10055; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10056; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm28 {%k2}10057; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10058; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k1}10059; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10060; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}10061; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10062; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k1}10063; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10064; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}10065; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10066; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}10067; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10068; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload10069; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k2}10070; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10071; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm19 {%k2}10072; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10073; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}10074; AVX512BW-NEXT: vmovdqa 960(%rdi), %ymm110075; AVX512BW-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]10076; AVX512BW-NEXT: vextracti128 $1, %ymm1, %xmm110077; AVX512BW-NEXT: vinserti32x4 $0, %xmm1, %zmm20, %zmm110078; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm1 {%k2}10079; AVX512BW-NEXT: vmovdqa 512(%rdi), %ymm610080; AVX512BW-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]10081; AVX512BW-NEXT: vextracti128 $1, %ymm6, %xmm610082; AVX512BW-NEXT: vinserti32x4 $0, %xmm6, %zmm27, %zmm610083; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10084; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}10085; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm1710086; AVX512BW-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10087; AVX512BW-NEXT: vextracti32x4 $1, %ymm17, %xmm1710088; AVX512BW-NEXT: vinserti32x4 $0, %xmm17, %zmm23, %zmm1510089; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10090; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm15 {%k2}10091; AVX512BW-NEXT: vmovdqa64 1408(%rdi), %ymm1710092; AVX512BW-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10093; AVX512BW-NEXT: vextracti32x4 $1, %ymm17, %xmm1710094; AVX512BW-NEXT: vinserti32x4 $0, %xmm17, %zmm10, %zmm2110095; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10096; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}10097; AVX512BW-NEXT: vmovdqa64 640(%rdi), %ymm1710098; AVX512BW-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17, %ymm13 # 32-byte Folded Reload10099; AVX512BW-NEXT: # ymm13 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10100; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm13[4,5,6,7]10101; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10102; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm410103; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm1310104; AVX512BW-NEXT: vpalignr {{.*#+}} ymm12 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]10105; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5,6,7]10106; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10107; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm310108; AVX512BW-NEXT: vmovdqa 1536(%rdi), %ymm1210109; AVX512BW-NEXT: vpalignr $8, (%rsp), %ymm12, %ymm11 # 32-byte Folded Reload10110; AVX512BW-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]10111; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm11[4,5,6,7]10112; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10113; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010114; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10115; AVX512BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm11 # 32-byte Folded Reload10116; AVX512BW-NEXT: # ymm11 = ymm7[0,1,2,3],mem[4,5,6,7]10117; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10118; AVX512BW-NEXT: vinsertf64x4 $0, %ymm11, %zmm7, %zmm1110119; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10120; AVX512BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm9 # 32-byte Folded Reload10121; AVX512BW-NEXT: # ymm9 = ymm7[0,1,2,3],mem[4,5,6,7]10122; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10123; AVX512BW-NEXT: vinsertf64x4 $0, %ymm9, %zmm7, %zmm910124; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload10125; AVX512BW-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]10126; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm16, %zmm710127; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10128; AVX512BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload10129; AVX512BW-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]10130; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10131; AVX512BW-NEXT: vinsertf64x4 $0, %ymm8, %zmm10, %zmm810132; AVX512BW-NEXT: vmovdqa64 %zmm14, 192(%rsi)10133; AVX512BW-NEXT: vmovdqa64 %zmm2, 128(%rsi)10134; AVX512BW-NEXT: vmovdqa64 %zmm25, 64(%rsi)10135; AVX512BW-NEXT: vmovdqa64 %zmm24, (%rsi)10136; AVX512BW-NEXT: vmovdqa64 %zmm22, 192(%rdx)10137; AVX512BW-NEXT: vmovdqa64 %zmm26, (%rdx)10138; AVX512BW-NEXT: vmovdqa64 %zmm28, 64(%rdx)10139; AVX512BW-NEXT: vmovdqa64 %zmm30, 128(%rdx)10140; AVX512BW-NEXT: vmovdqa64 %zmm18, 192(%rcx)10141; AVX512BW-NEXT: vmovdqa64 %zmm19, (%rcx)10142; AVX512BW-NEXT: vmovdqa64 %zmm29, 64(%rcx)10143; AVX512BW-NEXT: vmovdqa64 %zmm5, 128(%rcx)10144; AVX512BW-NEXT: vmovdqa64 %zmm21, 192(%r8)10145; AVX512BW-NEXT: vmovdqa64 %zmm15, (%r8)10146; AVX512BW-NEXT: vmovdqa64 %zmm6, 64(%r8)10147; AVX512BW-NEXT: vmovdqa64 %zmm1, 128(%r8)10148; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10149; AVX512BW-NEXT: vmovaps %zmm1, 192(%r9)10150; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10151; AVX512BW-NEXT: vmovaps %zmm1, (%r9)10152; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10153; AVX512BW-NEXT: vmovaps %zmm1, 64(%r9)10154; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10155; AVX512BW-NEXT: vmovaps %zmm1, 128(%r9)10156; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10157; AVX512BW-NEXT: vmovdqa64 %zmm0, 192(%rax)10158; AVX512BW-NEXT: vmovdqa64 %zmm3, (%rax)10159; AVX512BW-NEXT: vmovdqa64 %zmm4, 64(%rax)10160; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10161; AVX512BW-NEXT: vmovaps %zmm0, 128(%rax)10162; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax10163; AVX512BW-NEXT: vmovaps %zmm8, 128(%rax)10164; AVX512BW-NEXT: vmovdqa64 %zmm7, 192(%rax)10165; AVX512BW-NEXT: vmovaps %zmm9, (%rax)10166; AVX512BW-NEXT: vmovaps %zmm11, 64(%rax)10167; AVX512BW-NEXT: addq $2760, %rsp # imm = 0xAC810168; AVX512BW-NEXT: vzeroupper10169; AVX512BW-NEXT: retq10170;10171; AVX512BW-FCP-LABEL: load_i64_stride7_vf32:10172; AVX512BW-FCP: # %bb.0:10173; AVX512BW-FCP-NEXT: subq $2760, %rsp # imm = 0xAC810174; AVX512BW-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm2010175; AVX512BW-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm210176; AVX512BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm2910177; AVX512BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm410178; AVX512BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm110179; AVX512BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm3010180; AVX512BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm2810181; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm1210182; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm2610183; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm1710184; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm610185; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10186; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm310187; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10188; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [0,7,14,0,0,7,14,0]10189; AVX512BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]10190; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm25, %zmm310191; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10192; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]10193; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10194; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm610195; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm8, %zmm610196; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10197; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm310198; AVX512BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10199; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm310200; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10201; AVX512BW-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10202; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm310203; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm8, %zmm310204; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10205; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]10206; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10207; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]10208; AVX512BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]10209; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [11,4,11,4,11,4,11,4]10210; AVX512BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10211; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm310212; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm310213; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10214; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm310215; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm7, %zmm310216; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10217; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [12,5,12,5,12,5,12,5]10218; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10219; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm310220; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm310221; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10222; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm310223; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm310224; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10225; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm310226; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm11, %zmm310227; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10228; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm310229; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm310230; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10231; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm310232; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm25, %zmm310233; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10234; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm310235; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm310236; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10237; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm310238; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm9, %zmm310239; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10240; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]10241; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10242; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm3010243; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1010244; AVX512BW-FCP-NEXT: vpermt2q %zmm17, %zmm9, %zmm1010245; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm1710246; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10247; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm110248; AVX512BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10249; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm110250; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10251; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm610252; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm8, %zmm610253; AVX512BW-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm2410254; AVX512BW-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm1510255; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm310256; AVX512BW-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10257; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm25, %zmm310258; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10259; AVX512BW-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm110260; AVX512BW-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm1610261; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm810262; AVX512BW-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm1310263; AVX512BW-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm510264; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10265; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm11, %zmm510266; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10267; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm2910268; AVX512BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10269; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm410270; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm7, %zmm410271; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1410272; AVX512BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm1810273; AVX512BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm410274; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10275; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm11, %zmm410276; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10277; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm9, %zmm2810278; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm1910279; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm410280; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10281; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm11, %zmm410282; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10283; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload10284; AVX512BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload10285; AVX512BW-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm1210286; AVX512BW-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm410287; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10288; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm11, %zmm410289; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10290; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm2210291; AVX512BW-FCP-NEXT: vpermt2q %zmm15, %zmm9, %zmm2210292; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm710293; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm2910294; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm2910295; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm2310296; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3110297; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm3110298; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm1110299; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1510300; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm25, %zmm1510301; AVX512BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm2510302; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm2110303; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm9, %zmm2110304; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm410305; AVX512BW-FCP-NEXT: vpermi2q %zmm16, %zmm1, %zmm910306; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm1610307; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm410308; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm010309; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,9,0,5,6,9]10310; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10311; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10312; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm210313; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10314; AVX512BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm310315; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10316; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210317; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10318; AVX512BW-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm510319; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm610320; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10321; AVX512BW-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm610322; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm810323; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10324; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,10,0,5,6,10]10325; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10326; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm1410327; AVX512BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10328; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10329; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210330; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10331; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10332; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm210333; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10334; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm710335; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10336; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,11,0,5,6,11]10337; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10338; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2910339; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10340; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210341; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10342; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10343; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm210344; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10345; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2310346; AVX512BW-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10347; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,12,0,5,6,12]10348; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10349; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm3110350; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10351; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210352; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10353; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10354; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm210355; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10356; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1110357; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10358; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,13,4,5,6,13]10359; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10360; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm1510361; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10362; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm210363; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10364; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm710365; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2510366; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,14,4,5,6,14]10367; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10368; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2110369; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10370; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm810371; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10372; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1010373; AVX512BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10374; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm910375; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10376; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]10377; AVX512BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10378; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm3010379; AVX512BW-FCP-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10380; AVX512BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1710381; AVX512BW-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10382; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1610383; AVX512BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm410384; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10385; AVX512BW-FCP-NEXT: movb $24, %al10386; AVX512BW-FCP-NEXT: kmovd %eax, %k110387; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10388; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10389; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]10390; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10391; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]10392; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]10393; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm310394; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm310395; AVX512BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [7,0,9,0,7,0,9,0]10396; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]10397; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2710398; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm2710399; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [0,0,4,11]10400; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm5, %zmm110401; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10402; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10403; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10404; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm4[4,5,4,5],zmm19[4,5,4,5]10405; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10406; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1810407; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm1810408; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm2310409; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm2310410; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm5, %zmm410411; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10412; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10413; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10414; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm17 {%k1} = zmm4[4,5,4,5],zmm12[4,5,4,5]10415; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10416; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm1910417; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm1910418; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm4, %zmm010419; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm2010420; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm2010421; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm12, %zmm1010422; AVX512BW-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm410423; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10424; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload10425; AVX512BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k1} = zmm1[4,5,4,5],zmm13[4,5,4,5]10426; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm5, %zmm110427; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10428; AVX512BW-FCP-NEXT: vmovdqa 912(%rdi), %xmm510429; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]10430; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm110431; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10432; AVX512BW-FCP-NEXT: vmovdqa 464(%rdi), %xmm510433; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]10434; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm3, %zmm110435; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10436; AVX512BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm310437; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]10438; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm3, %zmm18, %zmm1910439; AVX512BW-FCP-NEXT: vmovdqa 1360(%rdi), %xmm310440; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]10441; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm3, %zmm0, %zmm1810442; AVX512BW-FCP-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm010443; AVX512BW-FCP-NEXT: vmovdqa 1024(%rdi), %ymm1310444; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]10445; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]10446; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10447; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1210448; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10449; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm3, %zmm1210450; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]10451; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm15, %zmm010452; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10453; AVX512BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm010454; AVX512BW-FCP-NEXT: vmovdqa 576(%rdi), %ymm110455; AVX512BW-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10456; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10457; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10458; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1110459; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10460; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm3, %zmm1110461; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]10462; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm2, %zmm010463; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10464; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm010465; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm1210466; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5],ymm0[6,7]10467; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10468; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1110469; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10470; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm3, %zmm1110471; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]10472; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010473; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10474; AVX512BW-FCP-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm010475; AVX512BW-FCP-NEXT: vmovdqa 1472(%rdi), %ymm210476; AVX512BW-FCP-NEXT: vmovdqu %ymm2, (%rsp) # 32-byte Spill10477; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]10478; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10479; AVX512BW-FCP-NEXT: vpermi2q %zmm24, %zmm2, %zmm310480; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]10481; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm25, %zmm010482; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10483; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm7 = [5,12]10484; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1110485; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm1110486; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]10487; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm610488; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10489; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm310490; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm7, %zmm310491; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm30, %zmm510492; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10493; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm010494; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm410495; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm7, %zmm010496; AVX512BW-FCP-NEXT: vpermi2q %zmm24, %zmm2, %zmm710497; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm30, %zmm210498; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm810499; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm30, %zmm910500; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10501; AVX512BW-FCP-NEXT: vmovdqa64 1088(%rdi), %ymm2410502; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm13[8,9,10,11,12,13,14,15],ymm24[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm24[16,17,18,19,20,21,22,23]10503; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm5[4,5,6,7]10504; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm010505; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10506; AVX512BW-FCP-NEXT: movb $-32, %al10507; AVX512BW-FCP-NEXT: kmovd %eax, %k210508; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10509; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10510; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm24 {%k2}10511; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload10512; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10513; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}10514; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm210515; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10516; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}10517; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm1410518; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10519; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}10520; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10521; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10522; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}10523; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10524; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}10525; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm3010526; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10527; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm28 {%k1}10528; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10529; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm28 {%k2}10530; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10531; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k1}10532; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10533; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}10534; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10535; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k1}10536; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10537; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}10538; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10539; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}10540; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10541; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload10542; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k2}10543; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10544; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k2}10545; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10546; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}10547; AVX512BW-FCP-NEXT: vmovdqa 960(%rdi), %ymm110548; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]10549; AVX512BW-FCP-NEXT: vextracti128 $1, %ymm1, %xmm110550; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm1, %zmm20, %zmm110551; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm1 {%k2}10552; AVX512BW-FCP-NEXT: vmovdqa 512(%rdi), %ymm610553; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]10554; AVX512BW-FCP-NEXT: vextracti128 $1, %ymm6, %xmm610555; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm6, %zmm27, %zmm610556; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10557; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}10558; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm1710559; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10560; AVX512BW-FCP-NEXT: vextracti32x4 $1, %ymm17, %xmm1710561; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm17, %zmm23, %zmm1510562; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10563; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k2}10564; AVX512BW-FCP-NEXT: vmovdqa64 1408(%rdi), %ymm1710565; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10566; AVX512BW-FCP-NEXT: vextracti32x4 $1, %ymm17, %xmm1710567; AVX512BW-FCP-NEXT: vinserti32x4 $0, %xmm17, %zmm10, %zmm2110568; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10569; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}10570; AVX512BW-FCP-NEXT: vmovdqa64 640(%rdi), %ymm1710571; AVX512BW-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17, %ymm13 # 32-byte Folded Reload10572; AVX512BW-FCP-NEXT: # ymm13 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]10573; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm13[4,5,6,7]10574; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10575; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm410576; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm1310577; AVX512BW-FCP-NEXT: vpalignr {{.*#+}} ymm12 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]10578; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5,6,7]10579; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10580; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm310581; AVX512BW-FCP-NEXT: vmovdqa 1536(%rdi), %ymm1210582; AVX512BW-FCP-NEXT: vpalignr $8, (%rsp), %ymm12, %ymm11 # 32-byte Folded Reload10583; AVX512BW-FCP-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]10584; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm11[4,5,6,7]10585; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10586; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010587; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10588; AVX512BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm11 # 32-byte Folded Reload10589; AVX512BW-FCP-NEXT: # ymm11 = ymm7[0,1,2,3],mem[4,5,6,7]10590; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10591; AVX512BW-FCP-NEXT: vinsertf64x4 $0, %ymm11, %zmm7, %zmm1110592; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10593; AVX512BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm9 # 32-byte Folded Reload10594; AVX512BW-FCP-NEXT: # ymm9 = ymm7[0,1,2,3],mem[4,5,6,7]10595; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10596; AVX512BW-FCP-NEXT: vinsertf64x4 $0, %ymm9, %zmm7, %zmm910597; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload10598; AVX512BW-FCP-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]10599; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm16, %zmm710600; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10601; AVX512BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload10602; AVX512BW-FCP-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]10603; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload10604; AVX512BW-FCP-NEXT: vinsertf64x4 $0, %ymm8, %zmm10, %zmm810605; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 192(%rsi)10606; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 128(%rsi)10607; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%rsi)10608; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, (%rsi)10609; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 192(%rdx)10610; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, (%rdx)10611; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, 64(%rdx)10612; AVX512BW-FCP-NEXT: vmovdqa64 %zmm30, 128(%rdx)10613; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, 192(%rcx)10614; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)10615; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, 64(%rcx)10616; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 128(%rcx)10617; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, 192(%r8)10618; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, (%r8)10619; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 64(%r8)10620; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%r8)10621; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10622; AVX512BW-FCP-NEXT: vmovaps %zmm1, 192(%r9)10623; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10624; AVX512BW-FCP-NEXT: vmovaps %zmm1, (%r9)10625; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10626; AVX512BW-FCP-NEXT: vmovaps %zmm1, 64(%r9)10627; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10628; AVX512BW-FCP-NEXT: vmovaps %zmm1, 128(%r9)10629; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10630; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)10631; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)10632; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)10633; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10634; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)10635; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10636; AVX512BW-FCP-NEXT: vmovaps %zmm8, 128(%rax)10637; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 192(%rax)10638; AVX512BW-FCP-NEXT: vmovaps %zmm9, (%rax)10639; AVX512BW-FCP-NEXT: vmovaps %zmm11, 64(%rax)10640; AVX512BW-FCP-NEXT: addq $2760, %rsp # imm = 0xAC810641; AVX512BW-FCP-NEXT: vzeroupper10642; AVX512BW-FCP-NEXT: retq10643;10644; AVX512DQ-BW-LABEL: load_i64_stride7_vf32:10645; AVX512DQ-BW: # %bb.0:10646; AVX512DQ-BW-NEXT: subq $2760, %rsp # imm = 0xAC810647; AVX512DQ-BW-NEXT: vmovdqa64 1216(%rdi), %zmm2010648; AVX512DQ-BW-NEXT: vmovdqa64 1152(%rdi), %zmm210649; AVX512DQ-BW-NEXT: vmovdqa64 960(%rdi), %zmm2910650; AVX512DQ-BW-NEXT: vmovdqa64 896(%rdi), %zmm410651; AVX512DQ-BW-NEXT: vmovdqa64 768(%rdi), %zmm110652; AVX512DQ-BW-NEXT: vmovdqa64 704(%rdi), %zmm3010653; AVX512DQ-BW-NEXT: vmovdqa64 512(%rdi), %zmm2810654; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm1210655; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm2610656; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm1710657; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm610658; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10659; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm310660; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10661; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [0,7,14,0,0,7,14,0]10662; AVX512DQ-BW-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]10663; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm25, %zmm310664; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10665; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]10666; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10667; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm610668; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm8, %zmm610669; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10670; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm310671; AVX512DQ-BW-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10672; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm25, %zmm310673; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10674; AVX512DQ-BW-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10675; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm310676; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm8, %zmm310677; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10678; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]10679; AVX512DQ-BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10680; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]10681; AVX512DQ-BW-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]10682; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [11,4,11,4,11,4,11,4]10683; AVX512DQ-BW-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10684; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm310685; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm310686; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10687; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm310688; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm7, %zmm310689; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10690; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [12,5,12,5,12,5,12,5]10691; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10692; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm310693; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm23, %zmm310694; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10695; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm310696; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm310697; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10698; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm310699; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm11, %zmm310700; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10701; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm310702; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm11, %zmm310703; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10704; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, %zmm310705; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm25, %zmm310706; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10707; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm310708; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm25, %zmm310709; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10710; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm310711; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm9, %zmm310712; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10713; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]10714; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10715; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm3010716; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm1010717; AVX512DQ-BW-NEXT: vpermt2q %zmm17, %zmm9, %zmm1010718; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm0, %zmm1710719; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10720; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm110721; AVX512DQ-BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10722; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm25, %zmm110723; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10724; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm610725; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm8, %zmm610726; AVX512DQ-BW-NEXT: vmovdqa64 1408(%rdi), %zmm2410727; AVX512DQ-BW-NEXT: vmovdqa64 1344(%rdi), %zmm1510728; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm310729; AVX512DQ-BW-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10730; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm25, %zmm310731; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10732; AVX512DQ-BW-NEXT: vmovdqa64 1664(%rdi), %zmm110733; AVX512DQ-BW-NEXT: vmovdqa64 1600(%rdi), %zmm1610734; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm810735; AVX512DQ-BW-NEXT: vmovdqa64 1088(%rdi), %zmm1310736; AVX512DQ-BW-NEXT: vmovdqa64 1024(%rdi), %zmm510737; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10738; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm11, %zmm510739; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10740; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm9, %zmm2910741; AVX512DQ-BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10742; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm410743; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm7, %zmm410744; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1410745; AVX512DQ-BW-NEXT: vmovdqa64 640(%rdi), %zmm1810746; AVX512DQ-BW-NEXT: vmovdqa64 576(%rdi), %zmm410747; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10748; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm11, %zmm410749; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10750; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm9, %zmm2810751; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm1910752; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm410753; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10754; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm11, %zmm410755; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10756; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload10757; AVX512DQ-BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload10758; AVX512DQ-BW-NEXT: vmovdqa64 1536(%rdi), %zmm1210759; AVX512DQ-BW-NEXT: vmovdqa64 1472(%rdi), %zmm410760; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10761; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm11, %zmm410762; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10763; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm2210764; AVX512DQ-BW-NEXT: vpermt2q %zmm15, %zmm9, %zmm2210765; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm710766; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm2910767; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm2910768; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm2310769; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm3110770; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm11, %zmm3110771; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm1110772; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm1510773; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm25, %zmm1510774; AVX512DQ-BW-NEXT: vpermi2q %zmm1, %zmm16, %zmm2510775; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm2110776; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm9, %zmm2110777; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm410778; AVX512DQ-BW-NEXT: vpermi2q %zmm16, %zmm1, %zmm910779; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm0, %zmm1610780; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm410781; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm010782; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,9,0,5,6,9]10783; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10784; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10785; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm210786; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10787; AVX512DQ-BW-NEXT: vmovdqa64 832(%rdi), %zmm310788; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10789; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm210790; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10791; AVX512DQ-BW-NEXT: vmovdqa64 1280(%rdi), %zmm510792; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm610793; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10794; AVX512DQ-BW-NEXT: vmovdqa64 1728(%rdi), %zmm610795; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm810796; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10797; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,10,0,5,6,10]10798; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10799; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm1410800; AVX512DQ-BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10801; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10802; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm210803; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10804; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10805; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm210806; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10807; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm710808; AVX512DQ-BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10809; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,11,0,5,6,11]10810; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10811; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm2910812; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10813; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm210814; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10815; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10816; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm210817; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10818; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm2310819; AVX512DQ-BW-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10820; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,12,0,5,6,12]10821; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10822; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm3110823; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10824; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm210825; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10826; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10827; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm210828; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10829; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm1110830; AVX512DQ-BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10831; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,13,4,5,6,13]10832; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10833; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm1510834; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10835; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm210836; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10837; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm710838; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm2510839; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,14,4,5,6,14]10840; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10841; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm2110842; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10843; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm810844; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10845; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm1010846; AVX512DQ-BW-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10847; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm910848; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10849; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]10850; AVX512DQ-BW-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]10851; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm1, %zmm3010852; AVX512DQ-BW-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10853; AVX512DQ-BW-NEXT: vpermt2q %zmm0, %zmm1, %zmm1710854; AVX512DQ-BW-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10855; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm1, %zmm1610856; AVX512DQ-BW-NEXT: vpermt2q %zmm5, %zmm1, %zmm410857; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10858; AVX512DQ-BW-NEXT: movb $24, %al10859; AVX512DQ-BW-NEXT: kmovd %eax, %k110860; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10861; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10862; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]10863; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10864; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]10865; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]10866; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm310867; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm310868; AVX512DQ-BW-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [7,0,9,0,7,0,9,0]10869; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]10870; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm2710871; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm2710872; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm5 = [0,0,4,11]10873; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm5, %zmm110874; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10875; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10876; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10877; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm4[4,5,4,5],zmm19[4,5,4,5]10878; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10879; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1810880; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm1810881; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm2310882; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm10, %zmm2310883; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm5, %zmm410884; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10885; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10886; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10887; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm17 {%k1} = zmm4[4,5,4,5],zmm12[4,5,4,5]10888; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10889; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm1910890; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm1910891; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm4, %zmm010892; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm2010893; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm10, %zmm2010894; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm12, %zmm1010895; AVX512DQ-BW-NEXT: vpermt2q %zmm12, %zmm5, %zmm410896; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10897; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload10898; AVX512DQ-BW-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k1} = zmm1[4,5,4,5],zmm13[4,5,4,5]10899; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm5, %zmm110900; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10901; AVX512DQ-BW-NEXT: vmovdqa 912(%rdi), %xmm510902; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]10903; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm110904; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10905; AVX512DQ-BW-NEXT: vmovdqa 464(%rdi), %xmm510906; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]10907; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm5, %zmm3, %zmm110908; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10909; AVX512DQ-BW-NEXT: vmovdqa 16(%rdi), %xmm310910; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]10911; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm3, %zmm18, %zmm1910912; AVX512DQ-BW-NEXT: vmovdqa 1360(%rdi), %xmm310913; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]10914; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm3, %zmm0, %zmm1810915; AVX512DQ-BW-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm010916; AVX512DQ-BW-NEXT: vmovdqa 1024(%rdi), %ymm1310917; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]10918; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]10919; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10920; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm1210921; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10922; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm3, %zmm1210923; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]10924; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm15, %zmm010925; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10926; AVX512DQ-BW-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm010927; AVX512DQ-BW-NEXT: vmovdqa 576(%rdi), %ymm110928; AVX512DQ-BW-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10929; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10930; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10931; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm1110932; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10933; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm3, %zmm1110934; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]10935; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm2, %zmm010936; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10937; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm010938; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm1210939; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5],ymm0[6,7]10940; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10941; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm1110942; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10943; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm3, %zmm1110944; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]10945; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010946; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10947; AVX512DQ-BW-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm010948; AVX512DQ-BW-NEXT: vmovdqa 1472(%rdi), %ymm210949; AVX512DQ-BW-NEXT: vmovdqu %ymm2, (%rsp) # 32-byte Spill10950; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]10951; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10952; AVX512DQ-BW-NEXT: vpermi2q %zmm24, %zmm2, %zmm310953; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]10954; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm25, %zmm010955; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10956; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm7 = [5,12]10957; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm1110958; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm7, %zmm1110959; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]10960; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm30, %zmm610961; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10962; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm310963; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm7, %zmm310964; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm30, %zmm510965; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10966; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm010967; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm410968; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm7, %zmm010969; AVX512DQ-BW-NEXT: vpermi2q %zmm24, %zmm2, %zmm710970; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm30, %zmm210971; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm810972; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm30, %zmm910973; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10974; AVX512DQ-BW-NEXT: vmovdqa64 1088(%rdi), %ymm2410975; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm5 = ymm13[8,9,10,11,12,13,14,15],ymm24[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm24[16,17,18,19,20,21,22,23]10976; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm5[4,5,6,7]10977; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm010978; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10979; AVX512DQ-BW-NEXT: movb $-32, %al10980; AVX512DQ-BW-NEXT: kmovd %eax, %k210981; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10982; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10983; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm24 {%k2}10984; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload10985; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10986; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}10987; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm210988; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10989; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}10990; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm1410991; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10992; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}10993; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10994; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10995; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}10996; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10997; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}10998; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm3010999; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11000; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm28 {%k1}11001; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11002; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm28 {%k2}11003; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11004; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k1}11005; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11006; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}11007; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11008; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k1}11009; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11010; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}11011; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11012; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}11013; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11014; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload11015; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm29 {%k2}11016; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11017; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm19 {%k2}11018; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11019; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}11020; AVX512DQ-BW-NEXT: vmovdqa 960(%rdi), %ymm111021; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]11022; AVX512DQ-BW-NEXT: vextracti128 $1, %ymm1, %xmm111023; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm1, %zmm20, %zmm111024; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm1 {%k2}11025; AVX512DQ-BW-NEXT: vmovdqa 512(%rdi), %ymm611026; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]11027; AVX512DQ-BW-NEXT: vextracti128 $1, %ymm6, %xmm611028; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm6, %zmm27, %zmm611029; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11030; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}11031; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm1711032; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11033; AVX512DQ-BW-NEXT: vextracti32x4 $1, %ymm17, %xmm1711034; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm17, %zmm23, %zmm1511035; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11036; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm15 {%k2}11037; AVX512DQ-BW-NEXT: vmovdqa64 1408(%rdi), %ymm1711038; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11039; AVX512DQ-BW-NEXT: vextracti32x4 $1, %ymm17, %xmm1711040; AVX512DQ-BW-NEXT: vinserti32x4 $0, %xmm17, %zmm10, %zmm2111041; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11042; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}11043; AVX512DQ-BW-NEXT: vmovdqa64 640(%rdi), %ymm1711044; AVX512DQ-BW-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17, %ymm13 # 32-byte Folded Reload11045; AVX512DQ-BW-NEXT: # ymm13 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11046; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm13[4,5,6,7]11047; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11048; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm411049; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm1311050; AVX512DQ-BW-NEXT: vpalignr {{.*#+}} ymm12 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]11051; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5,6,7]11052; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11053; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm311054; AVX512DQ-BW-NEXT: vmovdqa 1536(%rdi), %ymm1211055; AVX512DQ-BW-NEXT: vpalignr $8, (%rsp), %ymm12, %ymm11 # 32-byte Folded Reload11056; AVX512DQ-BW-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]11057; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm11[4,5,6,7]11058; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11059; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011060; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11061; AVX512DQ-BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm11 # 32-byte Folded Reload11062; AVX512DQ-BW-NEXT: # ymm11 = ymm7[0,1,2,3],mem[4,5,6,7]11063; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11064; AVX512DQ-BW-NEXT: vinsertf64x4 $0, %ymm11, %zmm7, %zmm1111065; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11066; AVX512DQ-BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm9 # 32-byte Folded Reload11067; AVX512DQ-BW-NEXT: # ymm9 = ymm7[0,1,2,3],mem[4,5,6,7]11068; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11069; AVX512DQ-BW-NEXT: vinsertf64x4 $0, %ymm9, %zmm7, %zmm911070; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload11071; AVX512DQ-BW-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]11072; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm16, %zmm711073; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11074; AVX512DQ-BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload11075; AVX512DQ-BW-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]11076; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload11077; AVX512DQ-BW-NEXT: vinsertf64x4 $0, %ymm8, %zmm10, %zmm811078; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 192(%rsi)11079; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 128(%rsi)11080; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 64(%rsi)11081; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, (%rsi)11082; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 192(%rdx)11083; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, (%rdx)11084; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, 64(%rdx)11085; AVX512DQ-BW-NEXT: vmovdqa64 %zmm30, 128(%rdx)11086; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, 192(%rcx)11087; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, (%rcx)11088; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, 64(%rcx)11089; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 128(%rcx)11090; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, 192(%r8)11091; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, (%r8)11092; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 64(%r8)11093; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 128(%r8)11094; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11095; AVX512DQ-BW-NEXT: vmovaps %zmm1, 192(%r9)11096; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11097; AVX512DQ-BW-NEXT: vmovaps %zmm1, (%r9)11098; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11099; AVX512DQ-BW-NEXT: vmovaps %zmm1, 64(%r9)11100; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11101; AVX512DQ-BW-NEXT: vmovaps %zmm1, 128(%r9)11102; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11103; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, 192(%rax)11104; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, (%rax)11105; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 64(%rax)11106; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11107; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%rax)11108; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11109; AVX512DQ-BW-NEXT: vmovaps %zmm8, 128(%rax)11110; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 192(%rax)11111; AVX512DQ-BW-NEXT: vmovaps %zmm9, (%rax)11112; AVX512DQ-BW-NEXT: vmovaps %zmm11, 64(%rax)11113; AVX512DQ-BW-NEXT: addq $2760, %rsp # imm = 0xAC811114; AVX512DQ-BW-NEXT: vzeroupper11115; AVX512DQ-BW-NEXT: retq11116;11117; AVX512DQ-BW-FCP-LABEL: load_i64_stride7_vf32:11118; AVX512DQ-BW-FCP: # %bb.0:11119; AVX512DQ-BW-FCP-NEXT: subq $2760, %rsp # imm = 0xAC811120; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm2011121; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm211122; AVX512DQ-BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm2911123; AVX512DQ-BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm411124; AVX512DQ-BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm111125; AVX512DQ-BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm3011126; AVX512DQ-BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm2811127; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm1211128; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm2611129; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm1711130; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm611131; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11132; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm311133; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11134; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm25 = [0,7,14,0,0,7,14,0]11135; AVX512DQ-BW-FCP-NEXT: # zmm25 = mem[0,1,2,3,0,1,2,3]11136; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm25, %zmm311137; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11138; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [10,3,10,3,10,3,10,3]11139; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11140; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm611141; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm8, %zmm611142; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11143; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm311144; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11145; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm25, %zmm311146; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11147; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm28, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11148; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm311149; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm8, %zmm311150; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11151; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [13,6,13,6,13,6,13,6]11152; AVX512DQ-BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11153; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm9 = [9,0,7,0,9,0,7,0]11154; AVX512DQ-BW-FCP-NEXT: # zmm9 = mem[0,1,2,3,0,1,2,3]11155; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm7 = [11,4,11,4,11,4,11,4]11156; AVX512DQ-BW-FCP-NEXT: # zmm7 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11157; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm311158; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm311159; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11160; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311161; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm7, %zmm311162; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11163; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [12,5,12,5,12,5,12,5]11164; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11165; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm311166; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm23, %zmm311167; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11168; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311169; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm311170; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11171; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm311172; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm11, %zmm311173; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11174; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311175; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm11, %zmm311176; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11177; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, %zmm311178; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm25, %zmm311179; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11180; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm311181; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm25, %zmm311182; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11183; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm311184; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm9, %zmm311185; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11186; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,9,2,9,2,9,2,9]11187; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11188; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm3011189; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1011190; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm17, %zmm9, %zmm1011191; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm1711192; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11193; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm111194; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11195; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm25, %zmm111196; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11197; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm611198; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm8, %zmm611199; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm2411200; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm1511201; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm311202; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11203; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm25, %zmm311204; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11205; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm111206; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm1611207; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm811208; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm1311209; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm511210; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11211; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm11, %zmm511212; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11213; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm9, %zmm2911214; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11215; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm411216; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm7, %zmm411217; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1411218; AVX512DQ-BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm1811219; AVX512DQ-BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm411220; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11221; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm11, %zmm411222; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11223; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm9, %zmm2811224; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm1911225; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm411226; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11227; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm11, %zmm411228; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11229; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload11230; AVX512DQ-BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm9, %zmm26 # 64-byte Folded Reload11231; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm1211232; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm411233; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11234; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm11, %zmm411235; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11236; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm2211237; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm15, %zmm9, %zmm2211238; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm711239; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm2911240; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm2911241; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm2311242; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3111243; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm11, %zmm3111244; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm1111245; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm1511246; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm25, %zmm1511247; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm1, %zmm16, %zmm2511248; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm2111249; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm9, %zmm2111250; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm411251; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm16, %zmm1, %zmm911252; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm0, %zmm1611253; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm411254; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm011255; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,9,0,5,6,9]11256; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11257; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11258; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm211259; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11260; AVX512DQ-BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm311261; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11262; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm211263; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11264; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm511265; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm611266; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11267; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm611268; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm811269; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11270; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,10,0,5,6,10]11271; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11272; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm1411273; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11274; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11275; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm211276; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11277; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11278; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm211279; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11280; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm711281; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11282; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,11,0,5,6,11]11283; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11284; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2911285; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11286; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm211287; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11288; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11289; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm211290; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11291; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2311292; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11293; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [0,5,6,12,0,5,6,12]11294; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11295; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm3111296; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11297; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm211298; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11299; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11300; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm211301; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11302; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1111303; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11304; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,13,4,5,6,13]11305; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11306; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm1511307; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11308; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm211309; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11310; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm711311; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm2511312; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,6,14,4,5,6,14]11313; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11314; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm2111315; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11316; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm811317; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11318; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1011319; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11320; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm911321; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11322; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm1 = [4,5,8,15,4,5,8,15]11323; AVX512DQ-BW-FCP-NEXT: # zmm1 = mem[0,1,2,3,0,1,2,3]11324; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm1, %zmm3011325; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11326; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm0, %zmm1, %zmm1711327; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11328; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm1, %zmm1611329; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm5, %zmm1, %zmm411330; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11331; AVX512DQ-BW-FCP-NEXT: movb $24, %al11332; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k111333; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11334; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11335; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm0 {%k1} = zmm1[4,5,4,5],zmm18[4,5,4,5]11336; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11337; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = [14,0,0,7,14,0,0,7]11338; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3]11339; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm311340; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm311341; AVX512DQ-BW-FCP-NEXT: vbroadcasti64x4 {{.*#+}} zmm10 = [7,0,9,0,7,0,9,0]11342; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3]11343; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm2711344; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm2711345; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm5 = [0,0,4,11]11346; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm5, %zmm111347; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11348; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11349; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11350; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm1 {%k1} = zmm4[4,5,4,5],zmm19[4,5,4,5]11351; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11352; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1811353; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm1811354; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm2311355; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm2311356; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm5, %zmm411357; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11358; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11359; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11360; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm17 {%k1} = zmm4[4,5,4,5],zmm12[4,5,4,5]11361; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11362; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm1911363; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm1911364; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm4, %zmm011365; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm2011366; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm10, %zmm2011367; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm12, %zmm1011368; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm12, %zmm5, %zmm411369; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11370; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload11371; AVX512DQ-BW-FCP-NEXT: vshufi64x2 {{.*#+}} zmm14 {%k1} = zmm1[4,5,4,5],zmm13[4,5,4,5]11372; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm5, %zmm111373; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11374; AVX512DQ-BW-FCP-NEXT: vmovdqa 912(%rdi), %xmm511375; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]11376; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm19, %zmm111377; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11378; AVX512DQ-BW-FCP-NEXT: vmovdqa 464(%rdi), %xmm511379; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],mem[2,3]11380; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm5, %zmm3, %zmm111381; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11382; AVX512DQ-BW-FCP-NEXT: vmovdqa 16(%rdi), %xmm311383; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]11384; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm3, %zmm18, %zmm1911385; AVX512DQ-BW-FCP-NEXT: vmovdqa 1360(%rdi), %xmm311386; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]11387; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm3, %zmm0, %zmm1811388; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 1088(%rdi), %ymm0, %ymm011389; AVX512DQ-BW-FCP-NEXT: vmovdqa 1024(%rdi), %ymm1311390; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]11391; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm3 = [4,11]11392; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11393; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1211394; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11395; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm3, %zmm1211396; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]11397; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm15, %zmm011398; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11399; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm0, %ymm011400; AVX512DQ-BW-FCP-NEXT: vmovdqa 576(%rdi), %ymm111401; AVX512DQ-BW-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11402; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]11403; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11404; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1111405; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11406; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm3, %zmm1111407; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]11408; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm2, %zmm011409; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11410; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm011411; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm1211412; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5],ymm0[6,7]11413; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11414; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm1111415; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11416; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm3, %zmm1111417; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]11418; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011419; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11420; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 1536(%rdi), %ymm0, %ymm011421; AVX512DQ-BW-FCP-NEXT: vmovdqa 1472(%rdi), %ymm211422; AVX512DQ-BW-FCP-NEXT: vmovdqu %ymm2, (%rsp) # 32-byte Spill11423; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]11424; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11425; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm24, %zmm2, %zmm311426; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]11427; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm25, %zmm011428; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11429; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm7 = [5,12]11430; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1111431; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm7, %zmm1111432; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm30 = [6,13]11433; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm30, %zmm611434; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11435; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm311436; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm7, %zmm311437; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm30, %zmm511438; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11439; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm011440; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm411441; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm7, %zmm011442; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm24, %zmm2, %zmm711443; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm30, %zmm211444; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm811445; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm30, %zmm911446; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11447; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1088(%rdi), %ymm2411448; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm5 = ymm13[8,9,10,11,12,13,14,15],ymm24[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm24[16,17,18,19,20,21,22,23]11449; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm5[4,5,6,7]11450; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm011451; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11452; AVX512DQ-BW-FCP-NEXT: movb $-32, %al11453; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k211454; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload11455; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11456; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm24 {%k2}11457; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm25 # 64-byte Reload11458; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11459; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm25 {%k2}11460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm211461; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11462; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k2}11463; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm1411464; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11465; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm14 {%k2}11466; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11467; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11468; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}11469; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11470; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm1 {%k2}11471; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm3011472; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11473; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm28 {%k1}11474; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11475; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm28 {%k2}11476; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11477; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k1}11478; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11479; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm26 {%k2}11480; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11481; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k1}11482; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11483; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm22 {%k2}11484; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11485; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm5 {%k2}11486; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11487; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm29 # 64-byte Reload11488; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm29 {%k2}11489; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11490; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm19 {%k2}11491; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11492; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm18 {%k2}11493; AVX512DQ-BW-FCP-NEXT: vmovdqa 960(%rdi), %ymm111494; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]11495; AVX512DQ-BW-FCP-NEXT: vextracti128 $1, %ymm1, %xmm111496; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm1, %zmm20, %zmm111497; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm1 {%k2}11498; AVX512DQ-BW-FCP-NEXT: vmovdqa 512(%rdi), %ymm611499; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm6 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]11500; AVX512DQ-BW-FCP-NEXT: vextracti128 $1, %ymm6, %xmm611501; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm6, %zmm27, %zmm611502; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11503; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm6 {%k2}11504; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm1711505; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11506; AVX512DQ-BW-FCP-NEXT: vextracti32x4 $1, %ymm17, %xmm1711507; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm17, %zmm23, %zmm1511508; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11509; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm15 {%k2}11510; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1408(%rdi), %ymm1711511; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm17 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11512; AVX512DQ-BW-FCP-NEXT: vextracti32x4 $1, %ymm17, %xmm1711513; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $0, %xmm17, %zmm10, %zmm2111514; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11515; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm21 {%k2}11516; AVX512DQ-BW-FCP-NEXT: vmovdqa64 640(%rdi), %ymm1711517; AVX512DQ-BW-FCP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17, %ymm13 # 32-byte Folded Reload11518; AVX512DQ-BW-FCP-NEXT: # ymm13 = mem[8,9,10,11,12,13,14,15],ymm17[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm17[16,17,18,19,20,21,22,23]11519; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm13[4,5,6,7]11520; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11521; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm411522; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm1311523; AVX512DQ-BW-FCP-NEXT: vpalignr {{.*#+}} ymm12 = ymm12[8,9,10,11,12,13,14,15],ymm13[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm13[16,17,18,19,20,21,22,23]11524; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm12[4,5,6,7]11525; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11526; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm0, %zmm311527; AVX512DQ-BW-FCP-NEXT: vmovdqa 1536(%rdi), %ymm1211528; AVX512DQ-BW-FCP-NEXT: vpalignr $8, (%rsp), %ymm12, %ymm11 # 32-byte Folded Reload11529; AVX512DQ-BW-FCP-NEXT: # ymm11 = mem[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]11530; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm11[4,5,6,7]11531; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11532; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011533; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11534; AVX512DQ-BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm11 # 32-byte Folded Reload11535; AVX512DQ-BW-FCP-NEXT: # ymm11 = ymm7[0,1,2,3],mem[4,5,6,7]11536; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11537; AVX512DQ-BW-FCP-NEXT: vinsertf64x4 $0, %ymm11, %zmm7, %zmm1111538; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11539; AVX512DQ-BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm9 # 32-byte Folded Reload11540; AVX512DQ-BW-FCP-NEXT: # ymm9 = ymm7[0,1,2,3],mem[4,5,6,7]11541; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11542; AVX512DQ-BW-FCP-NEXT: vinsertf64x4 $0, %ymm9, %zmm7, %zmm911543; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload11544; AVX512DQ-BW-FCP-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]11545; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm16, %zmm711546; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11547; AVX512DQ-BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload11548; AVX512DQ-BW-FCP-NEXT: # ymm8 = ymm8[0,1,2,3],mem[4,5,6,7]11549; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload11550; AVX512DQ-BW-FCP-NEXT: vinsertf64x4 $0, %ymm8, %zmm10, %zmm811551; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 192(%rsi)11552; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 128(%rsi)11553; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%rsi)11554; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, (%rsi)11555; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 192(%rdx)11556; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, (%rdx)11557; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, 64(%rdx)11558; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm30, 128(%rdx)11559; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, 192(%rcx)11560; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, (%rcx)11561; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, 64(%rcx)11562; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 128(%rcx)11563; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, 192(%r8)11564; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, (%r8)11565; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 64(%r8)11566; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 128(%r8)11567; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11568; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm1, 192(%r9)11569; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11570; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm1, (%r9)11571; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11572; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm1, 64(%r9)11573; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11574; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm1, 128(%r9)11575; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11576; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, 192(%rax)11577; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, (%rax)11578; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)11579; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11580; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)11581; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11582; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm8, 128(%rax)11583; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 192(%rax)11584; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm9, (%rax)11585; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm11, 64(%rax)11586; AVX512DQ-BW-FCP-NEXT: addq $2760, %rsp # imm = 0xAC811587; AVX512DQ-BW-FCP-NEXT: vzeroupper11588; AVX512DQ-BW-FCP-NEXT: retq11589 %wide.vec = load <224 x i64>, ptr %in.vec, align 6411590 %strided.vec0 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49, i32 56, i32 63, i32 70, i32 77, i32 84, i32 91, i32 98, i32 105, i32 112, i32 119, i32 126, i32 133, i32 140, i32 147, i32 154, i32 161, i32 168, i32 175, i32 182, i32 189, i32 196, i32 203, i32 210, i32 217>11591 %strided.vec1 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50, i32 57, i32 64, i32 71, i32 78, i32 85, i32 92, i32 99, i32 106, i32 113, i32 120, i32 127, i32 134, i32 141, i32 148, i32 155, i32 162, i32 169, i32 176, i32 183, i32 190, i32 197, i32 204, i32 211, i32 218>11592 %strided.vec2 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51, i32 58, i32 65, i32 72, i32 79, i32 86, i32 93, i32 100, i32 107, i32 114, i32 121, i32 128, i32 135, i32 142, i32 149, i32 156, i32 163, i32 170, i32 177, i32 184, i32 191, i32 198, i32 205, i32 212, i32 219>11593 %strided.vec3 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52, i32 59, i32 66, i32 73, i32 80, i32 87, i32 94, i32 101, i32 108, i32 115, i32 122, i32 129, i32 136, i32 143, i32 150, i32 157, i32 164, i32 171, i32 178, i32 185, i32 192, i32 199, i32 206, i32 213, i32 220>11594 %strided.vec4 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53, i32 60, i32 67, i32 74, i32 81, i32 88, i32 95, i32 102, i32 109, i32 116, i32 123, i32 130, i32 137, i32 144, i32 151, i32 158, i32 165, i32 172, i32 179, i32 186, i32 193, i32 200, i32 207, i32 214, i32 221>11595 %strided.vec5 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54, i32 61, i32 68, i32 75, i32 82, i32 89, i32 96, i32 103, i32 110, i32 117, i32 124, i32 131, i32 138, i32 145, i32 152, i32 159, i32 166, i32 173, i32 180, i32 187, i32 194, i32 201, i32 208, i32 215, i32 222>11596 %strided.vec6 = shufflevector <224 x i64> %wide.vec, <224 x i64> poison, <32 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55, i32 62, i32 69, i32 76, i32 83, i32 90, i32 97, i32 104, i32 111, i32 118, i32 125, i32 132, i32 139, i32 146, i32 153, i32 160, i32 167, i32 174, i32 181, i32 188, i32 195, i32 202, i32 209, i32 216, i32 223>11597 store <32 x i64> %strided.vec0, ptr %out.vec0, align 6411598 store <32 x i64> %strided.vec1, ptr %out.vec1, align 6411599 store <32 x i64> %strided.vec2, ptr %out.vec2, align 6411600 store <32 x i64> %strided.vec3, ptr %out.vec3, align 6411601 store <32 x i64> %strided.vec4, ptr %out.vec4, align 6411602 store <32 x i64> %strided.vec5, ptr %out.vec5, align 6411603 store <32 x i64> %strided.vec6, ptr %out.vec6, align 6411604 ret void11605}11606 11607define void @load_i64_stride7_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {11608; SSE-LABEL: load_i64_stride7_vf64:11609; SSE: # %bb.0:11610; SSE-NEXT: subq $3240, %rsp # imm = 0xCA811611; SSE-NEXT: movapd 208(%rdi), %xmm311612; SSE-NEXT: movapd 96(%rdi), %xmm211613; SSE-NEXT: movapd 144(%rdi), %xmm411614; SSE-NEXT: movapd 192(%rdi), %xmm611615; SSE-NEXT: movapd 80(%rdi), %xmm511616; SSE-NEXT: movapd 128(%rdi), %xmm811617; SSE-NEXT: movapd 176(%rdi), %xmm1111618; SSE-NEXT: movapd 64(%rdi), %xmm1011619; SSE-NEXT: movapd (%rdi), %xmm1211620; SSE-NEXT: movapd 16(%rdi), %xmm911621; SSE-NEXT: movapd 32(%rdi), %xmm711622; SSE-NEXT: movapd 48(%rdi), %xmm011623; SSE-NEXT: movapd 224(%rdi), %xmm1311624; SSE-NEXT: movapd 112(%rdi), %xmm1411625; SSE-NEXT: movapd 160(%rdi), %xmm111626; SSE-NEXT: movapd %xmm0, %xmm1511627; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm12[0],xmm15[1]11628; SSE-NEXT: movapd %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11629; SSE-NEXT: shufpd {{.*#+}} xmm12 = xmm12[1],xmm10[0]11630; SSE-NEXT: movapd %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11631; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm9[0],xmm10[1]11632; SSE-NEXT: movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11633; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm5[0]11634; SSE-NEXT: movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11635; SSE-NEXT: movsd {{.*#+}} xmm5 = xmm7[0],xmm5[1]11636; SSE-NEXT: movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11637; SSE-NEXT: shufpd {{.*#+}} xmm7 = xmm7[1],xmm2[0]11638; SSE-NEXT: movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11639; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]11640; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11641; SSE-NEXT: movapd %xmm1, %xmm011642; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm14[0],xmm0[1]11643; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11644; SSE-NEXT: shufpd {{.*#+}} xmm14 = xmm14[1],xmm11[0]11645; SSE-NEXT: movapd %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11646; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm8[0],xmm11[1]11647; SSE-NEXT: movapd %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11648; SSE-NEXT: shufpd {{.*#+}} xmm8 = xmm8[1],xmm6[0]11649; SSE-NEXT: movapd %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11650; SSE-NEXT: movsd {{.*#+}} xmm6 = xmm4[0],xmm6[1]11651; SSE-NEXT: movapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11652; SSE-NEXT: shufpd {{.*#+}} xmm4 = xmm4[1],xmm3[0]11653; SSE-NEXT: movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11654; SSE-NEXT: movsd {{.*#+}} xmm3 = xmm1[0],xmm3[1]11655; SSE-NEXT: movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11656; SSE-NEXT: movapd 272(%rdi), %xmm011657; SSE-NEXT: movapd %xmm0, %xmm111658; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm13[0],xmm1[1]11659; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11660; SSE-NEXT: movapd 288(%rdi), %xmm111661; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm1[0]11662; SSE-NEXT: movapd %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11663; SSE-NEXT: movapd 240(%rdi), %xmm211664; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11665; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11666; SSE-NEXT: movapd 304(%rdi), %xmm111667; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11668; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11669; SSE-NEXT: movapd 256(%rdi), %xmm211670; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11671; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11672; SSE-NEXT: movapd 320(%rdi), %xmm111673; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11674; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11675; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11676; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11677; SSE-NEXT: movapd 336(%rdi), %xmm211678; SSE-NEXT: movapd 384(%rdi), %xmm011679; SSE-NEXT: movapd %xmm0, %xmm111680; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11681; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11682; SSE-NEXT: movapd 400(%rdi), %xmm111683; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11684; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11685; SSE-NEXT: movapd 352(%rdi), %xmm211686; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11687; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11688; SSE-NEXT: movapd 416(%rdi), %xmm111689; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11690; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11691; SSE-NEXT: movapd 368(%rdi), %xmm211692; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11693; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11694; SSE-NEXT: movapd 432(%rdi), %xmm111695; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11696; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11697; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11698; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11699; SSE-NEXT: movapd 448(%rdi), %xmm211700; SSE-NEXT: movapd 496(%rdi), %xmm011701; SSE-NEXT: movapd %xmm0, %xmm111702; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11703; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11704; SSE-NEXT: movapd 512(%rdi), %xmm111705; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11706; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11707; SSE-NEXT: movapd 464(%rdi), %xmm211708; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11709; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11710; SSE-NEXT: movapd 528(%rdi), %xmm111711; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11712; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11713; SSE-NEXT: movapd 480(%rdi), %xmm211714; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11715; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11716; SSE-NEXT: movapd 544(%rdi), %xmm111717; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11718; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11719; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11720; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11721; SSE-NEXT: movapd 560(%rdi), %xmm211722; SSE-NEXT: movapd 608(%rdi), %xmm011723; SSE-NEXT: movapd %xmm0, %xmm111724; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11725; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11726; SSE-NEXT: movapd 624(%rdi), %xmm111727; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11728; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11729; SSE-NEXT: movapd 576(%rdi), %xmm211730; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11731; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11732; SSE-NEXT: movapd 640(%rdi), %xmm111733; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11734; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11735; SSE-NEXT: movapd 592(%rdi), %xmm211736; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11737; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11738; SSE-NEXT: movapd 656(%rdi), %xmm111739; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11740; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11741; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11742; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11743; SSE-NEXT: movapd 672(%rdi), %xmm211744; SSE-NEXT: movapd 720(%rdi), %xmm011745; SSE-NEXT: movapd %xmm0, %xmm111746; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11747; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11748; SSE-NEXT: movapd 736(%rdi), %xmm111749; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11750; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11751; SSE-NEXT: movapd 688(%rdi), %xmm211752; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11753; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11754; SSE-NEXT: movapd 752(%rdi), %xmm111755; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11756; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11757; SSE-NEXT: movapd 704(%rdi), %xmm211758; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11759; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11760; SSE-NEXT: movapd 768(%rdi), %xmm111761; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11762; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11763; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11764; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11765; SSE-NEXT: movapd 784(%rdi), %xmm211766; SSE-NEXT: movapd 832(%rdi), %xmm011767; SSE-NEXT: movapd %xmm0, %xmm111768; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11769; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11770; SSE-NEXT: movapd 848(%rdi), %xmm111771; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11772; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11773; SSE-NEXT: movapd 800(%rdi), %xmm211774; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11775; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11776; SSE-NEXT: movapd 864(%rdi), %xmm111777; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11778; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11779; SSE-NEXT: movapd 816(%rdi), %xmm211780; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11781; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11782; SSE-NEXT: movapd 880(%rdi), %xmm111783; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11784; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11785; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11786; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11787; SSE-NEXT: movapd 896(%rdi), %xmm211788; SSE-NEXT: movapd 944(%rdi), %xmm011789; SSE-NEXT: movapd %xmm0, %xmm111790; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11791; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11792; SSE-NEXT: movapd 960(%rdi), %xmm111793; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11794; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11795; SSE-NEXT: movapd 912(%rdi), %xmm211796; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11797; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11798; SSE-NEXT: movapd 976(%rdi), %xmm111799; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11800; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11801; SSE-NEXT: movapd 928(%rdi), %xmm211802; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11803; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11804; SSE-NEXT: movapd 992(%rdi), %xmm111805; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11806; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11807; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11808; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11809; SSE-NEXT: movapd 1008(%rdi), %xmm211810; SSE-NEXT: movapd 1056(%rdi), %xmm011811; SSE-NEXT: movapd %xmm0, %xmm111812; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11813; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11814; SSE-NEXT: movapd 1072(%rdi), %xmm111815; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11816; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11817; SSE-NEXT: movapd 1024(%rdi), %xmm211818; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11819; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11820; SSE-NEXT: movapd 1088(%rdi), %xmm111821; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11822; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11823; SSE-NEXT: movapd 1040(%rdi), %xmm211824; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11825; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11826; SSE-NEXT: movapd 1104(%rdi), %xmm111827; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11828; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11829; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11830; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11831; SSE-NEXT: movapd 1120(%rdi), %xmm211832; SSE-NEXT: movapd 1168(%rdi), %xmm011833; SSE-NEXT: movapd %xmm0, %xmm111834; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11835; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11836; SSE-NEXT: movapd 1184(%rdi), %xmm111837; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11838; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11839; SSE-NEXT: movapd 1136(%rdi), %xmm211840; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11841; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11842; SSE-NEXT: movapd 1200(%rdi), %xmm111843; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11844; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11845; SSE-NEXT: movapd 1152(%rdi), %xmm211846; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11847; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11848; SSE-NEXT: movapd 1216(%rdi), %xmm111849; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11850; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11851; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11852; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11853; SSE-NEXT: movapd 1232(%rdi), %xmm211854; SSE-NEXT: movapd 1280(%rdi), %xmm011855; SSE-NEXT: movapd %xmm0, %xmm111856; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11857; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11858; SSE-NEXT: movapd 1296(%rdi), %xmm111859; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11860; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11861; SSE-NEXT: movapd 1248(%rdi), %xmm211862; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11863; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11864; SSE-NEXT: movapd 1312(%rdi), %xmm111865; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11866; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11867; SSE-NEXT: movapd 1264(%rdi), %xmm211868; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11869; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11870; SSE-NEXT: movapd 1328(%rdi), %xmm111871; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11872; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11873; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11874; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11875; SSE-NEXT: movapd 1344(%rdi), %xmm211876; SSE-NEXT: movapd 1392(%rdi), %xmm011877; SSE-NEXT: movapd %xmm0, %xmm111878; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11879; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11880; SSE-NEXT: movapd 1408(%rdi), %xmm111881; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11882; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11883; SSE-NEXT: movapd 1360(%rdi), %xmm211884; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11885; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11886; SSE-NEXT: movapd 1424(%rdi), %xmm111887; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11888; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11889; SSE-NEXT: movapd 1376(%rdi), %xmm211890; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11891; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11892; SSE-NEXT: movapd 1440(%rdi), %xmm111893; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11894; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11895; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11896; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11897; SSE-NEXT: movapd 1456(%rdi), %xmm211898; SSE-NEXT: movapd 1504(%rdi), %xmm011899; SSE-NEXT: movapd %xmm0, %xmm111900; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11901; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11902; SSE-NEXT: movapd 1520(%rdi), %xmm111903; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11904; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11905; SSE-NEXT: movapd 1472(%rdi), %xmm211906; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11907; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11908; SSE-NEXT: movapd 1536(%rdi), %xmm111909; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11910; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11911; SSE-NEXT: movapd 1488(%rdi), %xmm211912; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11913; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11914; SSE-NEXT: movapd 1552(%rdi), %xmm111915; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11916; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11917; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11918; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11919; SSE-NEXT: movapd 1568(%rdi), %xmm211920; SSE-NEXT: movapd 1616(%rdi), %xmm011921; SSE-NEXT: movapd %xmm0, %xmm111922; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11923; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11924; SSE-NEXT: movapd 1632(%rdi), %xmm111925; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11926; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11927; SSE-NEXT: movapd 1584(%rdi), %xmm211928; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11929; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11930; SSE-NEXT: movapd 1648(%rdi), %xmm111931; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11932; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11933; SSE-NEXT: movapd 1600(%rdi), %xmm211934; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11935; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11936; SSE-NEXT: movapd 1664(%rdi), %xmm111937; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11938; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11939; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11940; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11941; SSE-NEXT: movapd 1680(%rdi), %xmm211942; SSE-NEXT: movapd 1728(%rdi), %xmm011943; SSE-NEXT: movapd %xmm0, %xmm111944; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11945; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11946; SSE-NEXT: movapd 1744(%rdi), %xmm111947; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11948; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11949; SSE-NEXT: movapd 1696(%rdi), %xmm211950; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11951; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11952; SSE-NEXT: movapd 1760(%rdi), %xmm111953; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11954; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11955; SSE-NEXT: movapd 1712(%rdi), %xmm211956; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11957; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11958; SSE-NEXT: movapd 1776(%rdi), %xmm111959; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11960; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11961; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11962; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11963; SSE-NEXT: movapd 1792(%rdi), %xmm211964; SSE-NEXT: movapd 1840(%rdi), %xmm011965; SSE-NEXT: movapd %xmm0, %xmm111966; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11967; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11968; SSE-NEXT: movapd 1856(%rdi), %xmm111969; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11970; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11971; SSE-NEXT: movapd 1808(%rdi), %xmm211972; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11973; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11974; SSE-NEXT: movapd 1872(%rdi), %xmm111975; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11976; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11977; SSE-NEXT: movapd 1824(%rdi), %xmm211978; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11979; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11980; SSE-NEXT: movapd 1888(%rdi), %xmm111981; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11982; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11983; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]11984; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11985; SSE-NEXT: movapd 1904(%rdi), %xmm211986; SSE-NEXT: movapd 1952(%rdi), %xmm011987; SSE-NEXT: movapd %xmm0, %xmm111988; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11989; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11990; SSE-NEXT: movapd 1968(%rdi), %xmm111991; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11992; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11993; SSE-NEXT: movapd 1920(%rdi), %xmm211994; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]11995; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11996; SSE-NEXT: movapd 1984(%rdi), %xmm111997; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]11998; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11999; SSE-NEXT: movapd 1936(%rdi), %xmm212000; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12001; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12002; SSE-NEXT: movapd 2000(%rdi), %xmm112003; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12004; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12005; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12006; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12007; SSE-NEXT: movapd 2016(%rdi), %xmm212008; SSE-NEXT: movapd 2064(%rdi), %xmm012009; SSE-NEXT: movapd %xmm0, %xmm112010; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12011; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12012; SSE-NEXT: movapd 2080(%rdi), %xmm112013; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12014; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12015; SSE-NEXT: movapd 2032(%rdi), %xmm212016; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12017; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12018; SSE-NEXT: movapd 2096(%rdi), %xmm112019; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12020; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12021; SSE-NEXT: movapd 2048(%rdi), %xmm212022; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12023; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12024; SSE-NEXT: movapd 2112(%rdi), %xmm112025; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12026; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12027; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12028; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12029; SSE-NEXT: movapd 2128(%rdi), %xmm212030; SSE-NEXT: movapd 2176(%rdi), %xmm012031; SSE-NEXT: movapd %xmm0, %xmm112032; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12033; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12034; SSE-NEXT: movapd 2192(%rdi), %xmm112035; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12036; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12037; SSE-NEXT: movapd 2144(%rdi), %xmm212038; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12039; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12040; SSE-NEXT: movapd 2208(%rdi), %xmm112041; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12042; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12043; SSE-NEXT: movapd 2160(%rdi), %xmm212044; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12045; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12046; SSE-NEXT: movapd 2224(%rdi), %xmm112047; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12048; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12049; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12050; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12051; SSE-NEXT: movapd 2240(%rdi), %xmm212052; SSE-NEXT: movapd 2288(%rdi), %xmm012053; SSE-NEXT: movapd %xmm0, %xmm112054; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12055; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12056; SSE-NEXT: movapd 2304(%rdi), %xmm112057; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12058; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12059; SSE-NEXT: movapd 2256(%rdi), %xmm212060; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12061; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12062; SSE-NEXT: movapd 2320(%rdi), %xmm112063; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12064; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12065; SSE-NEXT: movapd 2272(%rdi), %xmm212066; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12067; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12068; SSE-NEXT: movapd 2336(%rdi), %xmm112069; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12070; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12071; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12072; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12073; SSE-NEXT: movapd 2352(%rdi), %xmm212074; SSE-NEXT: movapd 2400(%rdi), %xmm012075; SSE-NEXT: movapd %xmm0, %xmm112076; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12077; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12078; SSE-NEXT: movapd 2416(%rdi), %xmm112079; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12080; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12081; SSE-NEXT: movapd 2368(%rdi), %xmm212082; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12083; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12084; SSE-NEXT: movapd 2432(%rdi), %xmm112085; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12086; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12087; SSE-NEXT: movapd 2384(%rdi), %xmm212088; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12089; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12090; SSE-NEXT: movapd 2448(%rdi), %xmm112091; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12092; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12093; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12094; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12095; SSE-NEXT: movapd 2464(%rdi), %xmm212096; SSE-NEXT: movapd 2512(%rdi), %xmm012097; SSE-NEXT: movapd %xmm0, %xmm112098; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12099; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12100; SSE-NEXT: movapd 2528(%rdi), %xmm112101; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12102; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12103; SSE-NEXT: movapd 2480(%rdi), %xmm212104; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12105; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12106; SSE-NEXT: movapd 2544(%rdi), %xmm112107; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12108; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12109; SSE-NEXT: movapd 2496(%rdi), %xmm212110; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12111; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12112; SSE-NEXT: movapd 2560(%rdi), %xmm112113; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12114; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12115; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12116; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12117; SSE-NEXT: movapd 2576(%rdi), %xmm212118; SSE-NEXT: movapd 2624(%rdi), %xmm012119; SSE-NEXT: movapd %xmm0, %xmm112120; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12121; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12122; SSE-NEXT: movapd 2640(%rdi), %xmm112123; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12124; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12125; SSE-NEXT: movapd 2592(%rdi), %xmm212126; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12127; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12128; SSE-NEXT: movapd 2656(%rdi), %xmm112129; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12130; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12131; SSE-NEXT: movapd 2608(%rdi), %xmm212132; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12133; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12134; SSE-NEXT: movapd 2672(%rdi), %xmm112135; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12136; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12137; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12138; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12139; SSE-NEXT: movapd 2688(%rdi), %xmm212140; SSE-NEXT: movapd 2736(%rdi), %xmm012141; SSE-NEXT: movapd %xmm0, %xmm112142; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12143; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12144; SSE-NEXT: movapd 2752(%rdi), %xmm112145; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12146; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12147; SSE-NEXT: movapd 2704(%rdi), %xmm212148; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12149; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12150; SSE-NEXT: movapd 2768(%rdi), %xmm112151; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12152; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12153; SSE-NEXT: movapd 2720(%rdi), %xmm212154; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12155; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12156; SSE-NEXT: movapd 2784(%rdi), %xmm112157; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12158; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12159; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12160; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12161; SSE-NEXT: movapd 2800(%rdi), %xmm212162; SSE-NEXT: movapd 2848(%rdi), %xmm012163; SSE-NEXT: movapd %xmm0, %xmm112164; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12165; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12166; SSE-NEXT: movapd 2864(%rdi), %xmm112167; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12168; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12169; SSE-NEXT: movapd 2816(%rdi), %xmm212170; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12171; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12172; SSE-NEXT: movapd 2880(%rdi), %xmm112173; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12174; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12175; SSE-NEXT: movapd 2832(%rdi), %xmm212176; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12177; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12178; SSE-NEXT: movapd 2896(%rdi), %xmm112179; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12180; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12181; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12182; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12183; SSE-NEXT: movapd 2912(%rdi), %xmm212184; SSE-NEXT: movapd 2960(%rdi), %xmm012185; SSE-NEXT: movapd %xmm0, %xmm112186; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12187; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12188; SSE-NEXT: movapd 2976(%rdi), %xmm112189; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12190; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12191; SSE-NEXT: movapd 2928(%rdi), %xmm212192; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12193; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12194; SSE-NEXT: movapd 2992(%rdi), %xmm112195; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12196; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12197; SSE-NEXT: movapd 2944(%rdi), %xmm212198; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12199; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12200; SSE-NEXT: movapd 3008(%rdi), %xmm112201; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12202; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12203; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12204; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12205; SSE-NEXT: movapd 3024(%rdi), %xmm212206; SSE-NEXT: movapd 3072(%rdi), %xmm012207; SSE-NEXT: movapd %xmm0, %xmm1412208; SSE-NEXT: movsd {{.*#+}} xmm14 = xmm2[0],xmm14[1]12209; SSE-NEXT: movapd 3088(%rdi), %xmm112210; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12211; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12212; SSE-NEXT: movapd 3040(%rdi), %xmm212213; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12214; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12215; SSE-NEXT: movapd 3104(%rdi), %xmm112216; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12217; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12218; SSE-NEXT: movapd 3056(%rdi), %xmm212219; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12220; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12221; SSE-NEXT: movapd 3120(%rdi), %xmm112222; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12223; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12224; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12225; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12226; SSE-NEXT: movapd 3136(%rdi), %xmm1212227; SSE-NEXT: movapd 3184(%rdi), %xmm012228; SSE-NEXT: movapd %xmm0, %xmm1012229; SSE-NEXT: movsd {{.*#+}} xmm10 = xmm12[0],xmm10[1]12230; SSE-NEXT: movapd 3200(%rdi), %xmm112231; SSE-NEXT: shufpd {{.*#+}} xmm12 = xmm12[1],xmm1[0]12232; SSE-NEXT: movapd 3152(%rdi), %xmm212233; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12234; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12235; SSE-NEXT: movapd 3216(%rdi), %xmm112236; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12237; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12238; SSE-NEXT: movapd 3168(%rdi), %xmm212239; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12240; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12241; SSE-NEXT: movapd 3232(%rdi), %xmm112242; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12243; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12244; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12245; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12246; SSE-NEXT: movapd 3248(%rdi), %xmm912247; SSE-NEXT: movapd 3296(%rdi), %xmm012248; SSE-NEXT: movapd %xmm0, %xmm712249; SSE-NEXT: movsd {{.*#+}} xmm7 = xmm9[0],xmm7[1]12250; SSE-NEXT: movapd 3312(%rdi), %xmm1512251; SSE-NEXT: shufpd {{.*#+}} xmm9 = xmm9[1],xmm15[0]12252; SSE-NEXT: movapd 3264(%rdi), %xmm212253; SSE-NEXT: movsd {{.*#+}} xmm15 = xmm2[0],xmm15[1]12254; SSE-NEXT: movapd 3328(%rdi), %xmm112255; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12256; SSE-NEXT: movapd %xmm2, (%rsp) # 16-byte Spill12257; SSE-NEXT: movapd 3280(%rdi), %xmm212258; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12259; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12260; SSE-NEXT: movapd 3344(%rdi), %xmm112261; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12262; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12263; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12264; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12265; SSE-NEXT: movapd 3360(%rdi), %xmm612266; SSE-NEXT: movapd 3408(%rdi), %xmm012267; SSE-NEXT: movapd %xmm0, %xmm412268; SSE-NEXT: movsd {{.*#+}} xmm4 = xmm6[0],xmm4[1]12269; SSE-NEXT: movapd 3424(%rdi), %xmm1112270; SSE-NEXT: shufpd {{.*#+}} xmm6 = xmm6[1],xmm11[0]12271; SSE-NEXT: movapd 3376(%rdi), %xmm212272; SSE-NEXT: movsd {{.*#+}} xmm11 = xmm2[0],xmm11[1]12273; SSE-NEXT: movapd 3440(%rdi), %xmm112274; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12275; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12276; SSE-NEXT: movapd 3392(%rdi), %xmm212277; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12278; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12279; SSE-NEXT: movapd 3456(%rdi), %xmm112280; SSE-NEXT: shufpd {{.*#+}} xmm2 = xmm2[1],xmm1[0]12281; SSE-NEXT: movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12282; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]12283; SSE-NEXT: movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12284; SSE-NEXT: movapd 3472(%rdi), %xmm512285; SSE-NEXT: movapd 3520(%rdi), %xmm312286; SSE-NEXT: movapd %xmm3, %xmm212287; SSE-NEXT: movsd {{.*#+}} xmm2 = xmm5[0],xmm2[1]12288; SSE-NEXT: movapd 3536(%rdi), %xmm812289; SSE-NEXT: shufpd {{.*#+}} xmm5 = xmm5[1],xmm8[0]12290; SSE-NEXT: movapd 3488(%rdi), %xmm1312291; SSE-NEXT: movsd {{.*#+}} xmm8 = xmm13[0],xmm8[1]12292; SSE-NEXT: movapd 3552(%rdi), %xmm012293; SSE-NEXT: shufpd {{.*#+}} xmm13 = xmm13[1],xmm0[0]12294; SSE-NEXT: movapd 3504(%rdi), %xmm112295; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]12296; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12297; SSE-NEXT: movapd %xmm1, %xmm012298; SSE-NEXT: movapd 3568(%rdi), %xmm112299; SSE-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1],xmm1[0]12300; SSE-NEXT: movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12301; SSE-NEXT: movsd {{.*#+}} xmm1 = xmm3[0],xmm1[1]12302; SSE-NEXT: movapd %xmm2, 496(%rsi)12303; SSE-NEXT: movapd %xmm4, 480(%rsi)12304; SSE-NEXT: movapd %xmm7, 464(%rsi)12305; SSE-NEXT: movapd %xmm10, 448(%rsi)12306; SSE-NEXT: movapd %xmm14, 432(%rsi)12307; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12308; SSE-NEXT: movaps %xmm0, 416(%rsi)12309; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12310; SSE-NEXT: movaps %xmm0, 400(%rsi)12311; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12312; SSE-NEXT: movaps %xmm0, 384(%rsi)12313; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12314; SSE-NEXT: movaps %xmm0, 368(%rsi)12315; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12316; SSE-NEXT: movaps %xmm0, 352(%rsi)12317; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12318; SSE-NEXT: movaps %xmm0, 336(%rsi)12319; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12320; SSE-NEXT: movaps %xmm0, 320(%rsi)12321; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12322; SSE-NEXT: movaps %xmm0, 304(%rsi)12323; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12324; SSE-NEXT: movaps %xmm0, 288(%rsi)12325; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12326; SSE-NEXT: movaps %xmm0, 272(%rsi)12327; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12328; SSE-NEXT: movaps %xmm0, 256(%rsi)12329; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12330; SSE-NEXT: movaps %xmm0, 240(%rsi)12331; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12332; SSE-NEXT: movaps %xmm0, 224(%rsi)12333; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12334; SSE-NEXT: movaps %xmm0, 208(%rsi)12335; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12336; SSE-NEXT: movaps %xmm0, 192(%rsi)12337; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12338; SSE-NEXT: movaps %xmm0, 176(%rsi)12339; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12340; SSE-NEXT: movaps %xmm0, 160(%rsi)12341; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12342; SSE-NEXT: movaps %xmm0, 144(%rsi)12343; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12344; SSE-NEXT: movaps %xmm0, 128(%rsi)12345; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12346; SSE-NEXT: movaps %xmm0, 112(%rsi)12347; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12348; SSE-NEXT: movaps %xmm0, 96(%rsi)12349; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12350; SSE-NEXT: movaps %xmm0, 80(%rsi)12351; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12352; SSE-NEXT: movaps %xmm0, 64(%rsi)12353; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12354; SSE-NEXT: movaps %xmm0, 48(%rsi)12355; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12356; SSE-NEXT: movaps %xmm0, 32(%rsi)12357; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12358; SSE-NEXT: movaps %xmm0, 16(%rsi)12359; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12360; SSE-NEXT: movaps %xmm0, (%rsi)12361; SSE-NEXT: movapd %xmm5, 496(%rdx)12362; SSE-NEXT: movapd %xmm6, 480(%rdx)12363; SSE-NEXT: movapd %xmm9, 464(%rdx)12364; SSE-NEXT: movapd %xmm12, 448(%rdx)12365; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12366; SSE-NEXT: movaps %xmm0, 432(%rdx)12367; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12368; SSE-NEXT: movaps %xmm0, 416(%rdx)12369; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12370; SSE-NEXT: movaps %xmm0, 400(%rdx)12371; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12372; SSE-NEXT: movaps %xmm0, 384(%rdx)12373; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12374; SSE-NEXT: movaps %xmm0, 368(%rdx)12375; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12376; SSE-NEXT: movaps %xmm0, 352(%rdx)12377; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12378; SSE-NEXT: movaps %xmm0, 336(%rdx)12379; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12380; SSE-NEXT: movaps %xmm0, 320(%rdx)12381; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12382; SSE-NEXT: movaps %xmm0, 304(%rdx)12383; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12384; SSE-NEXT: movaps %xmm0, 288(%rdx)12385; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12386; SSE-NEXT: movaps %xmm0, 272(%rdx)12387; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12388; SSE-NEXT: movaps %xmm0, 256(%rdx)12389; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12390; SSE-NEXT: movaps %xmm0, 240(%rdx)12391; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12392; SSE-NEXT: movaps %xmm0, 224(%rdx)12393; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12394; SSE-NEXT: movaps %xmm0, 208(%rdx)12395; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12396; SSE-NEXT: movaps %xmm0, 192(%rdx)12397; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12398; SSE-NEXT: movaps %xmm0, 176(%rdx)12399; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12400; SSE-NEXT: movaps %xmm0, 160(%rdx)12401; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12402; SSE-NEXT: movaps %xmm0, 144(%rdx)12403; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12404; SSE-NEXT: movaps %xmm0, 128(%rdx)12405; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12406; SSE-NEXT: movaps %xmm0, 112(%rdx)12407; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12408; SSE-NEXT: movaps %xmm0, 96(%rdx)12409; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12410; SSE-NEXT: movaps %xmm0, 80(%rdx)12411; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12412; SSE-NEXT: movaps %xmm0, 64(%rdx)12413; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12414; SSE-NEXT: movaps %xmm0, 48(%rdx)12415; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12416; SSE-NEXT: movaps %xmm0, 32(%rdx)12417; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12418; SSE-NEXT: movaps %xmm0, 16(%rdx)12419; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12420; SSE-NEXT: movaps %xmm0, (%rdx)12421; SSE-NEXT: movapd %xmm8, 496(%rcx)12422; SSE-NEXT: movapd %xmm11, 480(%rcx)12423; SSE-NEXT: movapd %xmm15, 464(%rcx)12424; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12425; SSE-NEXT: movaps %xmm0, 448(%rcx)12426; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12427; SSE-NEXT: movaps %xmm0, 432(%rcx)12428; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12429; SSE-NEXT: movaps %xmm0, 416(%rcx)12430; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12431; SSE-NEXT: movaps %xmm0, 400(%rcx)12432; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12433; SSE-NEXT: movaps %xmm0, 384(%rcx)12434; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12435; SSE-NEXT: movaps %xmm0, 368(%rcx)12436; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12437; SSE-NEXT: movaps %xmm0, 352(%rcx)12438; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12439; SSE-NEXT: movaps %xmm0, 336(%rcx)12440; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12441; SSE-NEXT: movaps %xmm0, 320(%rcx)12442; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12443; SSE-NEXT: movaps %xmm0, 304(%rcx)12444; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12445; SSE-NEXT: movaps %xmm0, 288(%rcx)12446; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12447; SSE-NEXT: movaps %xmm0, 272(%rcx)12448; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12449; SSE-NEXT: movaps %xmm0, 256(%rcx)12450; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12451; SSE-NEXT: movaps %xmm0, 240(%rcx)12452; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12453; SSE-NEXT: movaps %xmm0, 224(%rcx)12454; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12455; SSE-NEXT: movaps %xmm0, 208(%rcx)12456; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12457; SSE-NEXT: movaps %xmm0, 192(%rcx)12458; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12459; SSE-NEXT: movaps %xmm0, 176(%rcx)12460; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12461; SSE-NEXT: movaps %xmm0, 160(%rcx)12462; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12463; SSE-NEXT: movaps %xmm0, 144(%rcx)12464; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12465; SSE-NEXT: movaps %xmm0, 128(%rcx)12466; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12467; SSE-NEXT: movaps %xmm0, 112(%rcx)12468; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12469; SSE-NEXT: movaps %xmm0, 96(%rcx)12470; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12471; SSE-NEXT: movaps %xmm0, 80(%rcx)12472; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12473; SSE-NEXT: movaps %xmm0, 64(%rcx)12474; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12475; SSE-NEXT: movaps %xmm0, 48(%rcx)12476; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12477; SSE-NEXT: movaps %xmm0, 32(%rcx)12478; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12479; SSE-NEXT: movaps %xmm0, 16(%rcx)12480; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12481; SSE-NEXT: movaps %xmm0, (%rcx)12482; SSE-NEXT: movapd %xmm13, 496(%r8)12483; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12484; SSE-NEXT: movaps %xmm0, 480(%r8)12485; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload12486; SSE-NEXT: movaps %xmm0, 464(%r8)12487; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12488; SSE-NEXT: movaps %xmm0, 448(%r8)12489; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12490; SSE-NEXT: movaps %xmm0, 432(%r8)12491; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12492; SSE-NEXT: movaps %xmm0, 416(%r8)12493; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12494; SSE-NEXT: movaps %xmm0, 400(%r8)12495; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12496; SSE-NEXT: movaps %xmm0, 384(%r8)12497; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12498; SSE-NEXT: movaps %xmm0, 368(%r8)12499; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12500; SSE-NEXT: movaps %xmm0, 352(%r8)12501; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12502; SSE-NEXT: movaps %xmm0, 336(%r8)12503; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12504; SSE-NEXT: movaps %xmm0, 320(%r8)12505; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12506; SSE-NEXT: movaps %xmm0, 304(%r8)12507; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12508; SSE-NEXT: movaps %xmm0, 288(%r8)12509; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12510; SSE-NEXT: movaps %xmm0, 272(%r8)12511; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12512; SSE-NEXT: movaps %xmm0, 256(%r8)12513; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12514; SSE-NEXT: movaps %xmm0, 240(%r8)12515; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12516; SSE-NEXT: movaps %xmm0, 224(%r8)12517; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12518; SSE-NEXT: movaps %xmm0, 208(%r8)12519; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12520; SSE-NEXT: movaps %xmm0, 192(%r8)12521; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12522; SSE-NEXT: movaps %xmm0, 176(%r8)12523; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12524; SSE-NEXT: movaps %xmm0, 160(%r8)12525; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12526; SSE-NEXT: movaps %xmm0, 144(%r8)12527; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12528; SSE-NEXT: movaps %xmm0, 128(%r8)12529; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12530; SSE-NEXT: movaps %xmm0, 112(%r8)12531; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12532; SSE-NEXT: movaps %xmm0, 96(%r8)12533; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12534; SSE-NEXT: movaps %xmm0, 80(%r8)12535; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12536; SSE-NEXT: movaps %xmm0, 64(%r8)12537; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12538; SSE-NEXT: movaps %xmm0, 48(%r8)12539; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12540; SSE-NEXT: movaps %xmm0, 32(%r8)12541; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12542; SSE-NEXT: movaps %xmm0, 16(%r8)12543; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12544; SSE-NEXT: movaps %xmm0, (%r8)12545; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12546; SSE-NEXT: movaps %xmm0, 496(%r9)12547; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12548; SSE-NEXT: movaps %xmm0, 480(%r9)12549; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12550; SSE-NEXT: movaps %xmm0, 464(%r9)12551; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12552; SSE-NEXT: movaps %xmm0, 448(%r9)12553; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12554; SSE-NEXT: movaps %xmm0, 432(%r9)12555; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12556; SSE-NEXT: movaps %xmm0, 416(%r9)12557; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12558; SSE-NEXT: movaps %xmm0, 400(%r9)12559; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12560; SSE-NEXT: movaps %xmm0, 384(%r9)12561; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12562; SSE-NEXT: movaps %xmm0, 368(%r9)12563; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12564; SSE-NEXT: movaps %xmm0, 352(%r9)12565; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12566; SSE-NEXT: movaps %xmm0, 336(%r9)12567; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12568; SSE-NEXT: movaps %xmm0, 320(%r9)12569; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12570; SSE-NEXT: movaps %xmm0, 304(%r9)12571; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12572; SSE-NEXT: movaps %xmm0, 288(%r9)12573; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12574; SSE-NEXT: movaps %xmm0, 272(%r9)12575; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12576; SSE-NEXT: movaps %xmm0, 256(%r9)12577; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12578; SSE-NEXT: movaps %xmm0, 240(%r9)12579; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12580; SSE-NEXT: movaps %xmm0, 224(%r9)12581; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12582; SSE-NEXT: movaps %xmm0, 208(%r9)12583; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12584; SSE-NEXT: movaps %xmm0, 192(%r9)12585; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12586; SSE-NEXT: movaps %xmm0, 176(%r9)12587; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12588; SSE-NEXT: movaps %xmm0, 160(%r9)12589; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12590; SSE-NEXT: movaps %xmm0, 144(%r9)12591; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12592; SSE-NEXT: movaps %xmm0, 128(%r9)12593; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12594; SSE-NEXT: movaps %xmm0, 112(%r9)12595; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12596; SSE-NEXT: movaps %xmm0, 96(%r9)12597; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12598; SSE-NEXT: movaps %xmm0, 80(%r9)12599; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12600; SSE-NEXT: movaps %xmm0, 64(%r9)12601; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12602; SSE-NEXT: movaps %xmm0, 48(%r9)12603; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12604; SSE-NEXT: movaps %xmm0, 32(%r9)12605; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12606; SSE-NEXT: movaps %xmm0, 16(%r9)12607; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12608; SSE-NEXT: movaps %xmm0, (%r9)12609; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax12610; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12611; SSE-NEXT: movaps %xmm0, 496(%rax)12612; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12613; SSE-NEXT: movaps %xmm0, 480(%rax)12614; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12615; SSE-NEXT: movaps %xmm0, 464(%rax)12616; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12617; SSE-NEXT: movaps %xmm0, 448(%rax)12618; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12619; SSE-NEXT: movaps %xmm0, 432(%rax)12620; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12621; SSE-NEXT: movaps %xmm0, 416(%rax)12622; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12623; SSE-NEXT: movaps %xmm0, 400(%rax)12624; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12625; SSE-NEXT: movaps %xmm0, 384(%rax)12626; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12627; SSE-NEXT: movaps %xmm0, 368(%rax)12628; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12629; SSE-NEXT: movaps %xmm0, 352(%rax)12630; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12631; SSE-NEXT: movaps %xmm0, 336(%rax)12632; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12633; SSE-NEXT: movaps %xmm0, 320(%rax)12634; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12635; SSE-NEXT: movaps %xmm0, 304(%rax)12636; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12637; SSE-NEXT: movaps %xmm0, 288(%rax)12638; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12639; SSE-NEXT: movaps %xmm0, 272(%rax)12640; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12641; SSE-NEXT: movaps %xmm0, 256(%rax)12642; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12643; SSE-NEXT: movaps %xmm0, 240(%rax)12644; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12645; SSE-NEXT: movaps %xmm0, 224(%rax)12646; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12647; SSE-NEXT: movaps %xmm0, 208(%rax)12648; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12649; SSE-NEXT: movaps %xmm0, 192(%rax)12650; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12651; SSE-NEXT: movaps %xmm0, 176(%rax)12652; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12653; SSE-NEXT: movaps %xmm0, 160(%rax)12654; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12655; SSE-NEXT: movaps %xmm0, 144(%rax)12656; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12657; SSE-NEXT: movaps %xmm0, 128(%rax)12658; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12659; SSE-NEXT: movaps %xmm0, 112(%rax)12660; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12661; SSE-NEXT: movaps %xmm0, 96(%rax)12662; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12663; SSE-NEXT: movaps %xmm0, 80(%rax)12664; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12665; SSE-NEXT: movaps %xmm0, 64(%rax)12666; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12667; SSE-NEXT: movaps %xmm0, 48(%rax)12668; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12669; SSE-NEXT: movaps %xmm0, 32(%rax)12670; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12671; SSE-NEXT: movaps %xmm0, 16(%rax)12672; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12673; SSE-NEXT: movaps %xmm0, (%rax)12674; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax12675; SSE-NEXT: movapd %xmm1, 496(%rax)12676; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12677; SSE-NEXT: movaps %xmm0, 480(%rax)12678; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12679; SSE-NEXT: movaps %xmm0, 464(%rax)12680; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12681; SSE-NEXT: movaps %xmm0, 448(%rax)12682; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12683; SSE-NEXT: movaps %xmm0, 432(%rax)12684; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12685; SSE-NEXT: movaps %xmm0, 416(%rax)12686; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12687; SSE-NEXT: movaps %xmm0, 400(%rax)12688; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12689; SSE-NEXT: movaps %xmm0, 384(%rax)12690; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12691; SSE-NEXT: movaps %xmm0, 368(%rax)12692; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12693; SSE-NEXT: movaps %xmm0, 352(%rax)12694; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12695; SSE-NEXT: movaps %xmm0, 336(%rax)12696; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12697; SSE-NEXT: movaps %xmm0, 320(%rax)12698; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12699; SSE-NEXT: movaps %xmm0, 304(%rax)12700; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12701; SSE-NEXT: movaps %xmm0, 288(%rax)12702; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12703; SSE-NEXT: movaps %xmm0, 272(%rax)12704; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12705; SSE-NEXT: movaps %xmm0, 256(%rax)12706; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12707; SSE-NEXT: movaps %xmm0, 240(%rax)12708; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12709; SSE-NEXT: movaps %xmm0, 224(%rax)12710; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12711; SSE-NEXT: movaps %xmm0, 208(%rax)12712; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12713; SSE-NEXT: movaps %xmm0, 192(%rax)12714; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12715; SSE-NEXT: movaps %xmm0, 176(%rax)12716; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12717; SSE-NEXT: movaps %xmm0, 160(%rax)12718; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12719; SSE-NEXT: movaps %xmm0, 144(%rax)12720; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12721; SSE-NEXT: movaps %xmm0, 128(%rax)12722; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12723; SSE-NEXT: movaps %xmm0, 112(%rax)12724; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12725; SSE-NEXT: movaps %xmm0, 96(%rax)12726; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12727; SSE-NEXT: movaps %xmm0, 80(%rax)12728; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12729; SSE-NEXT: movaps %xmm0, 64(%rax)12730; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12731; SSE-NEXT: movaps %xmm0, 48(%rax)12732; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12733; SSE-NEXT: movaps %xmm0, 32(%rax)12734; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12735; SSE-NEXT: movaps %xmm0, 16(%rax)12736; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12737; SSE-NEXT: movaps %xmm0, (%rax)12738; SSE-NEXT: addq $3240, %rsp # imm = 0xCA812739; SSE-NEXT: retq12740;12741; AVX-LABEL: load_i64_stride7_vf64:12742; AVX: # %bb.0:12743; AVX-NEXT: subq $4232, %rsp # imm = 0x108812744; AVX-NEXT: vmovaps 1216(%rdi), %ymm312745; AVX-NEXT: vmovaps 768(%rdi), %ymm412746; AVX-NEXT: vmovaps 320(%rdi), %ymm512747; AVX-NEXT: vinsertf128 $1, 384(%rdi), %ymm0, %ymm012748; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12749; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]12750; AVX-NEXT: vmovaps 224(%rdi), %xmm1012751; AVX-NEXT: vmovaps 272(%rdi), %xmm112752; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12753; AVX-NEXT: vblendps {{.*#+}} xmm1 = xmm10[0,1],xmm1[2,3]12754; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12755; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12756; AVX-NEXT: vinsertf128 $1, 832(%rdi), %ymm0, %ymm012757; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12758; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]12759; AVX-NEXT: vmovaps 672(%rdi), %xmm1112760; AVX-NEXT: vmovaps 720(%rdi), %xmm112761; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12762; AVX-NEXT: vblendps {{.*#+}} xmm1 = xmm11[0,1],xmm1[2,3]12763; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12764; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12765; AVX-NEXT: vinsertf128 $1, 1280(%rdi), %ymm0, %ymm012766; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12767; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]12768; AVX-NEXT: vmovaps 1120(%rdi), %xmm1212769; AVX-NEXT: vmovaps 1168(%rdi), %xmm112770; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12771; AVX-NEXT: vblendps {{.*#+}} xmm1 = xmm12[0,1],xmm1[2,3]12772; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12773; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12774; AVX-NEXT: vmovapd 1664(%rdi), %ymm612775; AVX-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm012776; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12777; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm6[0,1,2],ymm0[3]12778; AVX-NEXT: vmovapd 1568(%rdi), %xmm212779; AVX-NEXT: vmovapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12780; AVX-NEXT: vmovapd 1616(%rdi), %xmm112781; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12782; AVX-NEXT: vblendpd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12783; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]12784; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12785; AVX-NEXT: vmovapd 2112(%rdi), %ymm712786; AVX-NEXT: vinsertf128 $1, 2176(%rdi), %ymm0, %ymm012787; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12788; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1,2],ymm0[3]12789; AVX-NEXT: vmovapd 2016(%rdi), %xmm212790; AVX-NEXT: vmovapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12791; AVX-NEXT: vmovapd 2064(%rdi), %xmm112792; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12793; AVX-NEXT: vblendpd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12794; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]12795; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12796; AVX-NEXT: vmovapd 2560(%rdi), %ymm812797; AVX-NEXT: vinsertf128 $1, 2624(%rdi), %ymm0, %ymm012798; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12799; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm8[0,1,2],ymm0[3]12800; AVX-NEXT: vmovapd 2464(%rdi), %xmm212801; AVX-NEXT: vmovapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12802; AVX-NEXT: vmovapd 2512(%rdi), %xmm112803; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12804; AVX-NEXT: vblendpd {{.*#+}} xmm1 = xmm2[0],xmm1[1]12805; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]12806; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12807; AVX-NEXT: vmovaps 3008(%rdi), %ymm112808; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12809; AVX-NEXT: vinsertf128 $1, 3072(%rdi), %ymm0, %ymm012810; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12811; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm0[6,7]12812; AVX-NEXT: vmovaps 2912(%rdi), %xmm012813; AVX-NEXT: vmovaps 2960(%rdi), %xmm212814; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12815; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm0[0,1],xmm2[2,3]12816; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12817; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12818; AVX-NEXT: vmovaps 3456(%rdi), %ymm212819; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12820; AVX-NEXT: vinsertf128 $1, 3520(%rdi), %ymm0, %ymm112821; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12822; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12823; AVX-NEXT: vmovaps 3360(%rdi), %xmm1512824; AVX-NEXT: vmovaps 3408(%rdi), %xmm212825; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12826; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm15[0,1],xmm2[2,3]12827; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12828; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12829; AVX-NEXT: vmovaps 96(%rdi), %ymm212830; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12831; AVX-NEXT: vinsertf128 $1, 160(%rdi), %ymm0, %ymm112832; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12833; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12834; AVX-NEXT: vmovaps 48(%rdi), %xmm212835; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12836; AVX-NEXT: vblendps {{.*#+}} xmm2 = mem[0,1],xmm2[2,3]12837; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12838; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12839; AVX-NEXT: vmovaps 544(%rdi), %ymm212840; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12841; AVX-NEXT: vinsertf128 $1, 608(%rdi), %ymm0, %ymm112842; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12843; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12844; AVX-NEXT: vmovaps 448(%rdi), %xmm912845; AVX-NEXT: vmovaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12846; AVX-NEXT: vmovaps 496(%rdi), %xmm212847; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12848; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm9[0,1],xmm2[2,3]12849; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12850; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12851; AVX-NEXT: vmovaps 992(%rdi), %ymm212852; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12853; AVX-NEXT: vinsertf128 $1, 1056(%rdi), %ymm0, %ymm112854; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12855; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12856; AVX-NEXT: vmovaps 896(%rdi), %xmm912857; AVX-NEXT: vmovaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12858; AVX-NEXT: vmovaps 944(%rdi), %xmm212859; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12860; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm9[0,1],xmm2[2,3]12861; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12862; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12863; AVX-NEXT: vmovaps 1440(%rdi), %ymm212864; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12865; AVX-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm112866; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12867; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12868; AVX-NEXT: vmovaps 1344(%rdi), %xmm912869; AVX-NEXT: vmovaps 1392(%rdi), %xmm212870; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12871; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm9[0,1],xmm2[2,3]12872; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12873; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12874; AVX-NEXT: vmovaps 1888(%rdi), %ymm212875; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12876; AVX-NEXT: vinsertf128 $1, 1952(%rdi), %ymm0, %ymm112877; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12878; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12879; AVX-NEXT: vmovaps 1792(%rdi), %xmm1312880; AVX-NEXT: vmovaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12881; AVX-NEXT: vmovaps 1840(%rdi), %xmm212882; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12883; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm13[0,1],xmm2[2,3]12884; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12885; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12886; AVX-NEXT: vmovaps 2336(%rdi), %ymm212887; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12888; AVX-NEXT: vinsertf128 $1, 2400(%rdi), %ymm0, %ymm112889; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12890; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12891; AVX-NEXT: vmovaps 2240(%rdi), %xmm1312892; AVX-NEXT: vmovaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12893; AVX-NEXT: vmovaps 2288(%rdi), %xmm212894; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12895; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm13[0,1],xmm2[2,3]12896; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12897; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12898; AVX-NEXT: vmovaps 2784(%rdi), %ymm212899; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12900; AVX-NEXT: vinsertf128 $1, 2848(%rdi), %ymm0, %ymm112901; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12902; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12903; AVX-NEXT: vmovaps 2688(%rdi), %xmm1312904; AVX-NEXT: vmovaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12905; AVX-NEXT: vmovaps 2736(%rdi), %xmm212906; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12907; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm13[0,1],xmm2[2,3]12908; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12909; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12910; AVX-NEXT: vmovaps 3232(%rdi), %ymm212911; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12912; AVX-NEXT: vinsertf128 $1, 3296(%rdi), %ymm0, %ymm112913; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12914; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12915; AVX-NEXT: vmovaps 3136(%rdi), %xmm1312916; AVX-NEXT: vmovaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12917; AVX-NEXT: vmovaps 3184(%rdi), %xmm212918; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12919; AVX-NEXT: vblendps {{.*#+}} xmm2 = xmm13[0,1],xmm2[2,3]12920; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12921; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12922; AVX-NEXT: vmovdqa 288(%rdi), %xmm112923; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm10[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12924; AVX-NEXT: vmovapd 384(%rdi), %ymm212925; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12926; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm5[0],ymm2[1],ymm5[3],ymm2[2]12927; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12928; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12929; AVX-NEXT: vmovdqa 736(%rdi), %xmm112930; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm11[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12931; AVX-NEXT: vmovapd 832(%rdi), %ymm1412932; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm4[0],ymm14[1],ymm4[3],ymm14[2]12933; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12934; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12935; AVX-NEXT: vmovdqa 1184(%rdi), %xmm112936; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm12[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12937; AVX-NEXT: vmovapd 1280(%rdi), %ymm1312938; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm3[0],ymm13[1],ymm3[3],ymm13[2]12939; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12940; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12941; AVX-NEXT: vmovdqa 1632(%rdi), %xmm112942; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12943; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12944; AVX-NEXT: vmovapd 1728(%rdi), %ymm1212945; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm6[0],ymm12[1],ymm6[3],ymm12[2]12946; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12947; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12948; AVX-NEXT: vmovdqa 2080(%rdi), %xmm112949; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12950; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12951; AVX-NEXT: vmovapd 2176(%rdi), %ymm1112952; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm7[0],ymm11[1],ymm7[3],ymm11[2]12953; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12954; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12955; AVX-NEXT: vmovdqa 2528(%rdi), %xmm112956; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12957; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12958; AVX-NEXT: vmovapd 2624(%rdi), %ymm1012959; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm8[0],ymm10[1],ymm8[3],ymm10[2]12960; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1],ymm2[2,3]12961; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12962; AVX-NEXT: vmovdqa 2976(%rdi), %xmm112963; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12964; AVX-NEXT: vmovapd 3072(%rdi), %ymm212965; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12966; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12967; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm2[1],ymm1[3],ymm2[2]12968; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]12969; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12970; AVX-NEXT: vmovdqa 3424(%rdi), %xmm012971; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm15[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]12972; AVX-NEXT: vmovapd 3520(%rdi), %ymm1512973; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12974; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[0],ymm15[1],ymm1[3],ymm15[2]12975; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]12976; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12977; AVX-NEXT: vmovapd 160(%rdi), %ymm012978; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12979; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12980; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[3],ymm0[2]12981; AVX-NEXT: vmovdqa 64(%rdi), %xmm112982; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12983; AVX-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12984; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]12985; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12986; AVX-NEXT: vmovapd 608(%rdi), %ymm012987; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12988; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12989; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[3],ymm0[2]12990; AVX-NEXT: vmovdqa 512(%rdi), %xmm112991; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12992; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12993; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]12994; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]12995; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12996; AVX-NEXT: vmovapd 1056(%rdi), %ymm012997; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12998; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12999; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[3],ymm0[2]13000; AVX-NEXT: vmovdqa 960(%rdi), %xmm113001; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13002; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13003; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13004; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13005; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13006; AVX-NEXT: vmovapd 1504(%rdi), %ymm013007; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13008; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13009; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[1],ymm1[3],ymm0[2]13010; AVX-NEXT: vmovdqa 1408(%rdi), %xmm113011; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13012; AVX-NEXT: vpalignr {{.*#+}} xmm1 = xmm9[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13013; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13014; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13015; AVX-NEXT: vmovapd 1952(%rdi), %ymm913016; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13017; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm9[1],ymm0[3],ymm9[2]13018; AVX-NEXT: vmovdqa 1856(%rdi), %xmm113019; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13020; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13021; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13022; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13023; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13024; AVX-NEXT: vmovapd 2400(%rdi), %ymm613025; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13026; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm6[1],ymm0[3],ymm6[2]13027; AVX-NEXT: vmovdqa 2304(%rdi), %xmm813028; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm1 # 16-byte Folded Reload13029; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]13030; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13031; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13032; AVX-NEXT: vmovapd 2848(%rdi), %ymm413033; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13034; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm4[1],ymm0[3],ymm4[2]13035; AVX-NEXT: vmovdqa 2752(%rdi), %xmm513036; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm1 # 16-byte Folded Reload13037; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]13038; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13039; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13040; AVX-NEXT: vmovapd 3296(%rdi), %ymm213041; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13042; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[3],ymm2[2]13043; AVX-NEXT: vmovdqa 3200(%rdi), %xmm313044; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm7 # 16-byte Folded Reload13045; AVX-NEXT: # xmm7 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]13046; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13047; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13048; AVX-NEXT: vmovaps 352(%rdi), %xmm013049; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13050; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013051; AVX-NEXT: vblendps $192, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload13052; AVX-NEXT: # ymm1 = ymm0[0,1,2,3,4,5],mem[6,7]13053; AVX-NEXT: vmovaps 240(%rdi), %xmm013054; AVX-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill13055; AVX-NEXT: vblendps {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]13056; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm1[4,5,6,7]13057; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13058; AVX-NEXT: vmovaps 800(%rdi), %xmm013059; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13060; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013061; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm14[3]13062; AVX-NEXT: vmovapd 688(%rdi), %xmm713063; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13064; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm7[0],mem[1]13065; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13066; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13067; AVX-NEXT: vmovaps 1248(%rdi), %xmm013068; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13069; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013070; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm13[3]13071; AVX-NEXT: vmovapd 1136(%rdi), %xmm713072; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13073; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm7[0],mem[1]13074; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13075; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13076; AVX-NEXT: vmovaps 1696(%rdi), %xmm013077; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13078; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013079; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm12[3]13080; AVX-NEXT: vmovapd 1584(%rdi), %xmm713081; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13082; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm7[0],mem[1]13083; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13084; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13085; AVX-NEXT: vmovaps 2144(%rdi), %xmm013086; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13087; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013088; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm11[3]13089; AVX-NEXT: vmovapd 2032(%rdi), %xmm713090; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13091; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm7[0],mem[1]13092; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13093; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13094; AVX-NEXT: vmovaps 2592(%rdi), %xmm013095; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13096; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013097; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm10[3]13098; AVX-NEXT: vmovapd 2480(%rdi), %xmm713099; AVX-NEXT: vmovupd %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13100; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm7[0],mem[1]13101; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13102; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13103; AVX-NEXT: vmovaps 3040(%rdi), %xmm013104; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13105; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013106; AVX-NEXT: vblendps $192, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13107; AVX-NEXT: # ymm0 = ymm0[0,1,2,3,4,5],mem[6,7]13108; AVX-NEXT: vmovaps 2928(%rdi), %xmm713109; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13110; AVX-NEXT: vblendps {{.*#+}} xmm7 = xmm7[0,1],mem[2,3]13111; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]13112; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13113; AVX-NEXT: vmovaps 3488(%rdi), %xmm013114; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13115; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013116; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3]13117; AVX-NEXT: vmovapd 3376(%rdi), %xmm113118; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13119; AVX-NEXT: vblendpd {{.*#+}} xmm7 = xmm1[0],mem[1]13120; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm7[0,1],ymm0[2,3]13121; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13122; AVX-NEXT: vmovaps 3264(%rdi), %xmm013123; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13124; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013125; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm2[3]13126; AVX-NEXT: vmovdqa 3152(%rdi), %xmm213127; AVX-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13128; AVX-NEXT: vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3],xmm3[4,5,6,7]13129; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13130; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13131; AVX-NEXT: vmovaps 2816(%rdi), %xmm013132; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13133; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013134; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm4[3]13135; AVX-NEXT: vmovdqa 2704(%rdi), %xmm113136; AVX-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13137; AVX-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm5[4,5,6,7]13138; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13139; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13140; AVX-NEXT: vmovdqa 2368(%rdi), %xmm1413141; AVX-NEXT: vinsertf128 $1, %xmm14, %ymm0, %ymm013142; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1,2],ymm6[3]13143; AVX-NEXT: vmovdqa 2256(%rdi), %xmm1013144; AVX-NEXT: vpblendw {{.*#+}} xmm1 = xmm10[0,1,2,3],xmm8[4,5,6,7]13145; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13146; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13147; AVX-NEXT: vmovdqa 1920(%rdi), %xmm813148; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm113149; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],ymm9[3]13150; AVX-NEXT: vmovapd 1808(%rdi), %xmm513151; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm2 # 16-byte Folded Reload13152; AVX-NEXT: # xmm2 = xmm5[0],mem[1]13153; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13154; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13155; AVX-NEXT: vmovdqa 1472(%rdi), %xmm713156; AVX-NEXT: vinsertf128 $1, %xmm7, %ymm0, %ymm113157; AVX-NEXT: vblendpd $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload13158; AVX-NEXT: # ymm1 = ymm1[0,1,2],mem[3]13159; AVX-NEXT: vmovapd 1360(%rdi), %xmm313160; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm2 # 16-byte Folded Reload13161; AVX-NEXT: # xmm2 = xmm3[0],mem[1]13162; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13163; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13164; AVX-NEXT: vmovdqa 1024(%rdi), %xmm413165; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm113166; AVX-NEXT: vblendpd $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload13167; AVX-NEXT: # ymm2 = ymm1[0,1,2],mem[3]13168; AVX-NEXT: vmovapd 912(%rdi), %xmm113169; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm6 # 16-byte Folded Reload13170; AVX-NEXT: # xmm6 = xmm1[0],mem[1]13171; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm6[0,1],ymm2[2,3]13172; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13173; AVX-NEXT: vmovdqa 576(%rdi), %xmm913174; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm213175; AVX-NEXT: vblendpd $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload13176; AVX-NEXT: # ymm2 = ymm2[0,1,2],mem[3]13177; AVX-NEXT: vmovapd 464(%rdi), %xmm613178; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm11 # 16-byte Folded Reload13179; AVX-NEXT: # xmm11 = xmm6[0],mem[1]13180; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm11[0,1],ymm2[2,3]13181; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13182; AVX-NEXT: vmovdqa 128(%rdi), %xmm213183; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm1113184; AVX-NEXT: vblendpd $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload13185; AVX-NEXT: # ymm11 = ymm11[0,1,2],mem[3]13186; AVX-NEXT: vmovapd 16(%rdi), %xmm1213187; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm13 # 16-byte Folded Reload13188; AVX-NEXT: # xmm13 = xmm12[0],mem[1]13189; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm13[0,1],ymm11[2,3]13190; AVX-NEXT: vmovupd %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13191; AVX-NEXT: vmovapd 80(%rdi), %xmm1313192; AVX-NEXT: vshufpd {{.*#+}} ymm11 = ymm12[1],ymm13[0],ymm12[2],ymm13[3]13193; AVX-NEXT: vmovdqa 192(%rdi), %xmm1213194; AVX-NEXT: vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13195; AVX-NEXT: vpalignr {{.*#+}} xmm2 = xmm2[8,9,10,11,12,13,14,15],xmm12[0,1,2,3,4,5,6,7]13196; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm213197; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm11[0,1],ymm2[2,3]13198; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13199; AVX-NEXT: vmovapd 304(%rdi), %xmm213200; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13201; AVX-NEXT: vmovupd (%rsp), %ymm0 # 32-byte Reload13202; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm0[1],ymm2[0],ymm0[2],ymm2[3]13203; AVX-NEXT: vmovdqa 416(%rdi), %xmm013204; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13205; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload13206; AVX-NEXT: # xmm11 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13207; AVX-NEXT: vinsertf128 $1, %xmm11, %ymm0, %ymm1113208; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm2[0,1],ymm11[2,3]13209; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13210; AVX-NEXT: vmovapd 528(%rdi), %xmm1113211; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[1],ymm11[0],ymm6[2],ymm11[3]13212; AVX-NEXT: vmovdqa 640(%rdi), %xmm213213; AVX-NEXT: vpalignr {{.*#+}} xmm9 = xmm9[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]13214; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm913215; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm9[2,3]13216; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13217; AVX-NEXT: vmovapd 752(%rdi), %xmm913218; AVX-NEXT: vmovupd %ymm9, (%rsp) # 32-byte Spill13219; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload13220; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm6[1],ymm9[0],ymm6[2],ymm9[3]13221; AVX-NEXT: vmovdqa 864(%rdi), %xmm013222; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13223; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload13224; AVX-NEXT: # xmm9 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13225; AVX-NEXT: vinsertf128 $1, %xmm9, %ymm0, %ymm913226; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm6[0,1],ymm9[2,3]13227; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13228; AVX-NEXT: vmovapd 976(%rdi), %xmm913229; AVX-NEXT: vshufpd {{.*#+}} ymm6 = ymm1[1],ymm9[0],ymm1[2],ymm9[3]13230; AVX-NEXT: vmovdqa 1088(%rdi), %xmm113231; AVX-NEXT: vpalignr {{.*#+}} xmm4 = xmm4[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13232; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413233; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm6[0,1],ymm4[2,3]13234; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13235; AVX-NEXT: vmovapd 1200(%rdi), %xmm613236; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13237; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload13238; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[1],ymm6[0],ymm4[2],ymm6[3]13239; AVX-NEXT: vmovdqa 1312(%rdi), %xmm013240; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13241; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload13242; AVX-NEXT: # xmm6 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13243; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm613244; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm6[2,3]13245; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13246; AVX-NEXT: vmovapd 1424(%rdi), %xmm013247; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13248; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[1],ymm0[0],ymm3[2],ymm0[3]13249; AVX-NEXT: vmovdqa 1536(%rdi), %xmm013250; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13251; AVX-NEXT: vpalignr {{.*#+}} xmm4 = xmm7[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13252; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413253; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3]13254; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13255; AVX-NEXT: vmovapd 1648(%rdi), %xmm713256; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload13257; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm3[1],ymm7[0],ymm3[2],ymm7[3]13258; AVX-NEXT: vmovdqa 1760(%rdi), %xmm013259; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13260; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload13261; AVX-NEXT: # xmm4 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13262; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413263; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm4[2,3]13264; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13265; AVX-NEXT: vmovapd 1872(%rdi), %xmm013266; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13267; AVX-NEXT: vshufpd {{.*#+}} ymm3 = ymm5[1],ymm0[0],ymm5[2],ymm0[3]13268; AVX-NEXT: vmovdqa 1984(%rdi), %xmm013269; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13270; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm8[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13271; AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm013272; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm3[0,1],ymm0[2,3]13273; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13274; AVX-NEXT: vmovapd 2096(%rdi), %xmm313275; AVX-NEXT: vmovupd %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13276; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13277; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm3[0],ymm0[2],ymm3[3]13278; AVX-NEXT: vmovdqa 2208(%rdi), %xmm313279; AVX-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13280; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload13281; AVX-NEXT: # xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]13282; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm313283; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm3[2,3]13284; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13285; AVX-NEXT: vmovapd 2320(%rdi), %xmm013286; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13287; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm10[1],ymm0[0],ymm10[2],ymm0[3]13288; AVX-NEXT: vmovdqa 2432(%rdi), %xmm313289; AVX-NEXT: vpalignr {{.*#+}} xmm4 = xmm14[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]13290; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413291; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm4[2,3]13292; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13293; AVX-NEXT: vmovapd 2544(%rdi), %xmm1413294; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13295; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm14[0],ymm0[2],ymm14[3]13296; AVX-NEXT: vmovdqa 2656(%rdi), %xmm413297; AVX-NEXT: vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13298; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm4 # 16-byte Folded Reload13299; AVX-NEXT: # xmm4 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]13300; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm413301; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm4[2,3]13302; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13303; AVX-NEXT: vmovapd 2768(%rdi), %xmm413304; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13305; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13306; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm0[1],ymm4[0],ymm0[2],ymm4[3]13307; AVX-NEXT: vmovdqa 2880(%rdi), %xmm813308; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm5 # 16-byte Folded Reload13309; AVX-NEXT: # xmm5 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]13310; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm513311; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3]13312; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13313; AVX-NEXT: vmovapd 2992(%rdi), %xmm513314; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13315; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload13316; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[1],ymm5[0],ymm4[2],ymm5[3]13317; AVX-NEXT: vmovdqa 3104(%rdi), %xmm513318; AVX-NEXT: vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13319; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm5 # 16-byte Folded Reload13320; AVX-NEXT: # xmm5 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]13321; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm513322; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3]13323; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13324; AVX-NEXT: vmovapd 3216(%rdi), %xmm513325; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13326; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload13327; AVX-NEXT: vshufpd {{.*#+}} ymm4 = ymm4[1],ymm5[0],ymm4[2],ymm5[3]13328; AVX-NEXT: vmovdqa 3328(%rdi), %xmm013329; AVX-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13330; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload13331; AVX-NEXT: # xmm5 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13332; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm513333; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm5[2,3]13334; AVX-NEXT: vmovupd %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13335; AVX-NEXT: vmovapd 3440(%rdi), %xmm513336; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13337; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload13338; AVX-NEXT: vshufpd {{.*#+}} ymm5 = ymm4[1],ymm5[0],ymm4[2],ymm5[3]13339; AVX-NEXT: vmovdqa 3552(%rdi), %xmm413340; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm6 # 16-byte Folded Reload13341; AVX-NEXT: # xmm6 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]13342; AVX-NEXT: vinsertf128 $1, %xmm6, %ymm0, %ymm613343; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm6[2,3]13344; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13345; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 16-byte Folded Reload13346; AVX-NEXT: vmovapd 128(%rdi), %ymm613347; AVX-NEXT: vmovupd %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13348; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1,2],ymm5[3]13349; AVX-NEXT: vblendpd {{.*#+}} xmm6 = mem[0],xmm13[1]13350; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3]13351; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13352; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 16-byte Folded Reload13353; AVX-NEXT: vmovapd 352(%rdi), %ymm1313354; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm13[0,1,2],ymm5[3]13355; AVX-NEXT: vmovapd 256(%rdi), %xmm613356; AVX-NEXT: vmovapd %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13357; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6, %xmm6 # 16-byte Folded Reload13358; AVX-NEXT: # xmm6 = xmm6[0],mem[1]13359; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3]13360; AVX-NEXT: vmovupd %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13361; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm213362; AVX-NEXT: vmovapd 576(%rdi), %ymm613363; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm6[0,1,2],ymm2[3]13364; AVX-NEXT: vmovapd 480(%rdi), %xmm013365; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13366; AVX-NEXT: vblendpd {{.*#+}} xmm5 = xmm0[0],xmm11[1]13367; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm5[0,1],ymm2[2,3]13368; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13369; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 16-byte Folded Reload13370; AVX-NEXT: vmovapd 800(%rdi), %ymm1113371; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm11[0,1,2],ymm2[3]13372; AVX-NEXT: vmovapd 704(%rdi), %xmm513373; AVX-NEXT: vmovapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13374; AVX-NEXT: vblendpd $2, (%rsp), %xmm5, %xmm5 # 16-byte Folded Reload13375; AVX-NEXT: # xmm5 = xmm5[0],mem[1]13376; AVX-NEXT: vblendpd {{.*#+}} ymm2 = ymm5[0,1],ymm2[2,3]13377; AVX-NEXT: vmovupd %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13378; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm113379; AVX-NEXT: vmovapd 1024(%rdi), %ymm513380; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm5[0,1,2],ymm1[3]13381; AVX-NEXT: vmovapd 928(%rdi), %xmm013382; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13383; AVX-NEXT: vblendpd {{.*#+}} xmm2 = xmm0[0],xmm9[1]13384; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13385; AVX-NEXT: vmovupd %ymm1, (%rsp) # 32-byte Spill13386; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13387; AVX-NEXT: vmovaps 1248(%rdi), %ymm013388; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13389; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],ymm1[6,7]13390; AVX-NEXT: vmovaps 1152(%rdi), %xmm013391; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13392; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13393; AVX-NEXT: # xmm2 = xmm0[0,1],mem[2,3]13394; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]13395; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13396; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13397; AVX-NEXT: vmovaps 1472(%rdi), %ymm913398; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5],ymm1[6,7]13399; AVX-NEXT: vmovaps 1376(%rdi), %xmm1513400; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm2 # 16-byte Folded Reload13401; AVX-NEXT: # xmm2 = xmm15[0,1],mem[2,3]13402; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]13403; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13404; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13405; AVX-NEXT: vmovapd 1696(%rdi), %ymm013406; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13407; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm0[0,1,2],ymm1[3]13408; AVX-NEXT: vmovapd 1600(%rdi), %xmm013409; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13410; AVX-NEXT: vblendpd {{.*#+}} xmm2 = xmm0[0],xmm7[1]13411; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13412; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13413; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13414; AVX-NEXT: vmovaps 1920(%rdi), %ymm713415; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5],ymm1[6,7]13416; AVX-NEXT: vmovaps 1824(%rdi), %xmm1213417; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm2 # 16-byte Folded Reload13418; AVX-NEXT: # xmm2 = xmm12[0,1],mem[2,3]13419; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]13420; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13421; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13422; AVX-NEXT: vmovapd 2144(%rdi), %ymm1013423; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm10[0,1,2],ymm1[3]13424; AVX-NEXT: vmovapd 2048(%rdi), %xmm013425; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13426; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13427; AVX-NEXT: # xmm2 = xmm0[0],mem[1]13428; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13429; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13430; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm113431; AVX-NEXT: vmovapd 2368(%rdi), %ymm313432; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm3[0,1,2],ymm1[3]13433; AVX-NEXT: vmovapd 2272(%rdi), %xmm013434; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13435; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13436; AVX-NEXT: # xmm2 = xmm0[0],mem[1]13437; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13438; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13439; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 16-byte Folded Reload13440; AVX-NEXT: vmovapd 2592(%rdi), %ymm013441; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13442; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm0[0,1,2],ymm1[3]13443; AVX-NEXT: vmovapd 2496(%rdi), %xmm013444; AVX-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13445; AVX-NEXT: vblendpd {{.*#+}} xmm2 = xmm0[0],xmm14[1]13446; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm2[0,1],ymm1[2,3]13447; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13448; AVX-NEXT: vinsertf128 $1, %xmm8, %ymm0, %ymm013449; AVX-NEXT: vmovapd 2816(%rdi), %ymm213450; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3]13451; AVX-NEXT: vmovapd 2720(%rdi), %xmm113452; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13453; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13454; AVX-NEXT: # xmm1 = xmm1[0],mem[1]13455; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13456; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13457; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload13458; AVX-NEXT: vmovaps 3040(%rdi), %ymm113459; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13460; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13461; AVX-NEXT: vmovaps 2944(%rdi), %xmm113462; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13463; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13464; AVX-NEXT: # xmm1 = xmm1[0,1],mem[2,3]13465; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13466; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13467; AVX-NEXT: vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload13468; AVX-NEXT: vmovapd 3264(%rdi), %ymm1413469; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1,2],ymm0[3]13470; AVX-NEXT: vmovapd 3168(%rdi), %xmm113471; AVX-NEXT: vmovapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13472; AVX-NEXT: vblendpd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13473; AVX-NEXT: # xmm1 = xmm1[0],mem[1]13474; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13475; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13476; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm013477; AVX-NEXT: vmovaps 3488(%rdi), %ymm113478; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13479; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13480; AVX-NEXT: vmovaps 3392(%rdi), %xmm113481; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13482; AVX-NEXT: vblendps $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13483; AVX-NEXT: # xmm1 = xmm1[0,1],mem[2,3]13484; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13485; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13486; AVX-NEXT: vmovapd 192(%rdi), %ymm113487; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13488; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13489; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[3],ymm1[2]13490; AVX-NEXT: vmovdqa 96(%rdi), %xmm113491; AVX-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13492; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13493; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13494; AVX-NEXT: vmovapd 416(%rdi), %ymm013495; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13496; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm13[0],ymm0[1],ymm13[3],ymm0[2]13497; AVX-NEXT: vmovdqa 320(%rdi), %xmm113498; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13499; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13500; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13501; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13502; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13503; AVX-NEXT: vmovdqa 544(%rdi), %xmm013504; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13505; AVX-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13506; AVX-NEXT: vmovapd 640(%rdi), %ymm113507; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13508; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm6[0],ymm1[1],ymm6[3],ymm1[2]13509; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13510; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13511; AVX-NEXT: vmovapd 864(%rdi), %ymm013512; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13513; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm11[0],ymm0[1],ymm11[3],ymm0[2]13514; AVX-NEXT: vmovdqa 768(%rdi), %xmm113515; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13516; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13517; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13518; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13519; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13520; AVX-NEXT: vmovdqa 992(%rdi), %xmm013521; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13522; AVX-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13523; AVX-NEXT: vmovapd 1088(%rdi), %ymm113524; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13525; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm5[0],ymm1[1],ymm5[3],ymm1[2]13526; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13527; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13528; AVX-NEXT: vmovapd 1312(%rdi), %ymm113529; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13530; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13531; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[3],ymm1[2]13532; AVX-NEXT: vmovdqa 1216(%rdi), %xmm113533; AVX-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13534; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13535; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13536; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13537; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13538; AVX-NEXT: vmovdqa 1440(%rdi), %xmm013539; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm15[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13540; AVX-NEXT: vmovapd 1536(%rdi), %ymm1513541; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm9[0],ymm15[1],ymm9[3],ymm15[2]13542; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13543; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13544; AVX-NEXT: vmovapd 1760(%rdi), %ymm113545; AVX-NEXT: vmovupd %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13546; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13547; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[3],ymm1[2]13548; AVX-NEXT: vmovdqa 1664(%rdi), %xmm1313549; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm1 # 16-byte Folded Reload13550; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]13551; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13552; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13553; AVX-NEXT: vmovdqa 1888(%rdi), %xmm013554; AVX-NEXT: vpalignr {{.*#+}} xmm0 = xmm12[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13555; AVX-NEXT: vmovapd 1984(%rdi), %ymm1113556; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm7[0],ymm11[1],ymm7[3],ymm11[2]13557; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13558; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13559; AVX-NEXT: vmovapd 2208(%rdi), %ymm1213560; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm10[0],ymm12[1],ymm10[3],ymm12[2]13561; AVX-NEXT: vmovdqa 2112(%rdi), %xmm1013562; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm1 # 16-byte Folded Reload13563; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]13564; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13565; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13566; AVX-NEXT: vmovdqa 2336(%rdi), %xmm013567; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13568; AVX-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13569; AVX-NEXT: vmovapd 2432(%rdi), %ymm913570; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm3[0],ymm9[1],ymm3[3],ymm9[2]13571; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13572; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13573; AVX-NEXT: vmovapd 2656(%rdi), %ymm813574; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13575; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm8[1],ymm0[3],ymm8[2]13576; AVX-NEXT: vmovdqa 2560(%rdi), %xmm713577; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm1 # 16-byte Folded Reload13578; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]13579; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13580; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13581; AVX-NEXT: vmovdqa 2784(%rdi), %xmm013582; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13583; AVX-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13584; AVX-NEXT: vmovapd 2880(%rdi), %ymm513585; AVX-NEXT: vshufpd {{.*#+}} ymm1 = ymm2[0],ymm5[1],ymm2[3],ymm5[2]13586; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3]13587; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13588; AVX-NEXT: vmovapd 3104(%rdi), %ymm613589; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13590; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm6[1],ymm0[3],ymm6[2]13591; AVX-NEXT: vmovdqa 3008(%rdi), %xmm413592; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm1 # 16-byte Folded Reload13593; AVX-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]13594; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13595; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13596; AVX-NEXT: vmovdqa 3232(%rdi), %xmm013597; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13598; AVX-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]13599; AVX-NEXT: vmovapd 3328(%rdi), %ymm313600; AVX-NEXT: vshufpd {{.*#+}} ymm2 = ymm14[0],ymm3[1],ymm14[3],ymm3[2]13601; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]13602; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13603; AVX-NEXT: vmovapd 3552(%rdi), %ymm213604; AVX-NEXT: vmovupd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13605; AVX-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[3],ymm2[2]13606; AVX-NEXT: vmovdqa 3456(%rdi), %xmm113607; AVX-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload13608; AVX-NEXT: # xmm14 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]13609; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm14[0,1],ymm0[2,3]13610; AVX-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13611; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13612; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13613; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13614; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13615; AVX-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]13616; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13617; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13618; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13619; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13620; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13621; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13622; AVX-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload13623; AVX-NEXT: # xmm14 = mem[0,1],xmm14[2,3]13624; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13625; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13626; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13627; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13628; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13629; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13630; AVX-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]13631; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13632; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13633; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13634; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13635; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13636; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13637; AVX-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload13638; AVX-NEXT: # xmm14 = mem[0,1],xmm14[2,3]13639; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13640; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13641; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13642; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13643; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13644; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13645; AVX-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]13646; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13647; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13648; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13649; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13650; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13651; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13652; AVX-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload13653; AVX-NEXT: # xmm14 = mem[0,1],xmm14[2,3]13654; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13655; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13656; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload13657; AVX-NEXT: # ymm0 = mem[0,1,2],ymm15[3]13658; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13659; AVX-NEXT: vblendpd {{.*#+}} xmm14 = xmm14[0],mem[1]13660; AVX-NEXT: vblendpd {{.*#+}} ymm15 = ymm14[0,1],ymm0[2,3]13661; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13662; AVX-NEXT: vblendps $63, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload13663; AVX-NEXT: # ymm0 = mem[0,1,2,3,4,5],ymm0[6,7]13664; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload13665; AVX-NEXT: # xmm13 = mem[0,1,2,3],xmm13[4,5,6,7]13666; AVX-NEXT: vblendps {{.*#+}} ymm14 = ymm13[0,1,2,3],ymm0[4,5,6,7]13667; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm0 # 32-byte Folded Reload13668; AVX-NEXT: # ymm0 = mem[0,1,2],ymm11[3]13669; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload13670; AVX-NEXT: vblendpd {{.*#+}} xmm11 = xmm11[0],mem[1]13671; AVX-NEXT: vblendpd {{.*#+}} ymm11 = ymm11[0,1],ymm0[2,3]13672; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm0 # 32-byte Folded Reload13673; AVX-NEXT: # ymm0 = mem[0,1,2],ymm12[3]13674; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm10 # 16-byte Folded Reload13675; AVX-NEXT: # xmm10 = mem[0,1,2,3],xmm10[4,5,6,7]13676; AVX-NEXT: vblendpd {{.*#+}} ymm10 = ymm10[0,1],ymm0[2,3]13677; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload13678; AVX-NEXT: # ymm0 = mem[0,1,2],ymm9[3]13679; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload13680; AVX-NEXT: vblendpd {{.*#+}} xmm9 = xmm9[0],mem[1]13681; AVX-NEXT: vblendpd {{.*#+}} ymm9 = ymm9[0,1],ymm0[2,3]13682; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm0 # 32-byte Folded Reload13683; AVX-NEXT: # ymm0 = mem[0,1,2],ymm8[3]13684; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm7 # 16-byte Folded Reload13685; AVX-NEXT: # xmm7 = mem[0,1,2,3],xmm7[4,5,6,7]13686; AVX-NEXT: vblendpd {{.*#+}} ymm8 = ymm7[0,1],ymm0[2,3]13687; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm0 # 32-byte Folded Reload13688; AVX-NEXT: # ymm0 = mem[0,1,2],ymm5[3]13689; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload13690; AVX-NEXT: vblendpd {{.*#+}} xmm5 = xmm5[0],mem[1]13691; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm5[0,1],ymm0[2,3]13692; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload13693; AVX-NEXT: # ymm0 = mem[0,1,2],ymm6[3]13694; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm4 # 16-byte Folded Reload13695; AVX-NEXT: # xmm4 = mem[0,1,2,3],xmm4[4,5,6,7]13696; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm4[0,1],ymm0[2,3]13697; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm0 # 32-byte Folded Reload13698; AVX-NEXT: # ymm0 = mem[0,1,2],ymm3[3]13699; AVX-NEXT: vmovapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload13700; AVX-NEXT: vblendpd {{.*#+}} xmm3 = xmm3[0],mem[1]13701; AVX-NEXT: vblendpd {{.*#+}} ymm3 = ymm3[0,1],ymm0[2,3]13702; AVX-NEXT: vblendpd $7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload13703; AVX-NEXT: # ymm0 = mem[0,1,2],ymm2[3]13704; AVX-NEXT: vpblendw $15, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13705; AVX-NEXT: # xmm1 = mem[0,1,2,3],xmm1[4,5,6,7]13706; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]13707; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13708; AVX-NEXT: vmovaps %ymm1, 448(%rsi)13709; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13710; AVX-NEXT: vmovaps %ymm1, 384(%rsi)13711; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13712; AVX-NEXT: vmovaps %ymm1, 320(%rsi)13713; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13714; AVX-NEXT: vmovaps %ymm1, 256(%rsi)13715; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13716; AVX-NEXT: vmovaps %ymm1, 192(%rsi)13717; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13718; AVX-NEXT: vmovaps %ymm1, 128(%rsi)13719; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13720; AVX-NEXT: vmovaps %ymm1, 64(%rsi)13721; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13722; AVX-NEXT: vmovaps %ymm1, (%rsi)13723; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13724; AVX-NEXT: vmovaps %ymm1, 480(%rsi)13725; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13726; AVX-NEXT: vmovaps %ymm1, 416(%rsi)13727; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13728; AVX-NEXT: vmovaps %ymm1, 352(%rsi)13729; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13730; AVX-NEXT: vmovaps %ymm1, 288(%rsi)13731; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13732; AVX-NEXT: vmovaps %ymm1, 224(%rsi)13733; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13734; AVX-NEXT: vmovaps %ymm1, 160(%rsi)13735; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13736; AVX-NEXT: vmovaps %ymm1, 96(%rsi)13737; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13738; AVX-NEXT: vmovaps %ymm1, 32(%rsi)13739; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13740; AVX-NEXT: vmovaps %ymm1, 448(%rdx)13741; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13742; AVX-NEXT: vmovaps %ymm1, 384(%rdx)13743; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13744; AVX-NEXT: vmovaps %ymm1, 320(%rdx)13745; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13746; AVX-NEXT: vmovaps %ymm1, 256(%rdx)13747; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13748; AVX-NEXT: vmovaps %ymm1, 192(%rdx)13749; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13750; AVX-NEXT: vmovaps %ymm1, 128(%rdx)13751; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13752; AVX-NEXT: vmovaps %ymm1, 64(%rdx)13753; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13754; AVX-NEXT: vmovaps %ymm1, (%rdx)13755; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13756; AVX-NEXT: vmovaps %ymm1, 480(%rdx)13757; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13758; AVX-NEXT: vmovaps %ymm1, 416(%rdx)13759; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13760; AVX-NEXT: vmovaps %ymm1, 352(%rdx)13761; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13762; AVX-NEXT: vmovaps %ymm1, 288(%rdx)13763; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13764; AVX-NEXT: vmovaps %ymm1, 224(%rdx)13765; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13766; AVX-NEXT: vmovaps %ymm1, 160(%rdx)13767; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13768; AVX-NEXT: vmovaps %ymm1, 96(%rdx)13769; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13770; AVX-NEXT: vmovaps %ymm1, 32(%rdx)13771; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13772; AVX-NEXT: vmovaps %ymm1, (%rcx)13773; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13774; AVX-NEXT: vmovaps %ymm1, 64(%rcx)13775; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13776; AVX-NEXT: vmovaps %ymm1, 128(%rcx)13777; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13778; AVX-NEXT: vmovaps %ymm1, 192(%rcx)13779; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13780; AVX-NEXT: vmovaps %ymm1, 256(%rcx)13781; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13782; AVX-NEXT: vmovaps %ymm1, 320(%rcx)13783; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13784; AVX-NEXT: vmovaps %ymm1, 384(%rcx)13785; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13786; AVX-NEXT: vmovaps %ymm1, 448(%rcx)13787; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13788; AVX-NEXT: vmovaps %ymm1, 480(%rcx)13789; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13790; AVX-NEXT: vmovaps %ymm1, 416(%rcx)13791; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13792; AVX-NEXT: vmovaps %ymm1, 352(%rcx)13793; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13794; AVX-NEXT: vmovaps %ymm1, 288(%rcx)13795; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13796; AVX-NEXT: vmovaps %ymm1, 224(%rcx)13797; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13798; AVX-NEXT: vmovaps %ymm1, 160(%rcx)13799; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13800; AVX-NEXT: vmovaps %ymm1, 96(%rcx)13801; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13802; AVX-NEXT: vmovaps %ymm1, 32(%rcx)13803; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13804; AVX-NEXT: vmovaps %ymm1, 480(%r8)13805; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13806; AVX-NEXT: vmovaps %ymm1, 448(%r8)13807; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13808; AVX-NEXT: vmovaps %ymm1, 416(%r8)13809; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13810; AVX-NEXT: vmovaps %ymm1, 384(%r8)13811; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13812; AVX-NEXT: vmovaps %ymm1, 352(%r8)13813; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13814; AVX-NEXT: vmovaps %ymm1, 320(%r8)13815; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13816; AVX-NEXT: vmovaps %ymm1, 288(%r8)13817; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13818; AVX-NEXT: vmovaps %ymm1, 256(%r8)13819; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13820; AVX-NEXT: vmovaps %ymm1, 224(%r8)13821; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13822; AVX-NEXT: vmovaps %ymm1, 192(%r8)13823; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13824; AVX-NEXT: vmovaps %ymm1, 160(%r8)13825; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13826; AVX-NEXT: vmovaps %ymm1, 128(%r8)13827; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13828; AVX-NEXT: vmovaps %ymm1, 96(%r8)13829; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13830; AVX-NEXT: vmovaps %ymm1, 64(%r8)13831; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13832; AVX-NEXT: vmovaps %ymm1, 32(%r8)13833; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13834; AVX-NEXT: vmovaps %ymm1, (%r8)13835; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13836; AVX-NEXT: vmovaps %ymm1, 480(%r9)13837; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13838; AVX-NEXT: vmovaps %ymm1, 448(%r9)13839; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13840; AVX-NEXT: vmovaps %ymm1, 416(%r9)13841; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13842; AVX-NEXT: vmovaps %ymm1, 384(%r9)13843; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13844; AVX-NEXT: vmovaps %ymm1, 352(%r9)13845; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13846; AVX-NEXT: vmovaps %ymm1, 320(%r9)13847; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13848; AVX-NEXT: vmovaps %ymm1, 288(%r9)13849; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13850; AVX-NEXT: vmovaps %ymm1, 256(%r9)13851; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13852; AVX-NEXT: vmovaps %ymm1, 224(%r9)13853; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13854; AVX-NEXT: vmovaps %ymm1, 192(%r9)13855; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13856; AVX-NEXT: vmovaps %ymm1, 160(%r9)13857; AVX-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload13858; AVX-NEXT: vmovaps %ymm1, 128(%r9)13859; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13860; AVX-NEXT: vmovaps %ymm1, 96(%r9)13861; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13862; AVX-NEXT: vmovaps %ymm1, 64(%r9)13863; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13864; AVX-NEXT: vmovaps %ymm1, 32(%r9)13865; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13866; AVX-NEXT: vmovaps %ymm1, (%r9)13867; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax13868; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13869; AVX-NEXT: vmovaps %ymm1, 480(%rax)13870; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13871; AVX-NEXT: vmovaps %ymm1, 448(%rax)13872; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13873; AVX-NEXT: vmovaps %ymm1, 416(%rax)13874; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13875; AVX-NEXT: vmovaps %ymm1, 384(%rax)13876; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13877; AVX-NEXT: vmovaps %ymm1, 352(%rax)13878; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13879; AVX-NEXT: vmovaps %ymm1, 320(%rax)13880; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13881; AVX-NEXT: vmovaps %ymm1, 288(%rax)13882; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13883; AVX-NEXT: vmovaps %ymm1, 256(%rax)13884; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13885; AVX-NEXT: vmovaps %ymm1, 224(%rax)13886; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13887; AVX-NEXT: vmovaps %ymm1, 192(%rax)13888; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13889; AVX-NEXT: vmovaps %ymm1, 160(%rax)13890; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13891; AVX-NEXT: vmovaps %ymm1, 128(%rax)13892; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13893; AVX-NEXT: vmovaps %ymm1, 96(%rax)13894; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13895; AVX-NEXT: vmovaps %ymm1, 64(%rax)13896; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13897; AVX-NEXT: vmovaps %ymm1, 32(%rax)13898; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload13899; AVX-NEXT: vmovaps %ymm1, (%rax)13900; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax13901; AVX-NEXT: vmovapd %ymm0, 480(%rax)13902; AVX-NEXT: vmovapd %ymm3, 448(%rax)13903; AVX-NEXT: vmovapd %ymm4, 416(%rax)13904; AVX-NEXT: vmovapd %ymm5, 384(%rax)13905; AVX-NEXT: vmovapd %ymm8, 352(%rax)13906; AVX-NEXT: vmovapd %ymm9, 320(%rax)13907; AVX-NEXT: vmovapd %ymm10, 288(%rax)13908; AVX-NEXT: vmovapd %ymm11, 256(%rax)13909; AVX-NEXT: vmovaps %ymm14, 224(%rax)13910; AVX-NEXT: vmovapd %ymm15, 192(%rax)13911; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13912; AVX-NEXT: vmovaps %ymm0, 160(%rax)13913; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13914; AVX-NEXT: vmovaps %ymm0, 128(%rax)13915; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13916; AVX-NEXT: vmovaps %ymm0, 96(%rax)13917; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13918; AVX-NEXT: vmovaps %ymm0, 64(%rax)13919; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13920; AVX-NEXT: vmovaps %ymm0, 32(%rax)13921; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload13922; AVX-NEXT: vmovaps %ymm0, (%rax)13923; AVX-NEXT: addq $4232, %rsp # imm = 0x108813924; AVX-NEXT: vzeroupper13925; AVX-NEXT: retq13926;13927; AVX2-LABEL: load_i64_stride7_vf64:13928; AVX2: # %bb.0:13929; AVX2-NEXT: subq $3928, %rsp # imm = 0xF5813930; AVX2-NEXT: vmovdqa 1216(%rdi), %ymm413931; AVX2-NEXT: vmovdqa 768(%rdi), %ymm513932; AVX2-NEXT: vmovdqa 320(%rdi), %ymm613933; AVX2-NEXT: vmovdqa 384(%rdi), %xmm013934; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13935; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013936; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]13937; AVX2-NEXT: vmovdqa 224(%rdi), %xmm913938; AVX2-NEXT: vmovdqa 272(%rdi), %xmm113939; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13940; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]13941; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13942; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13943; AVX2-NEXT: vmovdqa 832(%rdi), %xmm013944; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13945; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013946; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]13947; AVX2-NEXT: vmovdqa 672(%rdi), %xmm1013948; AVX2-NEXT: vmovdqa 720(%rdi), %xmm113949; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13950; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm10[0,1],xmm1[2,3]13951; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13952; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13953; AVX2-NEXT: vmovdqa 1280(%rdi), %xmm013954; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13955; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013956; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]13957; AVX2-NEXT: vmovdqa 1120(%rdi), %xmm1113958; AVX2-NEXT: vmovdqa 1168(%rdi), %xmm113959; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13960; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],xmm1[2,3]13961; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13962; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13963; AVX2-NEXT: vmovdqa 1664(%rdi), %ymm713964; AVX2-NEXT: vmovdqa 1728(%rdi), %xmm013965; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13966; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013967; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]13968; AVX2-NEXT: vmovdqa 1568(%rdi), %xmm1213969; AVX2-NEXT: vmovdqa 1616(%rdi), %xmm113970; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13971; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm12[0,1],xmm1[2,3]13972; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13973; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13974; AVX2-NEXT: vmovdqa 2112(%rdi), %ymm813975; AVX2-NEXT: vmovdqa 2176(%rdi), %xmm013976; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13977; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013978; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm0[6,7]13979; AVX2-NEXT: vmovdqa 2016(%rdi), %xmm213980; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13981; AVX2-NEXT: vmovdqa 2064(%rdi), %xmm113982; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13983; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]13984; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13985; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13986; AVX2-NEXT: vmovdqa 2560(%rdi), %ymm1313987; AVX2-NEXT: vmovdqa 2624(%rdi), %xmm013988; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13989; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm013990; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]13991; AVX2-NEXT: vmovdqa 2464(%rdi), %xmm213992; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13993; AVX2-NEXT: vmovdqa 2512(%rdi), %xmm113994; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13995; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]13996; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13997; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13998; AVX2-NEXT: vmovdqa 3008(%rdi), %ymm1413999; AVX2-NEXT: vmovdqa 3072(%rdi), %xmm014000; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14001; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm014002; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]14003; AVX2-NEXT: vmovdqa 2912(%rdi), %xmm214004; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14005; AVX2-NEXT: vmovdqa 2960(%rdi), %xmm114006; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14007; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]14008; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14009; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14010; AVX2-NEXT: vmovaps 3456(%rdi), %ymm114011; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14012; AVX2-NEXT: vmovaps 3520(%rdi), %xmm014013; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14014; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014015; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14016; AVX2-NEXT: vmovaps 3360(%rdi), %xmm214017; AVX2-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14018; AVX2-NEXT: vmovaps 3408(%rdi), %xmm114019; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14020; AVX2-NEXT: vblendps {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]14021; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14022; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14023; AVX2-NEXT: vmovaps 96(%rdi), %ymm114024; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14025; AVX2-NEXT: vmovaps 160(%rdi), %xmm014026; AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14027; AVX2-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm014028; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14029; AVX2-NEXT: vmovaps 48(%rdi), %xmm114030; AVX2-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14031; AVX2-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]14032; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14033; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14034; AVX2-NEXT: vmovdqa 544(%rdi), %ymm114035; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14036; AVX2-NEXT: vmovdqa 608(%rdi), %xmm014037; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14038; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm014039; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm0[6,7]14040; AVX2-NEXT: vmovdqa 448(%rdi), %xmm014041; AVX2-NEXT: vmovdqa 496(%rdi), %xmm214042; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14043; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm0[0,1],xmm2[2,3]14044; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]14045; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14046; AVX2-NEXT: vmovdqa 992(%rdi), %ymm114047; AVX2-NEXT: vmovdqa 1056(%rdi), %xmm214048; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14049; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214050; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],ymm2[6,7]14051; AVX2-NEXT: vmovdqa 896(%rdi), %xmm1514052; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14053; AVX2-NEXT: vmovdqa 944(%rdi), %xmm314054; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14055; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14056; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14057; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14058; AVX2-NEXT: vmovdqa 1440(%rdi), %ymm314059; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14060; AVX2-NEXT: vmovdqa 1504(%rdi), %xmm214061; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14062; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214063; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14064; AVX2-NEXT: vmovdqa 1344(%rdi), %xmm1514065; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14066; AVX2-NEXT: vmovdqa 1392(%rdi), %xmm314067; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14068; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14069; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14070; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14071; AVX2-NEXT: vmovdqa 1888(%rdi), %ymm314072; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14073; AVX2-NEXT: vmovdqa 1952(%rdi), %xmm214074; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14075; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214076; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14077; AVX2-NEXT: vmovdqa 1792(%rdi), %xmm1514078; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14079; AVX2-NEXT: vmovdqa 1840(%rdi), %xmm314080; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14081; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14082; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14083; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14084; AVX2-NEXT: vmovdqa 2336(%rdi), %ymm314085; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14086; AVX2-NEXT: vmovdqa 2400(%rdi), %xmm214087; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14088; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214089; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14090; AVX2-NEXT: vmovdqa 2240(%rdi), %xmm1514091; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14092; AVX2-NEXT: vmovdqa 2288(%rdi), %xmm314093; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14094; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14095; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14096; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14097; AVX2-NEXT: vmovdqa 2784(%rdi), %ymm314098; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14099; AVX2-NEXT: vmovdqa 2848(%rdi), %xmm214100; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14101; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214102; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14103; AVX2-NEXT: vmovdqa 2688(%rdi), %xmm1514104; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14105; AVX2-NEXT: vmovdqa 2736(%rdi), %xmm314106; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14107; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14108; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14109; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14110; AVX2-NEXT: vmovdqa 3232(%rdi), %ymm314111; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14112; AVX2-NEXT: vmovdqa 3296(%rdi), %xmm214113; AVX2-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14114; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm214115; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14116; AVX2-NEXT: vmovdqa 3136(%rdi), %xmm1514117; AVX2-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14118; AVX2-NEXT: vmovdqa 3184(%rdi), %xmm314119; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14120; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]14121; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14122; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14123; AVX2-NEXT: vmovdqa 288(%rdi), %xmm214124; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm9[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14125; AVX2-NEXT: vmovdqa 384(%rdi), %ymm314126; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14127; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm6[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]14128; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14129; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14130; AVX2-NEXT: vmovdqa 736(%rdi), %xmm214131; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm10[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14132; AVX2-NEXT: vmovdqa 832(%rdi), %ymm314133; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14134; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm5[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]14135; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14136; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14137; AVX2-NEXT: vmovdqa 1184(%rdi), %xmm214138; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm11[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14139; AVX2-NEXT: vmovdqa 1280(%rdi), %ymm314140; AVX2-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14141; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm4[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm4[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]14142; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14143; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14144; AVX2-NEXT: vmovdqa 1632(%rdi), %xmm214145; AVX2-NEXT: vpalignr {{.*#+}} xmm2 = xmm12[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14146; AVX2-NEXT: vmovdqa 1728(%rdi), %ymm1514147; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm7[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]14148; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14149; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14150; AVX2-NEXT: vmovdqa 2080(%rdi), %xmm214151; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload14152; AVX2-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14153; AVX2-NEXT: vmovdqa 2176(%rdi), %ymm1214154; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm8[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]14155; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14156; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14157; AVX2-NEXT: vmovdqa 2528(%rdi), %xmm214158; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload14159; AVX2-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14160; AVX2-NEXT: vmovdqa 2624(%rdi), %ymm1114161; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm13[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]14162; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14163; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14164; AVX2-NEXT: vmovdqa 2976(%rdi), %xmm214165; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload14166; AVX2-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14167; AVX2-NEXT: vmovdqa 3072(%rdi), %ymm1014168; AVX2-NEXT: vpalignr {{.*#+}} ymm3 = ymm14[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm14[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]14169; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14170; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14171; AVX2-NEXT: vmovdqa 3424(%rdi), %xmm214172; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload14173; AVX2-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14174; AVX2-NEXT: vmovdqa 3520(%rdi), %ymm914175; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload14176; AVX2-NEXT: # ymm3 = mem[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]14177; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14178; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14179; AVX2-NEXT: vmovdqa 160(%rdi), %ymm214180; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14181; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload14182; AVX2-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]14183; AVX2-NEXT: vmovdqa 64(%rdi), %xmm314184; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14185; AVX2-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]14186; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]14187; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14188; AVX2-NEXT: vmovdqa 608(%rdi), %ymm214189; AVX2-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14190; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload14191; AVX2-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]14192; AVX2-NEXT: vmovdqa 512(%rdi), %xmm314193; AVX2-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14194; AVX2-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]14195; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14196; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14197; AVX2-NEXT: vmovdqa 1056(%rdi), %ymm014198; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14199; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm1[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm1[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14200; AVX2-NEXT: vmovdqa 960(%rdi), %xmm114201; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14202; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14203; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14204; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14205; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14206; AVX2-NEXT: vmovdqa 1504(%rdi), %ymm014207; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14208; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14209; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14210; AVX2-NEXT: vmovdqa 1408(%rdi), %xmm1314211; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm1 # 16-byte Folded Reload14212; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]14213; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14214; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14215; AVX2-NEXT: vmovdqa 1952(%rdi), %ymm814216; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm0 # 32-byte Folded Reload14217; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]14218; AVX2-NEXT: vmovdqa 1856(%rdi), %xmm714219; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm1 # 16-byte Folded Reload14220; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]14221; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14222; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14223; AVX2-NEXT: vmovdqa 2400(%rdi), %ymm614224; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload14225; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]14226; AVX2-NEXT: vmovdqa 2304(%rdi), %xmm514227; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm1 # 16-byte Folded Reload14228; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]14229; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14230; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14231; AVX2-NEXT: vmovdqa 2848(%rdi), %ymm414232; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm0 # 32-byte Folded Reload14233; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]14234; AVX2-NEXT: vmovdqa 2752(%rdi), %xmm314235; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm1 # 16-byte Folded Reload14236; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]14237; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14238; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14239; AVX2-NEXT: vmovdqa 3296(%rdi), %ymm214240; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload14241; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]14242; AVX2-NEXT: vmovdqa 3200(%rdi), %xmm114243; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload14244; AVX2-NEXT: # xmm14 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14245; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14246; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14247; AVX2-NEXT: vbroadcastsd 352(%rdi), %ymm014248; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14249; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14250; AVX2-NEXT: vmovaps 240(%rdi), %xmm1414251; AVX2-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]14252; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14253; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14254; AVX2-NEXT: vbroadcastsd 800(%rdi), %ymm014255; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14256; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14257; AVX2-NEXT: vmovaps 688(%rdi), %xmm1414258; AVX2-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]14259; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14260; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14261; AVX2-NEXT: vbroadcastsd 1248(%rdi), %ymm014262; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14263; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14264; AVX2-NEXT: vmovaps 1136(%rdi), %xmm1414265; AVX2-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]14266; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14267; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14268; AVX2-NEXT: vpbroadcastq 1696(%rdi), %ymm014269; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]14270; AVX2-NEXT: vmovdqa 1584(%rdi), %xmm1414271; AVX2-NEXT: vpblendd {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]14272; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14273; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14274; AVX2-NEXT: vpbroadcastq 2144(%rdi), %ymm014275; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm12[1],ymm0[3],ymm12[3]14276; AVX2-NEXT: vmovdqa 2032(%rdi), %xmm1214277; AVX2-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]14278; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]14279; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14280; AVX2-NEXT: vpbroadcastq 2592(%rdi), %ymm014281; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]14282; AVX2-NEXT: vmovdqa 2480(%rdi), %xmm1114283; AVX2-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]14284; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]14285; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14286; AVX2-NEXT: vpbroadcastq 3040(%rdi), %ymm014287; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]14288; AVX2-NEXT: vmovdqa 2928(%rdi), %xmm1014289; AVX2-NEXT: vpblendd {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]14290; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm0[4,5,6,7]14291; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14292; AVX2-NEXT: vpbroadcastq 3488(%rdi), %ymm014293; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]14294; AVX2-NEXT: vmovdqa 3376(%rdi), %xmm914295; AVX2-NEXT: vpblendd {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]14296; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]14297; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14298; AVX2-NEXT: vpbroadcastq 3264(%rdi), %ymm014299; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]14300; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]14301; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14302; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14303; AVX2-NEXT: vpbroadcastq 2816(%rdi), %ymm014304; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]14305; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm3[2,3]14306; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14307; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14308; AVX2-NEXT: vpbroadcastq 2368(%rdi), %ymm014309; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]14310; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm5[2,3]14311; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14312; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14313; AVX2-NEXT: vpbroadcastq 1920(%rdi), %ymm014314; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm8[1],ymm0[3],ymm8[3]14315; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm7[2,3]14316; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14317; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14318; AVX2-NEXT: vpbroadcastq 1472(%rdi), %ymm014319; AVX2-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14320; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14321; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm13[2,3]14322; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14323; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14324; AVX2-NEXT: vbroadcastsd 1024(%rdi), %ymm014325; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14326; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14327; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14328; AVX2-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]14329; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14330; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14331; AVX2-NEXT: vbroadcastsd 576(%rdi), %ymm014332; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14333; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14334; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14335; AVX2-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]14336; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14337; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14338; AVX2-NEXT: vbroadcastsd 128(%rdi), %ymm014339; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14340; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14341; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14342; AVX2-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]14343; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14344; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14345; AVX2-NEXT: vmovdqa 64(%rdi), %ymm014346; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14347; AVX2-NEXT: vmovdqa 192(%rdi), %xmm1314348; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]14349; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114350; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14351; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14352; AVX2-NEXT: vmovdqa 288(%rdi), %ymm014353; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14354; AVX2-NEXT: vmovdqa 416(%rdi), %xmm1214355; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm12[0,1,2,3,4,5,6,7]14356; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114357; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14358; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14359; AVX2-NEXT: vmovdqa 512(%rdi), %ymm014360; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14361; AVX2-NEXT: vmovdqa 640(%rdi), %xmm1114362; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]14363; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114364; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14365; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14366; AVX2-NEXT: vmovdqa 736(%rdi), %ymm014367; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14368; AVX2-NEXT: vmovdqa 864(%rdi), %xmm1014369; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]14370; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114371; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14372; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14373; AVX2-NEXT: vmovdqa 960(%rdi), %ymm014374; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14375; AVX2-NEXT: vmovdqa 1088(%rdi), %xmm914376; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]14377; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114378; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14379; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14380; AVX2-NEXT: vmovdqa 1184(%rdi), %ymm014381; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14382; AVX2-NEXT: vmovdqa 1312(%rdi), %xmm814383; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]14384; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114385; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14386; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14387; AVX2-NEXT: vmovdqa 1408(%rdi), %ymm014388; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14389; AVX2-NEXT: vmovdqa 1536(%rdi), %xmm714390; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]14391; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114392; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14393; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14394; AVX2-NEXT: vmovdqa 1632(%rdi), %ymm014395; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14396; AVX2-NEXT: vmovdqa 1760(%rdi), %xmm614397; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]14398; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114399; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14400; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14401; AVX2-NEXT: vmovdqa 1856(%rdi), %ymm014402; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14403; AVX2-NEXT: vmovdqa 1984(%rdi), %xmm514404; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]14405; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114406; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14407; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14408; AVX2-NEXT: vmovdqa 2080(%rdi), %ymm014409; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14410; AVX2-NEXT: vmovdqa 2208(%rdi), %xmm314411; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]14412; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114413; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14414; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14415; AVX2-NEXT: vmovdqa 2304(%rdi), %ymm014416; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14417; AVX2-NEXT: vmovdqa 2432(%rdi), %xmm214418; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]14419; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114420; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]14421; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14422; AVX2-NEXT: vmovdqa 2528(%rdi), %ymm014423; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14424; AVX2-NEXT: vmovdqa 2656(%rdi), %xmm1414425; AVX2-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]14426; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm414427; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm4[2,3]14428; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14429; AVX2-NEXT: vmovdqa 2752(%rdi), %ymm114430; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14431; AVX2-NEXT: vmovdqa 2880(%rdi), %xmm014432; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14433; AVX2-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14434; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm414435; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm4[2,3]14436; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14437; AVX2-NEXT: vmovdqa 2976(%rdi), %ymm114438; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14439; AVX2-NEXT: vmovdqa 3104(%rdi), %xmm414440; AVX2-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]14441; AVX2-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm1514442; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm15[2,3]14443; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14444; AVX2-NEXT: vmovdqa 3200(%rdi), %ymm114445; AVX2-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14446; AVX2-NEXT: vmovdqa 3328(%rdi), %xmm014447; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14448; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14449; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm114450; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm15[2,3],ymm1[2,3]14451; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14452; AVX2-NEXT: vmovdqa 3424(%rdi), %ymm114453; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14454; AVX2-NEXT: vmovdqa 3552(%rdi), %xmm014455; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14456; AVX2-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14457; AVX2-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm1514458; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm15[2,3]14459; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14460; AVX2-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm114461; AVX2-NEXT: vmovdqa 128(%rdi), %ymm1514462; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3,4,5],ymm1[6,7]14463; AVX2-NEXT: vmovdqa 32(%rdi), %xmm1314464; AVX2-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]14465; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]14466; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14467; AVX2-NEXT: vinserti128 $1, %xmm12, %ymm0, %ymm114468; AVX2-NEXT: vmovdqa 352(%rdi), %ymm1314469; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm1[6,7]14470; AVX2-NEXT: vmovdqa 256(%rdi), %xmm014471; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14472; AVX2-NEXT: vpblendd {{.*#+}} xmm12 = xmm0[0,1],mem[2,3]14473; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3],ymm1[4,5,6,7]14474; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14475; AVX2-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm114476; AVX2-NEXT: vmovdqa 576(%rdi), %ymm1214477; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]14478; AVX2-NEXT: vmovdqa 480(%rdi), %xmm014479; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14480; AVX2-NEXT: vpblendd {{.*#+}} xmm11 = xmm0[0,1],mem[2,3]14481; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3],ymm1[4,5,6,7]14482; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14483; AVX2-NEXT: vinserti128 $1, %xmm10, %ymm0, %ymm114484; AVX2-NEXT: vmovdqa 800(%rdi), %ymm1114485; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]14486; AVX2-NEXT: vmovdqa 704(%rdi), %xmm014487; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14488; AVX2-NEXT: vpblendd {{.*#+}} xmm10 = xmm0[0,1],mem[2,3]14489; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm10[0,1,2,3],ymm1[4,5,6,7]14490; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14491; AVX2-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm114492; AVX2-NEXT: vmovdqa 1024(%rdi), %ymm1014493; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm10[0,1,2,3,4,5],ymm1[6,7]14494; AVX2-NEXT: vmovdqa 928(%rdi), %xmm014495; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14496; AVX2-NEXT: vpblendd {{.*#+}} xmm9 = xmm0[0,1],mem[2,3]14497; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3],ymm1[4,5,6,7]14498; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14499; AVX2-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm114500; AVX2-NEXT: vmovdqa 1248(%rdi), %ymm914501; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5],ymm1[6,7]14502; AVX2-NEXT: vmovdqa 1152(%rdi), %xmm014503; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14504; AVX2-NEXT: vpblendd {{.*#+}} xmm8 = xmm0[0,1],mem[2,3]14505; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3],ymm1[4,5,6,7]14506; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14507; AVX2-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm114508; AVX2-NEXT: vmovdqa 1472(%rdi), %ymm814509; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]14510; AVX2-NEXT: vmovdqa 1376(%rdi), %xmm014511; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14512; AVX2-NEXT: vpblendd {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]14513; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3],ymm1[4,5,6,7]14514; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14515; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm114516; AVX2-NEXT: vmovdqa 1696(%rdi), %ymm714517; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5],ymm1[6,7]14518; AVX2-NEXT: vmovdqa 1600(%rdi), %xmm014519; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14520; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm0[0,1],mem[2,3]14521; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]14522; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14523; AVX2-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm114524; AVX2-NEXT: vmovdqa 1920(%rdi), %ymm614525; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]14526; AVX2-NEXT: vmovdqa 1824(%rdi), %xmm014527; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14528; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm0[0,1],mem[2,3]14529; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3],ymm1[4,5,6,7]14530; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14531; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm114532; AVX2-NEXT: vmovdqa 2144(%rdi), %ymm514533; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]14534; AVX2-NEXT: vmovdqa 2048(%rdi), %xmm014535; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14536; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm0[0,1],mem[2,3]14537; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]14538; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14539; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm114540; AVX2-NEXT: vmovdqa 2368(%rdi), %ymm314541; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]14542; AVX2-NEXT: vmovdqa 2272(%rdi), %xmm014543; AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14544; AVX2-NEXT: vpblendd {{.*#+}} xmm2 = xmm0[0,1],mem[2,3]14545; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]14546; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14547; AVX2-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm014548; AVX2-NEXT: vmovdqa 2592(%rdi), %ymm114549; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14550; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14551; AVX2-NEXT: vmovdqa 2496(%rdi), %xmm114552; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14553; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]14554; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14555; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14556; AVX2-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14557; AVX2-NEXT: vmovdqa 2816(%rdi), %ymm214558; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]14559; AVX2-NEXT: vmovdqa 2720(%rdi), %xmm114560; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14561; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]14562; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14563; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14564; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm014565; AVX2-NEXT: vmovdqa 3040(%rdi), %ymm114566; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14567; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14568; AVX2-NEXT: vmovdqa 2944(%rdi), %xmm114569; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14570; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]14571; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14572; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14573; AVX2-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14574; AVX2-NEXT: vmovdqa 3264(%rdi), %ymm114575; AVX2-NEXT: vmovdqu %ymm1, (%rsp) # 32-byte Spill14576; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14577; AVX2-NEXT: vmovdqa 3168(%rdi), %xmm114578; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14579; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]14580; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14581; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14582; AVX2-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload14583; AVX2-NEXT: vmovdqa 3488(%rdi), %ymm114584; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14585; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14586; AVX2-NEXT: vmovdqa 3392(%rdi), %xmm114587; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14588; AVX2-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]14589; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14590; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14591; AVX2-NEXT: vmovdqa 192(%rdi), %ymm014592; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14593; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm15[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14594; AVX2-NEXT: vmovdqa 96(%rdi), %xmm114595; AVX2-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14596; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14597; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14598; AVX2-NEXT: vmovdqa 416(%rdi), %ymm014599; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14600; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm13[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14601; AVX2-NEXT: vmovdqa 320(%rdi), %xmm114602; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14603; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14604; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14605; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14606; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14607; AVX2-NEXT: vmovdqa 544(%rdi), %xmm014608; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14609; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14610; AVX2-NEXT: vmovdqa 640(%rdi), %ymm114611; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14612; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm12[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14613; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14614; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14615; AVX2-NEXT: vmovdqa 864(%rdi), %ymm014616; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14617; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm11[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14618; AVX2-NEXT: vmovdqa 768(%rdi), %xmm114619; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14620; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14621; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14622; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14623; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14624; AVX2-NEXT: vmovdqa 992(%rdi), %xmm014625; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14626; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14627; AVX2-NEXT: vmovdqa 1088(%rdi), %ymm114628; AVX2-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14629; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm10[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]14630; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14631; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14632; AVX2-NEXT: vmovdqa 1312(%rdi), %ymm014633; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14634; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm9[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14635; AVX2-NEXT: vmovdqa 1216(%rdi), %xmm114636; AVX2-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14637; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14638; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14639; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14640; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14641; AVX2-NEXT: vmovdqa 1440(%rdi), %xmm014642; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14643; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14644; AVX2-NEXT: vmovdqa 1536(%rdi), %ymm1414645; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm8[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]14646; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14647; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14648; AVX2-NEXT: vmovdqa 1760(%rdi), %ymm014649; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14650; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]14651; AVX2-NEXT: vmovdqa 1664(%rdi), %xmm1314652; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm1 # 16-byte Folded Reload14653; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]14654; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14655; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14656; AVX2-NEXT: vmovdqa 1888(%rdi), %xmm014657; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14658; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14659; AVX2-NEXT: vmovdqa 1984(%rdi), %ymm1014660; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm6[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]14661; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14662; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14663; AVX2-NEXT: vmovdqa 2208(%rdi), %ymm1214664; AVX2-NEXT: vpalignr {{.*#+}} ymm0 = ymm5[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]14665; AVX2-NEXT: vmovdqa 2112(%rdi), %xmm1114666; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm1 # 16-byte Folded Reload14667; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]14668; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14669; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14670; AVX2-NEXT: vmovdqa 2336(%rdi), %xmm014671; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14672; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14673; AVX2-NEXT: vmovdqa 2432(%rdi), %ymm814674; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]14675; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14676; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14677; AVX2-NEXT: vmovdqa 2656(%rdi), %ymm914678; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload14679; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]14680; AVX2-NEXT: vmovdqa 2560(%rdi), %xmm714681; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm1 # 16-byte Folded Reload14682; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]14683; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14684; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14685; AVX2-NEXT: vmovdqa 2784(%rdi), %xmm014686; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14687; AVX2-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14688; AVX2-NEXT: vmovdqa 2880(%rdi), %ymm414689; AVX2-NEXT: vpalignr {{.*#+}} ymm1 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]14690; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]14691; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14692; AVX2-NEXT: vmovdqa 3104(%rdi), %ymm614693; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload14694; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]14695; AVX2-NEXT: vmovdqa 3008(%rdi), %xmm514696; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm1 # 16-byte Folded Reload14697; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]14698; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14699; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14700; AVX2-NEXT: vmovdqa 3232(%rdi), %xmm014701; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload14702; AVX2-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]14703; AVX2-NEXT: vmovdqa 3328(%rdi), %ymm314704; AVX2-NEXT: vpalignr $8, (%rsp), %ymm3, %ymm2 # 32-byte Folded Reload14705; AVX2-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]14706; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]14707; AVX2-NEXT: vmovdqu %ymm0, (%rsp) # 32-byte Spill14708; AVX2-NEXT: vmovdqa 3552(%rdi), %ymm214709; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload14710; AVX2-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]14711; AVX2-NEXT: vmovdqa 3456(%rdi), %xmm114712; AVX2-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm15 # 16-byte Folded Reload14713; AVX2-NEXT: # xmm15 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]14714; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14715; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14716; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14717; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14718; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14719; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14720; AVX2-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]14721; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14722; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14723; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14724; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14725; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14726; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14727; AVX2-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload14728; AVX2-NEXT: # xmm15 = mem[0,1],xmm15[2,3]14729; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14730; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14731; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14732; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14733; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14734; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14735; AVX2-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]14736; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14737; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14738; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14739; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14740; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14741; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14742; AVX2-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload14743; AVX2-NEXT: # xmm15 = mem[0,1],xmm15[2,3]14744; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14745; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14746; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14747; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14748; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14749; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14750; AVX2-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]14751; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14752; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14753; AVX2-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14754; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14755; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14756; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14757; AVX2-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload14758; AVX2-NEXT: # xmm15 = mem[0,1],xmm15[2,3]14759; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]14760; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14761; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14762; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm14[1],ymm0[3],ymm14[3]14763; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload14764; AVX2-NEXT: vpblendd {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]14765; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14766; AVX2-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14767; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14768; AVX2-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14769; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14770; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload14771; AVX2-NEXT: # xmm13 = mem[0,1],xmm13[2,3]14772; AVX2-NEXT: vpblendd {{.*#+}} ymm15 = ymm13[0,1,2,3],ymm0[4,5,6,7]14773; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14774; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]14775; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload14776; AVX2-NEXT: vpblendd {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]14777; AVX2-NEXT: vpblendd {{.*#+}} ymm13 = ymm10[0,1,2,3],ymm0[4,5,6,7]14778; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14779; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm12[1],ymm0[3],ymm12[3]14780; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm10 # 16-byte Folded Reload14781; AVX2-NEXT: # xmm10 = mem[0,1],xmm11[2,3]14782; AVX2-NEXT: vpblendd {{.*#+}} ymm11 = ymm10[0,1,2,3],ymm0[4,5,6,7]14783; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14784; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm8[1],ymm0[3],ymm8[3]14785; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload14786; AVX2-NEXT: vpblendd {{.*#+}} xmm8 = xmm8[0,1],mem[2,3]14787; AVX2-NEXT: vpblendd {{.*#+}} ymm10 = ymm8[0,1,2,3],ymm0[4,5,6,7]14788; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14789; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]14790; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm7 # 16-byte Folded Reload14791; AVX2-NEXT: # xmm7 = mem[0,1],xmm7[2,3]14792; AVX2-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm0[4,5,6,7]14793; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14794; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]14795; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14796; AVX2-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]14797; AVX2-NEXT: vpblendd {{.*#+}} ymm8 = ymm4[0,1,2,3],ymm0[4,5,6,7]14798; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14799; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]14800; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm4 # 16-byte Folded Reload14801; AVX2-NEXT: # xmm4 = mem[0,1],xmm5[2,3]14802; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5,6,7]14803; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload14804; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]14805; AVX2-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload14806; AVX2-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]14807; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]14808; AVX2-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 16-byte Folded Reload14809; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]14810; AVX2-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14811; AVX2-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14812; AVX2-NEXT: vpblendd {{.*#+}} ymm14 = ymm1[0,1,2,3],ymm2[4,5,6,7]14813; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14814; AVX2-NEXT: vmovaps %ymm1, 448(%rsi)14815; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14816; AVX2-NEXT: vmovaps %ymm1, 384(%rsi)14817; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14818; AVX2-NEXT: vmovaps %ymm1, 320(%rsi)14819; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14820; AVX2-NEXT: vmovaps %ymm1, 256(%rsi)14821; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14822; AVX2-NEXT: vmovaps %ymm1, 192(%rsi)14823; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14824; AVX2-NEXT: vmovaps %ymm1, 128(%rsi)14825; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14826; AVX2-NEXT: vmovaps %ymm1, 64(%rsi)14827; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14828; AVX2-NEXT: vmovaps %ymm1, (%rsi)14829; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14830; AVX2-NEXT: vmovaps %ymm1, 480(%rsi)14831; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14832; AVX2-NEXT: vmovaps %ymm1, 416(%rsi)14833; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14834; AVX2-NEXT: vmovaps %ymm1, 352(%rsi)14835; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14836; AVX2-NEXT: vmovaps %ymm1, 288(%rsi)14837; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14838; AVX2-NEXT: vmovaps %ymm1, 224(%rsi)14839; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14840; AVX2-NEXT: vmovaps %ymm1, 160(%rsi)14841; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14842; AVX2-NEXT: vmovaps %ymm1, 96(%rsi)14843; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14844; AVX2-NEXT: vmovaps %ymm1, 32(%rsi)14845; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14846; AVX2-NEXT: vmovaps %ymm1, 448(%rdx)14847; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14848; AVX2-NEXT: vmovaps %ymm1, 384(%rdx)14849; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14850; AVX2-NEXT: vmovaps %ymm1, 320(%rdx)14851; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14852; AVX2-NEXT: vmovaps %ymm1, 256(%rdx)14853; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14854; AVX2-NEXT: vmovaps %ymm1, 192(%rdx)14855; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14856; AVX2-NEXT: vmovaps %ymm1, 128(%rdx)14857; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14858; AVX2-NEXT: vmovaps %ymm1, 64(%rdx)14859; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14860; AVX2-NEXT: vmovaps %ymm1, (%rdx)14861; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14862; AVX2-NEXT: vmovaps %ymm1, 480(%rdx)14863; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14864; AVX2-NEXT: vmovaps %ymm1, 416(%rdx)14865; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14866; AVX2-NEXT: vmovaps %ymm1, 352(%rdx)14867; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14868; AVX2-NEXT: vmovaps %ymm1, 288(%rdx)14869; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14870; AVX2-NEXT: vmovaps %ymm1, 224(%rdx)14871; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14872; AVX2-NEXT: vmovaps %ymm1, 160(%rdx)14873; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14874; AVX2-NEXT: vmovaps %ymm1, 96(%rdx)14875; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14876; AVX2-NEXT: vmovaps %ymm1, 32(%rdx)14877; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14878; AVX2-NEXT: vmovaps %ymm1, (%rcx)14879; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14880; AVX2-NEXT: vmovaps %ymm1, 64(%rcx)14881; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14882; AVX2-NEXT: vmovaps %ymm1, 128(%rcx)14883; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14884; AVX2-NEXT: vmovaps %ymm1, 192(%rcx)14885; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14886; AVX2-NEXT: vmovaps %ymm1, 256(%rcx)14887; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14888; AVX2-NEXT: vmovaps %ymm1, 320(%rcx)14889; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14890; AVX2-NEXT: vmovaps %ymm1, 384(%rcx)14891; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14892; AVX2-NEXT: vmovaps %ymm1, 448(%rcx)14893; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14894; AVX2-NEXT: vmovaps %ymm1, 480(%rcx)14895; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14896; AVX2-NEXT: vmovaps %ymm1, 416(%rcx)14897; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14898; AVX2-NEXT: vmovaps %ymm1, 352(%rcx)14899; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14900; AVX2-NEXT: vmovaps %ymm1, 288(%rcx)14901; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14902; AVX2-NEXT: vmovaps %ymm1, 224(%rcx)14903; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14904; AVX2-NEXT: vmovaps %ymm1, 160(%rcx)14905; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14906; AVX2-NEXT: vmovaps %ymm1, 96(%rcx)14907; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14908; AVX2-NEXT: vmovaps %ymm1, 32(%rcx)14909; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14910; AVX2-NEXT: vmovaps %ymm1, 480(%r8)14911; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14912; AVX2-NEXT: vmovaps %ymm1, 448(%r8)14913; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14914; AVX2-NEXT: vmovaps %ymm1, 416(%r8)14915; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14916; AVX2-NEXT: vmovaps %ymm1, 384(%r8)14917; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14918; AVX2-NEXT: vmovaps %ymm1, 352(%r8)14919; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14920; AVX2-NEXT: vmovaps %ymm1, 320(%r8)14921; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14922; AVX2-NEXT: vmovaps %ymm1, 288(%r8)14923; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14924; AVX2-NEXT: vmovaps %ymm1, 256(%r8)14925; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14926; AVX2-NEXT: vmovaps %ymm1, 224(%r8)14927; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14928; AVX2-NEXT: vmovaps %ymm1, 192(%r8)14929; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14930; AVX2-NEXT: vmovaps %ymm1, 160(%r8)14931; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14932; AVX2-NEXT: vmovaps %ymm1, 128(%r8)14933; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14934; AVX2-NEXT: vmovaps %ymm1, 96(%r8)14935; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14936; AVX2-NEXT: vmovaps %ymm1, 64(%r8)14937; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14938; AVX2-NEXT: vmovaps %ymm1, 32(%r8)14939; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14940; AVX2-NEXT: vmovaps %ymm1, (%r8)14941; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14942; AVX2-NEXT: vmovaps %ymm1, 480(%r9)14943; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14944; AVX2-NEXT: vmovaps %ymm1, 448(%r9)14945; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14946; AVX2-NEXT: vmovaps %ymm1, 416(%r9)14947; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14948; AVX2-NEXT: vmovaps %ymm1, 384(%r9)14949; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14950; AVX2-NEXT: vmovaps %ymm1, 352(%r9)14951; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14952; AVX2-NEXT: vmovaps %ymm1, 320(%r9)14953; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14954; AVX2-NEXT: vmovaps %ymm1, 288(%r9)14955; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14956; AVX2-NEXT: vmovaps %ymm1, 256(%r9)14957; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14958; AVX2-NEXT: vmovaps %ymm1, 224(%r9)14959; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14960; AVX2-NEXT: vmovaps %ymm1, 192(%r9)14961; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14962; AVX2-NEXT: vmovaps %ymm1, 160(%r9)14963; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14964; AVX2-NEXT: vmovaps %ymm1, 128(%r9)14965; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14966; AVX2-NEXT: vmovaps %ymm1, 96(%r9)14967; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14968; AVX2-NEXT: vmovaps %ymm1, 64(%r9)14969; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14970; AVX2-NEXT: vmovaps %ymm1, 32(%r9)14971; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14972; AVX2-NEXT: vmovaps %ymm1, (%r9)14973; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax14974; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14975; AVX2-NEXT: vmovaps %ymm1, 480(%rax)14976; AVX2-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload14977; AVX2-NEXT: vmovaps %ymm1, 448(%rax)14978; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14979; AVX2-NEXT: vmovaps %ymm1, 416(%rax)14980; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14981; AVX2-NEXT: vmovaps %ymm1, 384(%rax)14982; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14983; AVX2-NEXT: vmovaps %ymm1, 352(%rax)14984; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14985; AVX2-NEXT: vmovaps %ymm1, 320(%rax)14986; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14987; AVX2-NEXT: vmovaps %ymm1, 288(%rax)14988; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14989; AVX2-NEXT: vmovaps %ymm1, 256(%rax)14990; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14991; AVX2-NEXT: vmovaps %ymm1, 224(%rax)14992; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14993; AVX2-NEXT: vmovaps %ymm1, 192(%rax)14994; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14995; AVX2-NEXT: vmovaps %ymm1, 160(%rax)14996; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14997; AVX2-NEXT: vmovaps %ymm1, 128(%rax)14998; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload14999; AVX2-NEXT: vmovaps %ymm1, 96(%rax)15000; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15001; AVX2-NEXT: vmovaps %ymm1, 64(%rax)15002; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15003; AVX2-NEXT: vmovaps %ymm1, 32(%rax)15004; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15005; AVX2-NEXT: vmovaps %ymm1, (%rax)15006; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax15007; AVX2-NEXT: vmovdqa %ymm14, 480(%rax)15008; AVX2-NEXT: vmovdqa %ymm0, 448(%rax)15009; AVX2-NEXT: vmovdqa %ymm4, 416(%rax)15010; AVX2-NEXT: vmovdqa %ymm8, 384(%rax)15011; AVX2-NEXT: vmovdqa %ymm7, 352(%rax)15012; AVX2-NEXT: vmovdqa %ymm10, 320(%rax)15013; AVX2-NEXT: vmovdqa %ymm11, 288(%rax)15014; AVX2-NEXT: vmovdqa %ymm13, 256(%rax)15015; AVX2-NEXT: vmovdqa %ymm15, 224(%rax)15016; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15017; AVX2-NEXT: vmovaps %ymm0, 192(%rax)15018; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15019; AVX2-NEXT: vmovaps %ymm0, 160(%rax)15020; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15021; AVX2-NEXT: vmovaps %ymm0, 128(%rax)15022; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15023; AVX2-NEXT: vmovaps %ymm0, 96(%rax)15024; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15025; AVX2-NEXT: vmovaps %ymm0, 64(%rax)15026; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15027; AVX2-NEXT: vmovaps %ymm0, 32(%rax)15028; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15029; AVX2-NEXT: vmovaps %ymm0, (%rax)15030; AVX2-NEXT: addq $3928, %rsp # imm = 0xF5815031; AVX2-NEXT: vzeroupper15032; AVX2-NEXT: retq15033;15034; AVX2-FP-LABEL: load_i64_stride7_vf64:15035; AVX2-FP: # %bb.0:15036; AVX2-FP-NEXT: subq $3928, %rsp # imm = 0xF5815037; AVX2-FP-NEXT: vmovdqa 1216(%rdi), %ymm415038; AVX2-FP-NEXT: vmovdqa 768(%rdi), %ymm515039; AVX2-FP-NEXT: vmovdqa 320(%rdi), %ymm615040; AVX2-FP-NEXT: vmovdqa 384(%rdi), %xmm015041; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15042; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015043; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]15044; AVX2-FP-NEXT: vmovdqa 224(%rdi), %xmm915045; AVX2-FP-NEXT: vmovdqa 272(%rdi), %xmm115046; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15047; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]15048; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15049; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15050; AVX2-FP-NEXT: vmovdqa 832(%rdi), %xmm015051; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15052; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015053; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]15054; AVX2-FP-NEXT: vmovdqa 672(%rdi), %xmm1015055; AVX2-FP-NEXT: vmovdqa 720(%rdi), %xmm115056; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15057; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm10[0,1],xmm1[2,3]15058; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15059; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15060; AVX2-FP-NEXT: vmovdqa 1280(%rdi), %xmm015061; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15062; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015063; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]15064; AVX2-FP-NEXT: vmovdqa 1120(%rdi), %xmm1115065; AVX2-FP-NEXT: vmovdqa 1168(%rdi), %xmm115066; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15067; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],xmm1[2,3]15068; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15069; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15070; AVX2-FP-NEXT: vmovdqa 1664(%rdi), %ymm715071; AVX2-FP-NEXT: vmovdqa 1728(%rdi), %xmm015072; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15073; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015074; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]15075; AVX2-FP-NEXT: vmovdqa 1568(%rdi), %xmm1215076; AVX2-FP-NEXT: vmovdqa 1616(%rdi), %xmm115077; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15078; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm12[0,1],xmm1[2,3]15079; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15080; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15081; AVX2-FP-NEXT: vmovdqa 2112(%rdi), %ymm815082; AVX2-FP-NEXT: vmovdqa 2176(%rdi), %xmm015083; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15084; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015085; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm0[6,7]15086; AVX2-FP-NEXT: vmovdqa 2016(%rdi), %xmm215087; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15088; AVX2-FP-NEXT: vmovdqa 2064(%rdi), %xmm115089; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15090; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]15091; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15092; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15093; AVX2-FP-NEXT: vmovdqa 2560(%rdi), %ymm1315094; AVX2-FP-NEXT: vmovdqa 2624(%rdi), %xmm015095; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15096; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015097; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]15098; AVX2-FP-NEXT: vmovdqa 2464(%rdi), %xmm215099; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15100; AVX2-FP-NEXT: vmovdqa 2512(%rdi), %xmm115101; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15102; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]15103; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15104; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15105; AVX2-FP-NEXT: vmovdqa 3008(%rdi), %ymm1415106; AVX2-FP-NEXT: vmovdqa 3072(%rdi), %xmm015107; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15108; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015109; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]15110; AVX2-FP-NEXT: vmovdqa 2912(%rdi), %xmm215111; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15112; AVX2-FP-NEXT: vmovdqa 2960(%rdi), %xmm115113; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15114; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]15115; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15116; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15117; AVX2-FP-NEXT: vmovaps 3456(%rdi), %ymm115118; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15119; AVX2-FP-NEXT: vmovaps 3520(%rdi), %xmm015120; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15121; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015122; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15123; AVX2-FP-NEXT: vmovaps 3360(%rdi), %xmm215124; AVX2-FP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15125; AVX2-FP-NEXT: vmovaps 3408(%rdi), %xmm115126; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15127; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]15128; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15129; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15130; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm115131; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15132; AVX2-FP-NEXT: vmovaps 160(%rdi), %xmm015133; AVX2-FP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15134; AVX2-FP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm015135; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15136; AVX2-FP-NEXT: vmovaps 48(%rdi), %xmm115137; AVX2-FP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15138; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]15139; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15140; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15141; AVX2-FP-NEXT: vmovdqa 544(%rdi), %ymm115142; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15143; AVX2-FP-NEXT: vmovdqa 608(%rdi), %xmm015144; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15145; AVX2-FP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm015146; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm0[6,7]15147; AVX2-FP-NEXT: vmovdqa 448(%rdi), %xmm015148; AVX2-FP-NEXT: vmovdqa 496(%rdi), %xmm215149; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15150; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm0[0,1],xmm2[2,3]15151; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]15152; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15153; AVX2-FP-NEXT: vmovdqa 992(%rdi), %ymm115154; AVX2-FP-NEXT: vmovdqa 1056(%rdi), %xmm215155; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15156; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215157; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],ymm2[6,7]15158; AVX2-FP-NEXT: vmovdqa 896(%rdi), %xmm1515159; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15160; AVX2-FP-NEXT: vmovdqa 944(%rdi), %xmm315161; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15162; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15163; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15164; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15165; AVX2-FP-NEXT: vmovdqa 1440(%rdi), %ymm315166; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15167; AVX2-FP-NEXT: vmovdqa 1504(%rdi), %xmm215168; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15169; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215170; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]15171; AVX2-FP-NEXT: vmovdqa 1344(%rdi), %xmm1515172; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15173; AVX2-FP-NEXT: vmovdqa 1392(%rdi), %xmm315174; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15175; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15176; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15177; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15178; AVX2-FP-NEXT: vmovdqa 1888(%rdi), %ymm315179; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15180; AVX2-FP-NEXT: vmovdqa 1952(%rdi), %xmm215181; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15182; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215183; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]15184; AVX2-FP-NEXT: vmovdqa 1792(%rdi), %xmm1515185; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15186; AVX2-FP-NEXT: vmovdqa 1840(%rdi), %xmm315187; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15188; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15189; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15190; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15191; AVX2-FP-NEXT: vmovdqa 2336(%rdi), %ymm315192; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15193; AVX2-FP-NEXT: vmovdqa 2400(%rdi), %xmm215194; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15195; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215196; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]15197; AVX2-FP-NEXT: vmovdqa 2240(%rdi), %xmm1515198; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15199; AVX2-FP-NEXT: vmovdqa 2288(%rdi), %xmm315200; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15201; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15202; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15203; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15204; AVX2-FP-NEXT: vmovdqa 2784(%rdi), %ymm315205; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15206; AVX2-FP-NEXT: vmovdqa 2848(%rdi), %xmm215207; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15208; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215209; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]15210; AVX2-FP-NEXT: vmovdqa 2688(%rdi), %xmm1515211; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15212; AVX2-FP-NEXT: vmovdqa 2736(%rdi), %xmm315213; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15214; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15215; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15216; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15217; AVX2-FP-NEXT: vmovdqa 3232(%rdi), %ymm315218; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15219; AVX2-FP-NEXT: vmovdqa 3296(%rdi), %xmm215220; AVX2-FP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15221; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm215222; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]15223; AVX2-FP-NEXT: vmovdqa 3136(%rdi), %xmm1515224; AVX2-FP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15225; AVX2-FP-NEXT: vmovdqa 3184(%rdi), %xmm315226; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15227; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]15228; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15229; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15230; AVX2-FP-NEXT: vmovdqa 288(%rdi), %xmm215231; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm9[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15232; AVX2-FP-NEXT: vmovdqa 384(%rdi), %ymm315233; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15234; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm6[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]15235; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15236; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15237; AVX2-FP-NEXT: vmovdqa 736(%rdi), %xmm215238; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm10[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15239; AVX2-FP-NEXT: vmovdqa 832(%rdi), %ymm315240; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15241; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm5[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]15242; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15243; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15244; AVX2-FP-NEXT: vmovdqa 1184(%rdi), %xmm215245; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm11[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15246; AVX2-FP-NEXT: vmovdqa 1280(%rdi), %ymm315247; AVX2-FP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15248; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm4[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],ymm4[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]15249; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15250; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15251; AVX2-FP-NEXT: vmovdqa 1632(%rdi), %xmm215252; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm2 = xmm12[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15253; AVX2-FP-NEXT: vmovdqa 1728(%rdi), %ymm1515254; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm7[8,9,10,11,12,13,14,15],ymm15[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm15[16,17,18,19,20,21,22,23]15255; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15256; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15257; AVX2-FP-NEXT: vmovdqa 2080(%rdi), %xmm215258; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload15259; AVX2-FP-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15260; AVX2-FP-NEXT: vmovdqa 2176(%rdi), %ymm1215261; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm8[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]15262; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15263; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15264; AVX2-FP-NEXT: vmovdqa 2528(%rdi), %xmm215265; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload15266; AVX2-FP-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15267; AVX2-FP-NEXT: vmovdqa 2624(%rdi), %ymm1115268; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm13[8,9,10,11,12,13,14,15],ymm11[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm11[16,17,18,19,20,21,22,23]15269; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15270; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15271; AVX2-FP-NEXT: vmovdqa 2976(%rdi), %xmm215272; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload15273; AVX2-FP-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15274; AVX2-FP-NEXT: vmovdqa 3072(%rdi), %ymm1015275; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm3 = ymm14[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm14[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]15276; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15277; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15278; AVX2-FP-NEXT: vmovdqa 3424(%rdi), %xmm215279; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload15280; AVX2-FP-NEXT: # xmm2 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15281; AVX2-FP-NEXT: vmovdqa 3520(%rdi), %ymm915282; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload15283; AVX2-FP-NEXT: # ymm3 = mem[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]15284; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]15285; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15286; AVX2-FP-NEXT: vmovdqa 160(%rdi), %ymm215287; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15288; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload15289; AVX2-FP-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]15290; AVX2-FP-NEXT: vmovdqa 64(%rdi), %xmm315291; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15292; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm3 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]15293; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]15294; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15295; AVX2-FP-NEXT: vmovdqa 608(%rdi), %ymm215296; AVX2-FP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15297; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload15298; AVX2-FP-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]15299; AVX2-FP-NEXT: vmovdqa 512(%rdi), %xmm315300; AVX2-FP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15301; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]15302; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]15303; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15304; AVX2-FP-NEXT: vmovdqa 1056(%rdi), %ymm015305; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15306; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm1[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm1[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15307; AVX2-FP-NEXT: vmovdqa 960(%rdi), %xmm115308; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15309; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload15310; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15311; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15312; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15313; AVX2-FP-NEXT: vmovdqa 1504(%rdi), %ymm015314; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15315; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15316; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15317; AVX2-FP-NEXT: vmovdqa 1408(%rdi), %xmm1315318; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm1 # 16-byte Folded Reload15319; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]15320; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15321; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15322; AVX2-FP-NEXT: vmovdqa 1952(%rdi), %ymm815323; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm0 # 32-byte Folded Reload15324; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]15325; AVX2-FP-NEXT: vmovdqa 1856(%rdi), %xmm715326; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm1 # 16-byte Folded Reload15327; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]15328; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15329; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15330; AVX2-FP-NEXT: vmovdqa 2400(%rdi), %ymm615331; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload15332; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]15333; AVX2-FP-NEXT: vmovdqa 2304(%rdi), %xmm515334; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm1 # 16-byte Folded Reload15335; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]15336; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15337; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15338; AVX2-FP-NEXT: vmovdqa 2848(%rdi), %ymm415339; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm0 # 32-byte Folded Reload15340; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]15341; AVX2-FP-NEXT: vmovdqa 2752(%rdi), %xmm315342; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm1 # 16-byte Folded Reload15343; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]15344; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15345; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15346; AVX2-FP-NEXT: vmovdqa 3296(%rdi), %ymm215347; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload15348; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]15349; AVX2-FP-NEXT: vmovdqa 3200(%rdi), %xmm115350; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload15351; AVX2-FP-NEXT: # xmm14 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15352; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15353; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15354; AVX2-FP-NEXT: vbroadcastsd 352(%rdi), %ymm015355; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15356; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15357; AVX2-FP-NEXT: vmovaps 240(%rdi), %xmm1415358; AVX2-FP-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]15359; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15360; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15361; AVX2-FP-NEXT: vbroadcastsd 800(%rdi), %ymm015362; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15363; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15364; AVX2-FP-NEXT: vmovaps 688(%rdi), %xmm1415365; AVX2-FP-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]15366; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15367; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15368; AVX2-FP-NEXT: vbroadcastsd 1248(%rdi), %ymm015369; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15370; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15371; AVX2-FP-NEXT: vmovaps 1136(%rdi), %xmm1415372; AVX2-FP-NEXT: vblendps {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]15373; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15374; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15375; AVX2-FP-NEXT: vpbroadcastq 1696(%rdi), %ymm015376; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm15[1],ymm0[3],ymm15[3]15377; AVX2-FP-NEXT: vmovdqa 1584(%rdi), %xmm1415378; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]15379; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15380; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15381; AVX2-FP-NEXT: vpbroadcastq 2144(%rdi), %ymm015382; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm12[1],ymm0[3],ymm12[3]15383; AVX2-FP-NEXT: vmovdqa 2032(%rdi), %xmm1215384; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm12 = xmm12[0,1],mem[2,3]15385; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]15386; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15387; AVX2-FP-NEXT: vpbroadcastq 2592(%rdi), %ymm015388; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm11[1],ymm0[3],ymm11[3]15389; AVX2-FP-NEXT: vmovdqa 2480(%rdi), %xmm1115390; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm11 = xmm11[0,1],mem[2,3]15391; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]15392; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15393; AVX2-FP-NEXT: vpbroadcastq 3040(%rdi), %ymm015394; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]15395; AVX2-FP-NEXT: vmovdqa 2928(%rdi), %xmm1015396; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]15397; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm10[0,1,2,3],ymm0[4,5,6,7]15398; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15399; AVX2-FP-NEXT: vpbroadcastq 3488(%rdi), %ymm015400; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]15401; AVX2-FP-NEXT: vmovdqa 3376(%rdi), %xmm915402; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm9 = xmm9[0,1],mem[2,3]15403; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]15404; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15405; AVX2-FP-NEXT: vpbroadcastq 3264(%rdi), %ymm015406; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]15407; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]15408; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15409; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15410; AVX2-FP-NEXT: vpbroadcastq 2816(%rdi), %ymm015411; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]15412; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm3[2,3]15413; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15414; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15415; AVX2-FP-NEXT: vpbroadcastq 2368(%rdi), %ymm015416; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]15417; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm5[2,3]15418; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15419; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15420; AVX2-FP-NEXT: vpbroadcastq 1920(%rdi), %ymm015421; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm8[1],ymm0[3],ymm8[3]15422; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm7[2,3]15423; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15424; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15425; AVX2-FP-NEXT: vpbroadcastq 1472(%rdi), %ymm015426; AVX2-FP-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15427; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15428; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = mem[0,1],xmm13[2,3]15429; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15430; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15431; AVX2-FP-NEXT: vbroadcastsd 1024(%rdi), %ymm015432; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15433; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15434; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15435; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]15436; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15437; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15438; AVX2-FP-NEXT: vbroadcastsd 576(%rdi), %ymm015439; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15440; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15441; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15442; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]15443; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15444; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15445; AVX2-FP-NEXT: vbroadcastsd 128(%rdi), %ymm015446; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15447; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15448; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15449; AVX2-FP-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]15450; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15451; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15452; AVX2-FP-NEXT: vmovdqa 64(%rdi), %ymm015453; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15454; AVX2-FP-NEXT: vmovdqa 192(%rdi), %xmm1315455; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]15456; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115457; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15458; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15459; AVX2-FP-NEXT: vmovdqa 288(%rdi), %ymm015460; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15461; AVX2-FP-NEXT: vmovdqa 416(%rdi), %xmm1215462; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm12[0,1,2,3,4,5,6,7]15463; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115464; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15465; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15466; AVX2-FP-NEXT: vmovdqa 512(%rdi), %ymm015467; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15468; AVX2-FP-NEXT: vmovdqa 640(%rdi), %xmm1115469; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]15470; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115471; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15472; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15473; AVX2-FP-NEXT: vmovdqa 736(%rdi), %ymm015474; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15475; AVX2-FP-NEXT: vmovdqa 864(%rdi), %xmm1015476; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm10[0,1,2,3,4,5,6,7]15477; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115478; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15479; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15480; AVX2-FP-NEXT: vmovdqa 960(%rdi), %ymm015481; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15482; AVX2-FP-NEXT: vmovdqa 1088(%rdi), %xmm915483; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7]15484; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115485; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15486; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15487; AVX2-FP-NEXT: vmovdqa 1184(%rdi), %ymm015488; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15489; AVX2-FP-NEXT: vmovdqa 1312(%rdi), %xmm815490; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7]15491; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115492; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15493; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15494; AVX2-FP-NEXT: vmovdqa 1408(%rdi), %ymm015495; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15496; AVX2-FP-NEXT: vmovdqa 1536(%rdi), %xmm715497; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]15498; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115499; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15500; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15501; AVX2-FP-NEXT: vmovdqa 1632(%rdi), %ymm015502; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15503; AVX2-FP-NEXT: vmovdqa 1760(%rdi), %xmm615504; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7]15505; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115506; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15507; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15508; AVX2-FP-NEXT: vmovdqa 1856(%rdi), %ymm015509; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15510; AVX2-FP-NEXT: vmovdqa 1984(%rdi), %xmm515511; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]15512; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115513; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15514; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15515; AVX2-FP-NEXT: vmovdqa 2080(%rdi), %ymm015516; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15517; AVX2-FP-NEXT: vmovdqa 2208(%rdi), %xmm315518; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]15519; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115520; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15521; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15522; AVX2-FP-NEXT: vmovdqa 2304(%rdi), %ymm015523; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15524; AVX2-FP-NEXT: vmovdqa 2432(%rdi), %xmm215525; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]15526; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115527; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]15528; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15529; AVX2-FP-NEXT: vmovdqa 2528(%rdi), %ymm015530; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15531; AVX2-FP-NEXT: vmovdqa 2656(%rdi), %xmm1415532; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm14[0,1,2,3,4,5,6,7]15533; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm415534; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm4[2,3]15535; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15536; AVX2-FP-NEXT: vmovdqa 2752(%rdi), %ymm115537; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15538; AVX2-FP-NEXT: vmovdqa 2880(%rdi), %xmm015539; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15540; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm4 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15541; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm415542; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm4[2,3]15543; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15544; AVX2-FP-NEXT: vmovdqa 2976(%rdi), %ymm115545; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15546; AVX2-FP-NEXT: vmovdqa 3104(%rdi), %xmm415547; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm4[0,1,2,3,4,5,6,7]15548; AVX2-FP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm1515549; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm15[2,3]15550; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15551; AVX2-FP-NEXT: vmovdqa 3200(%rdi), %ymm115552; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm15 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15553; AVX2-FP-NEXT: vmovdqa 3328(%rdi), %xmm015554; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15555; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15556; AVX2-FP-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm115557; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm15[2,3],ymm1[2,3]15558; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15559; AVX2-FP-NEXT: vmovdqa 3424(%rdi), %ymm115560; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15561; AVX2-FP-NEXT: vmovdqa 3552(%rdi), %xmm015562; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15563; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm15 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15564; AVX2-FP-NEXT: vinserti128 $1, %xmm15, %ymm0, %ymm1515565; AVX2-FP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm15[2,3]15566; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15567; AVX2-FP-NEXT: vinserti128 $1, %xmm13, %ymm0, %ymm115568; AVX2-FP-NEXT: vmovdqa 128(%rdi), %ymm1515569; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3,4,5],ymm1[6,7]15570; AVX2-FP-NEXT: vmovdqa 32(%rdi), %xmm1315571; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm13 = xmm13[0,1],mem[2,3]15572; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]15573; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15574; AVX2-FP-NEXT: vinserti128 $1, %xmm12, %ymm0, %ymm115575; AVX2-FP-NEXT: vmovdqa 352(%rdi), %ymm1315576; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm1[6,7]15577; AVX2-FP-NEXT: vmovdqa 256(%rdi), %xmm015578; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15579; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm12 = xmm0[0,1],mem[2,3]15580; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3],ymm1[4,5,6,7]15581; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15582; AVX2-FP-NEXT: vinserti128 $1, %xmm11, %ymm0, %ymm115583; AVX2-FP-NEXT: vmovdqa 576(%rdi), %ymm1215584; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]15585; AVX2-FP-NEXT: vmovdqa 480(%rdi), %xmm015586; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15587; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm11 = xmm0[0,1],mem[2,3]15588; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3],ymm1[4,5,6,7]15589; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15590; AVX2-FP-NEXT: vinserti128 $1, %xmm10, %ymm0, %ymm115591; AVX2-FP-NEXT: vmovdqa 800(%rdi), %ymm1115592; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5],ymm1[6,7]15593; AVX2-FP-NEXT: vmovdqa 704(%rdi), %xmm015594; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15595; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm10 = xmm0[0,1],mem[2,3]15596; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm10[0,1,2,3],ymm1[4,5,6,7]15597; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15598; AVX2-FP-NEXT: vinserti128 $1, %xmm9, %ymm0, %ymm115599; AVX2-FP-NEXT: vmovdqa 1024(%rdi), %ymm1015600; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm10[0,1,2,3,4,5],ymm1[6,7]15601; AVX2-FP-NEXT: vmovdqa 928(%rdi), %xmm015602; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15603; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm9 = xmm0[0,1],mem[2,3]15604; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3],ymm1[4,5,6,7]15605; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15606; AVX2-FP-NEXT: vinserti128 $1, %xmm8, %ymm0, %ymm115607; AVX2-FP-NEXT: vmovdqa 1248(%rdi), %ymm915608; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5],ymm1[6,7]15609; AVX2-FP-NEXT: vmovdqa 1152(%rdi), %xmm015610; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15611; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm8 = xmm0[0,1],mem[2,3]15612; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3],ymm1[4,5,6,7]15613; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15614; AVX2-FP-NEXT: vinserti128 $1, %xmm7, %ymm0, %ymm115615; AVX2-FP-NEXT: vmovdqa 1472(%rdi), %ymm815616; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]15617; AVX2-FP-NEXT: vmovdqa 1376(%rdi), %xmm015618; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15619; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm7 = xmm0[0,1],mem[2,3]15620; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3],ymm1[4,5,6,7]15621; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15622; AVX2-FP-NEXT: vinserti128 $1, %xmm6, %ymm0, %ymm115623; AVX2-FP-NEXT: vmovdqa 1696(%rdi), %ymm715624; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5],ymm1[6,7]15625; AVX2-FP-NEXT: vmovdqa 1600(%rdi), %xmm015626; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15627; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm6 = xmm0[0,1],mem[2,3]15628; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm1[4,5,6,7]15629; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15630; AVX2-FP-NEXT: vinserti128 $1, %xmm5, %ymm0, %ymm115631; AVX2-FP-NEXT: vmovdqa 1920(%rdi), %ymm615632; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]15633; AVX2-FP-NEXT: vmovdqa 1824(%rdi), %xmm015634; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15635; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm5 = xmm0[0,1],mem[2,3]15636; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3],ymm1[4,5,6,7]15637; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15638; AVX2-FP-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm115639; AVX2-FP-NEXT: vmovdqa 2144(%rdi), %ymm515640; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]15641; AVX2-FP-NEXT: vmovdqa 2048(%rdi), %xmm015642; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15643; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm0[0,1],mem[2,3]15644; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]15645; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15646; AVX2-FP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm115647; AVX2-FP-NEXT: vmovdqa 2368(%rdi), %ymm315648; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]15649; AVX2-FP-NEXT: vmovdqa 2272(%rdi), %xmm015650; AVX2-FP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15651; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm2 = xmm0[0,1],mem[2,3]15652; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]15653; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15654; AVX2-FP-NEXT: vinserti128 $1, %xmm14, %ymm0, %ymm015655; AVX2-FP-NEXT: vmovdqa 2592(%rdi), %ymm115656; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15657; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15658; AVX2-FP-NEXT: vmovdqa 2496(%rdi), %xmm115659; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15660; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]15661; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15662; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15663; AVX2-FP-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15664; AVX2-FP-NEXT: vmovdqa 2816(%rdi), %ymm215665; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]15666; AVX2-FP-NEXT: vmovdqa 2720(%rdi), %xmm115667; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15668; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]15669; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15670; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15671; AVX2-FP-NEXT: vinserti128 $1, %xmm4, %ymm0, %ymm015672; AVX2-FP-NEXT: vmovdqa 3040(%rdi), %ymm115673; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15674; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15675; AVX2-FP-NEXT: vmovdqa 2944(%rdi), %xmm115676; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15677; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]15678; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15679; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15680; AVX2-FP-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15681; AVX2-FP-NEXT: vmovdqa 3264(%rdi), %ymm115682; AVX2-FP-NEXT: vmovdqu %ymm1, (%rsp) # 32-byte Spill15683; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15684; AVX2-FP-NEXT: vmovdqa 3168(%rdi), %xmm115685; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15686; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]15687; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15688; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15689; AVX2-FP-NEXT: vinserti128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 16-byte Folded Reload15690; AVX2-FP-NEXT: vmovdqa 3488(%rdi), %ymm115691; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15692; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]15693; AVX2-FP-NEXT: vmovdqa 3392(%rdi), %xmm115694; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15695; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0,1],mem[2,3]15696; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15697; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15698; AVX2-FP-NEXT: vmovdqa 192(%rdi), %ymm015699; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15700; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm15[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm15[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15701; AVX2-FP-NEXT: vmovdqa 96(%rdi), %xmm115702; AVX2-FP-NEXT: vpalignr {{.*#+}} xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15703; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15704; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15705; AVX2-FP-NEXT: vmovdqa 416(%rdi), %ymm015706; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15707; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm13[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm13[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15708; AVX2-FP-NEXT: vmovdqa 320(%rdi), %xmm115709; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15710; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload15711; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15712; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15713; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15714; AVX2-FP-NEXT: vmovdqa 544(%rdi), %xmm015715; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15716; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15717; AVX2-FP-NEXT: vmovdqa 640(%rdi), %ymm115718; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15719; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm12[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm12[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15720; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15721; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15722; AVX2-FP-NEXT: vmovdqa 864(%rdi), %ymm015723; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15724; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm11[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm11[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15725; AVX2-FP-NEXT: vmovdqa 768(%rdi), %xmm115726; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15727; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload15728; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15729; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15730; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15731; AVX2-FP-NEXT: vmovdqa 992(%rdi), %xmm015732; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15733; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15734; AVX2-FP-NEXT: vmovdqa 1088(%rdi), %ymm115735; AVX2-FP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15736; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm10[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm10[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]15737; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15738; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15739; AVX2-FP-NEXT: vmovdqa 1312(%rdi), %ymm015740; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15741; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm9[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm9[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15742; AVX2-FP-NEXT: vmovdqa 1216(%rdi), %xmm115743; AVX2-FP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15744; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload15745; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15746; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15747; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15748; AVX2-FP-NEXT: vmovdqa 1440(%rdi), %xmm015749; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15750; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15751; AVX2-FP-NEXT: vmovdqa 1536(%rdi), %ymm1415752; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm8[8,9,10,11,12,13,14,15],ymm14[0,1,2,3,4,5,6,7],ymm8[24,25,26,27,28,29,30,31],ymm14[16,17,18,19,20,21,22,23]15753; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15754; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15755; AVX2-FP-NEXT: vmovdqa 1760(%rdi), %ymm015756; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15757; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm7[8,9,10,11,12,13,14,15],ymm0[0,1,2,3,4,5,6,7],ymm7[24,25,26,27,28,29,30,31],ymm0[16,17,18,19,20,21,22,23]15758; AVX2-FP-NEXT: vmovdqa 1664(%rdi), %xmm1315759; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm1 # 16-byte Folded Reload15760; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm13[0,1,2,3,4,5,6,7]15761; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15762; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15763; AVX2-FP-NEXT: vmovdqa 1888(%rdi), %xmm015764; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15765; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15766; AVX2-FP-NEXT: vmovdqa 1984(%rdi), %ymm1015767; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm6[8,9,10,11,12,13,14,15],ymm10[0,1,2,3,4,5,6,7],ymm6[24,25,26,27,28,29,30,31],ymm10[16,17,18,19,20,21,22,23]15768; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15769; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15770; AVX2-FP-NEXT: vmovdqa 2208(%rdi), %ymm1215771; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm0 = ymm5[8,9,10,11,12,13,14,15],ymm12[0,1,2,3,4,5,6,7],ymm5[24,25,26,27,28,29,30,31],ymm12[16,17,18,19,20,21,22,23]15772; AVX2-FP-NEXT: vmovdqa 2112(%rdi), %xmm1115773; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm1 # 16-byte Folded Reload15774; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm11[0,1,2,3,4,5,6,7]15775; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15776; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15777; AVX2-FP-NEXT: vmovdqa 2336(%rdi), %xmm015778; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15779; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15780; AVX2-FP-NEXT: vmovdqa 2432(%rdi), %ymm815781; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm3[8,9,10,11,12,13,14,15],ymm8[0,1,2,3,4,5,6,7],ymm3[24,25,26,27,28,29,30,31],ymm8[16,17,18,19,20,21,22,23]15782; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15783; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15784; AVX2-FP-NEXT: vmovdqa 2656(%rdi), %ymm915785; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm0 # 32-byte Folded Reload15786; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm9[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm9[16,17,18,19,20,21,22,23]15787; AVX2-FP-NEXT: vmovdqa 2560(%rdi), %xmm715788; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm1 # 16-byte Folded Reload15789; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm7[0,1,2,3,4,5,6,7]15790; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15791; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15792; AVX2-FP-NEXT: vmovdqa 2784(%rdi), %xmm015793; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload15794; AVX2-FP-NEXT: # xmm0 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15795; AVX2-FP-NEXT: vmovdqa 2880(%rdi), %ymm415796; AVX2-FP-NEXT: vpalignr {{.*#+}} ymm1 = ymm2[8,9,10,11,12,13,14,15],ymm4[0,1,2,3,4,5,6,7],ymm2[24,25,26,27,28,29,30,31],ymm4[16,17,18,19,20,21,22,23]15797; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15798; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15799; AVX2-FP-NEXT: vmovdqa 3104(%rdi), %ymm615800; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload15801; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm6[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm6[16,17,18,19,20,21,22,23]15802; AVX2-FP-NEXT: vmovdqa 3008(%rdi), %xmm515803; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm1 # 16-byte Folded Reload15804; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm5[0,1,2,3,4,5,6,7]15805; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15806; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15807; AVX2-FP-NEXT: vmovdqa 3232(%rdi), %xmm015808; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload15809; AVX2-FP-NEXT: # xmm1 = mem[8,9,10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7]15810; AVX2-FP-NEXT: vmovdqa 3328(%rdi), %ymm315811; AVX2-FP-NEXT: vpalignr $8, (%rsp), %ymm3, %ymm2 # 32-byte Folded Reload15812; AVX2-FP-NEXT: # ymm2 = mem[8,9,10,11,12,13,14,15],ymm3[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm3[16,17,18,19,20,21,22,23]15813; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]15814; AVX2-FP-NEXT: vmovdqu %ymm0, (%rsp) # 32-byte Spill15815; AVX2-FP-NEXT: vmovdqa 3552(%rdi), %ymm215816; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload15817; AVX2-FP-NEXT: # ymm0 = mem[8,9,10,11,12,13,14,15],ymm2[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm2[16,17,18,19,20,21,22,23]15818; AVX2-FP-NEXT: vmovdqa 3456(%rdi), %xmm115819; AVX2-FP-NEXT: vpalignr $8, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm15 # 16-byte Folded Reload15820; AVX2-FP-NEXT: # xmm15 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]15821; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15822; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15823; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15824; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15825; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15826; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15827; AVX2-FP-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]15828; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15829; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15830; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15831; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15832; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15833; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15834; AVX2-FP-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15835; AVX2-FP-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15836; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15837; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15838; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15839; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15840; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15841; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15842; AVX2-FP-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]15843; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15844; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15845; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15846; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15847; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15848; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15849; AVX2-FP-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15850; AVX2-FP-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15851; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15852; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15853; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15854; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15855; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15856; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15857; AVX2-FP-NEXT: vblendps {{.*#+}} xmm15 = xmm15[0,1],mem[2,3]15858; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15859; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15860; AVX2-FP-NEXT: vbroadcastsd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15861; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15862; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15863; AVX2-FP-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15864; AVX2-FP-NEXT: vblendps $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15865; AVX2-FP-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15866; AVX2-FP-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15867; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15868; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15869; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm14[1],ymm0[3],ymm14[3]15870; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15871; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm14 = xmm14[0,1],mem[2,3]15872; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15873; AVX2-FP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15874; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15875; AVX2-FP-NEXT: vpunpckhqdq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15876; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15877; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload15878; AVX2-FP-NEXT: # xmm13 = mem[0,1],xmm13[2,3]15879; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm15 = ymm13[0,1,2,3],ymm0[4,5,6,7]15880; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15881; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]15882; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload15883; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm10 = xmm10[0,1],mem[2,3]15884; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm13 = ymm10[0,1,2,3],ymm0[4,5,6,7]15885; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15886; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm12[1],ymm0[3],ymm12[3]15887; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm10 # 16-byte Folded Reload15888; AVX2-FP-NEXT: # xmm10 = mem[0,1],xmm11[2,3]15889; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm11 = ymm10[0,1,2,3],ymm0[4,5,6,7]15890; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15891; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm8[1],ymm0[3],ymm8[3]15892; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload15893; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm8 = xmm8[0,1],mem[2,3]15894; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm10 = ymm8[0,1,2,3],ymm0[4,5,6,7]15895; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15896; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm9[1],ymm0[3],ymm9[3]15897; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm7 # 16-byte Folded Reload15898; AVX2-FP-NEXT: # xmm7 = mem[0,1],xmm7[2,3]15899; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm0[4,5,6,7]15900; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15901; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm4[1],ymm0[3],ymm4[3]15902; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload15903; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm4 = xmm4[0,1],mem[2,3]15904; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm8 = ymm4[0,1,2,3],ymm0[4,5,6,7]15905; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15906; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm6[1],ymm0[3],ymm6[3]15907; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm4 # 16-byte Folded Reload15908; AVX2-FP-NEXT: # xmm4 = mem[0,1],xmm5[2,3]15909; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm0[4,5,6,7]15910; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 16-byte Folded Reload15911; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm3[1],ymm0[3],ymm3[3]15912; AVX2-FP-NEXT: vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload15913; AVX2-FP-NEXT: vpblendd {{.*#+}} xmm3 = xmm3[0,1],mem[2,3]15914; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]15915; AVX2-FP-NEXT: vpbroadcastq {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 16-byte Folded Reload15916; AVX2-FP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]15917; AVX2-FP-NEXT: vpblendd $3, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload15918; AVX2-FP-NEXT: # xmm1 = mem[0,1],xmm1[2,3]15919; AVX2-FP-NEXT: vpblendd {{.*#+}} ymm14 = ymm1[0,1,2,3],ymm2[4,5,6,7]15920; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15921; AVX2-FP-NEXT: vmovaps %ymm1, 448(%rsi)15922; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15923; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rsi)15924; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15925; AVX2-FP-NEXT: vmovaps %ymm1, 320(%rsi)15926; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15927; AVX2-FP-NEXT: vmovaps %ymm1, 256(%rsi)15928; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15929; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rsi)15930; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15931; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rsi)15932; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15933; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rsi)15934; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15935; AVX2-FP-NEXT: vmovaps %ymm1, (%rsi)15936; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15937; AVX2-FP-NEXT: vmovaps %ymm1, 480(%rsi)15938; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15939; AVX2-FP-NEXT: vmovaps %ymm1, 416(%rsi)15940; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15941; AVX2-FP-NEXT: vmovaps %ymm1, 352(%rsi)15942; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15943; AVX2-FP-NEXT: vmovaps %ymm1, 288(%rsi)15944; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15945; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rsi)15946; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15947; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rsi)15948; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15949; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rsi)15950; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15951; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rsi)15952; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15953; AVX2-FP-NEXT: vmovaps %ymm1, 448(%rdx)15954; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15955; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rdx)15956; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15957; AVX2-FP-NEXT: vmovaps %ymm1, 320(%rdx)15958; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15959; AVX2-FP-NEXT: vmovaps %ymm1, 256(%rdx)15960; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15961; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rdx)15962; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15963; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rdx)15964; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15965; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rdx)15966; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15967; AVX2-FP-NEXT: vmovaps %ymm1, (%rdx)15968; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15969; AVX2-FP-NEXT: vmovaps %ymm1, 480(%rdx)15970; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15971; AVX2-FP-NEXT: vmovaps %ymm1, 416(%rdx)15972; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15973; AVX2-FP-NEXT: vmovaps %ymm1, 352(%rdx)15974; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15975; AVX2-FP-NEXT: vmovaps %ymm1, 288(%rdx)15976; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15977; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rdx)15978; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15979; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rdx)15980; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15981; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rdx)15982; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15983; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rdx)15984; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15985; AVX2-FP-NEXT: vmovaps %ymm1, (%rcx)15986; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15987; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rcx)15988; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15989; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rcx)15990; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15991; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rcx)15992; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15993; AVX2-FP-NEXT: vmovaps %ymm1, 256(%rcx)15994; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15995; AVX2-FP-NEXT: vmovaps %ymm1, 320(%rcx)15996; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15997; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rcx)15998; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15999; AVX2-FP-NEXT: vmovaps %ymm1, 448(%rcx)16000; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16001; AVX2-FP-NEXT: vmovaps %ymm1, 480(%rcx)16002; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16003; AVX2-FP-NEXT: vmovaps %ymm1, 416(%rcx)16004; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16005; AVX2-FP-NEXT: vmovaps %ymm1, 352(%rcx)16006; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16007; AVX2-FP-NEXT: vmovaps %ymm1, 288(%rcx)16008; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16009; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rcx)16010; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16011; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rcx)16012; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16013; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rcx)16014; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16015; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rcx)16016; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16017; AVX2-FP-NEXT: vmovaps %ymm1, 480(%r8)16018; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16019; AVX2-FP-NEXT: vmovaps %ymm1, 448(%r8)16020; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16021; AVX2-FP-NEXT: vmovaps %ymm1, 416(%r8)16022; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16023; AVX2-FP-NEXT: vmovaps %ymm1, 384(%r8)16024; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16025; AVX2-FP-NEXT: vmovaps %ymm1, 352(%r8)16026; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16027; AVX2-FP-NEXT: vmovaps %ymm1, 320(%r8)16028; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16029; AVX2-FP-NEXT: vmovaps %ymm1, 288(%r8)16030; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16031; AVX2-FP-NEXT: vmovaps %ymm1, 256(%r8)16032; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16033; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r8)16034; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16035; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r8)16036; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16037; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r8)16038; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16039; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r8)16040; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16041; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r8)16042; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16043; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r8)16044; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16045; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r8)16046; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16047; AVX2-FP-NEXT: vmovaps %ymm1, (%r8)16048; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16049; AVX2-FP-NEXT: vmovaps %ymm1, 480(%r9)16050; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16051; AVX2-FP-NEXT: vmovaps %ymm1, 448(%r9)16052; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16053; AVX2-FP-NEXT: vmovaps %ymm1, 416(%r9)16054; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16055; AVX2-FP-NEXT: vmovaps %ymm1, 384(%r9)16056; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16057; AVX2-FP-NEXT: vmovaps %ymm1, 352(%r9)16058; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16059; AVX2-FP-NEXT: vmovaps %ymm1, 320(%r9)16060; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16061; AVX2-FP-NEXT: vmovaps %ymm1, 288(%r9)16062; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16063; AVX2-FP-NEXT: vmovaps %ymm1, 256(%r9)16064; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16065; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r9)16066; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16067; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r9)16068; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16069; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r9)16070; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16071; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r9)16072; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16073; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r9)16074; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16075; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r9)16076; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16077; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r9)16078; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16079; AVX2-FP-NEXT: vmovaps %ymm1, (%r9)16080; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax16081; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16082; AVX2-FP-NEXT: vmovaps %ymm1, 480(%rax)16083; AVX2-FP-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload16084; AVX2-FP-NEXT: vmovaps %ymm1, 448(%rax)16085; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16086; AVX2-FP-NEXT: vmovaps %ymm1, 416(%rax)16087; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16088; AVX2-FP-NEXT: vmovaps %ymm1, 384(%rax)16089; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16090; AVX2-FP-NEXT: vmovaps %ymm1, 352(%rax)16091; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16092; AVX2-FP-NEXT: vmovaps %ymm1, 320(%rax)16093; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16094; AVX2-FP-NEXT: vmovaps %ymm1, 288(%rax)16095; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16096; AVX2-FP-NEXT: vmovaps %ymm1, 256(%rax)16097; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16098; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rax)16099; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16100; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rax)16101; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16102; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rax)16103; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16104; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)16105; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16106; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)16107; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16108; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rax)16109; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16110; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rax)16111; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16112; AVX2-FP-NEXT: vmovaps %ymm1, (%rax)16113; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax16114; AVX2-FP-NEXT: vmovdqa %ymm14, 480(%rax)16115; AVX2-FP-NEXT: vmovdqa %ymm0, 448(%rax)16116; AVX2-FP-NEXT: vmovdqa %ymm4, 416(%rax)16117; AVX2-FP-NEXT: vmovdqa %ymm8, 384(%rax)16118; AVX2-FP-NEXT: vmovdqa %ymm7, 352(%rax)16119; AVX2-FP-NEXT: vmovdqa %ymm10, 320(%rax)16120; AVX2-FP-NEXT: vmovdqa %ymm11, 288(%rax)16121; AVX2-FP-NEXT: vmovdqa %ymm13, 256(%rax)16122; AVX2-FP-NEXT: vmovdqa %ymm15, 224(%rax)16123; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16124; AVX2-FP-NEXT: vmovaps %ymm0, 192(%rax)16125; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16126; AVX2-FP-NEXT: vmovaps %ymm0, 160(%rax)16127; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16128; AVX2-FP-NEXT: vmovaps %ymm0, 128(%rax)16129; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16130; AVX2-FP-NEXT: vmovaps %ymm0, 96(%rax)16131; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16132; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)16133; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16134; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)16135; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16136; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)16137; AVX2-FP-NEXT: addq $3928, %rsp # imm = 0xF5816138; AVX2-FP-NEXT: vzeroupper16139; AVX2-FP-NEXT: retq16140;16141; AVX2-FCP-LABEL: load_i64_stride7_vf64:16142; AVX2-FCP: # %bb.0:16143; AVX2-FCP-NEXT: subq $3928, %rsp # imm = 0xF5816144; AVX2-FCP-NEXT: vmovdqa 1216(%rdi), %ymm416145; AVX2-FCP-NEXT: vmovdqa 768(%rdi), %ymm516146; AVX2-FCP-NEXT: vmovdqa 320(%rdi), %ymm616147; AVX2-FCP-NEXT: vmovdqa 384(%rdi), %xmm016148; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16149; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016150; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5],ymm0[6,7]16151; AVX2-FCP-NEXT: vmovdqa 224(%rdi), %xmm916152; AVX2-FCP-NEXT: vmovdqa 272(%rdi), %xmm116153; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16154; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]16155; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16156; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16157; AVX2-FCP-NEXT: vmovdqa 832(%rdi), %xmm016158; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16159; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016160; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]16161; AVX2-FCP-NEXT: vmovdqa 672(%rdi), %xmm1016162; AVX2-FCP-NEXT: vmovdqa 720(%rdi), %xmm116163; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16164; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm10[0,1],xmm1[2,3]16165; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16166; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16167; AVX2-FCP-NEXT: vmovdqa 1280(%rdi), %xmm016168; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16169; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016170; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]16171; AVX2-FCP-NEXT: vmovdqa 1120(%rdi), %xmm1116172; AVX2-FCP-NEXT: vmovdqa 1168(%rdi), %xmm116173; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16174; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm11[0,1],xmm1[2,3]16175; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16176; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16177; AVX2-FCP-NEXT: vmovdqa 1664(%rdi), %ymm716178; AVX2-FCP-NEXT: vmovdqa 1728(%rdi), %xmm016179; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16180; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016181; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]16182; AVX2-FCP-NEXT: vmovdqa 1568(%rdi), %xmm1216183; AVX2-FCP-NEXT: vmovdqa 1616(%rdi), %xmm116184; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16185; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm12[0,1],xmm1[2,3]16186; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16187; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16188; AVX2-FCP-NEXT: vmovdqa 2112(%rdi), %ymm816189; AVX2-FCP-NEXT: vmovdqa 2176(%rdi), %xmm016190; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16191; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016192; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3,4,5],ymm0[6,7]16193; AVX2-FCP-NEXT: vmovdqa 2016(%rdi), %xmm216194; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16195; AVX2-FCP-NEXT: vmovdqa 2064(%rdi), %xmm116196; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16197; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]16198; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16199; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16200; AVX2-FCP-NEXT: vmovdqa 2560(%rdi), %ymm1316201; AVX2-FCP-NEXT: vmovdqa 2624(%rdi), %xmm016202; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16203; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016204; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]16205; AVX2-FCP-NEXT: vmovdqa 2464(%rdi), %xmm216206; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16207; AVX2-FCP-NEXT: vmovdqa 2512(%rdi), %xmm116208; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16209; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]16210; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16211; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16212; AVX2-FCP-NEXT: vmovdqa 3008(%rdi), %ymm1416213; AVX2-FCP-NEXT: vmovdqa 3072(%rdi), %xmm016214; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16215; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016216; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]16217; AVX2-FCP-NEXT: vmovdqa 2912(%rdi), %xmm216218; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16219; AVX2-FCP-NEXT: vmovdqa 2960(%rdi), %xmm116220; AVX2-FCP-NEXT: vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16221; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]16222; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16223; AVX2-FCP-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16224; AVX2-FCP-NEXT: vmovaps 3456(%rdi), %ymm116225; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16226; AVX2-FCP-NEXT: vmovaps 3520(%rdi), %xmm016227; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16228; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016229; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16230; AVX2-FCP-NEXT: vmovaps 3360(%rdi), %xmm216231; AVX2-FCP-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16232; AVX2-FCP-NEXT: vmovaps 3408(%rdi), %xmm116233; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16234; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]16235; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16236; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16237; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm116238; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16239; AVX2-FCP-NEXT: vmovaps 160(%rdi), %xmm016240; AVX2-FCP-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16241; AVX2-FCP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm016242; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]16243; AVX2-FCP-NEXT: vmovaps 48(%rdi), %xmm116244; AVX2-FCP-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16245; AVX2-FCP-NEXT: vblendps {{.*#+}} xmm1 = mem[0,1],xmm1[2,3]16246; AVX2-FCP-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]16247; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16248; AVX2-FCP-NEXT: vmovdqa 544(%rdi), %ymm116249; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16250; AVX2-FCP-NEXT: vmovdqa 608(%rdi), %xmm016251; AVX2-FCP-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16252; AVX2-FCP-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm016253; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm0[6,7]16254; AVX2-FCP-NEXT: vmovdqa 448(%rdi), %xmm016255; AVX2-FCP-NEXT: vmovdqa 496(%rdi), %xmm216256; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16257; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm2 = xmm0[0,1],xmm2[2,3]16258; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]16259; AVX2-FCP-NEXT: vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16260; AVX2-FCP-NEXT: vmovdqa 992(%rdi), %ymm116261; AVX2-FCP-NEXT: vmovdqa 1056(%rdi), %xmm216262; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16263; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216264; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],ymm2[6,7]16265; AVX2-FCP-NEXT: vmovdqa 896(%rdi), %xmm1516266; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16267; AVX2-FCP-NEXT: vmovdqa 944(%rdi), %xmm316268; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16269; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16270; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16271; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16272; AVX2-FCP-NEXT: vmovdqa 1440(%rdi), %ymm316273; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16274; AVX2-FCP-NEXT: vmovdqa 1504(%rdi), %xmm216275; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16276; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216277; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]16278; AVX2-FCP-NEXT: vmovdqa 1344(%rdi), %xmm1516279; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16280; AVX2-FCP-NEXT: vmovdqa 1392(%rdi), %xmm316281; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16282; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16283; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16284; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16285; AVX2-FCP-NEXT: vmovdqa 1888(%rdi), %ymm316286; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16287; AVX2-FCP-NEXT: vmovdqa 1952(%rdi), %xmm216288; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16289; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216290; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]16291; AVX2-FCP-NEXT: vmovdqa 1792(%rdi), %xmm1516292; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16293; AVX2-FCP-NEXT: vmovdqa 1840(%rdi), %xmm316294; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16295; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16296; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16297; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16298; AVX2-FCP-NEXT: vmovdqa 2336(%rdi), %ymm316299; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16300; AVX2-FCP-NEXT: vmovdqa 2400(%rdi), %xmm216301; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16302; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216303; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]16304; AVX2-FCP-NEXT: vmovdqa 2240(%rdi), %xmm1516305; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16306; AVX2-FCP-NEXT: vmovdqa 2288(%rdi), %xmm316307; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16308; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16309; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16310; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16311; AVX2-FCP-NEXT: vmovdqa 2784(%rdi), %ymm316312; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16313; AVX2-FCP-NEXT: vmovdqa 2848(%rdi), %xmm216314; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16315; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216316; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]16317; AVX2-FCP-NEXT: vmovdqa 2688(%rdi), %xmm1516318; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16319; AVX2-FCP-NEXT: vmovdqa 2736(%rdi), %xmm316320; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16321; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16322; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16323; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16324; AVX2-FCP-NEXT: vmovdqa 3232(%rdi), %ymm316325; AVX2-FCP-NEXT: vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16326; AVX2-FCP-NEXT: vmovdqa 3296(%rdi), %xmm216327; AVX2-FCP-NEXT: vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16328; AVX2-FCP-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm216329; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]16330; AVX2-FCP-NEXT: vmovdqa 3136(%rdi), %xmm1516331; AVX2-FCP-NEXT: vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16332; AVX2-FCP-NEXT: vmovdqa 3184(%rdi), %xmm316333; AVX2-FCP-NEXT: vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill16334; AVX2-FCP-NEXT: vpblendd {{.*#+}} xmm3 = xmm15[0,1],xmm3[2,3]16335; AVX2-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]16336; AVX2-FCP-NEXT: vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16337; AVX2-FCP-NEXT: vmovdqa 288(%rdi), %xmm216338; AVX2-FCP-NEXT:File truncated to the first 1 MiB.